
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

CURLcode Curl_http_input_auth(connectdata *conn,_Bool proxy,char *auth)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  char cVar5;
  char *pcVar4;
  undefined *puVar6;
  uint uVar7;
  undefined3 in_register_00000014;
  int iVar8;
  ulong uVar9;
  auth *paVar10;
  ulong *puVar11;
  undefined *puVar12;
  Curl_easy *data;
  undefined *puVar13;
  negotiatedata *pnVar14;
  
  puVar1 = PTR_UINT_000a6194;
  iVar8 = CONCAT31(in_register_00000014,proxy);
  data = conn->data;
  if (iVar8 == 0) {
    pnVar14 = &(data->state).negotiate;
    puVar11 = &(data->info).httpauthavail;
    paVar10 = &(data->state).authhost;
  }
  else {
    pnVar14 = &(data->state).proxyneg;
    puVar11 = &(data->info).proxyauthavail;
    paVar10 = &(data->state).authproxy;
  }
  cVar5 = *auth;
  puVar12 = PTR_UINT_000a6194 + -0x777c;
  puVar13 = PTR_UINT_000a6194 + -0x7760;
  puVar6 = PTR_UINT_000a6194 + -0x7770;
  do {
    if (cVar5 == '\0') {
      return CURLE_OK;
    }
    iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9);
    if (iVar3 == 0) {
      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);
      if (iVar3 == 0) {
        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);
        if (iVar3 == 0) {
          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);
          if (iVar3 == 0) {
            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);
            if (iVar3 != 0) {
              *puVar11 = *puVar11 | 0x40;
              paVar10->avail = paVar10->avail | 0x40;
              if (paVar10->picked == 0x40) {
                paVar10->avail = 0;
                goto LAB_00020f88;
              }
            }
          }
          else {
            *puVar11 = *puVar11 | 1;
            paVar10->avail = paVar10->avail | 1;
            if (paVar10->picked == 1) {
              pcVar4 = PTR_UINT_000a6194 + -0x765c;
              paVar10->avail = 0;
              Curl_infof(data,pcVar4);
              (data->state).authproblem = true;
            }
          }
        }
        else if ((paVar10->avail & 2) == 0) {
          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();
          puVar2 = PTR_Curl_input_digest_000a62d4;
          if (iVar3 != 0) {
            *puVar11 = *puVar11 | 2;
            paVar10->avail = paVar10->avail | 2;
            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);
            if (iVar3 != 0) {
LAB_00020f88:
              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);
              goto LAB_00020f98;
            }
          }
        }
        else {
          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);
        }
        goto LAB_00020c44;
      }
      if (((paVar10->avail & 0x28) != 0) ||
         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {
        *puVar11 = *puVar11 | 8;
        paVar10->avail = paVar10->avail | 8;
        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {
          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);
          if (iVar3 != 0) goto LAB_00020f88;
          uVar9 = paVar10->picked;
          (data->state).authproblem = false;
          if (uVar9 == 0x20) {
            *puVar11 = *puVar11 & 0xfffffff7;
            paVar10->avail = paVar10->avail & 0xfffffff7;
            *puVar11 = *puVar11 | 0x20;
            paVar10->avail = paVar10->avail | 0x20;
            cVar5 = *auth;
            while ((cVar5 != '\0' &&
                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {
              auth = auth + 1;
              cVar5 = *auth;
            }
            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);
            if (iVar3 != 0) {
              uVar7 = (uint)auth[4];
              auth = auth + 4;
              if (uVar7 == 0) {
                return CURLE_OK;
              }
              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {
                auth = auth + 1;
                uVar7 = (uint)*auth;
                if (uVar7 == 0) {
                  return CURLE_OK;
                }
              }
              if (*auth == '\0') {
                return CURLE_OK;
              }
              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);
              conn->challenge_header = pcVar4;
              if (pcVar4 == (char *)0x0) {
                return CURLE_OUT_OF_MEMORY;
              }
            }
          }
        }
        goto LAB_00020c44;
      }
      cVar5 = *auth;
    }
    else {
      if ((paVar10->avail & 4) == 0) {
        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();
        if (iVar3 == 0) goto LAB_00020c44;
        *puVar11 = *puVar11 | 4;
        uVar9 = paVar10->picked;
        paVar10->avail = paVar10->avail | 4;
      }
      else {
        *puVar11 = *puVar11 | 4;
        uVar9 = paVar10->picked;
        paVar10->avail = paVar10->avail | 4;
      }
      if ((uVar9 == 4) &&
         ((pnVar14->state &
          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|
          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {
        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);
        if (iVar3 == 0) {
          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);
          (data->req).newurl = pcVar4;
          if (pcVar4 == (char *)0x0) {
            return CURLE_OUT_OF_MEMORY;
          }
          (data->state).authproblem = false;
          pnVar14->state = CURLDIGESTALGO_MD5SESS;
        }
        else {
LAB_00020f98:
          (data->state).authproblem = true;
        }
      }
LAB_00020c44:
      cVar5 = *auth;
    }
    if (cVar5 == '\0') {
      return CURLE_OK;
    }
    if (cVar5 == ',') {
      cVar5 = auth[1];
    }
    else {
      do {
        pcVar4 = auth;
        auth = pcVar4 + 1;
        if (*auth == '\0') {
          return CURLE_OK;
        }
      } while (*auth != ',');
      cVar5 = pcVar4[2];
    }
    uVar7 = (uint)cVar5;
    auth = auth + 1;
    if (uVar7 == 0) {
      return CURLE_OK;
    }
    while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {
      auth = auth + 1;
      uVar7 = (uint)*auth;
      if (uVar7 == 0) {
        return CURLE_OK;
      }
    }
    cVar5 = *auth;
  } while( true );
}



/* WARNING: Type propagation algorithm not settling */

undefined4 FUN_00020b68(int *param_1,int param_2,char *param_3)

{
  undefined *puVar1;
  int iVar2;
  char cVar3;
  undefined *puVar4;
  uint uVar5;
  undefined *puVar6;
  int iVar7;
  uint *puVar8;
  undefined *puVar9;
  int iVar10;
  undefined *puVar11;
  uint *puVar12;
  char *pcVar13;
  
  puVar1 = PTR_UINT_000a6194;
  iVar10 = *param_1;
  if (param_2 == 0) {
    puVar12 = (uint *)(iVar10 + 0xd48);
    puVar8 = (uint *)(iVar10 + 4000);
    iVar7 = iVar10 + 0xd78;
  }
  else {
    puVar12 = (uint *)(iVar10 + 0xd60);
    puVar8 = (uint *)(iVar10 + 0xf9c);
    iVar7 = iVar10 + 0xd88;
  }
  cVar3 = *param_3;
  puVar9 = PTR_UINT_000a6194 + -0x777c;
  puVar11 = PTR_UINT_000a6194 + -0x7760;
  puVar4 = PTR_UINT_000a6194 + -0x7770;
  do {
    if (cVar3 == '\0') {
      return 0;
    }
    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);
    if (iVar2 == 0) {
      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);
      if (iVar2 == 0) {
        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);
        if (iVar2 == 0) {
          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);
          if (iVar2 == 0) {
            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);
            if (iVar2 != 0) {
              *puVar8 = *puVar8 | 0x40;
              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;
              if (*(int *)(iVar7 + 4) == 0x40) {
                *(undefined4 *)(iVar7 + 8) = 0;
                goto LAB_00020f88;
              }
            }
          }
          else {
            *puVar8 = *puVar8 | 1;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;
            if (*(int *)(iVar7 + 4) == 1) {
              puVar6 = PTR_UINT_000a6194 + -0x765c;
              *(undefined4 *)(iVar7 + 8) = 0;
              FUN_00026140(iVar10,puVar6);
              *(undefined1 *)(iVar10 + 0xd98) = 1;
            }
          }
        }
        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {
          iVar2 = (*(code *)PTR_FUN_000a62d0)();
          puVar6 = PTR_FUN_000a62d4;
          if (iVar2 != 0) {
            *puVar8 = *puVar8 | 2;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;
            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);
            if (iVar2 != 0) {
LAB_00020f88:
              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);
              goto LAB_00020f98;
            }
          }
        }
        else {
          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);
        }
        goto LAB_00020c44;
      }
      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||
         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {
        *puVar8 = *puVar8 | 8;
        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;
        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {
          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);
          if (iVar2 != 0) goto LAB_00020f88;
          iVar2 = *(int *)(iVar7 + 4);
          *(undefined1 *)(iVar10 + 0xd98) = 0;
          if (iVar2 == 0x20) {
            *puVar8 = *puVar8 & 0xfffffff7;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;
            *puVar8 = *puVar8 | 0x20;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;
            cVar3 = *param_3;
            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {
              param_3 = param_3 + 1;
              cVar3 = *param_3;
            }
            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);
            if (iVar2 != 0) {
              uVar5 = (uint)param_3[4];
              param_3 = param_3 + 4;
              if (uVar5 == 0) {
                return 0;
              }
              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {
                param_3 = param_3 + 1;
                uVar5 = (uint)*param_3;
                if (uVar5 == 0) {
                  return 0;
                }
              }
              if (*param_3 == '\0') {
                return 0;
              }
              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);
              param_1[0xe0] = iVar2;
              if (iVar2 == 0) {
                return 0x1b;
              }
            }
          }
        }
        goto LAB_00020c44;
      }
      cVar3 = *param_3;
    }
    else {
      if ((*(uint *)(iVar7 + 8) & 4) == 0) {
        iVar2 = (*(code *)PTR_FUN_000a62c8)();
        if (iVar2 == 0) goto LAB_00020c44;
        *puVar8 = *puVar8 | 4;
        iVar2 = *(int *)(iVar7 + 4);
        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;
      }
      else {
        *puVar8 = *puVar8 | 4;
        iVar2 = *(int *)(iVar7 + 4);
        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;
      }
      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {
        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);
        if (iVar2 == 0) {
          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));
          *(int *)(iVar10 + 0x144) = iVar2;
          if (iVar2 == 0) {
            return 0x1b;
          }
          *(undefined1 *)(iVar10 + 0xd98) = 0;
          *puVar12 = 1;
        }
        else {
LAB_00020f98:
          *(undefined1 *)(iVar10 + 0xd98) = 1;
        }
      }
LAB_00020c44:
      cVar3 = *param_3;
    }
    if (cVar3 == '\0') {
      return 0;
    }
    if (cVar3 == ',') {
      cVar3 = param_3[1];
    }
    else {
      do {
        pcVar13 = param_3;
        param_3 = pcVar13 + 1;
        if (*param_3 == '\0') {
          return 0;
        }
      } while (*param_3 != ',');
      cVar3 = pcVar13[2];
    }
    uVar5 = (uint)cVar3;
    param_3 = param_3 + 1;
    if (uVar5 == 0) {
      return 0;
    }
    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {
      param_3 = param_3 + 1;
      uVar5 = (uint)*param_3;
      if (uVar5 == 0) {
        return 0;
      }
    }
    cVar3 = *param_3;
  } while( true );
}


lui gp,0x9
addiu gp,gp,-0x2a58
addu gp,gp,t9
addiu sp,sp,-0x50
sw gp,0x10(sp)
sw s8,0x48(sp)
or s8,a2,zero
sw s6,0x40(sp)
or s6,a1,zero
sw s5,0x3c(sp)
or s5,a0,zero
sw s3,0x34(sp)
sw ra,0x4c(sp)
sw s7,0x44(sp)
sw s4,0x38(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
sw s0,0x28(sp)
beq a1,zero,0x00021028
_lw s3,0x0(a0)
addiu s7,s3,0xd60
addiu s1,s3,0xf9c
addiu s0,s3,0xd88
lw v1,-0x7f7c(gp)
lw a0,-0x7f7c(gp)
lw s2,-0x7f7c(gp)
lw s4,-0x7f7c(gp)
lb v0,0x0(s8)
sw v1,0x18(sp)
addiu s2,s2,-0x777c
lw v1,-0x7f7c(gp)
addiu s4,s4,-0x7760
sw v1,0x20(sp)
addiu v1,a0,-0x7770
sw v1,0x1c(sp)
beq v0,zero,0x00020c7c
_lw t9,-0x71d8(gp)
li a2,0x9
or a1,s8,zero
jalr t9
_or a0,s2,zero
beq v0,zero,0x00020cec
_lw gp,0x10(sp)
lw v0,0x8(s0)
andi v0,v0,0x4
beq v0,zero,0x00020e60
_li a0,0x4
lw v0,0x0(s1)
ori v0,v0,0x4
sw v0,0x0(s1)
lw v0,0x8(s0)
lw a1,0x4(s0)
ori v0,v0,0x4
beq a1,a0,0x00020e98
_sw v0,0x8(s0)
lb v0,0x0(s8)
beq v0,zero,0x00020c78
_li a1,0x2c
bne v0,a1,0x00020c68
_li a0,0x2c
b 0x00020cb0
_lb a0,0x1(s8)
beq v0,a0,0x00020cac
_nop
addiu s8,s8,0x1
lb v0,0x0(s8)
bne v0,zero,0x00020c60
_nop
or v0,zero,zero
lw ra,0x4c(sp)
lw s8,0x48(sp)
lw s7,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x50
lb a0,0x1(s8)
bne a0,zero,0x00020cd0
_addiu s8,s8,0x1
b 0x00020c7c
_or v0,zero,zero
addiu s8,s8,0x1
lb a0,0x0(s8)
beq a0,zero,0x00020c7c
_or v0,zero,zero
lw t9,-0x7e54(gp)
jalr t9
_andi a0,a0,0xff
bne v0,zero,0x00020cc0
_lw gp,0x10(sp)
b 0x00020bf4
_lb v0,0x0(s8)
lw t9,-0x71d8(gp)
li a2,0x4
or a1,s8,zero
jalr t9
_or a0,s4,zero
beq v0,zero,0x00020ef0
_lw gp,0x10(sp)
lw v0,0x8(s0)
andi v0,v0,0x28
beq v0,zero,0x00020fa4
_lw t9,-0x7e50(gp)
lw v0,0x0(s1)
li a1,0x8
ori v0,v0,0x8
sw v0,0x0(s1)
lw v0,0x8(s0)
lw a0,0x4(s0)
ori v0,v0,0x8
beq a0,a1,0x00020d48
_sw v0,0x8(s0)
li v0,0x20
bne a0,v0,0x00020c44
_nop
lw t9,-0x7e4c(gp)
or a2,s8,zero
or a1,s6,zero
jalr t9
_or a0,s5,zero
bne v0,zero,0x00020f80
_lw gp,0x10(sp)
lw a0,0x4(s0)
li v0,0x20
bne a0,v0,0x00020c44
_sb zero,0xd98(s3)
lw v0,0x0(s1)
li a0,-0x9
and v0,v0,a0
sw v0,0x0(s1)
lw v0,0x8(s0)
and v0,v0,a0
sw v0,0x8(s0)
lw v0,0x0(s1)
ori v0,v0,0x20
sw v0,0x0(s1)
lw v0,0x8(s0)
ori v0,v0,0x20
sw v0,0x8(s0)
lb a0,0x0(s8)
bne a0,zero,0x00020dcc
_lw t9,-0x71d8(gp)
b 0x00020de8
_li a2,0x4
addiu s8,s8,0x1
lb a0,0x0(s8)
beq a0,zero,0x00020de4
_lw t9,-0x71d8(gp)
lw t9,-0x7e54(gp)
jalr t9
_andi a0,a0,0xff
bne v0,zero,0x00020dbc
_lw gp,0x10(sp)
lw t9,-0x71d8(gp)
li a2,0x4
or a1,s8,zero
jalr t9
_or a0,s4,zero
beq v0,zero,0x00020c44
_lw gp,0x10(sp)
lb a0,0x4(s8)
bne a0,zero,0x00020e20
_addiu s8,s8,0x4
b 0x00020c7c
_or v0,zero,zero
addiu s8,s8,0x1
lb a0,0x0(s8)
beq a0,zero,0x00020c7c
_or v0,zero,zero
lw t9,-0x7e54(gp)
jalr t9
_andi a0,a0,0xff
bne v0,zero,0x00020e10
_lw gp,0x10(sp)
lb v0,0x0(s8)
beq v0,zero,0x00020c78
_lw v0,-0x7ee0(gp)
lw t9,0x0(v0)
jalr t9
_or a0,s8,zero
lw gp,0x10(sp)
bne v0,zero,0x00020c44
_sw v0,0x380(s5)
b 0x00020c7c
_li v0,0x1b
lw t9,-0x7e48(gp)
jalr t9
_nop
beq v0,zero,0x00020c44
_lw gp,0x10(sp)
lw v0,0x0(s1)
li a0,0x4
ori v0,v0,0x4
sw v0,0x0(s1)
lw v0,0x8(s0)
lw a1,0x4(s0)
ori v0,v0,0x4
bne a1,a0,0x00020c44
_sw v0,0x8(s0)
lw v0,0x0(s7)
li a0,-0x3
and v0,v0,a0
bne v0,zero,0x00020c44
_lw t9,-0x7e44(gp)
or a2,s8,zero
or a1,s6,zero
jalr t9
_or a0,s5,zero
bne v0,zero,0x00020f98
_lw gp,0x10(sp)
lw v0,-0x7ee0(gp)
lw t9,0x0(v0)
jalr t9
_lw a0,0xb40(s3)
lw gp,0x10(sp)
beq v0,zero,0x00020e58
_sw v0,0x144(s3)
li v0,0x1
sb zero,0xd98(s3)
b 0x00020c44
_sw v0,0x0(s7)
lw v0,0x18(sp)
li a2,0x6
lw t9,-0x71d8(gp)
or a1,s8,zero
jalr t9
_addiu a0,v0,-0x7758
beq v0,zero,0x00020fbc
_lw gp,0x10(sp)
lw v0,0x8(s0)
andi v0,v0,0x2
beq v0,zero,0x00020f3c
_lw t9,-0x7e40(gp)
lw a1,-0x7f7c(gp)
or a0,s3,zero
lw t9,-0x7f64(gp)
bal 0x00026140
_addiu a1,a1,-0x7634
b 0x00020c44
_lw gp,0x10(sp)
jalr t9
_nop
beq v0,zero,0x00020c44
_lw gp,0x10(sp)
lw v0,0x0(s1)
or a2,s8,zero
lw t9,-0x7e3c(gp)
or a1,s6,zero
or a0,s5,zero
ori v0,v0,0x2
sw v0,0x0(s1)
lw v0,0x8(s0)
ori v0,v0,0x2
jalr t9
_sw v0,0x8(s0)
beq v0,zero,0x00020c44
_lw gp,0x10(sp)
lw t9,-0x7f64(gp)
or a0,s3,zero
lw a1,-0x7f7c(gp)
bal 0x00026140
_addiu a1,a1,-0x765c
lw gp,0x10(sp)
li v0,0x1
b 0x00020c44
_sb v0,0xd98(s3)
jalr t9
_nop
bne v0,zero,0x00020d18
_lw gp,0x10(sp)
b 0x00020c48
_lb v0,0x0(s8)
lw t9,-0x71d8(gp)
li a2,0x5
lw a0,0x1c(sp)
jalr t9
_or a1,s8,zero
beq v0,zero,0x00021038
_lw gp,0x10(sp)
lw v0,0x0(s1)
li a0,0x1
ori v0,v0,0x1
sw v0,0x0(s1)
lw v0,0x8(s0)
lw a2,0x4(s0)
ori v0,v0,0x1
bne a2,a0,0x00020c44
_sw v0,0x8(s0)
lw a1,-0x7f7c(gp)
or a0,s3,zero
lw t9,-0x7f64(gp)
sw a2,0x24(sp)
addiu a1,a1,-0x765c
bal 0x00026140
_sw zero,0x8(s0)
lw a2,0x24(sp)
lw gp,0x10(sp)
b 0x00020c44
_sb a2,0xd98(s3)
addiu s7,s3,0xd48
addiu s1,s3,0xfa0
b 0x00020bc4
_addiu s0,s3,0xd78
lw v0,0x20(sp)
li a2,0x6
lw t9,-0x71d8(gp)
or a1,s8,zero
jalr t9
_addiu a0,v0,-0x7740
beq v0,zero,0x00020c44
_lw gp,0x10(sp)
lw v0,0x0(s1)
li a0,0x40
ori v0,v0,0x40
sw v0,0x0(s1)
lw v0,0x8(s0)
lw a1,0x4(s0)
ori v0,v0,0x40
bne a1,a0,0x00020c44
_sw v0,0x8(s0)
or a0,s3,zero
lw t9,-0x7f64(gp)
b 0x00020f88
_sw zero,0x8(s0)
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nundefined4 FUN_00020b68(int *param_1,int param_2,char *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}\n\n" comment (function_definition "undefined4 FUN_00020b68(int *param_1,int param_2,char *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}" type_identifier (function_declarator "FUN_00020b68(int *param_1,int param_2,char *param_3)" identifier (parameter_list "(int *param_1,int param_2,char *param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (expression_statement "puVar1 = PTR_UINT_000a6194;" (assignment_expression "puVar1 = PTR_UINT_000a6194" identifier = identifier) ;) (expression_statement "iVar10 = *param_1;" (assignment_expression "iVar10 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }" { (expression_statement "puVar12 = (uint *)(iVar10 + 0xd48);" (assignment_expression "puVar12 = (uint *)(iVar10 + 0xd48)" identifier = (cast_expression "(uint *)(iVar10 + 0xd48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd48)" ( (binary_expression "iVar10 + 0xd48" identifier + number_literal) )))) ;) (expression_statement "puVar8 = (uint *)(iVar10 + 4000);" (assignment_expression "puVar8 = (uint *)(iVar10 + 4000)" identifier = (cast_expression "(uint *)(iVar10 + 4000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4000)" ( (binary_expression "iVar10 + 4000" identifier + number_literal) )))) ;) (expression_statement "iVar7 = iVar10 + 0xd78;" (assignment_expression "iVar7 = iVar10 + 0xd78" identifier = (binary_expression "iVar10 + 0xd78" identifier + number_literal)) ;) }) (else_clause "else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" else (compound_statement "{\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" { (expression_statement "puVar12 = (uint *)(iVar10 + 0xd60);" (assignment_expression "puVar12 = (uint *)(iVar10 + 0xd60)" identifier = (cast_expression "(uint *)(iVar10 + 0xd60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd60)" ( (binary_expression "iVar10 + 0xd60" identifier + number_literal) )))) ;) (expression_statement "puVar8 = (uint *)(iVar10 + 0xf9c);" (assignment_expression "puVar8 = (uint *)(iVar10 + 0xf9c)" identifier = (cast_expression "(uint *)(iVar10 + 0xf9c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xf9c)" ( (binary_expression "iVar10 + 0xf9c" identifier + number_literal) )))) ;) (expression_statement "iVar7 = iVar10 + 0xd88;" (assignment_expression "iVar7 = iVar10 + 0xd88" identifier = (binary_expression "iVar10 + 0xd88" identifier + number_literal)) ;) }))) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "puVar9 = PTR_UINT_000a6194 + -0x777c;" (assignment_expression "puVar9 = PTR_UINT_000a6194 + -0x777c" identifier = (binary_expression "PTR_UINT_000a6194 + -0x777c" identifier + number_literal)) ;) (expression_statement "puVar11 = PTR_UINT_000a6194 + -0x7760;" (assignment_expression "puVar11 = PTR_UINT_000a6194 + -0x7760" identifier = (binary_expression "PTR_UINT_000a6194 + -0x7760" identifier + number_literal)) ;) (expression_statement "puVar4 = PTR_UINT_000a6194 + -0x7770;" (assignment_expression "puVar4 = PTR_UINT_000a6194 + -0x7770" identifier = (binary_expression "PTR_UINT_000a6194 + -0x7770" identifier + number_literal)) ;) (do_statement "do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );" do (compound_statement "{\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  }" { (if_statement "if (cVar3 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9,param_3,9)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,param_3,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x7758,param_3,6)" ( (binary_expression "puVar1 + -0x7758" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,param_3,5)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x7740,param_3,6)" ( (binary_expression "puVar1 + -0x7740" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }" { (expression_statement "*puVar8 = *puVar8 | 0x40;" (assignment_expression "*puVar8 = *puVar8 | 0x40" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 0x40" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 0x40" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 0x40)" ( (binary_expression "*(int *)(iVar7 + 4) == 0x40" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }" { (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00020f88;" goto statement_identifier ;) })) })) }) (else_clause "else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" else (compound_statement "{\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" { (expression_statement "*puVar8 = *puVar8 | 1;" (assignment_expression "*puVar8 = *puVar8 | 1" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 1" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 1" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 1)" ( (binary_expression "*(int *)(iVar7 + 4) == 1" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }" { (expression_statement "puVar6 = PTR_UINT_000a6194 + -0x765c;" (assignment_expression "puVar6 = PTR_UINT_000a6194 + -0x765c" identifier = (binary_expression "PTR_UINT_000a6194 + -0x765c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00026140(iVar10,puVar6);" (call_expression "FUN_00026140(iVar10,puVar6)" identifier (argument_list "(iVar10,puVar6)" ( identifier , identifier ))) ;) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 1;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 1" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;) })) }))) }) (else_clause "else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" else (if_statement "if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" if (parenthesized_expression "((*(uint *)(iVar7 + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar7 + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 2)" ( (binary_expression "*(uint *)(iVar7 + 8) & 2" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62d0)();" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62d0)()" identifier = (call_expression "(*(code *)PTR_FUN_000a62d0)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62d0)" ( (pointer_expression "*(code *)PTR_FUN_000a62d0" * (cast_expression "(code *)PTR_FUN_000a62d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar6 = PTR_FUN_000a62d4;" (assignment_expression "puVar6 = PTR_FUN_000a62d4" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" { (expression_statement "*puVar8 = *puVar8 | 2;" (assignment_expression "*puVar8 = *puVar8 | 2" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 2" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 2" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)puVar6)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)puVar6)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" { (labeled_statement "LAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);" statement_identifier : (expression_statement "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);" (call_expression "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c)" identifier (argument_list "(iVar10,PTR_UINT_000a6194 + -0x765c)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x765c" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_00020f98;" goto statement_identifier ;) })) })) }) (else_clause "else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" else (compound_statement "{\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" { (expression_statement "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);" (call_expression "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634)" identifier (argument_list "(iVar10,PTR_UINT_000a6194 + -0x7634)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x7634" identifier + number_literal) ))) ;) }))))) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;) })) (if_statement "if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" if (parenthesized_expression "(((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0))" ( (binary_expression "((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)" (parenthesized_expression "((*(uint *)(iVar7 + 8) & 0x28) != 0)" ( (binary_expression "(*(uint *)(iVar7 + 8) & 0x28) != 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 0x28)" ( (binary_expression "*(uint *)(iVar7 + 8) & 0x28" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c0)()" identifier = (call_expression "(*(code *)PTR_FUN_000a62c0)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62c0)" ( (pointer_expression "*(code *)PTR_FUN_000a62c0" * (cast_expression "(code *)PTR_FUN_000a62c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" { (expression_statement "*puVar8 = *puVar8 | 8;" (assignment_expression "*puVar8 = *puVar8 | 8" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 8" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 8" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20))" ( (binary_expression "(*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)" (parenthesized_expression "(*(int *)(iVar7 + 4) == 8)" ( (binary_expression "*(int *)(iVar7 + 4) == 8" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(iVar7 + 4) == 0x20)" ( (binary_expression "*(int *)(iVar7 + 4) == 0x20" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62c4)" ( (pointer_expression "*(code *)PTR_FUN_000a62c4" * (cast_expression "(code *)PTR_FUN_000a62c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00020f88;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00020f88;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 0;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 0" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }" if (parenthesized_expression "(iVar2 == 0x20)" ( (binary_expression "iVar2 == 0x20" identifier == number_literal) )) (compound_statement "{\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }" { (expression_statement "*puVar8 = *puVar8 & 0xfffffff7;" (assignment_expression "*puVar8 = *puVar8 & 0xfffffff7" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 & 0xfffffff7" (pointer_expression "*puVar8" * identifier) & number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) & 0xfffffff7" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*puVar8 = *puVar8 | 0x20;" (assignment_expression "*puVar8 = *puVar8 | 0x20" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 0x20" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (while_statement "while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }" while (parenthesized_expression "((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)))" ( (parenthesized_expression "(cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))" ( (binary_expression "cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)" (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3)" identifier = (call_expression "(*(code *)PTR_FUN_000a62bc)(cVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" ( (pointer_expression "*(code *)PTR_FUN_000a62bc" * (cast_expression "(code *)PTR_FUN_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(cVar3)" ( identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) )) (compound_statement "{\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }" { (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,param_3,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }" { (expression_statement "uVar5 = (uint)param_3[4];" (assignment_expression "uVar5 = (uint)param_3[4]" identifier = (cast_expression "(uint)param_3[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_3[4]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = param_3 + 4;" (assignment_expression "param_3 = param_3 + 4" identifier = (binary_expression "param_3 + 4" identifier + number_literal)) ;) (if_statement "if (uVar5 == 0) {\n                return 0;\n              }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (while_statement "while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }" while (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" identifier = (call_expression "(*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" ( (pointer_expression "*(code *)PTR_FUN_000a62bc" * (cast_expression "(code *)PTR_FUN_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }" { (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = (uint)*param_3;" (assignment_expression "uVar5 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar5 == 0) {\n                  return 0;\n                }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) })) })) (if_statement "if (*param_3 == '\0') {\n                return 0;\n              }" if (parenthesized_expression "(*param_3 == '\0')" ( (binary_expression "*param_3 == '\0'" (pointer_expression "*param_3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);" (assignment_expression "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3)" identifier = (call_expression "(**(code **)PTR_PTR_strdup_000a6230)(param_3)" (parenthesized_expression "(**(code **)PTR_PTR_strdup_000a6230)" ( (pointer_expression "**(code **)PTR_PTR_strdup_000a6230" * (pointer_expression "*(code **)PTR_PTR_strdup_000a6230" * (cast_expression "(code **)PTR_PTR_strdup_000a6230" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "param_1[0xe0] = iVar2;" (assignment_expression "param_1[0xe0] = iVar2" (subscript_expression "param_1[0xe0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 == 0) {\n                return 0x1b;\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                return 0x1b;\n              }" { (return_statement "return 0x1b;" return number_literal ;) })) })) })) })) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;) })) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) }) (else_clause "else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" else (compound_statement "{\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" { (if_statement "if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" if (parenthesized_expression "((*(uint *)(iVar7 + 8) & 4) == 0)" ( (binary_expression "(*(uint *)(iVar7 + 8) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 4)" ( (binary_expression "*(uint *)(iVar7 + 8) & 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62c8)();" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c8)()" identifier = (call_expression "(*(code *)PTR_FUN_000a62c8)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62c8)" ( (pointer_expression "*(code *)PTR_FUN_000a62c8" * (cast_expression "(code *)PTR_FUN_000a62c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00020c44;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;)) (expression_statement "*puVar8 = *puVar8 | 4;" (assignment_expression "*puVar8 = *puVar8 | 4" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 4" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" else (compound_statement "{\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" { (expression_statement "*puVar8 = *puVar8 | 4;" (assignment_expression "*puVar8 = *puVar8 | 4" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 4" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) }))) (if_statement "if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }" if (parenthesized_expression "((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0))" ( (binary_expression "(iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) && (parenthesized_expression "((*puVar12 & 0xfffffffd) == 0)" ( (binary_expression "(*puVar12 & 0xfffffffd) == 0" (parenthesized_expression "(*puVar12 & 0xfffffffd)" ( (binary_expression "*puVar12 & 0xfffffffd" (pointer_expression "*puVar12" * identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62cc)" ( (pointer_expression "*(code *)PTR_FUN_000a62cc" * (cast_expression "(code *)PTR_FUN_000a62cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }" { (expression_statement "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));" (assignment_expression "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40))" identifier = (call_expression "(**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40))" (parenthesized_expression "(**(code **)PTR_PTR_strdup_000a6230)" ( (pointer_expression "**(code **)PTR_PTR_strdup_000a6230" * (pointer_expression "*(code **)PTR_PTR_strdup_000a6230" * (cast_expression "(code **)PTR_PTR_strdup_000a6230" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(iVar10 + 0xb40))" ( (pointer_expression "*(undefined4 *)(iVar10 + 0xb40)" * (cast_expression "(undefined4 *)(iVar10 + 0xb40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xb40)" ( (binary_expression "iVar10 + 0xb40" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar10 + 0x144) = iVar2;" (assignment_expression "*(int *)(iVar10 + 0x144) = iVar2" (pointer_expression "*(int *)(iVar10 + 0x144)" * (cast_expression "(int *)(iVar10 + 0x144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x144)" ( (binary_expression "iVar10 + 0x144" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar2 == 0) {\n            return 0x1b;\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            return 0x1b;\n          }" { (return_statement "return 0x1b;" return number_literal ;) })) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 0;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 0" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar12 = 1;" (assignment_expression "*puVar12 = 1" (pointer_expression "*puVar12" * identifier) = number_literal) ;) }) (else_clause "else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" else (compound_statement "{\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" { (labeled_statement "LAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 1;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 1" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;)) }))) })) (labeled_statement "LAB_00020c44:\n      cVar3 = *param_3;" statement_identifier : (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) }))) (if_statement "if (cVar3 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" if (parenthesized_expression "(cVar3 == ',')" ( (binary_expression "cVar3 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n      cVar3 = param_3[1];\n    }" { (expression_statement "cVar3 = param_3[1];" (assignment_expression "cVar3 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" else (compound_statement "{\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" { (do_statement "do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');" do (compound_statement "{\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      }" { (expression_statement "pcVar13 = param_3;" (assignment_expression "pcVar13 = param_3" identifier = identifier) ;) (expression_statement "param_3 = pcVar13 + 1;" (assignment_expression "param_3 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (*param_3 == '\0') {\n          return 0;\n        }" if (parenthesized_expression "(*param_3 == '\0')" ( (binary_expression "*param_3 == '\0'" (pointer_expression "*param_3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) }) while (parenthesized_expression "(*param_3 != ',')" ( (binary_expression "*param_3 != ','" (pointer_expression "*param_3" * identifier) != (char_literal "','" ' character ')) )) ;) (expression_statement "cVar3 = pcVar13[2];" (assignment_expression "cVar3 = pcVar13[2]" identifier = (subscript_expression "pcVar13[2]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar5 = (uint)cVar3;" (assignment_expression "uVar5 = (uint)cVar3" identifier = (cast_expression "(uint)cVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (if_statement "if (uVar5 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (while_statement "while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }" while (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" identifier = (call_expression "(*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" ( (pointer_expression "*(code *)PTR_FUN_000a62bc" * (cast_expression "(code *)PTR_FUN_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }" { (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = (uint)*param_3;" (assignment_expression "uVar5 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar5 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nCURLcode Curl_http_input_auth(connectdata *conn,_Bool proxy,char *auth)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  char cVar5;\n  char *pcVar4;\n  undefined *puVar6;\n  uint uVar7;\n  undefined3 in_register_00000014;\n  int iVar8;\n  ulong uVar9;\n  auth *paVar10;\n  ulong *puVar11;\n  undefined *puVar12;\n  Curl_easy *data;\n  undefined *puVar13;\n  negotiatedata *pnVar14;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar8 = CONCAT31(in_register_00000014,proxy);\n  data = conn->data;\n  if (iVar8 == 0) {\n    pnVar14 = &(data->state).negotiate;\n    puVar11 = &(data->info).httpauthavail;\n    paVar10 = &(data->state).authhost;\n  }\n  else {\n    pnVar14 = &(data->state).proxyneg;\n    puVar11 = &(data->info).proxyauthavail;\n    paVar10 = &(data->state).authproxy;\n  }\n  cVar5 = *auth;\n  puVar12 = PTR_UINT_000a6194 + -0x777c;\n  puVar13 = PTR_UINT_000a6194 + -0x7760;\n  puVar6 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9);\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n      if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar5 = *auth;\n    }\n    else {\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    if (cVar5 == ',') {\n      cVar5 = auth[1];\n    }\n    else {\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }\n    uVar7 = (uint)cVar5;\n    auth = auth + 1;\n    if (uVar7 == 0) {\n      return CURLE_OK;\n    }\n    while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n      auth = auth + 1;\n      uVar7 = (uint)*auth;\n      if (uVar7 == 0) {\n        return CURLE_OK;\n      }\n    }\n    cVar5 = *auth;\n  } while( true );\n}\n\n" comment comment (function_definition "CURLcode Curl_http_input_auth(connectdata *conn,_Bool proxy,char *auth)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  char cVar5;\n  char *pcVar4;\n  undefined *puVar6;\n  uint uVar7;\n  undefined3 in_register_00000014;\n  int iVar8;\n  ulong uVar9;\n  auth *paVar10;\n  ulong *puVar11;\n  undefined *puVar12;\n  Curl_easy *data;\n  undefined *puVar13;\n  negotiatedata *pnVar14;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar8 = CONCAT31(in_register_00000014,proxy);\n  data = conn->data;\n  if (iVar8 == 0) {\n    pnVar14 = &(data->state).negotiate;\n    puVar11 = &(data->info).httpauthavail;\n    paVar10 = &(data->state).authhost;\n  }\n  else {\n    pnVar14 = &(data->state).proxyneg;\n    puVar11 = &(data->info).proxyauthavail;\n    paVar10 = &(data->state).authproxy;\n  }\n  cVar5 = *auth;\n  puVar12 = PTR_UINT_000a6194 + -0x777c;\n  puVar13 = PTR_UINT_000a6194 + -0x7760;\n  puVar6 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9);\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n      if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar5 = *auth;\n    }\n    else {\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    if (cVar5 == ',') {\n      cVar5 = auth[1];\n    }\n    else {\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }\n    uVar7 = (uint)cVar5;\n    auth = auth + 1;\n    if (uVar7 == 0) {\n      return CURLE_OK;\n    }\n    while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n      auth = auth + 1;\n      uVar7 = (uint)*auth;\n      if (uVar7 == 0) {\n        return CURLE_OK;\n      }\n    }\n    cVar5 = *auth;\n  } while( true );\n}" type_identifier (function_declarator "Curl_http_input_auth(connectdata *conn,_Bool proxy,char *auth)" identifier (parameter_list "(connectdata *conn,_Bool proxy,char *auth)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) , (parameter_declaration "_Bool proxy" type_identifier identifier) , (parameter_declaration "char *auth" primitive_type (pointer_declarator "*auth" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  char cVar5;\n  char *pcVar4;\n  undefined *puVar6;\n  uint uVar7;\n  undefined3 in_register_00000014;\n  int iVar8;\n  ulong uVar9;\n  auth *paVar10;\n  ulong *puVar11;\n  undefined *puVar12;\n  Curl_easy *data;\n  undefined *puVar13;\n  negotiatedata *pnVar14;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar8 = CONCAT31(in_register_00000014,proxy);\n  data = conn->data;\n  if (iVar8 == 0) {\n    pnVar14 = &(data->state).negotiate;\n    puVar11 = &(data->info).httpauthavail;\n    paVar10 = &(data->state).authhost;\n  }\n  else {\n    pnVar14 = &(data->state).proxyneg;\n    puVar11 = &(data->info).proxyauthavail;\n    paVar10 = &(data->state).authproxy;\n  }\n  cVar5 = *auth;\n  puVar12 = PTR_UINT_000a6194 + -0x777c;\n  puVar13 = PTR_UINT_000a6194 + -0x7760;\n  puVar6 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9);\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n      if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar5 = *auth;\n    }\n    else {\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    if (cVar5 == ',') {\n      cVar5 = auth[1];\n    }\n    else {\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }\n    uVar7 = (uint)cVar5;\n    auth = auth + 1;\n    if (uVar7 == 0) {\n      return CURLE_OK;\n    }\n    while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n      auth = auth + 1;\n      uVar7 = (uint)*auth;\n      if (uVar7 == 0) {\n        return CURLE_OK;\n      }\n    }\n    cVar5 = *auth;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined3 in_register_00000014;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "auth *paVar10;" type_identifier (pointer_declarator "*paVar10" * identifier) ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "Curl_easy *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "negotiatedata *pnVar14;" type_identifier (pointer_declarator "*pnVar14" * identifier) ;) (expression_statement "puVar1 = PTR_UINT_000a6194;" (assignment_expression "puVar1 = PTR_UINT_000a6194" identifier = identifier) ;) (expression_statement "iVar8 = CONCAT31(in_register_00000014,proxy);" (assignment_expression "iVar8 = CONCAT31(in_register_00000014,proxy)" identifier = (call_expression "CONCAT31(in_register_00000014,proxy)" identifier (argument_list "(in_register_00000014,proxy)" ( identifier , identifier )))) ;) (expression_statement "data = conn->data;" (assignment_expression "data = conn->data" identifier = (field_expression "conn->data" identifier -> field_identifier)) ;) (if_statement "if (iVar8 == 0) {\n    pnVar14 = &(data->state).negotiate;\n    puVar11 = &(data->info).httpauthavail;\n    paVar10 = &(data->state).authhost;\n  }\n  else {\n    pnVar14 = &(data->state).proxyneg;\n    puVar11 = &(data->info).proxyauthavail;\n    paVar10 = &(data->state).authproxy;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    pnVar14 = &(data->state).negotiate;\n    puVar11 = &(data->info).httpauthavail;\n    paVar10 = &(data->state).authhost;\n  }" { (expression_statement "pnVar14 = &(data->state).negotiate;" (assignment_expression "pnVar14 = &(data->state).negotiate" identifier = (pointer_expression "&(data->state).negotiate" & (field_expression "(data->state).negotiate" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "puVar11 = &(data->info).httpauthavail;" (assignment_expression "puVar11 = &(data->info).httpauthavail" identifier = (pointer_expression "&(data->info).httpauthavail" & (field_expression "(data->info).httpauthavail" (parenthesized_expression "(data->info)" ( (field_expression "data->info" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "paVar10 = &(data->state).authhost;" (assignment_expression "paVar10 = &(data->state).authhost" identifier = (pointer_expression "&(data->state).authhost" & (field_expression "(data->state).authhost" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier))) ;) }) (else_clause "else {\n    pnVar14 = &(data->state).proxyneg;\n    puVar11 = &(data->info).proxyauthavail;\n    paVar10 = &(data->state).authproxy;\n  }" else (compound_statement "{\n    pnVar14 = &(data->state).proxyneg;\n    puVar11 = &(data->info).proxyauthavail;\n    paVar10 = &(data->state).authproxy;\n  }" { (expression_statement "pnVar14 = &(data->state).proxyneg;" (assignment_expression "pnVar14 = &(data->state).proxyneg" identifier = (pointer_expression "&(data->state).proxyneg" & (field_expression "(data->state).proxyneg" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "puVar11 = &(data->info).proxyauthavail;" (assignment_expression "puVar11 = &(data->info).proxyauthavail" identifier = (pointer_expression "&(data->info).proxyauthavail" & (field_expression "(data->info).proxyauthavail" (parenthesized_expression "(data->info)" ( (field_expression "data->info" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "paVar10 = &(data->state).authproxy;" (assignment_expression "paVar10 = &(data->state).authproxy" identifier = (pointer_expression "&(data->state).authproxy" & (field_expression "(data->state).authproxy" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier))) ;) }))) (expression_statement "cVar5 = *auth;" (assignment_expression "cVar5 = *auth" identifier = (pointer_expression "*auth" * identifier)) ;) (expression_statement "puVar12 = PTR_UINT_000a6194 + -0x777c;" (assignment_expression "puVar12 = PTR_UINT_000a6194 + -0x777c" identifier = (binary_expression "PTR_UINT_000a6194 + -0x777c" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_UINT_000a6194 + -0x7760;" (assignment_expression "puVar13 = PTR_UINT_000a6194 + -0x7760" identifier = (binary_expression "PTR_UINT_000a6194 + -0x7760" identifier + number_literal)) ;) (expression_statement "puVar6 = PTR_UINT_000a6194 + -0x7770;" (assignment_expression "puVar6 = PTR_UINT_000a6194 + -0x7770" identifier = (binary_expression "PTR_UINT_000a6194 + -0x7770" identifier + number_literal)) ;) (do_statement "do {\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9);\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n      if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar5 = *auth;\n    }\n    else {\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    if (cVar5 == ',') {\n      cVar5 = auth[1];\n    }\n    else {\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }\n    uVar7 = (uint)cVar5;\n    auth = auth + 1;\n    if (uVar7 == 0) {\n      return CURLE_OK;\n    }\n    while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n      auth = auth + 1;\n      uVar7 = (uint)*auth;\n      if (uVar7 == 0) {\n        return CURLE_OK;\n      }\n    }\n    cVar5 = *auth;\n  } while( true );" do (compound_statement "{\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9);\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n      if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar5 = *auth;\n    }\n    else {\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }\n    if (cVar5 == '\0') {\n      return CURLE_OK;\n    }\n    if (cVar5 == ',') {\n      cVar5 = auth[1];\n    }\n    else {\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }\n    uVar7 = (uint)cVar5;\n    auth = auth + 1;\n    if (uVar7 == 0) {\n      return CURLE_OK;\n    }\n    while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n      auth = auth + 1;\n      uVar7 = (uint)*auth;\n      if (uVar7 == 0) {\n        return CURLE_OK;\n      }\n    }\n    cVar5 = *auth;\n  }" { (if_statement "if (cVar5 == '\0') {\n      return CURLE_OK;\n    }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return CURLE_OK;\n    }" { (return_statement "return CURLE_OK;" return identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9);" (assignment_expression "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar12,auth,9)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar12,auth,9)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n      if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar5 = *auth;\n    }\n    else {\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n      if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar5 = *auth;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);" (assignment_expression "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar13,auth,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);\n        if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" { (expression_statement "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6);" (assignment_expression "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,auth,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x7758,auth,6)" ( (binary_expression "puVar1 + -0x7758" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }\n        else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);\n          if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }\n        }" { (expression_statement "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5);" (assignment_expression "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar6,auth,5)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,auth,5)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);\n            if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }" { (expression_statement "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6);" (assignment_expression "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,auth,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x7740,auth,6)" ( (binary_expression "puVar1 + -0x7740" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              *puVar11 = *puVar11 | 0x40;\n              paVar10->avail = paVar10->avail | 0x40;\n              if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }\n            }" { (expression_statement "*puVar11 = *puVar11 | 0x40;" (assignment_expression "*puVar11 = *puVar11 | 0x40" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 0x40" (pointer_expression "*puVar11" * identifier) | number_literal)) ;) (expression_statement "paVar10->avail = paVar10->avail | 0x40;" (assignment_expression "paVar10->avail = paVar10->avail | 0x40" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail | 0x40" (field_expression "paVar10->avail" identifier -> field_identifier) | number_literal)) ;) (if_statement "if (paVar10->picked == 0x40) {\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }" if (parenthesized_expression "(paVar10->picked == 0x40)" ( (binary_expression "paVar10->picked == 0x40" (field_expression "paVar10->picked" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                paVar10->avail = 0;\n                goto LAB_00020f88;\n              }" { (expression_statement "paVar10->avail = 0;" (assignment_expression "paVar10->avail = 0" (field_expression "paVar10->avail" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00020f88;" goto statement_identifier ;) })) })) }) (else_clause "else {\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }" else (compound_statement "{\n            *puVar11 = *puVar11 | 1;\n            paVar10->avail = paVar10->avail | 1;\n            if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }\n          }" { (expression_statement "*puVar11 = *puVar11 | 1;" (assignment_expression "*puVar11 = *puVar11 | 1" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 1" (pointer_expression "*puVar11" * identifier) | number_literal)) ;) (expression_statement "paVar10->avail = paVar10->avail | 1;" (assignment_expression "paVar10->avail = paVar10->avail | 1" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail | 1" (field_expression "paVar10->avail" identifier -> field_identifier) | number_literal)) ;) (if_statement "if (paVar10->picked == 1) {\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }" if (parenthesized_expression "(paVar10->picked == 1)" ( (binary_expression "paVar10->picked == 1" (field_expression "paVar10->picked" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              pcVar4 = PTR_UINT_000a6194 + -0x765c;\n              paVar10->avail = 0;\n              Curl_infof(data,pcVar4);\n              (data->state).authproblem = true;\n            }" { (expression_statement "pcVar4 = PTR_UINT_000a6194 + -0x765c;" (assignment_expression "pcVar4 = PTR_UINT_000a6194 + -0x765c" identifier = (binary_expression "PTR_UINT_000a6194 + -0x765c" identifier + number_literal)) ;) (expression_statement "paVar10->avail = 0;" (assignment_expression "paVar10->avail = 0" (field_expression "paVar10->avail" identifier -> field_identifier) = number_literal) ;) (expression_statement "Curl_infof(data,pcVar4);" (call_expression "Curl_infof(data,pcVar4)" identifier (argument_list "(data,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "(data->state).authproblem = true;" (assignment_expression "(data->state).authproblem = true" (field_expression "(data->state).authproblem" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = true) ;) })) }))) }) (else_clause "else if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }" else (if_statement "if ((paVar10->avail & 2) == 0) {\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }" if (parenthesized_expression "((paVar10->avail & 2) == 0)" ( (binary_expression "(paVar10->avail & 2) == 0" (parenthesized_expression "(paVar10->avail & 2)" ( (binary_expression "paVar10->avail & 2" (field_expression "paVar10->avail" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();\n          puVar2 = PTR_Curl_input_digest_000a62d4;\n          if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }" { (expression_statement "iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)();" (assignment_expression "iVar3 = (*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)()" identifier = (call_expression "(*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)()" (parenthesized_expression "(*(code *)PTR_Curl_auth_is_digest_supported_000a62d0)" ( (pointer_expression "*(code *)PTR_Curl_auth_is_digest_supported_000a62d0" * (cast_expression "(code *)PTR_Curl_auth_is_digest_supported_000a62d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar2 = PTR_Curl_input_digest_000a62d4;" (assignment_expression "puVar2 = PTR_Curl_input_digest_000a62d4" identifier = identifier) ;) (if_statement "if (iVar3 != 0) {\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            *puVar11 = *puVar11 | 2;\n            paVar10->avail = paVar10->avail | 2;\n            iVar3 = (*(code *)puVar2)(conn,iVar8,auth);\n            if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" { (expression_statement "*puVar11 = *puVar11 | 2;" (assignment_expression "*puVar11 = *puVar11 | 2" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 2" (pointer_expression "*puVar11" * identifier) | number_literal)) ;) (expression_statement "paVar10->avail = paVar10->avail | 2;" (assignment_expression "paVar10->avail = paVar10->avail | 2" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail | 2" (field_expression "paVar10->avail" identifier -> field_identifier) | number_literal)) ;) (expression_statement "iVar3 = (*(code *)puVar2)(conn,iVar8,auth);" (assignment_expression "iVar3 = (*(code *)puVar2)(conn,iVar8,auth)" identifier = (call_expression "(*(code *)puVar2)(conn,iVar8,auth)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(conn,iVar8,auth)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 != 0) {\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" { (labeled_statement "LAB_00020f88:\n              Curl_infof(data,PTR_UINT_000a6194 + -0x765c);" statement_identifier : (expression_statement "Curl_infof(data,PTR_UINT_000a6194 + -0x765c);" (call_expression "Curl_infof(data,PTR_UINT_000a6194 + -0x765c)" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x765c)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x765c" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_00020f98;" goto statement_identifier ;) })) })) }) (else_clause "else {\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }" else (compound_statement "{\n          Curl_infof(data,PTR_UINT_000a6194 + -0x7634);\n        }" { (expression_statement "Curl_infof(data,PTR_UINT_000a6194 + -0x7634);" (call_expression "Curl_infof(data,PTR_UINT_000a6194 + -0x7634)" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x7634)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x7634" identifier + number_literal) ))) ;) }))))) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;) })) (if_statement "if (((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)) {\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" if (parenthesized_expression "(((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0))" ( (binary_expression "((paVar10->avail & 0x28) != 0) ||\n         (iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)" (parenthesized_expression "((paVar10->avail & 0x28) != 0)" ( (binary_expression "(paVar10->avail & 0x28) != 0" (parenthesized_expression "(paVar10->avail & 0x28)" ( (binary_expression "paVar10->avail & 0x28" (field_expression "paVar10->avail" identifier -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)(), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)()" identifier = (call_expression "(*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)()" (parenthesized_expression "(*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0)" ( (pointer_expression "*(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0" * (cast_expression "(code *)PTR_Curl_auth_is_ntlm_supported_000a62c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        *puVar11 = *puVar11 | 8;\n        paVar10->avail = paVar10->avail | 8;\n        if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" { (expression_statement "*puVar11 = *puVar11 | 8;" (assignment_expression "*puVar11 = *puVar11 | 8" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 8" (pointer_expression "*puVar11" * identifier) | number_literal)) ;) (expression_statement "paVar10->avail = paVar10->avail | 8;" (assignment_expression "paVar10->avail = paVar10->avail | 8" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail | 8" (field_expression "paVar10->avail" identifier -> field_identifier) | number_literal)) ;) (if_statement "if ((paVar10->picked == 8) || (paVar10->picked == 0x20)) {\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((paVar10->picked == 8) || (paVar10->picked == 0x20))" ( (binary_expression "(paVar10->picked == 8) || (paVar10->picked == 0x20)" (parenthesized_expression "(paVar10->picked == 8)" ( (binary_expression "paVar10->picked == 8" (field_expression "paVar10->picked" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(paVar10->picked == 0x20)" ( (binary_expression "paVar10->picked == 0x20" (field_expression "paVar10->picked" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n          iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);\n          if (iVar3 != 0) goto LAB_00020f88;\n          uVar9 = paVar10->picked;\n          (data->state).authproblem = false;\n          if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }\n        }" { (expression_statement "iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth);" (assignment_expression "iVar3 = (*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth)" identifier = (call_expression "(*(code *)PTR_Curl_input_ntlm_000a62c4)(conn,iVar8,auth)" (parenthesized_expression "(*(code *)PTR_Curl_input_ntlm_000a62c4)" ( (pointer_expression "*(code *)PTR_Curl_input_ntlm_000a62c4" * (cast_expression "(code *)PTR_Curl_input_ntlm_000a62c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(conn,iVar8,auth)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00020f88;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00020f88;" goto statement_identifier ;)) (expression_statement "uVar9 = paVar10->picked;" (assignment_expression "uVar9 = paVar10->picked" identifier = (field_expression "paVar10->picked" identifier -> field_identifier)) ;) (expression_statement "(data->state).authproblem = false;" (assignment_expression "(data->state).authproblem = false" (field_expression "(data->state).authproblem" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = false) ;) (if_statement "if (uVar9 == 0x20) {\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }" if (parenthesized_expression "(uVar9 == 0x20)" ( (binary_expression "uVar9 == 0x20" identifier == number_literal) )) (compound_statement "{\n            *puVar11 = *puVar11 & 0xfffffff7;\n            paVar10->avail = paVar10->avail & 0xfffffff7;\n            *puVar11 = *puVar11 | 0x20;\n            paVar10->avail = paVar10->avail | 0x20;\n            cVar5 = *auth;\n            while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }\n            iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);\n            if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }\n          }" { (expression_statement "*puVar11 = *puVar11 & 0xfffffff7;" (assignment_expression "*puVar11 = *puVar11 & 0xfffffff7" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 & 0xfffffff7" (pointer_expression "*puVar11" * identifier) & number_literal)) ;) (expression_statement "paVar10->avail = paVar10->avail & 0xfffffff7;" (assignment_expression "paVar10->avail = paVar10->avail & 0xfffffff7" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail & 0xfffffff7" (field_expression "paVar10->avail" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*puVar11 = *puVar11 | 0x20;" (assignment_expression "*puVar11 = *puVar11 | 0x20" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 0x20" (pointer_expression "*puVar11" * identifier) | number_literal)) ;) (expression_statement "paVar10->avail = paVar10->avail | 0x20;" (assignment_expression "paVar10->avail = paVar10->avail | 0x20" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail | 0x20" (field_expression "paVar10->avail" identifier -> field_identifier) | number_literal)) ;) (expression_statement "cVar5 = *auth;" (assignment_expression "cVar5 = *auth" identifier = (pointer_expression "*auth" * identifier)) ;) (while_statement "while ((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))) {\n              auth = auth + 1;\n              cVar5 = *auth;\n            }" while (parenthesized_expression "((cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0)))" ( (parenthesized_expression "(cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0))" ( (binary_expression "cVar5 != '\0' &&\n                   (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0)" (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(cVar5)" identifier = (call_expression "(*(code *)PTR_Curl_isspace_000a62bc)(cVar5)" (parenthesized_expression "(*(code *)PTR_Curl_isspace_000a62bc)" ( (pointer_expression "*(code *)PTR_Curl_isspace_000a62bc" * (cast_expression "(code *)PTR_Curl_isspace_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(cVar5)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) )) (compound_statement "{\n              auth = auth + 1;\n              cVar5 = *auth;\n            }" { (expression_statement "auth = auth + 1;" (assignment_expression "auth = auth + 1" identifier = (binary_expression "auth + 1" identifier + number_literal)) ;) (expression_statement "cVar5 = *auth;" (assignment_expression "cVar5 = *auth" identifier = (pointer_expression "*auth" * identifier)) ;) })) (expression_statement "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4);" (assignment_expression "iVar3 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar13,auth,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar13,auth,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar7 = (uint)auth[4];\n              auth = auth + 4;\n              if (uVar7 == 0) {\n                return CURLE_OK;\n              }\n              while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }\n              if (*auth == '\0') {\n                return CURLE_OK;\n              }\n              pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);\n              conn->challenge_header = pcVar4;\n              if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }\n            }" { (expression_statement "uVar7 = (uint)auth[4];" (assignment_expression "uVar7 = (uint)auth[4]" identifier = (cast_expression "(uint)auth[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "auth[4]" identifier [ number_literal ]))) ;) (expression_statement "auth = auth + 4;" (assignment_expression "auth = auth + 4" identifier = (binary_expression "auth + 4" identifier + number_literal)) ;) (if_statement "if (uVar7 == 0) {\n                return CURLE_OK;\n              }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                return CURLE_OK;\n              }" { (return_statement "return CURLE_OK;" return identifier ;) })) (while_statement "while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }" while (parenthesized_expression "(iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff)" identifier = (call_expression "(*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff)" (parenthesized_expression "(*(code *)PTR_Curl_isspace_000a62bc)" ( (pointer_expression "*(code *)PTR_Curl_isspace_000a62bc" * (cast_expression "(code *)PTR_Curl_isspace_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) )) (compound_statement "{\n                auth = auth + 1;\n                uVar7 = (uint)*auth;\n                if (uVar7 == 0) {\n                  return CURLE_OK;\n                }\n              }" { (expression_statement "auth = auth + 1;" (assignment_expression "auth = auth + 1" identifier = (binary_expression "auth + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)*auth;" (assignment_expression "uVar7 = (uint)*auth" identifier = (binary_expression "(uint)*auth" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar7 == 0) {\n                  return CURLE_OK;\n                }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                  return CURLE_OK;\n                }" { (return_statement "return CURLE_OK;" return identifier ;) })) })) (if_statement "if (*auth == '\0') {\n                return CURLE_OK;\n              }" if (parenthesized_expression "(*auth == '\0')" ( (binary_expression "*auth == '\0'" (pointer_expression "*auth" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                return CURLE_OK;\n              }" { (return_statement "return CURLE_OK;" return identifier ;) })) (expression_statement "pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth);" (assignment_expression "pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth)" identifier = (cast_expression "(char *)(**(code **)PTR_Curl_cstrdup_000a6230)(auth)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)PTR_Curl_cstrdup_000a6230)(auth)" (parenthesized_expression "(**(code **)PTR_Curl_cstrdup_000a6230)" ( (pointer_expression "**(code **)PTR_Curl_cstrdup_000a6230" * (pointer_expression "*(code **)PTR_Curl_cstrdup_000a6230" * (cast_expression "(code **)PTR_Curl_cstrdup_000a6230" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(auth)" ( identifier ))))) ;) (expression_statement "conn->challenge_header = pcVar4;" (assignment_expression "conn->challenge_header = pcVar4" (field_expression "conn->challenge_header" identifier -> field_identifier) = identifier) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n                return CURLE_OUT_OF_MEMORY;\n              }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                return CURLE_OUT_OF_MEMORY;\n              }" { (return_statement "return CURLE_OUT_OF_MEMORY;" return identifier ;) })) })) })) })) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;) })) (expression_statement "cVar5 = *auth;" (assignment_expression "cVar5 = *auth" identifier = (pointer_expression "*auth" * identifier)) ;) }) (else_clause "else {\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }" else (compound_statement "{\n      if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }\nLAB_00020c44:\n      cVar5 = *auth;\n    }" { (if_statement "if ((paVar10->avail & 4) == 0) {\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }\n      else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }" if (parenthesized_expression "((paVar10->avail & 4) == 0)" ( (binary_expression "(paVar10->avail & 4) == 0" (parenthesized_expression "(paVar10->avail & 4)" ( (binary_expression "paVar10->avail & 4" (field_expression "paVar10->avail" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();\n        if (iVar3 == 0) goto LAB_00020c44;\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }" { (expression_statement "iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)();" (assignment_expression "iVar3 = (*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)()" identifier = (call_expression "(*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)()" (parenthesized_expression "(*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8)" ( (pointer_expression "*(code *)PTR_Curl_auth_is_spnego_supported_000a62c8" * (cast_expression "(code *)PTR_Curl_auth_is_spnego_supported_000a62c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00020c44;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;)) (expression_statement "*puVar11 = *puVar11 | 4;" (assignment_expression "*puVar11 = *puVar11 | 4" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 4" (pointer_expression "*puVar11" * identifier) | number_literal)) ;) (expression_statement "uVar9 = paVar10->picked;" (assignment_expression "uVar9 = paVar10->picked" identifier = (field_expression "paVar10->picked" identifier -> field_identifier)) ;) (expression_statement "paVar10->avail = paVar10->avail | 4;" (assignment_expression "paVar10->avail = paVar10->avail | 4" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail | 4" (field_expression "paVar10->avail" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else {\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }" else (compound_statement "{\n        *puVar11 = *puVar11 | 4;\n        uVar9 = paVar10->picked;\n        paVar10->avail = paVar10->avail | 4;\n      }" { (expression_statement "*puVar11 = *puVar11 | 4;" (assignment_expression "*puVar11 = *puVar11 | 4" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 4" (pointer_expression "*puVar11" * identifier) | number_literal)) ;) (expression_statement "uVar9 = paVar10->picked;" (assignment_expression "uVar9 = paVar10->picked" identifier = (field_expression "paVar10->picked" identifier -> field_identifier)) ;) (expression_statement "paVar10->avail = paVar10->avail | 4;" (assignment_expression "paVar10->avail = paVar10->avail | 4" (field_expression "paVar10->avail" identifier -> field_identifier) = (binary_expression "paVar10->avail | 4" (field_expression "paVar10->avail" identifier -> field_identifier) | number_literal)) ;) }))) (if_statement "if ((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)) {\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }" if (parenthesized_expression "((uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5))" ( (binary_expression "(uVar9 == 4) &&\n         ((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)" (parenthesized_expression "(uVar9 == 4)" ( (binary_expression "uVar9 == 4" identifier == number_literal) )) && (parenthesized_expression "((pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5)" ( (binary_expression "(pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)) == CURLDIGESTALGO_MD5" (parenthesized_expression "(pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS))" ( (binary_expression "pnVar14->state &\n          (NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)" (field_expression "pnVar14->state" identifier -> field_identifier) & (parenthesized_expression "(NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS)" ( (binary_expression "NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER|\n          CURLDIGESTALGO_SHA512_256SESS" (binary_expression "NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL|CURLOPT_PROXY_SSL_VERIFYPEER" (binary_expression "NGHTTP2_ERR_STREAM_SHUT_WR|FLAGS_PAD_NIL" identifier | identifier) | identifier) | identifier) ))) )) == identifier) ))) )) (compound_statement "{\n        iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);\n        if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }\n      }" { (expression_statement "iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth);" (assignment_expression "iVar3 = (*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth)" identifier = (call_expression "(*(code *)PTR_Curl_input_negotiate_000a62cc)(conn,iVar8,auth)" (parenthesized_expression "(*(code *)PTR_Curl_input_negotiate_000a62cc)" ( (pointer_expression "*(code *)PTR_Curl_input_negotiate_000a62cc" * (cast_expression "(code *)PTR_Curl_input_negotiate_000a62cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(conn,iVar8,auth)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }\n        else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);\n          (data->req).newurl = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }\n          (data->state).authproblem = false;\n          pnVar14->state = CURLDIGESTALGO_MD5SESS;\n        }" { (expression_statement "pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url);" (assignment_expression "pcVar4 = (char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url)" identifier = (cast_expression "(char *)(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)PTR_Curl_cstrdup_000a6230)((data->change).url)" (parenthesized_expression "(**(code **)PTR_Curl_cstrdup_000a6230)" ( (pointer_expression "**(code **)PTR_Curl_cstrdup_000a6230" * (pointer_expression "*(code **)PTR_Curl_cstrdup_000a6230" * (cast_expression "(code **)PTR_Curl_cstrdup_000a6230" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->change).url)" ( (field_expression "(data->change).url" (parenthesized_expression "(data->change)" ( (field_expression "data->change" identifier -> field_identifier) )) . field_identifier) ))))) ;) (expression_statement "(data->req).newurl = pcVar4;" (assignment_expression "(data->req).newurl = pcVar4" (field_expression "(data->req).newurl" (parenthesized_expression "(data->req)" ( (field_expression "data->req" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n            return CURLE_OUT_OF_MEMORY;\n          }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return CURLE_OUT_OF_MEMORY;\n          }" { (return_statement "return CURLE_OUT_OF_MEMORY;" return identifier ;) })) (expression_statement "(data->state).authproblem = false;" (assignment_expression "(data->state).authproblem = false" (field_expression "(data->state).authproblem" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "pnVar14->state = CURLDIGESTALGO_MD5SESS;" (assignment_expression "pnVar14->state = CURLDIGESTALGO_MD5SESS" (field_expression "pnVar14->state" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }" else (compound_statement "{\nLAB_00020f98:\n          (data->state).authproblem = true;\n        }" { (labeled_statement "LAB_00020f98:\n          (data->state).authproblem = true;" statement_identifier : (expression_statement "(data->state).authproblem = true;" (assignment_expression "(data->state).authproblem = true" (field_expression "(data->state).authproblem" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = true) ;)) }))) })) (labeled_statement "LAB_00020c44:\n      cVar5 = *auth;" statement_identifier : (expression_statement "cVar5 = *auth;" (assignment_expression "cVar5 = *auth" identifier = (pointer_expression "*auth" * identifier)) ;)) }))) (if_statement "if (cVar5 == '\0') {\n      return CURLE_OK;\n    }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return CURLE_OK;\n    }" { (return_statement "return CURLE_OK;" return identifier ;) })) (if_statement "if (cVar5 == ',') {\n      cVar5 = auth[1];\n    }\n    else {\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }" if (parenthesized_expression "(cVar5 == ',')" ( (binary_expression "cVar5 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n      cVar5 = auth[1];\n    }" { (expression_statement "cVar5 = auth[1];" (assignment_expression "cVar5 = auth[1]" identifier = (subscript_expression "auth[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }" else (compound_statement "{\n      do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');\n      cVar5 = pcVar4[2];\n    }" { (do_statement "do {\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      } while (*auth != ',');" do (compound_statement "{\n        pcVar4 = auth;\n        auth = pcVar4 + 1;\n        if (*auth == '\0') {\n          return CURLE_OK;\n        }\n      }" { (expression_statement "pcVar4 = auth;" (assignment_expression "pcVar4 = auth" identifier = identifier) ;) (expression_statement "auth = pcVar4 + 1;" (assignment_expression "auth = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (if_statement "if (*auth == '\0') {\n          return CURLE_OK;\n        }" if (parenthesized_expression "(*auth == '\0')" ( (binary_expression "*auth == '\0'" (pointer_expression "*auth" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          return CURLE_OK;\n        }" { (return_statement "return CURLE_OK;" return identifier ;) })) }) while (parenthesized_expression "(*auth != ',')" ( (binary_expression "*auth != ','" (pointer_expression "*auth" * identifier) != (char_literal "','" ' character ')) )) ;) (expression_statement "cVar5 = pcVar4[2];" (assignment_expression "cVar5 = pcVar4[2]" identifier = (subscript_expression "pcVar4[2]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar7 = (uint)cVar5;" (assignment_expression "uVar7 = (uint)cVar5" identifier = (cast_expression "(uint)cVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "auth = auth + 1;" (assignment_expression "auth = auth + 1" identifier = (binary_expression "auth + 1" identifier + number_literal)) ;) (if_statement "if (uVar7 == 0) {\n      return CURLE_OK;\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return CURLE_OK;\n    }" { (return_statement "return CURLE_OK;" return identifier ;) })) (while_statement "while (iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0) {\n      auth = auth + 1;\n      uVar7 = (uint)*auth;\n      if (uVar7 == 0) {\n        return CURLE_OK;\n      }\n    }" while (parenthesized_expression "(iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff)" identifier = (call_expression "(*(code *)PTR_Curl_isspace_000a62bc)(uVar7 & 0xff)" (parenthesized_expression "(*(code *)PTR_Curl_isspace_000a62bc)" ( (pointer_expression "*(code *)PTR_Curl_isspace_000a62bc" * (cast_expression "(code *)PTR_Curl_isspace_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) )) (compound_statement "{\n      auth = auth + 1;\n      uVar7 = (uint)*auth;\n      if (uVar7 == 0) {\n        return CURLE_OK;\n      }\n    }" { (expression_statement "auth = auth + 1;" (assignment_expression "auth = auth + 1" identifier = (binary_expression "auth + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)*auth;" (assignment_expression "uVar7 = (uint)*auth" identifier = (binary_expression "(uint)*auth" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar7 == 0) {\n        return CURLE_OK;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return CURLE_OK;\n      }" { (return_statement "return CURLE_OK;" return identifier ;) })) })) (expression_statement "cVar5 = *auth;" (assignment_expression "cVar5 = *auth" identifier = (pointer_expression "*auth" * identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "undefined4 FUN_00020b68(int *param_1,int param_2,char *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}\n\n" (function_definition "undefined4 FUN_00020b68(int *param_1,int param_2,char *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}" type_identifier (function_declarator "FUN_00020b68(int *param_1,int param_2,char *param_3)" identifier (parameter_list "(int *param_1,int param_2,char *param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (expression_statement "puVar1 = PTR_UINT_000a6194;" (assignment_expression "puVar1 = PTR_UINT_000a6194" identifier = identifier) ;) (expression_statement "iVar10 = *param_1;" (assignment_expression "iVar10 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }" { (expression_statement "puVar12 = (uint *)(iVar10 + 0xd48);" (assignment_expression "puVar12 = (uint *)(iVar10 + 0xd48)" identifier = (cast_expression "(uint *)(iVar10 + 0xd48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd48)" ( (binary_expression "iVar10 + 0xd48" identifier + number_literal) )))) ;) (expression_statement "puVar8 = (uint *)(iVar10 + 4000);" (assignment_expression "puVar8 = (uint *)(iVar10 + 4000)" identifier = (cast_expression "(uint *)(iVar10 + 4000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4000)" ( (binary_expression "iVar10 + 4000" identifier + number_literal) )))) ;) (expression_statement "iVar7 = iVar10 + 0xd78;" (assignment_expression "iVar7 = iVar10 + 0xd78" identifier = (binary_expression "iVar10 + 0xd78" identifier + number_literal)) ;) }) (else_clause "else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" else (compound_statement "{\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" { (expression_statement "puVar12 = (uint *)(iVar10 + 0xd60);" (assignment_expression "puVar12 = (uint *)(iVar10 + 0xd60)" identifier = (cast_expression "(uint *)(iVar10 + 0xd60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd60)" ( (binary_expression "iVar10 + 0xd60" identifier + number_literal) )))) ;) (expression_statement "puVar8 = (uint *)(iVar10 + 0xf9c);" (assignment_expression "puVar8 = (uint *)(iVar10 + 0xf9c)" identifier = (cast_expression "(uint *)(iVar10 + 0xf9c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xf9c)" ( (binary_expression "iVar10 + 0xf9c" identifier + number_literal) )))) ;) (expression_statement "iVar7 = iVar10 + 0xd88;" (assignment_expression "iVar7 = iVar10 + 0xd88" identifier = (binary_expression "iVar10 + 0xd88" identifier + number_literal)) ;) }))) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "puVar9 = PTR_UINT_000a6194 + -0x777c;" (assignment_expression "puVar9 = PTR_UINT_000a6194 + -0x777c" identifier = (binary_expression "PTR_UINT_000a6194 + -0x777c" identifier + number_literal)) ;) (expression_statement "puVar11 = PTR_UINT_000a6194 + -0x7760;" (assignment_expression "puVar11 = PTR_UINT_000a6194 + -0x7760" identifier = (binary_expression "PTR_UINT_000a6194 + -0x7760" identifier + number_literal)) ;) (expression_statement "puVar4 = PTR_UINT_000a6194 + -0x7770;" (assignment_expression "puVar4 = PTR_UINT_000a6194 + -0x7770" identifier = (binary_expression "PTR_UINT_000a6194 + -0x7770" identifier + number_literal)) ;) (do_statement "do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );" do (compound_statement "{\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  }" { (if_statement "if (cVar3 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9,param_3,9)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,param_3,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x7758,param_3,6)" ( (binary_expression "puVar1 + -0x7758" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,param_3,5)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }" { (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x7740,param_3,6)" ( (binary_expression "puVar1 + -0x7740" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }" { (expression_statement "*puVar8 = *puVar8 | 0x40;" (assignment_expression "*puVar8 = *puVar8 | 0x40" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 0x40" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 0x40" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 0x40)" ( (binary_expression "*(int *)(iVar7 + 4) == 0x40" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }" { (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00020f88;" goto statement_identifier ;) })) })) }) (else_clause "else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" else (compound_statement "{\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" { (expression_statement "*puVar8 = *puVar8 | 1;" (assignment_expression "*puVar8 = *puVar8 | 1" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 1" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 1" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 1)" ( (binary_expression "*(int *)(iVar7 + 4) == 1" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }" { (expression_statement "puVar6 = PTR_UINT_000a6194 + -0x765c;" (assignment_expression "puVar6 = PTR_UINT_000a6194 + -0x765c" identifier = (binary_expression "PTR_UINT_000a6194 + -0x765c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00026140(iVar10,puVar6);" (call_expression "FUN_00026140(iVar10,puVar6)" identifier (argument_list "(iVar10,puVar6)" ( identifier , identifier ))) ;) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 1;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 1" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;) })) }))) }) (else_clause "else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" else (if_statement "if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" if (parenthesized_expression "((*(uint *)(iVar7 + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar7 + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 2)" ( (binary_expression "*(uint *)(iVar7 + 8) & 2" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62d0)();" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62d0)()" identifier = (call_expression "(*(code *)PTR_FUN_000a62d0)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62d0)" ( (pointer_expression "*(code *)PTR_FUN_000a62d0" * (cast_expression "(code *)PTR_FUN_000a62d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar6 = PTR_FUN_000a62d4;" (assignment_expression "puVar6 = PTR_FUN_000a62d4" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" { (expression_statement "*puVar8 = *puVar8 | 2;" (assignment_expression "*puVar8 = *puVar8 | 2" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 2" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 2" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)puVar6)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)puVar6)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" { (labeled_statement "LAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);" statement_identifier : (expression_statement "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);" (call_expression "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c)" identifier (argument_list "(iVar10,PTR_UINT_000a6194 + -0x765c)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x765c" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_00020f98;" goto statement_identifier ;) })) })) }) (else_clause "else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" else (compound_statement "{\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" { (expression_statement "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);" (call_expression "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634)" identifier (argument_list "(iVar10,PTR_UINT_000a6194 + -0x7634)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x7634" identifier + number_literal) ))) ;) }))))) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;) })) (if_statement "if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" if (parenthesized_expression "(((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0))" ( (binary_expression "((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)" (parenthesized_expression "((*(uint *)(iVar7 + 8) & 0x28) != 0)" ( (binary_expression "(*(uint *)(iVar7 + 8) & 0x28) != 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 0x28)" ( (binary_expression "*(uint *)(iVar7 + 8) & 0x28" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c0)()" identifier = (call_expression "(*(code *)PTR_FUN_000a62c0)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62c0)" ( (pointer_expression "*(code *)PTR_FUN_000a62c0" * (cast_expression "(code *)PTR_FUN_000a62c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" { (expression_statement "*puVar8 = *puVar8 | 8;" (assignment_expression "*puVar8 = *puVar8 | 8" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 8" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 8" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20))" ( (binary_expression "(*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)" (parenthesized_expression "(*(int *)(iVar7 + 4) == 8)" ( (binary_expression "*(int *)(iVar7 + 4) == 8" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(iVar7 + 4) == 0x20)" ( (binary_expression "*(int *)(iVar7 + 4) == 0x20" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62c4)" ( (pointer_expression "*(code *)PTR_FUN_000a62c4" * (cast_expression "(code *)PTR_FUN_000a62c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00020f88;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00020f88;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 0;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 0" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }" if (parenthesized_expression "(iVar2 == 0x20)" ( (binary_expression "iVar2 == 0x20" identifier == number_literal) )) (compound_statement "{\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }" { (expression_statement "*puVar8 = *puVar8 & 0xfffffff7;" (assignment_expression "*puVar8 = *puVar8 & 0xfffffff7" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 & 0xfffffff7" (pointer_expression "*puVar8" * identifier) & number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) & 0xfffffff7" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*puVar8 = *puVar8 | 0x20;" (assignment_expression "*puVar8 = *puVar8 | 0x20" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 0x20" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (while_statement "while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }" while (parenthesized_expression "((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)))" ( (parenthesized_expression "(cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))" ( (binary_expression "cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)" (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3)" identifier = (call_expression "(*(code *)PTR_FUN_000a62bc)(cVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" ( (pointer_expression "*(code *)PTR_FUN_000a62bc" * (cast_expression "(code *)PTR_FUN_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(cVar3)" ( identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) )) (compound_statement "{\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }" { (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) })) (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" identifier = (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" ( (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" * (cast_expression "(code *)PTR_curl_strnequal_000a6f38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,param_3,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }" { (expression_statement "uVar5 = (uint)param_3[4];" (assignment_expression "uVar5 = (uint)param_3[4]" identifier = (cast_expression "(uint)param_3[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_3[4]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = param_3 + 4;" (assignment_expression "param_3 = param_3 + 4" identifier = (binary_expression "param_3 + 4" identifier + number_literal)) ;) (if_statement "if (uVar5 == 0) {\n                return 0;\n              }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (while_statement "while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }" while (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" identifier = (call_expression "(*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" ( (pointer_expression "*(code *)PTR_FUN_000a62bc" * (cast_expression "(code *)PTR_FUN_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }" { (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = (uint)*param_3;" (assignment_expression "uVar5 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar5 == 0) {\n                  return 0;\n                }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) })) })) (if_statement "if (*param_3 == '\0') {\n                return 0;\n              }" if (parenthesized_expression "(*param_3 == '\0')" ( (binary_expression "*param_3 == '\0'" (pointer_expression "*param_3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);" (assignment_expression "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3)" identifier = (call_expression "(**(code **)PTR_PTR_strdup_000a6230)(param_3)" (parenthesized_expression "(**(code **)PTR_PTR_strdup_000a6230)" ( (pointer_expression "**(code **)PTR_PTR_strdup_000a6230" * (pointer_expression "*(code **)PTR_PTR_strdup_000a6230" * (cast_expression "(code **)PTR_PTR_strdup_000a6230" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "param_1[0xe0] = iVar2;" (assignment_expression "param_1[0xe0] = iVar2" (subscript_expression "param_1[0xe0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 == 0) {\n                return 0x1b;\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                return 0x1b;\n              }" { (return_statement "return 0x1b;" return number_literal ;) })) })) })) })) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;) })) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) }) (else_clause "else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" else (compound_statement "{\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" { (if_statement "if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" if (parenthesized_expression "((*(uint *)(iVar7 + 8) & 4) == 0)" ( (binary_expression "(*(uint *)(iVar7 + 8) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 4)" ( (binary_expression "*(uint *)(iVar7 + 8) & 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62c8)();" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c8)()" identifier = (call_expression "(*(code *)PTR_FUN_000a62c8)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62c8)" ( (pointer_expression "*(code *)PTR_FUN_000a62c8" * (cast_expression "(code *)PTR_FUN_000a62c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00020c44;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00020c44;" goto statement_identifier ;)) (expression_statement "*puVar8 = *puVar8 | 4;" (assignment_expression "*puVar8 = *puVar8 | 4" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 4" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" else (compound_statement "{\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" { (expression_statement "*puVar8 = *puVar8 | 4;" (assignment_expression "*puVar8 = *puVar8 | 4" (pointer_expression "*puVar8" * identifier) = (binary_expression "*puVar8 | 4" (pointer_expression "*puVar8" * identifier) | number_literal)) ;) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" * (cast_expression "(uint *)(iVar7 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) | number_literal)) ;) }))) (if_statement "if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }" if (parenthesized_expression "((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0))" ( (binary_expression "(iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) && (parenthesized_expression "((*puVar12 & 0xfffffffd) == 0)" ( (binary_expression "(*puVar12 & 0xfffffffd) == 0" (parenthesized_expression "(*puVar12 & 0xfffffffd)" ( (binary_expression "*puVar12 & 0xfffffffd" (pointer_expression "*puVar12" * identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }" { (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62cc)" ( (pointer_expression "*(code *)PTR_FUN_000a62cc" * (cast_expression "(code *)PTR_FUN_000a62cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }" { (expression_statement "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));" (assignment_expression "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40))" identifier = (call_expression "(**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40))" (parenthesized_expression "(**(code **)PTR_PTR_strdup_000a6230)" ( (pointer_expression "**(code **)PTR_PTR_strdup_000a6230" * (pointer_expression "*(code **)PTR_PTR_strdup_000a6230" * (cast_expression "(code **)PTR_PTR_strdup_000a6230" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(iVar10 + 0xb40))" ( (pointer_expression "*(undefined4 *)(iVar10 + 0xb40)" * (cast_expression "(undefined4 *)(iVar10 + 0xb40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xb40)" ( (binary_expression "iVar10 + 0xb40" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar10 + 0x144) = iVar2;" (assignment_expression "*(int *)(iVar10 + 0x144) = iVar2" (pointer_expression "*(int *)(iVar10 + 0x144)" * (cast_expression "(int *)(iVar10 + 0x144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x144)" ( (binary_expression "iVar10 + 0x144" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar2 == 0) {\n            return 0x1b;\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            return 0x1b;\n          }" { (return_statement "return 0x1b;" return number_literal ;) })) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 0;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 0" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar12 = 1;" (assignment_expression "*puVar12 = 1" (pointer_expression "*puVar12" * identifier) = number_literal) ;) }) (else_clause "else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" else (compound_statement "{\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" { (labeled_statement "LAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 1;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 1" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" * (cast_expression "(undefined1 *)(iVar10 + 0xd98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xd98)" ( (binary_expression "iVar10 + 0xd98" identifier + number_literal) )))) = number_literal) ;)) }))) })) (labeled_statement "LAB_00020c44:\n      cVar3 = *param_3;" statement_identifier : (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) }))) (if_statement "if (cVar3 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" if (parenthesized_expression "(cVar3 == ',')" ( (binary_expression "cVar3 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n      cVar3 = param_3[1];\n    }" { (expression_statement "cVar3 = param_3[1];" (assignment_expression "cVar3 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" else (compound_statement "{\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" { (do_statement "do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');" do (compound_statement "{\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      }" { (expression_statement "pcVar13 = param_3;" (assignment_expression "pcVar13 = param_3" identifier = identifier) ;) (expression_statement "param_3 = pcVar13 + 1;" (assignment_expression "param_3 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (*param_3 == '\0') {\n          return 0;\n        }" if (parenthesized_expression "(*param_3 == '\0')" ( (binary_expression "*param_3 == '\0'" (pointer_expression "*param_3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) }) while (parenthesized_expression "(*param_3 != ',')" ( (binary_expression "*param_3 != ','" (pointer_expression "*param_3" * identifier) != (char_literal "','" ' character ')) )) ;) (expression_statement "cVar3 = pcVar13[2];" (assignment_expression "cVar3 = pcVar13[2]" identifier = (subscript_expression "pcVar13[2]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar5 = (uint)cVar3;" (assignment_expression "uVar5 = (uint)cVar3" identifier = (cast_expression "(uint)cVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (if_statement "if (uVar5 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (while_statement "while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }" while (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" identifier = (call_expression "(*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" ( (pointer_expression "*(code *)PTR_FUN_000a62bc" * (cast_expression "(code *)PTR_FUN_000a62bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }" { (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = (uint)*param_3;" (assignment_expression "uVar5 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar5 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;)) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) }))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (char_literal ' escape_sequence ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT & LIT) )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) })) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT & LIT) )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined4 FUN_00020b68(int *param_1,int param_2,char *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}" (type_identifier "undefined4") (function_declarator "FUN_00020b68(int *param_1,int param_2,char *param_3)" (identifier "FUN_00020b68") (parameter_list "(int *param_1,int param_2,char *param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "char *param_3" (primitive_type "char") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  char cVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  undefined *puVar9;\n  int iVar10;\n  undefined *puVar11;\n  uint *puVar12;\n  char *pcVar13;\n  \n  puVar1 = PTR_UINT_000a6194;\n  iVar10 = *param_1;\n  if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }\n  cVar3 = *param_3;\n  puVar9 = PTR_UINT_000a6194 + -0x777c;\n  puVar11 = PTR_UINT_000a6194 + -0x7760;\n  puVar4 = PTR_UINT_000a6194 + -0x7770;\n  do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (expression_statement "puVar1 = PTR_UINT_000a6194;" (assignment_expression "puVar1 = PTR_UINT_000a6194" (identifier "puVar1") (= "=") (identifier "PTR_UINT_000a6194")) (; ";")) (expression_statement "iVar10 = *param_1;" (assignment_expression "iVar10 = *param_1" (identifier "iVar10") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (param_2 == 0) {\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }\n  else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar12 = (uint *)(iVar10 + 0xd48);\n    puVar8 = (uint *)(iVar10 + 4000);\n    iVar7 = iVar10 + 0xd78;\n  }" ({ "{") (expression_statement "puVar12 = (uint *)(iVar10 + 0xd48);" (assignment_expression "puVar12 = (uint *)(iVar10 + 0xd48)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(iVar10 + 0xd48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xd48)" (( "(") (binary_expression "iVar10 + 0xd48" (identifier "iVar10") (+ "+") (number_literal "0xd48")) () ")")))) (; ";")) (expression_statement "puVar8 = (uint *)(iVar10 + 4000);" (assignment_expression "puVar8 = (uint *)(iVar10 + 4000)" (identifier "puVar8") (= "=") (cast_expression "(uint *)(iVar10 + 4000)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 4000)" (( "(") (binary_expression "iVar10 + 4000" (identifier "iVar10") (+ "+") (number_literal "4000")) () ")")))) (; ";")) (expression_statement "iVar7 = iVar10 + 0xd78;" (assignment_expression "iVar7 = iVar10 + 0xd78" (identifier "iVar7") (= "=") (binary_expression "iVar10 + 0xd78" (identifier "iVar10") (+ "+") (number_literal "0xd78"))) (; ";")) (} "}")) (else_clause "else {\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" (else "else") (compound_statement "{\n    puVar12 = (uint *)(iVar10 + 0xd60);\n    puVar8 = (uint *)(iVar10 + 0xf9c);\n    iVar7 = iVar10 + 0xd88;\n  }" ({ "{") (expression_statement "puVar12 = (uint *)(iVar10 + 0xd60);" (assignment_expression "puVar12 = (uint *)(iVar10 + 0xd60)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(iVar10 + 0xd60)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xd60)" (( "(") (binary_expression "iVar10 + 0xd60" (identifier "iVar10") (+ "+") (number_literal "0xd60")) () ")")))) (; ";")) (expression_statement "puVar8 = (uint *)(iVar10 + 0xf9c);" (assignment_expression "puVar8 = (uint *)(iVar10 + 0xf9c)" (identifier "puVar8") (= "=") (cast_expression "(uint *)(iVar10 + 0xf9c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xf9c)" (( "(") (binary_expression "iVar10 + 0xf9c" (identifier "iVar10") (+ "+") (number_literal "0xf9c")) () ")")))) (; ";")) (expression_statement "iVar7 = iVar10 + 0xd88;" (assignment_expression "iVar7 = iVar10 + 0xd88" (identifier "iVar7") (= "=") (binary_expression "iVar10 + 0xd88" (identifier "iVar10") (+ "+") (number_literal "0xd88"))) (; ";")) (} "}")))) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" (identifier "cVar3") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "puVar9 = PTR_UINT_000a6194 + -0x777c;" (assignment_expression "puVar9 = PTR_UINT_000a6194 + -0x777c" (identifier "puVar9") (= "=") (binary_expression "PTR_UINT_000a6194 + -0x777c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x777c"))) (; ";")) (expression_statement "puVar11 = PTR_UINT_000a6194 + -0x7760;" (assignment_expression "puVar11 = PTR_UINT_000a6194 + -0x7760" (identifier "puVar11") (= "=") (binary_expression "PTR_UINT_000a6194 + -0x7760" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x7760"))) (; ";")) (expression_statement "puVar4 = PTR_UINT_000a6194 + -0x7770;" (assignment_expression "puVar4 = PTR_UINT_000a6194 + -0x7770" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_000a6194 + -0x7770" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x7770"))) (; ";")) (do_statement "do {\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  } while( true );" (do "do") (compound_statement "{\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);\n    if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }\n    if (cVar3 == '\0') {\n      return 0;\n    }\n    if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }\n    uVar5 = (uint)cVar3;\n    param_3 = param_3 + 1;\n    if (uVar5 == 0) {\n      return 0;\n    }\n    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }\n    cVar3 = *param_3;\n  }" ({ "{") (if_statement "if (cVar3 == '\0') {\n      return 0;\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" (( "(") (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" (* "*") (cast_expression "(code *)PTR_curl_strnequal_000a6f38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_strnequal_000a6f38"))) () ")")) (argument_list "(puVar9,param_3,9)" (( "(") (identifier "puVar9") (, ",") (identifier "param_3") (, ",") (number_literal "9") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }\n    else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n      if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }\n      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }\n      cVar3 = *param_3;\n    }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" (( "(") (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" (* "*") (cast_expression "(code *)PTR_curl_strnequal_000a6f38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_strnequal_000a6f38"))) () ")")) (argument_list "(puVar11,param_3,4)" (( "(") (identifier "puVar11") (, ",") (identifier "param_3") (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);\n        if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }\n        goto LAB_00020c44;\n      }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" (( "(") (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" (* "*") (cast_expression "(code *)PTR_curl_strnequal_000a6f38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_strnequal_000a6f38"))) () ")")) (argument_list "(puVar1 + -0x7758,param_3,6)" (( "(") (binary_expression "puVar1 + -0x7758" (identifier "puVar1") (+ "+") (number_literal "-0x7758")) (, ",") (identifier "param_3") (, ",") (number_literal "6") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }\n        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);\n          if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }\n        }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" (( "(") (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" (* "*") (cast_expression "(code *)PTR_curl_strnequal_000a6f38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_strnequal_000a6f38"))) () ")")) (argument_list "(puVar4,param_3,5)" (( "(") (identifier "puVar4") (, ",") (identifier "param_3") (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }\n          else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);\n            if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" (( "(") (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" (* "*") (cast_expression "(code *)PTR_curl_strnequal_000a6f38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_strnequal_000a6f38"))) () ")")) (argument_list "(puVar1 + -0x7740,param_3,6)" (( "(") (binary_expression "puVar1 + -0x7740" (identifier "puVar1") (+ "+") (number_literal "-0x7740")) (, ",") (identifier "param_3") (, ",") (number_literal "6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *puVar8 = *puVar8 | 0x40;\n              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;\n              if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }\n            }" ({ "{") (expression_statement "*puVar8 = *puVar8 | 0x40;" (assignment_expression "*puVar8 = *puVar8 | 0x40" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 | 0x40" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (| "|") (number_literal "0x40"))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) | 0x40" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (if_statement "if (*(int *)(iVar7 + 4) == 0x40) {\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 4) == 0x40)" (( "(") (binary_expression "*(int *)(iVar7 + 4) == 0x40" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n                *(undefined4 *)(iVar7 + 8) = 0;\n                goto LAB_00020f88;\n              }" ({ "{") (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00020f88;" (goto "goto") (statement_identifier "LAB_00020f88") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" (else "else") (compound_statement "{\n            *puVar8 = *puVar8 | 1;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;\n            if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }\n          }" ({ "{") (expression_statement "*puVar8 = *puVar8 | 1;" (assignment_expression "*puVar8 = *puVar8 | 1" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 | 1" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) | 1" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (if_statement "if (*(int *)(iVar7 + 4) == 1) {\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 4) == 1)" (( "(") (binary_expression "*(int *)(iVar7 + 4) == 1" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              puVar6 = PTR_UINT_000a6194 + -0x765c;\n              *(undefined4 *)(iVar7 + 8) = 0;\n              FUN_00026140(iVar10,puVar6);\n              *(undefined1 *)(iVar10 + 0xd98) = 1;\n            }" ({ "{") (expression_statement "puVar6 = PTR_UINT_000a6194 + -0x765c;" (assignment_expression "puVar6 = PTR_UINT_000a6194 + -0x765c" (identifier "puVar6") (= "=") (binary_expression "PTR_UINT_000a6194 + -0x765c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x765c"))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00026140(iVar10,puVar6);" (call_expression "FUN_00026140(iVar10,puVar6)" (identifier "FUN_00026140") (argument_list "(iVar10,puVar6)" (( "(") (identifier "iVar10") (, ",") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 1;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 1" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" (* "*") (cast_expression "(undefined1 *)(iVar10 + 0xd98)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xd98)" (( "(") (binary_expression "iVar10 + 0xd98" (identifier "iVar10") (+ "+") (number_literal "0xd98")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" (else "else") (if_statement "if ((*(uint *)(iVar7 + 8) & 2) == 0) {\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }\n        else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar7 + 8) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(iVar7 + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 2)" (( "(") (binary_expression "*(uint *)(iVar7 + 8) & 2" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar2 = (*(code *)PTR_FUN_000a62d0)();\n          puVar6 = PTR_FUN_000a62d4;\n          if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }\n        }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62d0)();" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62d0)()" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62d0)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62d0)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62d0" (* "*") (cast_expression "(code *)PTR_FUN_000a62d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62d0"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar6 = PTR_FUN_000a62d4;" (assignment_expression "puVar6 = PTR_FUN_000a62d4" (identifier "puVar6") (= "=") (identifier "PTR_FUN_000a62d4")) (; ";")) (if_statement "if (iVar2 != 0) {\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *puVar8 = *puVar8 | 2;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;\n            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);\n            if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }\n          }" ({ "{") (expression_statement "*puVar8 = *puVar8 | 2;" (assignment_expression "*puVar8 = *puVar8 | 2" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 | 2" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (| "|") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) | 2" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (expression_statement "iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)puVar6)(param_1,param_2,param_3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)puVar6)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "(param_1,param_2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);\n              goto LAB_00020f98;\n            }" ({ "{") (labeled_statement "LAB_00020f88:\n              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);" (statement_identifier "LAB_00020f88") (: ":") (expression_statement "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);" (call_expression "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c)" (identifier "FUN_00026140") (argument_list "(iVar10,PTR_UINT_000a6194 + -0x765c)" (( "(") (identifier "iVar10") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x765c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x765c")) () ")"))) (; ";"))) (goto_statement "goto LAB_00020f98;" (goto "goto") (statement_identifier "LAB_00020f98") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" (else "else") (compound_statement "{\n          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);\n        }" ({ "{") (expression_statement "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);" (call_expression "FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634)" (identifier "FUN_00026140") (argument_list "(iVar10,PTR_UINT_000a6194 + -0x7634)" (( "(") (identifier "iVar10") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x7634" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x7634")) () ")"))) (; ";")) (} "}")))))) (goto_statement "goto LAB_00020c44;" (goto "goto") (statement_identifier "LAB_00020c44") (; ";")) (} "}"))) (if_statement "if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" (if "if") (parenthesized_expression "(((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0))" (( "(") (binary_expression "((*(uint *)(iVar7 + 8) & 0x28) != 0) ||\n         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)" (parenthesized_expression "((*(uint *)(iVar7 + 8) & 0x28) != 0)" (( "(") (binary_expression "(*(uint *)(iVar7 + 8) & 0x28) != 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 0x28)" (( "(") (binary_expression "*(uint *)(iVar7 + 8) & 0x28" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x28")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c0)()" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62c0)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62c0)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62c0" (* "*") (cast_expression "(code *)PTR_FUN_000a62c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62c0"))) () ")")) (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        *puVar8 = *puVar8 | 8;\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;\n        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }\n        goto LAB_00020c44;\n      }" ({ "{") (expression_statement "*puVar8 = *puVar8 | 8;" (assignment_expression "*puVar8 = *puVar8 | 8" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 | 8" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (| "|") (number_literal "8"))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) | 8" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (if_statement "if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20))" (( "(") (binary_expression "(*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)" (parenthesized_expression "(*(int *)(iVar7 + 4) == 8)" (( "(") (binary_expression "*(int *)(iVar7 + 4) == 8" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "8")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar7 + 4) == 0x20)" (( "(") (binary_expression "*(int *)(iVar7 + 4) == 0x20" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0x20")) () ")"))) () ")")) (compound_statement "{\n          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);\n          if (iVar2 != 0) goto LAB_00020f88;\n          iVar2 = *(int *)(iVar7 + 4);\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62c4)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62c4" (* "*") (cast_expression "(code *)PTR_FUN_000a62c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62c4"))) () ")")) (argument_list "(param_1,param_2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_00020f88;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00020f88;" (goto "goto") (statement_identifier "LAB_00020f88") (; ";"))) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 0;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 0" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" (* "*") (cast_expression "(undefined1 *)(iVar10 + 0xd98)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xd98)" (( "(") (binary_expression "iVar10 + 0xd98" (identifier "iVar10") (+ "+") (number_literal "0xd98")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar2 == 0x20) {\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar2 == 0x20)" (( "(") (binary_expression "iVar2 == 0x20" (identifier "iVar2") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n            *puVar8 = *puVar8 & 0xfffffff7;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;\n            *puVar8 = *puVar8 | 0x20;\n            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;\n            cVar3 = *param_3;\n            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }\n            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);\n            if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }\n          }" ({ "{") (expression_statement "*puVar8 = *puVar8 & 0xfffffff7;" (assignment_expression "*puVar8 = *puVar8 & 0xfffffff7" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 & 0xfffffff7" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (& "&") (number_literal "0xfffffff7"))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) & 0xfffffff7" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0xfffffff7"))) (; ";")) (expression_statement "*puVar8 = *puVar8 | 0x20;" (assignment_expression "*puVar8 = *puVar8 | 0x20" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 | 0x20" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (| "|") (number_literal "0x20"))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (| "|") (number_literal "0x20"))) (; ";")) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" (identifier "cVar3") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (while_statement "while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }" (while "while") (parenthesized_expression "((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)))" (( "(") (parenthesized_expression "(cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))" (( "(") (binary_expression "cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)" (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62bc)(cVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62bc" (* "*") (cast_expression "(code *)PTR_FUN_000a62bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62bc"))) () ")")) (argument_list "(cVar3)" (( "(") (identifier "cVar3") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")")) (compound_statement "{\n              param_3 = param_3 + 1;\n              cVar3 = *param_3;\n            }" ({ "{") (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" (identifier "cVar3") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (} "}"))) (expression_statement "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);" (assignment_expression "iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4)" (parenthesized_expression "(*(code *)PTR_curl_strnequal_000a6f38)" (( "(") (pointer_expression "*(code *)PTR_curl_strnequal_000a6f38" (* "*") (cast_expression "(code *)PTR_curl_strnequal_000a6f38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_strnequal_000a6f38"))) () ")")) (argument_list "(puVar11,param_3,4)" (( "(") (identifier "puVar11") (, ",") (identifier "param_3") (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar5 = (uint)param_3[4];\n              param_3 = param_3 + 4;\n              if (uVar5 == 0) {\n                return 0;\n              }\n              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }\n              if (*param_3 == '\0') {\n                return 0;\n              }\n              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);\n              param_1[0xe0] = iVar2;\n              if (iVar2 == 0) {\n                return 0x1b;\n              }\n            }" ({ "{") (expression_statement "uVar5 = (uint)param_3[4];" (assignment_expression "uVar5 = (uint)param_3[4]" (identifier "uVar5") (= "=") (cast_expression "(uint)param_3[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "param_3 = param_3 + 4;" (assignment_expression "param_3 = param_3 + 4" (identifier "param_3") (= "=") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (uVar5 == 0) {\n                return 0;\n              }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (while_statement "while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }" (while "while") (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62bc" (* "*") (cast_expression "(code *)PTR_FUN_000a62bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62bc"))) () ")")) (argument_list "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n                param_3 = param_3 + 1;\n                uVar5 = (uint)*param_3;\n                if (uVar5 == 0) {\n                  return 0;\n                }\n              }" ({ "{") (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar5 = (uint)*param_3;" (assignment_expression "uVar5 = (uint)*param_3" (identifier "uVar5") (= "=") (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar5 == 0) {\n                  return 0;\n                }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  return 0;\n                }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (if_statement "if (*param_3 == '\0') {\n                return 0;\n              }" (if "if") (parenthesized_expression "(*param_3 == '\0')" (( "(") (binary_expression "*param_3 == '\0'" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);" (assignment_expression "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3)" (identifier "iVar2") (= "=") (call_expression "(**(code **)PTR_PTR_strdup_000a6230)(param_3)" (parenthesized_expression "(**(code **)PTR_PTR_strdup_000a6230)" (( "(") (pointer_expression "**(code **)PTR_PTR_strdup_000a6230" (* "*") (pointer_expression "*(code **)PTR_PTR_strdup_000a6230" (* "*") (cast_expression "(code **)PTR_PTR_strdup_000a6230" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_strdup_000a6230")))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "param_1[0xe0] = iVar2;" (assignment_expression "param_1[0xe0] = iVar2" (subscript_expression "param_1[0xe0]" (identifier "param_1") ([ "[") (number_literal "0xe0") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (iVar2 == 0) {\n                return 0x1b;\n              }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                return 0x1b;\n              }" ({ "{") (return_statement "return 0x1b;" (return "return") (number_literal "0x1b") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (goto_statement "goto LAB_00020c44;" (goto "goto") (statement_identifier "LAB_00020c44") (; ";")) (} "}"))) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" (identifier "cVar3") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (} "}")) (else_clause "else {\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" (else "else") (compound_statement "{\n      if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }\nLAB_00020c44:\n      cVar3 = *param_3;\n    }" ({ "{") (if_statement "if ((*(uint *)(iVar7 + 8) & 4) == 0) {\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }\n      else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" (if "if") (parenthesized_expression "((*(uint *)(iVar7 + 8) & 4) == 0)" (( "(") (binary_expression "(*(uint *)(iVar7 + 8) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar7 + 8) & 4)" (( "(") (binary_expression "*(uint *)(iVar7 + 8) & 4" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000a62c8)();\n        if (iVar2 == 0) goto LAB_00020c44;\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62c8)();" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62c8)()" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62c8)()" (parenthesized_expression "(*(code *)PTR_FUN_000a62c8)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62c8" (* "*") (cast_expression "(code *)PTR_FUN_000a62c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62c8"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_00020c44;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00020c44;" (goto "goto") (statement_identifier "LAB_00020c44") (; ";"))) (expression_statement "*puVar8 = *puVar8 | 4;" (assignment_expression "*puVar8 = *puVar8 | 4" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 | 4" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (| "|") (number_literal "4"))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" (else "else") (compound_statement "{\n        *puVar8 = *puVar8 | 4;\n        iVar2 = *(int *)(iVar7 + 4);\n        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;\n      }" ({ "{") (expression_statement "*puVar8 = *puVar8 | 4;" (assignment_expression "*puVar8 = *puVar8 | 4" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (binary_expression "*puVar8 | 4" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (| "|") (number_literal "4"))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar7 + 4);" (assignment_expression "iVar2 = *(int *)(iVar7 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;" (assignment_expression "*(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 8) | 4" (pointer_expression "*(uint *)(iVar7 + 8)" (* "*") (cast_expression "(uint *)(iVar7 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}")))) (if_statement "if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }" (if "if") (parenthesized_expression "((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0))" (( "(") (binary_expression "(iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "((*puVar12 & 0xfffffffd) == 0)" (( "(") (binary_expression "(*puVar12 & 0xfffffffd) == 0" (parenthesized_expression "(*puVar12 & 0xfffffffd)" (( "(") (binary_expression "*puVar12 & 0xfffffffd" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (& "&") (number_literal "0xfffffffd")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);\n        if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }\n      }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a62cc)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62cc" (* "*") (cast_expression "(code *)PTR_FUN_000a62cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62cc"))) () ")")) (argument_list "(param_1,param_2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }\n        else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));\n          *(int *)(iVar10 + 0x144) = iVar2;\n          if (iVar2 == 0) {\n            return 0x1b;\n          }\n          *(undefined1 *)(iVar10 + 0xd98) = 0;\n          *puVar12 = 1;\n        }" ({ "{") (expression_statement "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));" (assignment_expression "iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40))" (identifier "iVar2") (= "=") (call_expression "(**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40))" (parenthesized_expression "(**(code **)PTR_PTR_strdup_000a6230)" (( "(") (pointer_expression "**(code **)PTR_PTR_strdup_000a6230" (* "*") (pointer_expression "*(code **)PTR_PTR_strdup_000a6230" (* "*") (cast_expression "(code **)PTR_PTR_strdup_000a6230" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_strdup_000a6230")))) () ")")) (argument_list "(*(undefined4 *)(iVar10 + 0xb40))" (( "(") (pointer_expression "*(undefined4 *)(iVar10 + 0xb40)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0xb40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xb40)" (( "(") (binary_expression "iVar10 + 0xb40" (identifier "iVar10") (+ "+") (number_literal "0xb40")) () ")")))) () ")")))) (; ";")) (expression_statement "*(int *)(iVar10 + 0x144) = iVar2;" (assignment_expression "*(int *)(iVar10 + 0x144) = iVar2" (pointer_expression "*(int *)(iVar10 + 0x144)" (* "*") (cast_expression "(int *)(iVar10 + 0x144)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x144)" (( "(") (binary_expression "iVar10 + 0x144" (identifier "iVar10") (+ "+") (number_literal "0x144")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (iVar2 == 0) {\n            return 0x1b;\n          }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return 0x1b;\n          }" ({ "{") (return_statement "return 0x1b;" (return "return") (number_literal "0x1b") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 0;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 0" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" (* "*") (cast_expression "(undefined1 *)(iVar10 + 0xd98)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xd98)" (( "(") (binary_expression "iVar10 + 0xd98" (identifier "iVar10") (+ "+") (number_literal "0xd98")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar12 = 1;" (assignment_expression "*puVar12 = 1" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" (else "else") (compound_statement "{\nLAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;\n        }" ({ "{") (labeled_statement "LAB_00020f98:\n          *(undefined1 *)(iVar10 + 0xd98) = 1;" (statement_identifier "LAB_00020f98") (: ":") (expression_statement "*(undefined1 *)(iVar10 + 0xd98) = 1;" (assignment_expression "*(undefined1 *)(iVar10 + 0xd98) = 1" (pointer_expression "*(undefined1 *)(iVar10 + 0xd98)" (* "*") (cast_expression "(undefined1 *)(iVar10 + 0xd98)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xd98)" (( "(") (binary_expression "iVar10 + 0xd98" (identifier "iVar10") (+ "+") (number_literal "0xd98")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (} "}")))) (} "}"))) (labeled_statement "LAB_00020c44:\n      cVar3 = *param_3;" (statement_identifier "LAB_00020c44") (: ":") (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" (identifier "cVar3") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";"))) (} "}")))) (if_statement "if (cVar3 == '\0') {\n      return 0;\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (cVar3 == ',') {\n      cVar3 = param_3[1];\n    }\n    else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" (if "if") (parenthesized_expression "(cVar3 == ',')" (( "(") (binary_expression "cVar3 == ','" (identifier "cVar3") (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n      cVar3 = param_3[1];\n    }" ({ "{") (expression_statement "cVar3 = param_3[1];" (assignment_expression "cVar3 = param_3[1]" (identifier "cVar3") (= "=") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" (else "else") (compound_statement "{\n      do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');\n      cVar3 = pcVar13[2];\n    }" ({ "{") (do_statement "do {\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      } while (*param_3 != ',');" (do "do") (compound_statement "{\n        pcVar13 = param_3;\n        param_3 = pcVar13 + 1;\n        if (*param_3 == '\0') {\n          return 0;\n        }\n      }" ({ "{") (expression_statement "pcVar13 = param_3;" (assignment_expression "pcVar13 = param_3" (identifier "pcVar13") (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_3 = pcVar13 + 1;" (assignment_expression "param_3 = pcVar13 + 1" (identifier "param_3") (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*param_3 == '\0') {\n          return 0;\n        }" (if "if") (parenthesized_expression "(*param_3 == '\0')" (( "(") (binary_expression "*param_3 == '\0'" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(*param_3 != ',')" (( "(") (binary_expression "*param_3 != ','" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (!= "!=") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (expression_statement "cVar3 = pcVar13[2];" (assignment_expression "cVar3 = pcVar13[2]" (identifier "cVar3") (= "=") (subscript_expression "pcVar13[2]" (identifier "pcVar13") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (expression_statement "uVar5 = (uint)cVar3;" (assignment_expression "uVar5 = (uint)cVar3" (identifier "uVar5") (= "=") (cast_expression "(uint)cVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "cVar3"))) (; ";")) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar5 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (while_statement "while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }" (while "while") (parenthesized_expression "(iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff)" (parenthesized_expression "(*(code *)PTR_FUN_000a62bc)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a62bc" (* "*") (cast_expression "(code *)PTR_FUN_000a62bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a62bc"))) () ")")) (argument_list "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n      param_3 = param_3 + 1;\n      uVar5 = (uint)*param_3;\n      if (uVar5 == 0) {\n        return 0;\n      }\n    }" ({ "{") (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar5 = (uint)*param_3;" (assignment_expression "uVar5 = (uint)*param_3" (identifier "uVar5") (= "=") (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (uVar5 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (expression_statement "cVar3 = *param_3;" (assignment_expression "cVar3 = *param_3" (identifier "cVar3") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (char_literal (escape_sequence))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal))))))) 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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (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: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (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: (parenthesized_expression (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) (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: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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 (return_statement (number_literal)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (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: (parenthesized_expression (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (true))))))

/* WARNING: Type propagation algorithm not settling */

undefined4 MASKED(int *param_1,int param_2,char *param_3)

{
  undefined *puVar1;
  int iVar2;
  char cVar3;
  undefined *puVar4;
  uint uVar5;
  undefined *puVar6;
  int iVar7;
  uint *puVar8;
  undefined *puVar9;
  int iVar10;
  undefined *puVar11;
  uint *puVar12;
  char *pcVar13;
  
  puVar1 = PTR_UINT_000a6194;
  iVar10 = *param_1;
  if (param_2 == 0) {
    puVar12 = (uint *)(iVar10 + 0xd48);
    puVar8 = (uint *)(iVar10 + 4000);
    iVar7 = iVar10 + 0xd78;
  }
  else {
    puVar12 = (uint *)(iVar10 + 0xd60);
    puVar8 = (uint *)(iVar10 + 0xf9c);
    iVar7 = iVar10 + 0xd88;
  }
  cVar3 = *param_3;
  puVar9 = PTR_UINT_000a6194 + -0x777c;
  puVar11 = PTR_UINT_000a6194 + -0x7760;
  puVar4 = PTR_UINT_000a6194 + -0x7770;
  do {
    if (cVar3 == '\0') {
      return 0;
    }
    iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar9,param_3,9);
    if (iVar2 == 0) {
      iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);
      if (iVar2 == 0) {
        iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7758,param_3,6);
        if (iVar2 == 0) {
          iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar4,param_3,5);
          if (iVar2 == 0) {
            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar1 + -0x7740,param_3,6);
            if (iVar2 != 0) {
              *puVar8 = *puVar8 | 0x40;
              *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x40;
              if (*(int *)(iVar7 + 4) == 0x40) {
                *(undefined4 *)(iVar7 + 8) = 0;
                goto LAB_00020f88;
              }
            }
          }
          else {
            *puVar8 = *puVar8 | 1;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 1;
            if (*(int *)(iVar7 + 4) == 1) {
              puVar6 = PTR_UINT_000a6194 + -0x765c;
              *(undefined4 *)(iVar7 + 8) = 0;
              FUN_00026140(iVar10,puVar6);
              *(undefined1 *)(iVar10 + 0xd98) = 1;
            }
          }
        }
        else if ((*(uint *)(iVar7 + 8) & 2) == 0) {
          iVar2 = (*(code *)PTR_FUN_000a62d0)();
          puVar6 = PTR_FUN_000a62d4;
          if (iVar2 != 0) {
            *puVar8 = *puVar8 | 2;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 2;
            iVar2 = (*(code *)puVar6)(param_1,param_2,param_3);
            if (iVar2 != 0) {
LAB_00020f88:
              FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x765c);
              goto LAB_00020f98;
            }
          }
        }
        else {
          FUN_00026140(iVar10,PTR_UINT_000a6194 + -0x7634);
        }
        goto LAB_00020c44;
      }
      if (((*(uint *)(iVar7 + 8) & 0x28) != 0) ||
         (iVar2 = (*(code *)PTR_FUN_000a62c0)(), iVar2 != 0)) {
        *puVar8 = *puVar8 | 8;
        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 8;
        if ((*(int *)(iVar7 + 4) == 8) || (*(int *)(iVar7 + 4) == 0x20)) {
          iVar2 = (*(code *)PTR_FUN_000a62c4)(param_1,param_2,param_3);
          if (iVar2 != 0) goto LAB_00020f88;
          iVar2 = *(int *)(iVar7 + 4);
          *(undefined1 *)(iVar10 + 0xd98) = 0;
          if (iVar2 == 0x20) {
            *puVar8 = *puVar8 & 0xfffffff7;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) & 0xfffffff7;
            *puVar8 = *puVar8 | 0x20;
            *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 0x20;
            cVar3 = *param_3;
            while ((cVar3 != '\0' && (iVar2 = (*(code *)PTR_FUN_000a62bc)(cVar3), iVar2 != 0))) {
              param_3 = param_3 + 1;
              cVar3 = *param_3;
            }
            iVar2 = (*(code *)PTR_curl_strnequal_000a6f38)(puVar11,param_3,4);
            if (iVar2 != 0) {
              uVar5 = (uint)param_3[4];
              param_3 = param_3 + 4;
              if (uVar5 == 0) {
                return 0;
              }
              while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {
                param_3 = param_3 + 1;
                uVar5 = (uint)*param_3;
                if (uVar5 == 0) {
                  return 0;
                }
              }
              if (*param_3 == '\0') {
                return 0;
              }
              iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(param_3);
              param_1[0xe0] = iVar2;
              if (iVar2 == 0) {
                return 0x1b;
              }
            }
          }
        }
        goto LAB_00020c44;
      }
      cVar3 = *param_3;
    }
    else {
      if ((*(uint *)(iVar7 + 8) & 4) == 0) {
        iVar2 = (*(code *)PTR_FUN_000a62c8)();
        if (iVar2 == 0) goto LAB_00020c44;
        *puVar8 = *puVar8 | 4;
        iVar2 = *(int *)(iVar7 + 4);
        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;
      }
      else {
        *puVar8 = *puVar8 | 4;
        iVar2 = *(int *)(iVar7 + 4);
        *(uint *)(iVar7 + 8) = *(uint *)(iVar7 + 8) | 4;
      }
      if ((iVar2 == 4) && ((*puVar12 & 0xfffffffd) == 0)) {
        iVar2 = (*(code *)PTR_FUN_000a62cc)(param_1,param_2,param_3);
        if (iVar2 == 0) {
          iVar2 = (**(code **)PTR_PTR_strdup_000a6230)(*(undefined4 *)(iVar10 + 0xb40));
          *(int *)(iVar10 + 0x144) = iVar2;
          if (iVar2 == 0) {
            return 0x1b;
          }
          *(undefined1 *)(iVar10 + 0xd98) = 0;
          *puVar12 = 1;
        }
        else {
LAB_00020f98:
          *(undefined1 *)(iVar10 + 0xd98) = 1;
        }
      }
LAB_00020c44:
      cVar3 = *param_3;
    }
    if (cVar3 == '\0') {
      return 0;
    }
    if (cVar3 == ',') {
      cVar3 = param_3[1];
    }
    else {
      do {
        pcVar13 = param_3;
        param_3 = pcVar13 + 1;
        if (*param_3 == '\0') {
          return 0;
        }
      } while (*param_3 != ',');
      cVar3 = pcVar13[2];
    }
    uVar5 = (uint)cVar3;
    param_3 = param_3 + 1;
    if (uVar5 == 0) {
      return 0;
    }
    while (iVar2 = (*(code *)PTR_FUN_000a62bc)(uVar5 & 0xff), iVar2 != 0) {
      param_3 = param_3 + 1;
      uVar5 = (uint)*param_3;
      if (uVar5 == 0) {
        return 0;
      }
    }
    cVar3 = *param_3;
  } while( true );
}

