
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

CURLcode Curl_sec_login(connectdata *conn)

{
  undefined *puVar1;
  undefined *puVar2;
  void *pvVar3;
  int iVar4;
  Curl_send *pCVar5;
  Curl_recv *pCVar6;
  char *pcVar7;
  protection_level pVar8;
  undefined *puVar9;
  Curl_easy *data;
  protection_level pVar10;
  code *pcVar11;
  
  puVar1 = PTR_Curl_krb5_client_mech_000a65e8;
  data = conn->data;
  pvVar3 = (void *)(**(code **)PTR_Curl_crealloc_000a6298)
                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)
                             );
  if (pvVar3 == (void *)0x0) {
                    /* WARNING: Subroutine does not return */
    Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));
  }
  pcVar11 = *(code **)(puVar1 + 8);
  conn->app_data = pvVar3;
  if ((pcVar11 != (code *)0x0) && (iVar4 = (*pcVar11)(pvVar3), iVar4 != 0)) {
    Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);
    return CURLE_FAILED_INIT;
  }
  Curl_infof(data,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);
  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);
  if (iVar4 < 0) {
    return CURLE_COULDNT_CONNECT;
  }
  if (99 < iVar4 - 300U) {
    if (iVar4 == 0x1f8) {
      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);
      return CURLE_LOGIN_DENIED;
    }
    if (iVar4 == 0x216) {
      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);
      return CURLE_LOGIN_DENIED;
    }
    if (iVar4 - 500U < 100) {
      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);
      return CURLE_USE_SSL_FAILED;
    }
    return CURLE_LOGIN_DENIED;
  }
  iVar4 = (**(code **)(puVar1 + 0xc))(conn->app_data,conn);
  if (iVar4 == 1) {
    return CURLE_OK;
  }
  if (iVar4 != 0) {
    return ~CURLE_OK;
  }
  pVar10 = conn->request_data_prot;
  pCVar5 = (Curl_send *)(PTR_LAB_000a6544 + -0x2b2c);
  pVar8 = conn->data_prot;
  pCVar6 = (Curl_recv *)(PTR_LAB_000a6544 + -0x2594);
  conn->mech = (Curl_sec_client_mech *)puVar1;
  conn->send[0] = pCVar5;
  conn->send[1] = pCVar5;
  conn->sec_complete = 1;
  conn->recv[0] = pCVar6;
  conn->recv[1] = pCVar6;
  conn->command_prot = PROT_SAFE;
  puVar1 = PTR_DAT_000a612c;
  if (pVar10 == pVar8) {
    return CURLE_OK;
  }
  if (pVar10 != PROT_NONE) {
    iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,
                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060));
    puVar2 = PTR_strstr_000a701c;
    if (iVar4 < 0) {
      return CURLE_OK;
    }
    if (99 < iVar4 - 200U) {
                    /* WARNING: Subroutine does not return */
      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);
    }
    pcVar7 = (conn->data->state).buffer;
    puVar9 = PTR_UINT_000a6194 + -0x3b54;
    conn->buffer_size = *(size_t *)(puVar1 + 0x6060);
    iVar4 = (*(code *)puVar2)(pcVar7,puVar9);
    if (iVar4 != 0) {
      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);
      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {
        conn->buffer_size = *(uint *)(puVar1 + 0x6060);
      }
    }
    if (pVar10 - PROT_CLEAR < 4) {
      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];
      goto LAB_0003e108;
    }
  }
  iVar4 = 0x50;
LAB_0003e108:
  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4);
  if (-1 < iVar4) {
    if (99 < iVar4 - 200U) {
                    /* WARNING: Subroutine does not return */
      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);
    }
    conn->data_prot = pVar10;
    if (pVar10 == PROT_PRIVATE) {
      conn->command_prot = PROT_PRIVATE;
      return CURLE_OK;
    }
  }
  return CURLE_OK;
}



undefined4 FUN_0003dfb8(int *param_1)

{
  undefined *puVar1;
  int iVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined4 uVar5;
  int iVar6;
  code *pcVar7;
  
  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;
  iVar6 = *param_1;
  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)
                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));
  if (iVar2 == 0) {
    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));
    return 0x1b;
  }
  pcVar7 = *(code **)(puVar1 + 8);
  param_1[0xbc] = iVar2;
  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {
    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);
    return 2;
  }
  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);
  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);
  if (iVar2 < 0) {
    return 7;
  }
  if (99 < iVar2 - 300U) {
    if (iVar2 == 0x1f8) {
      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);
      return 0x43;
    }
    if (iVar2 == 0x216) {
      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);
      return 0x43;
    }
    if (iVar2 - 500U < 100) {
      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);
      return 0x40;
    }
    return 0x43;
  }
  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);
  if (iVar2 == 1) {
    return 0;
  }
  if (iVar2 != 0) {
    return 0xffffffff;
  }
  iVar2 = param_1[0xb6];
  puVar3 = PTR_LAB_000a6544 + -0x2b2c;
  puVar4 = PTR_LAB_000a6544 + -0x2594;
  param_1[0xbd] = (int)puVar1;
  param_1[0x6d] = (int)puVar3;
  param_1[0x6e] = (int)puVar3;
  param_1[0xb3] = 1;
  param_1[0x6b] = (int)puVar4;
  param_1[0x6c] = (int)puVar4;
  param_1[0xb4] = 2;
  puVar1 = PTR_DAT_000a612c;
  if (iVar2 == param_1[0xb5]) {
    return 0;
  }
  if (iVar2 != 0) {
    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,
                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));
    puVar3 = PTR_strstr_000a701c;
    if (iVar6 < 0) {
      return 0;
    }
    if (99 < iVar6 - 200U) {
      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);
      return 0;
    }
    uVar5 = *(undefined4 *)(*param_1 + 0xc94);
    puVar4 = PTR_UINT_000a6194 + -0x3b54;
    param_1[0xb7] = *(int *)(puVar1 + 0x6060);
    iVar6 = (*(code *)puVar3)(uVar5,puVar4);
    if (iVar6 != 0) {
      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);
      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {
        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);
      }
    }
    if (iVar2 - 1U < 4) {
      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];
      goto LAB_0003e108;
    }
  }
  iVar6 = 0x50;
LAB_0003e108:
  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);
  if (-1 < iVar6) {
    if (99 < iVar6 - 200U) {
      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);
      return 0;
    }
    param_1[0xb5] = iVar2;
    if (iVar2 == 4) {
      param_1[0xb4] = 4;
      return 0;
    }
  }
  return 0;
}


lui gp,0x7
addiu gp,gp,0x158
addu gp,gp,t9
addiu sp,sp,-0x30
lw v0,-0x7e78(gp)
sw s1,0x20(sp)
sw s0,0x1c(sp)
or s0,a0,zero
lw s1,-0x7b28(gp)
lw a0,0x2f0(a0)
lw t9,0x0(v0)
sw gp,0x10(sp)
sw s3,0x28(sp)
sw ra,0x2c(sp)
sw s2,0x24(sp)
lw a1,0x4(s1)
jalr t9
_lw s3,0x0(s0)
beq v0,zero,0x0003e214
_lw gp,0x10(sp)
lw t9,0x8(s1)
beq t9,zero,0x0003e024
_sw v0,0x2f0(s0)
jalr t9
_or a0,v0,zero
bne v0,zero,0x0003e1f4
_lw gp,0x10(sp)
lw a1,-0x7f7c(gp)
or a0,s3,zero
lw t9,-0x7f64(gp)
lw a2,0x0(s1)
bal 0x00026140
_addiu a1,a1,-0x3c70
or a0,s0,zero
lw gp,0x10(sp)
lw a2,0x0(s1)
lw s2,-0x7bcc(gp)
lw a1,-0x7f7c(gp)
addiu s2,s2,-0x2670
or t9,s2,zero
bal 0x0003d990
_addiu a1,a1,-0x63b4
bltz v0,0x0003e19c
_lw gp,0x10(sp)
addiu v1,v0,-0x12c
sltiu v1,v1,0x64
bne v1,zero,0x0003e0a0
_li v1,0x1f8
beq v0,v1,0x0003e1bc
_li v1,0x216
beq v0,v1,0x0003e160
_or a0,s3,zero
addiu v0,v0,-0x1f4
sltiu v0,v0,0x64
bne v0,zero,0x0003e2e4
_lw t9,-0x7f64(gp)
b 0x0003e144
_li v0,0x43
lw t9,0xc(s1)
or a1,s0,zero
jalr t9
_lw a0,0x2f0(s0)
li v1,0x1
beq v0,v1,0x0003e140
_lw gp,0x10(sp)
bne v0,zero,0x0003e194
_lw a0,-0x7bcc(gp)
lw v0,-0x7bcc(gp)
lw s3,0x2d8(s0)
addiu v0,v0,-0x2b2c
lw a1,0x2d4(s0)
addiu a0,a0,-0x2594
sw s1,0x2f4(s0)
sw v0,0x1b4(s0)
sw v0,0x1b8(s0)
li v0,0x2
sw v1,0x2cc(s0)
sw a0,0x1ac(s0)
sw a0,0x1b0(s0)
beq s3,a1,0x0003e140
_sw v0,0x2d0(s0)
bne s3,zero,0x0003e240
_lw s1,-0x7fe4(gp)
li a2,0x50
lw a1,-0x7f7c(gp)
or a0,s0,zero
or t9,s2,zero
bal 0x0003d990
_addiu a1,a1,-0x638c
bltz v0,0x0003e140
_lw gp,0x10(sp)
addiu v0,v0,-0xc8
sltiu v0,v0,0x64
beq v0,zero,0x0003e2f8
_lw t9,-0x7fc4(gp)
li v0,0x4
beq s3,v0,0x0003e234
_sw s3,0x2d4(s0)
or v0,zero,zero
lw ra,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
lw a1,-0x7f7c(gp)
lw t9,-0x7f64(gp)
lw a2,0x0(s1)
bal 0x00026140
_addiu a1,a1,-0x3c08
li v0,0x43
lw ra,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
b 0x0003e144
_li v0,-0x1
lw ra,0x2c(sp)
li v0,0x7
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
lw a1,-0x7f7c(gp)
or a0,s3,zero
lw t9,-0x7f64(gp)
lw a2,0x0(s1)
bal 0x00026140
_addiu a1,a1,-0x3c58
li v0,0x43
lw ra,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
lw a1,-0x7f7c(gp)
or a0,s3,zero
lw t9,-0x7f64(gp)
lw a2,0x0(s1)
bal 0x00026140
_addiu a1,a1,-0x3c9c
b 0x0003e144
_li v0,0x2
lw a1,-0x7f7c(gp)
or a0,s3,zero
lw t9,-0x7fc4(gp)
lw a2,0x4(s1)
bal 0x00026280
_addiu a1,a1,-0x3cb8
b 0x0003e144
_li v0,0x1b
sw s3,0x2d0(s0)
b 0x0003e144
_or v0,zero,zero
or a0,s0,zero
lw a1,-0x7f7c(gp)
or t9,s2,zero
lw a2,0x6060(s1)
bal 0x0003d990
_addiu a1,a1,-0x3b88
bltz v0,0x0003e140
_lw gp,0x10(sp)
addiu v0,v0,-0xc8
sltiu v0,v0,0x64
beq v0,zero,0x0003e310
_lw a0,0x0(s0)
lw a1,-0x7f7c(gp)
lw v0,0x6060(s1)
lw t9,-0x70f4(gp)
lw a0,0xc94(a0)
addiu a1,a1,-0x3b54
jalr t9
_sw v0,0x2dc(s0)
beq v0,zero,0x0003e2c4
_lw gp,0x10(sp)
lw a1,-0x7f7c(gp)
addiu a2,s1,0x6060
lw t9,-0x742c(gp)
or a0,v0,zero
jalr t9
_addiu a1,a1,-0x3b4c
lw v1,0x6060(s1)
lw v0,0x2dc(s0)
sltu v0,v1,v0
beq v0,zero,0x0003e2c4
_lw gp,0x10(sp)
sw v1,0x2dc(s0)
addiu v0,s3,-0x1
sltiu v1,v0,0x4
beq v1,zero,0x0003e104
_lw v1,-0x7f7c(gp)
addiu v1,v1,-0x3b00
addu v0,v0,v1
b 0x0003e108
_lb a2,0x0(v0)
lw a1,-0x7f7c(gp)
bal 0x00026140
_addiu a1,a1,-0x3bbc
b 0x0003e144
_li v0,0x40
lw a1,-0x7f7c(gp)
lw a0,0x0(s0)
bal 0x00026280
_addiu a1,a1,-0x3b44
b 0x0003e144
_or v0,zero,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
bal 0x00026280
_addiu a1,a1,-0x3b80
b 0x0003e144
_or v0,zero,zero
(translation_unit "undefined4 FUN_0003dfb8(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_0003dfb8(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_0003dfb8(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (expression_statement "puVar1 = PTR_PTR_s_GSSAPI_000a65e8;" (assignment_expression "puVar1 = PTR_PTR_s_GSSAPI_000a65e8" identifier = identifier) ;) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));" (assignment_expression "iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" identifier = (call_expression "(**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" (parenthesized_expression "(**(code **)PTR_PTR_realloc_000a6298)" ( (pointer_expression "**(code **)PTR_PTR_realloc_000a6298" * (pointer_expression "*(code **)PTR_PTR_realloc_000a6298" * (cast_expression "(code **)PTR_PTR_realloc_000a6298" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" ( (subscript_expression "param_1[0xbc]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4)" * (cast_expression "(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_GSSAPI_000a65e8 + 4)" ( (binary_expression "PTR_PTR_s_GSSAPI_000a65e8 + 4" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }" { (expression_statement "FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));" (call_expression "FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3cb8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar1 + 4)" * (cast_expression "(undefined4 *)(puVar1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 4)" ( (binary_expression "puVar1 + 4" identifier + number_literal) )))) ))) ;) (return_statement "return 0x1b;" return number_literal ;) })) (expression_statement "pcVar7 = *(code **)(puVar1 + 8);" (assignment_expression "pcVar7 = *(code **)(puVar1 + 8)" identifier = (pointer_expression "*(code **)(puVar1 + 8)" * (cast_expression "(code **)(puVar1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) ))))) ;) (expression_statement "param_1[0xbc] = iVar2;" (assignment_expression "param_1[0xbc] = iVar2" (subscript_expression "param_1[0xbc]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }" if (parenthesized_expression "((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0))" ( (binary_expression "(pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)" (parenthesized_expression "(pcVar7 != (code *)0x0)" ( (binary_expression "pcVar7 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar2 = (*pcVar7)(iVar2), iVar2 != 0)" ( (comma_expression "iVar2 = (*pcVar7)(iVar2), iVar2 != 0" (assignment_expression "iVar2 = (*pcVar7)(iVar2)" identifier = (call_expression "(*pcVar7)(iVar2)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(iVar2)" ( identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c9c" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 2;" return number_literal ;) })) (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c70" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" identifier = (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" identifier (argument_list "(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x63b4" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 < 0) {\n    return 7;\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    return 7;\n  }" { (return_statement "return 7;" return number_literal ;) })) (if_statement "if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }" if (parenthesized_expression "(99 < iVar2 - 300U)" ( (binary_expression "99 < iVar2 - 300U" number_literal < (binary_expression "iVar2 - 300U" identifier - number_literal)) )) (compound_statement "{\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }" { (if_statement "if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }" if (parenthesized_expression "(iVar2 == 0x1f8)" ( (binary_expression "iVar2 == 0x1f8" identifier == number_literal) )) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c58" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 0x43;" return number_literal ;) })) (if_statement "if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }" if (parenthesized_expression "(iVar2 == 0x216)" ( (binary_expression "iVar2 == 0x216" identifier == number_literal) )) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c08" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 0x43;" return number_literal ;) })) (if_statement "if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }" if (parenthesized_expression "(iVar2 - 500U < 100)" ( (binary_expression "iVar2 - 500U < 100" (binary_expression "iVar2 - 500U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3bbc)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3bbc" identifier + number_literal) ))) ;) (return_statement "return 0x40;" return number_literal ;) })) (return_statement "return 0x43;" return number_literal ;) })) (expression_statement "iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);" (assignment_expression "iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1)" identifier = (call_expression "(**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1)" (parenthesized_expression "(**(code **)(puVar1 + 0xc))" ( (pointer_expression "**(code **)(puVar1 + 0xc)" * (pointer_expression "*(code **)(puVar1 + 0xc)" * (cast_expression "(code **)(puVar1 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 0xc)" ( (binary_expression "puVar1 + 0xc" identifier + number_literal) ))))) )) (argument_list "(param_1[0xbc],param_1)" ( (subscript_expression "param_1[0xbc]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar2 == 1) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar2 != 0) {\n    return 0xffffffff;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    return 0xffffffff;\n  }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (expression_statement "iVar2 = param_1[0xb6];" (assignment_expression "iVar2 = param_1[0xb6]" identifier = (subscript_expression "param_1[0xb6]" identifier [ number_literal ])) ;) (expression_statement "puVar3 = PTR_LAB_000a6544 + -0x2b2c;" (assignment_expression "puVar3 = PTR_LAB_000a6544 + -0x2b2c" identifier = (binary_expression "PTR_LAB_000a6544 + -0x2b2c" identifier + number_literal)) ;) (expression_statement "puVar4 = PTR_LAB_000a6544 + -0x2594;" (assignment_expression "puVar4 = PTR_LAB_000a6544 + -0x2594" identifier = (binary_expression "PTR_LAB_000a6544 + -0x2594" identifier + number_literal)) ;) (expression_statement "param_1[0xbd] = (int)puVar1;" (assignment_expression "param_1[0xbd] = (int)puVar1" (subscript_expression "param_1[0xbd]" identifier [ number_literal ]) = (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x6d] = (int)puVar3;" (assignment_expression "param_1[0x6d] = (int)puVar3" (subscript_expression "param_1[0x6d]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x6e] = (int)puVar3;" (assignment_expression "param_1[0x6e] = (int)puVar3" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0xb3] = 1;" (assignment_expression "param_1[0xb3] = 1" (subscript_expression "param_1[0xb3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x6b] = (int)puVar4;" (assignment_expression "param_1[0x6b] = (int)puVar4" (subscript_expression "param_1[0x6b]" identifier [ number_literal ]) = (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x6c] = (int)puVar4;" (assignment_expression "param_1[0x6c] = (int)puVar4" (subscript_expression "param_1[0x6c]" identifier [ number_literal ]) = (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0xb4] = 2;" (assignment_expression "param_1[0xb4] = 2" (subscript_expression "param_1[0xb4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR_DAT_000a612c;" (assignment_expression "puVar1 = PTR_DAT_000a612c" identifier = identifier) ;) (if_statement "if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 == param_1[0xb5])" ( (binary_expression "iVar2 == param_1[0xb5]" identifier == (subscript_expression "param_1[0xb5]" identifier [ number_literal ])) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }" { (expression_statement "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));" (assignment_expression "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" identifier = (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" identifier (argument_list "(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3b88" identifier + number_literal) , (pointer_expression "*(undefined4 *)(PTR_DAT_000a612c + 0x6060)" * (cast_expression "(undefined4 *)(PTR_DAT_000a612c + 0x6060)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a612c + 0x6060)" ( (binary_expression "PTR_DAT_000a612c + 0x6060" identifier + number_literal) )))) )))) ;) (expression_statement "puVar3 = PTR_strstr_000a701c;" (assignment_expression "puVar3 = PTR_strstr_000a701c" identifier = identifier) ;) (if_statement "if (iVar6 < 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }" if (parenthesized_expression "(99 < iVar6 - 200U)" ( (binary_expression "99 < iVar6 - 200U" number_literal < (binary_expression "iVar6 - 200U" identifier - number_literal)) )) (compound_statement "{\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }" { (expression_statement "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);" (call_expression "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80)" identifier (argument_list "(*param_1,PTR_UINT_000a6194 + -0x3b80)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_UINT_000a6194 + -0x3b80" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar5 = *(undefined4 *)(*param_1 + 0xc94);" (assignment_expression "uVar5 = *(undefined4 *)(*param_1 + 0xc94)" identifier = (pointer_expression "*(undefined4 *)(*param_1 + 0xc94)" * (cast_expression "(undefined4 *)(*param_1 + 0xc94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0xc94)" ( (binary_expression "*param_1 + 0xc94" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "puVar4 = PTR_UINT_000a6194 + -0x3b54;" (assignment_expression "puVar4 = PTR_UINT_000a6194 + -0x3b54" identifier = (binary_expression "PTR_UINT_000a6194 + -0x3b54" identifier + number_literal)) ;) (expression_statement "param_1[0xb7] = *(int *)(puVar1 + 0x6060);" (assignment_expression "param_1[0xb7] = *(int *)(puVar1 + 0x6060)" (subscript_expression "param_1[0xb7]" identifier [ number_literal ]) = (pointer_expression "*(int *)(puVar1 + 0x6060)" * (cast_expression "(int *)(puVar1 + 0x6060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)puVar3)(uVar5,puVar4);" (assignment_expression "iVar6 = (*(code *)puVar3)(uVar5,puVar4)" identifier = (call_expression "(*(code *)puVar3)(uVar5,puVar4)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,puVar4)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }" { (expression_statement "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);" (call_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" (parenthesized_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)" ( (pointer_expression "*(code *)PTR___isoc99_sscanf_000a6ce4" * (cast_expression "(code *)PTR___isoc99_sscanf_000a6ce4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3b4c" identifier + number_literal) , (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))) ;) (if_statement "if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }" if (parenthesized_expression "(*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7])" ( (binary_expression "*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]" (pointer_expression "*(uint *)(puVar1 + 0x6060)" * (cast_expression "(uint *)(puVar1 + 0x6060)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) )))) < (cast_expression "(uint)param_1[0xb7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xb7]" identifier [ number_literal ]))) )) (compound_statement "{\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }" { (expression_statement "param_1[0xb7] = *(uint *)(puVar1 + 0x6060);" (assignment_expression "param_1[0xb7] = *(uint *)(puVar1 + 0x6060)" (subscript_expression "param_1[0xb7]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(puVar1 + 0x6060)" * (cast_expression "(uint *)(puVar1 + 0x6060)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))))) ;) })) })) (if_statement "if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }" if (parenthesized_expression "(iVar2 - 1U < 4)" ( (binary_expression "iVar2 - 1U < 4" (binary_expression "iVar2 - 1U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }" { (expression_statement "iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];" (assignment_expression "iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" identifier = (cast_expression "(int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "PTR_UINT_000a6194[iVar2 + -0x3b01]" identifier [ (binary_expression "iVar2 + -0x3b01" identifier + number_literal) ])))) ;) (goto_statement "goto LAB_0003e108;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = 0x50;" (assignment_expression "iVar6 = 0x50" identifier = number_literal) ;) (labeled_statement "LAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);" statement_identifier : (expression_statement "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);" (assignment_expression "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" identifier = (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" identifier (argument_list "(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x638c" identifier + number_literal) , identifier )))) ;)) (if_statement "if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }" { (if_statement "if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }" if (parenthesized_expression "(99 < iVar6 - 200U)" ( (binary_expression "99 < iVar6 - 200U" number_literal < (binary_expression "iVar6 - 200U" identifier - number_literal)) )) (compound_statement "{\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }" { (expression_statement "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);" (call_expression "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44)" identifier (argument_list "(*param_1,PTR_UINT_000a6194 + -0x3b44)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_UINT_000a6194 + -0x3b44" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1[0xb5] = iVar2;" (assignment_expression "param_1[0xb5] = iVar2" (subscript_expression "param_1[0xb5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (compound_statement "{\n      param_1[0xb4] = 4;\n      return 0;\n    }" { (expression_statement "param_1[0xb4] = 4;" (assignment_expression "param_1[0xb4] = 4" (subscript_expression "param_1[0xb4]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nCURLcode Curl_sec_login(connectdata *conn)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  void *pvVar3;\n  int iVar4;\n  Curl_send *pCVar5;\n  Curl_recv *pCVar6;\n  char *pcVar7;\n  protection_level pVar8;\n  undefined *puVar9;\n  Curl_easy *data;\n  protection_level pVar10;\n  code *pcVar11;\n  \n  puVar1 = PTR_Curl_krb5_client_mech_000a65e8;\n  data = conn->data;\n  pvVar3 = (void *)(**(code **)PTR_Curl_crealloc_000a6298)\n                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             );\n  if (pvVar3 == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n  }\n  pcVar11 = *(code **)(puVar1 + 8);\n  conn->app_data = pvVar3;\n  if ((pcVar11 != (code *)0x0) && (iVar4 = (*pcVar11)(pvVar3), iVar4 != 0)) {\n    Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return CURLE_FAILED_INIT;\n  }\n  Curl_infof(data,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar4 < 0) {\n    return CURLE_COULDNT_CONNECT;\n  }\n  if (99 < iVar4 - 300U) {\n    if (iVar4 == 0x1f8) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 == 0x216) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 - 500U < 100) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);\n      return CURLE_USE_SSL_FAILED;\n    }\n    return CURLE_LOGIN_DENIED;\n  }\n  iVar4 = (**(code **)(puVar1 + 0xc))(conn->app_data,conn);\n  if (iVar4 == 1) {\n    return CURLE_OK;\n  }\n  if (iVar4 != 0) {\n    return ~CURLE_OK;\n  }\n  pVar10 = conn->request_data_prot;\n  pCVar5 = (Curl_send *)(PTR_LAB_000a6544 + -0x2b2c);\n  pVar8 = conn->data_prot;\n  pCVar6 = (Curl_recv *)(PTR_LAB_000a6544 + -0x2594);\n  conn->mech = (Curl_sec_client_mech *)puVar1;\n  conn->send[0] = pCVar5;\n  conn->send[1] = pCVar5;\n  conn->sec_complete = 1;\n  conn->recv[0] = pCVar6;\n  conn->recv[1] = pCVar6;\n  conn->command_prot = PROT_SAFE;\n  puVar1 = PTR_DAT_000a612c;\n  if (pVar10 == pVar8) {\n    return CURLE_OK;\n  }\n  if (pVar10 != PROT_NONE) {\n    iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar2 = PTR_strstr_000a701c;\n    if (iVar4 < 0) {\n      return CURLE_OK;\n    }\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);\n    }\n    pcVar7 = (conn->data->state).buffer;\n    puVar9 = PTR_UINT_000a6194 + -0x3b54;\n    conn->buffer_size = *(size_t *)(puVar1 + 0x6060);\n    iVar4 = (*(code *)puVar2)(pcVar7,puVar9);\n    if (iVar4 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (pVar10 - PROT_CLEAR < 4) {\n      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar4 = 0x50;\nLAB_0003e108:\n  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4);\n  if (-1 < iVar4) {\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);\n    }\n    conn->data_prot = pVar10;\n    if (pVar10 == PROT_PRIVATE) {\n      conn->command_prot = PROT_PRIVATE;\n      return CURLE_OK;\n    }\n  }\n  return CURLE_OK;\n}\n\n" comment (function_definition "CURLcode Curl_sec_login(connectdata *conn)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  void *pvVar3;\n  int iVar4;\n  Curl_send *pCVar5;\n  Curl_recv *pCVar6;\n  char *pcVar7;\n  protection_level pVar8;\n  undefined *puVar9;\n  Curl_easy *data;\n  protection_level pVar10;\n  code *pcVar11;\n  \n  puVar1 = PTR_Curl_krb5_client_mech_000a65e8;\n  data = conn->data;\n  pvVar3 = (void *)(**(code **)PTR_Curl_crealloc_000a6298)\n                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             );\n  if (pvVar3 == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n  }\n  pcVar11 = *(code **)(puVar1 + 8);\n  conn->app_data = pvVar3;\n  if ((pcVar11 != (code *)0x0) && (iVar4 = (*pcVar11)(pvVar3), iVar4 != 0)) {\n    Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return CURLE_FAILED_INIT;\n  }\n  Curl_infof(data,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar4 < 0) {\n    return CURLE_COULDNT_CONNECT;\n  }\n  if (99 < iVar4 - 300U) {\n    if (iVar4 == 0x1f8) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 == 0x216) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 - 500U < 100) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);\n      return CURLE_USE_SSL_FAILED;\n    }\n    return CURLE_LOGIN_DENIED;\n  }\n  iVar4 = (**(code **)(puVar1 + 0xc))(conn->app_data,conn);\n  if (iVar4 == 1) {\n    return CURLE_OK;\n  }\n  if (iVar4 != 0) {\n    return ~CURLE_OK;\n  }\n  pVar10 = conn->request_data_prot;\n  pCVar5 = (Curl_send *)(PTR_LAB_000a6544 + -0x2b2c);\n  pVar8 = conn->data_prot;\n  pCVar6 = (Curl_recv *)(PTR_LAB_000a6544 + -0x2594);\n  conn->mech = (Curl_sec_client_mech *)puVar1;\n  conn->send[0] = pCVar5;\n  conn->send[1] = pCVar5;\n  conn->sec_complete = 1;\n  conn->recv[0] = pCVar6;\n  conn->recv[1] = pCVar6;\n  conn->command_prot = PROT_SAFE;\n  puVar1 = PTR_DAT_000a612c;\n  if (pVar10 == pVar8) {\n    return CURLE_OK;\n  }\n  if (pVar10 != PROT_NONE) {\n    iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar2 = PTR_strstr_000a701c;\n    if (iVar4 < 0) {\n      return CURLE_OK;\n    }\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);\n    }\n    pcVar7 = (conn->data->state).buffer;\n    puVar9 = PTR_UINT_000a6194 + -0x3b54;\n    conn->buffer_size = *(size_t *)(puVar1 + 0x6060);\n    iVar4 = (*(code *)puVar2)(pcVar7,puVar9);\n    if (iVar4 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (pVar10 - PROT_CLEAR < 4) {\n      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar4 = 0x50;\nLAB_0003e108:\n  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4);\n  if (-1 < iVar4) {\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);\n    }\n    conn->data_prot = pVar10;\n    if (pVar10 == PROT_PRIVATE) {\n      conn->command_prot = PROT_PRIVATE;\n      return CURLE_OK;\n    }\n  }\n  return CURLE_OK;\n}" type_identifier (function_declarator "Curl_sec_login(connectdata *conn)" identifier (parameter_list "(connectdata *conn)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  void *pvVar3;\n  int iVar4;\n  Curl_send *pCVar5;\n  Curl_recv *pCVar6;\n  char *pcVar7;\n  protection_level pVar8;\n  undefined *puVar9;\n  Curl_easy *data;\n  protection_level pVar10;\n  code *pcVar11;\n  \n  puVar1 = PTR_Curl_krb5_client_mech_000a65e8;\n  data = conn->data;\n  pvVar3 = (void *)(**(code **)PTR_Curl_crealloc_000a6298)\n                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             );\n  if (pvVar3 == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n  }\n  pcVar11 = *(code **)(puVar1 + 8);\n  conn->app_data = pvVar3;\n  if ((pcVar11 != (code *)0x0) && (iVar4 = (*pcVar11)(pvVar3), iVar4 != 0)) {\n    Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return CURLE_FAILED_INIT;\n  }\n  Curl_infof(data,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar4 < 0) {\n    return CURLE_COULDNT_CONNECT;\n  }\n  if (99 < iVar4 - 300U) {\n    if (iVar4 == 0x1f8) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 == 0x216) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 - 500U < 100) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);\n      return CURLE_USE_SSL_FAILED;\n    }\n    return CURLE_LOGIN_DENIED;\n  }\n  iVar4 = (**(code **)(puVar1 + 0xc))(conn->app_data,conn);\n  if (iVar4 == 1) {\n    return CURLE_OK;\n  }\n  if (iVar4 != 0) {\n    return ~CURLE_OK;\n  }\n  pVar10 = conn->request_data_prot;\n  pCVar5 = (Curl_send *)(PTR_LAB_000a6544 + -0x2b2c);\n  pVar8 = conn->data_prot;\n  pCVar6 = (Curl_recv *)(PTR_LAB_000a6544 + -0x2594);\n  conn->mech = (Curl_sec_client_mech *)puVar1;\n  conn->send[0] = pCVar5;\n  conn->send[1] = pCVar5;\n  conn->sec_complete = 1;\n  conn->recv[0] = pCVar6;\n  conn->recv[1] = pCVar6;\n  conn->command_prot = PROT_SAFE;\n  puVar1 = PTR_DAT_000a612c;\n  if (pVar10 == pVar8) {\n    return CURLE_OK;\n  }\n  if (pVar10 != PROT_NONE) {\n    iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar2 = PTR_strstr_000a701c;\n    if (iVar4 < 0) {\n      return CURLE_OK;\n    }\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);\n    }\n    pcVar7 = (conn->data->state).buffer;\n    puVar9 = PTR_UINT_000a6194 + -0x3b54;\n    conn->buffer_size = *(size_t *)(puVar1 + 0x6060);\n    iVar4 = (*(code *)puVar2)(pcVar7,puVar9);\n    if (iVar4 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (pVar10 - PROT_CLEAR < 4) {\n      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar4 = 0x50;\nLAB_0003e108:\n  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4);\n  if (-1 < iVar4) {\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);\n    }\n    conn->data_prot = pVar10;\n    if (pVar10 == PROT_PRIVATE) {\n      conn->command_prot = PROT_PRIVATE;\n      return CURLE_OK;\n    }\n  }\n  return CURLE_OK;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "Curl_send *pCVar5;" type_identifier (pointer_declarator "*pCVar5" * identifier) ;) (declaration "Curl_recv *pCVar6;" type_identifier (pointer_declarator "*pCVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "protection_level pVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "Curl_easy *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "protection_level pVar10;" type_identifier identifier ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (expression_statement "puVar1 = PTR_Curl_krb5_client_mech_000a65e8;" (assignment_expression "puVar1 = PTR_Curl_krb5_client_mech_000a65e8" identifier = identifier) ;) (expression_statement "data = conn->data;" (assignment_expression "data = conn->data" identifier = (field_expression "conn->data" identifier -> field_identifier)) ;) (expression_statement "pvVar3 = (void *)(**(code **)PTR_Curl_crealloc_000a6298)\n                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             );" (assignment_expression "pvVar3 = (void *)(**(code **)PTR_Curl_crealloc_000a6298)\n                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             )" identifier = (cast_expression "(void *)(**(code **)PTR_Curl_crealloc_000a6298)\n                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             )" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)PTR_Curl_crealloc_000a6298)\n                             (conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             )" (parenthesized_expression "(**(code **)PTR_Curl_crealloc_000a6298)" ( (pointer_expression "**(code **)PTR_Curl_crealloc_000a6298" * (pointer_expression "*(code **)PTR_Curl_crealloc_000a6298" * (cast_expression "(code **)PTR_Curl_crealloc_000a6298" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(conn->app_data,*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)\n                             )" ( (field_expression "conn->app_data" identifier -> field_identifier) , (pointer_expression "*(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)" * (cast_expression "(undefined4 *)(PTR_Curl_krb5_client_mech_000a65e8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_Curl_krb5_client_mech_000a65e8 + 4)" ( (binary_expression "PTR_Curl_krb5_client_mech_000a65e8 + 4" identifier + number_literal) )))) ))))) ;) (if_statement "if (pvVar3 == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n  }" if (parenthesized_expression "(pvVar3 == (void *)0x0)" ( (binary_expression "pvVar3 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n  }" { comment (expression_statement "Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));" (call_expression "Curl_failf(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3cb8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar1 + 4)" * (cast_expression "(undefined4 *)(puVar1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 4)" ( (binary_expression "puVar1 + 4" identifier + number_literal) )))) ))) ;) })) (expression_statement "pcVar11 = *(code **)(puVar1 + 8);" (assignment_expression "pcVar11 = *(code **)(puVar1 + 8)" identifier = (pointer_expression "*(code **)(puVar1 + 8)" * (cast_expression "(code **)(puVar1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) ))))) ;) (expression_statement "conn->app_data = pvVar3;" (assignment_expression "conn->app_data = pvVar3" (field_expression "conn->app_data" identifier -> field_identifier) = identifier) ;) (if_statement "if ((pcVar11 != (code *)0x0) && (iVar4 = (*pcVar11)(pvVar3), iVar4 != 0)) {\n    Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return CURLE_FAILED_INIT;\n  }" if (parenthesized_expression "((pcVar11 != (code *)0x0) && (iVar4 = (*pcVar11)(pvVar3), iVar4 != 0))" ( (binary_expression "(pcVar11 != (code *)0x0) && (iVar4 = (*pcVar11)(pvVar3), iVar4 != 0)" (parenthesized_expression "(pcVar11 != (code *)0x0)" ( (binary_expression "pcVar11 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar4 = (*pcVar11)(pvVar3), iVar4 != 0)" ( (comma_expression "iVar4 = (*pcVar11)(pvVar3), iVar4 != 0" (assignment_expression "iVar4 = (*pcVar11)(pvVar3)" identifier = (call_expression "(*pcVar11)(pvVar3)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(pvVar3)" ( identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return CURLE_FAILED_INIT;\n  }" { (expression_statement "Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);" (call_expression "Curl_infof(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c9c" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return CURLE_FAILED_INIT;" return identifier ;) })) (expression_statement "Curl_infof(data,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);" (call_expression "Curl_infof(data,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c70" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);" (assignment_expression "iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" identifier = (call_expression "ftp_send_command(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" identifier (argument_list "(conn,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x63b4" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar4 < 0) {\n    return CURLE_COULDNT_CONNECT;\n  }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n    return CURLE_COULDNT_CONNECT;\n  }" { (return_statement "return CURLE_COULDNT_CONNECT;" return identifier ;) })) (if_statement "if (99 < iVar4 - 300U) {\n    if (iVar4 == 0x1f8) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 == 0x216) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 - 500U < 100) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);\n      return CURLE_USE_SSL_FAILED;\n    }\n    return CURLE_LOGIN_DENIED;\n  }" if (parenthesized_expression "(99 < iVar4 - 300U)" ( (binary_expression "99 < iVar4 - 300U" number_literal < (binary_expression "iVar4 - 300U" identifier - number_literal)) )) (compound_statement "{\n    if (iVar4 == 0x1f8) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 == 0x216) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }\n    if (iVar4 - 500U < 100) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);\n      return CURLE_USE_SSL_FAILED;\n    }\n    return CURLE_LOGIN_DENIED;\n  }" { (if_statement "if (iVar4 == 0x1f8) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }" if (parenthesized_expression "(iVar4 == 0x1f8)" ( (binary_expression "iVar4 == 0x1f8" identifier == number_literal) )) (compound_statement "{\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }" { (expression_statement "Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);" (call_expression "Curl_infof(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c58" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return CURLE_LOGIN_DENIED;" return identifier ;) })) (if_statement "if (iVar4 == 0x216) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }" if (parenthesized_expression "(iVar4 == 0x216)" ( (binary_expression "iVar4 == 0x216" identifier == number_literal) )) (compound_statement "{\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return CURLE_LOGIN_DENIED;\n    }" { (expression_statement "Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);" (call_expression "Curl_infof(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c08" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return CURLE_LOGIN_DENIED;" return identifier ;) })) (if_statement "if (iVar4 - 500U < 100) {\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);\n      return CURLE_USE_SSL_FAILED;\n    }" if (parenthesized_expression "(iVar4 - 500U < 100)" ( (binary_expression "iVar4 - 500U < 100" (binary_expression "iVar4 - 500U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);\n      return CURLE_USE_SSL_FAILED;\n    }" { (expression_statement "Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc);" (call_expression "Curl_infof(data,PTR_UINT_000a6194 + -0x3bbc)" identifier (argument_list "(data,PTR_UINT_000a6194 + -0x3bbc)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3bbc" identifier + number_literal) ))) ;) (return_statement "return CURLE_USE_SSL_FAILED;" return identifier ;) })) (return_statement "return CURLE_LOGIN_DENIED;" return identifier ;) })) (expression_statement "iVar4 = (**(code **)(puVar1 + 0xc))(conn->app_data,conn);" (assignment_expression "iVar4 = (**(code **)(puVar1 + 0xc))(conn->app_data,conn)" identifier = (call_expression "(**(code **)(puVar1 + 0xc))(conn->app_data,conn)" (parenthesized_expression "(**(code **)(puVar1 + 0xc))" ( (pointer_expression "**(code **)(puVar1 + 0xc)" * (pointer_expression "*(code **)(puVar1 + 0xc)" * (cast_expression "(code **)(puVar1 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 0xc)" ( (binary_expression "puVar1 + 0xc" identifier + number_literal) ))))) )) (argument_list "(conn->app_data,conn)" ( (field_expression "conn->app_data" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (iVar4 == 1) {\n    return CURLE_OK;\n  }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n    return CURLE_OK;\n  }" { (return_statement "return CURLE_OK;" return identifier ;) })) (if_statement "if (iVar4 != 0) {\n    return ~CURLE_OK;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    return ~CURLE_OK;\n  }" { (return_statement "return ~CURLE_OK;" return (unary_expression "~CURLE_OK" ~ identifier) ;) })) (expression_statement "pVar10 = conn->request_data_prot;" (assignment_expression "pVar10 = conn->request_data_prot" identifier = (field_expression "conn->request_data_prot" identifier -> field_identifier)) ;) (expression_statement "pCVar5 = (Curl_send *)(PTR_LAB_000a6544 + -0x2b2c);" (assignment_expression "pCVar5 = (Curl_send *)(PTR_LAB_000a6544 + -0x2b2c)" identifier = (cast_expression "(Curl_send *)(PTR_LAB_000a6544 + -0x2b2c)" ( (type_descriptor "Curl_send *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000a6544 + -0x2b2c)" ( (binary_expression "PTR_LAB_000a6544 + -0x2b2c" identifier + number_literal) )))) ;) (expression_statement "pVar8 = conn->data_prot;" (assignment_expression "pVar8 = conn->data_prot" identifier = (field_expression "conn->data_prot" identifier -> field_identifier)) ;) (expression_statement "pCVar6 = (Curl_recv *)(PTR_LAB_000a6544 + -0x2594);" (assignment_expression "pCVar6 = (Curl_recv *)(PTR_LAB_000a6544 + -0x2594)" identifier = (cast_expression "(Curl_recv *)(PTR_LAB_000a6544 + -0x2594)" ( (type_descriptor "Curl_recv *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000a6544 + -0x2594)" ( (binary_expression "PTR_LAB_000a6544 + -0x2594" identifier + number_literal) )))) ;) (expression_statement "conn->mech = (Curl_sec_client_mech *)puVar1;" (assignment_expression "conn->mech = (Curl_sec_client_mech *)puVar1" (field_expression "conn->mech" identifier -> field_identifier) = (cast_expression "(Curl_sec_client_mech *)puVar1" ( (type_descriptor "Curl_sec_client_mech *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "conn->send[0] = pCVar5;" (assignment_expression "conn->send[0] = pCVar5" (subscript_expression "conn->send[0]" (field_expression "conn->send" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "conn->send[1] = pCVar5;" (assignment_expression "conn->send[1] = pCVar5" (subscript_expression "conn->send[1]" (field_expression "conn->send" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "conn->sec_complete = 1;" (assignment_expression "conn->sec_complete = 1" (field_expression "conn->sec_complete" identifier -> field_identifier) = number_literal) ;) (expression_statement "conn->recv[0] = pCVar6;" (assignment_expression "conn->recv[0] = pCVar6" (subscript_expression "conn->recv[0]" (field_expression "conn->recv" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "conn->recv[1] = pCVar6;" (assignment_expression "conn->recv[1] = pCVar6" (subscript_expression "conn->recv[1]" (field_expression "conn->recv" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "conn->command_prot = PROT_SAFE;" (assignment_expression "conn->command_prot = PROT_SAFE" (field_expression "conn->command_prot" identifier -> field_identifier) = identifier) ;) (expression_statement "puVar1 = PTR_DAT_000a612c;" (assignment_expression "puVar1 = PTR_DAT_000a612c" identifier = identifier) ;) (if_statement "if (pVar10 == pVar8) {\n    return CURLE_OK;\n  }" if (parenthesized_expression "(pVar10 == pVar8)" ( (binary_expression "pVar10 == pVar8" identifier == identifier) )) (compound_statement "{\n    return CURLE_OK;\n  }" { (return_statement "return CURLE_OK;" return identifier ;) })) (if_statement "if (pVar10 != PROT_NONE) {\n    iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar2 = PTR_strstr_000a701c;\n    if (iVar4 < 0) {\n      return CURLE_OK;\n    }\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);\n    }\n    pcVar7 = (conn->data->state).buffer;\n    puVar9 = PTR_UINT_000a6194 + -0x3b54;\n    conn->buffer_size = *(size_t *)(puVar1 + 0x6060);\n    iVar4 = (*(code *)puVar2)(pcVar7,puVar9);\n    if (iVar4 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (pVar10 - PROT_CLEAR < 4) {\n      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];\n      goto LAB_0003e108;\n    }\n  }" if (parenthesized_expression "(pVar10 != PROT_NONE)" ( (binary_expression "pVar10 != PROT_NONE" identifier != identifier) )) (compound_statement "{\n    iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar2 = PTR_strstr_000a701c;\n    if (iVar4 < 0) {\n      return CURLE_OK;\n    }\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);\n    }\n    pcVar7 = (conn->data->state).buffer;\n    puVar9 = PTR_UINT_000a6194 + -0x3b54;\n    conn->buffer_size = *(size_t *)(puVar1 + 0x6060);\n    iVar4 = (*(code *)puVar2)(pcVar7,puVar9);\n    if (iVar4 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (pVar10 - PROT_CLEAR < 4) {\n      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];\n      goto LAB_0003e108;\n    }\n  }" { (expression_statement "iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060));" (assignment_expression "iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" identifier = (call_expression "ftp_send_command(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" identifier (argument_list "(conn,PTR_UINT_000a6194 + -0x3b88,\n                             *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3b88" identifier + number_literal) , (pointer_expression "*(undefined4 *)(PTR_DAT_000a612c + 0x6060)" * (cast_expression "(undefined4 *)(PTR_DAT_000a612c + 0x6060)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a612c + 0x6060)" ( (binary_expression "PTR_DAT_000a612c + 0x6060" identifier + number_literal) )))) )))) ;) (expression_statement "puVar2 = PTR_strstr_000a701c;" (assignment_expression "puVar2 = PTR_strstr_000a701c" identifier = identifier) ;) (if_statement "if (iVar4 < 0) {\n      return CURLE_OK;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      return CURLE_OK;\n    }" { (return_statement "return CURLE_OK;" return identifier ;) })) (if_statement "if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);\n    }" if (parenthesized_expression "(99 < iVar4 - 200U)" ( (binary_expression "99 < iVar4 - 200U" number_literal < (binary_expression "iVar4 - 200U" identifier - number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);\n    }" { comment (expression_statement "Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80);" (call_expression "Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b80)" identifier (argument_list "(conn->data,PTR_UINT_000a6194 + -0x3b80)" ( (field_expression "conn->data" identifier -> field_identifier) , (binary_expression "PTR_UINT_000a6194 + -0x3b80" identifier + number_literal) ))) ;) })) (expression_statement "pcVar7 = (conn->data->state).buffer;" (assignment_expression "pcVar7 = (conn->data->state).buffer" identifier = (field_expression "(conn->data->state).buffer" (parenthesized_expression "(conn->data->state)" ( (field_expression "conn->data->state" (field_expression "conn->data" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "puVar9 = PTR_UINT_000a6194 + -0x3b54;" (assignment_expression "puVar9 = PTR_UINT_000a6194 + -0x3b54" identifier = (binary_expression "PTR_UINT_000a6194 + -0x3b54" identifier + number_literal)) ;) (expression_statement "conn->buffer_size = *(size_t *)(puVar1 + 0x6060);" (assignment_expression "conn->buffer_size = *(size_t *)(puVar1 + 0x6060)" (field_expression "conn->buffer_size" identifier -> field_identifier) = (pointer_expression "*(size_t *)(puVar1 + 0x6060)" * (cast_expression "(size_t *)(puVar1 + 0x6060)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (*(code *)puVar2)(pcVar7,puVar9);" (assignment_expression "iVar4 = (*(code *)puVar2)(pcVar7,puVar9)" identifier = (call_expression "(*(code *)puVar2)(pcVar7,puVar9)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar7,puVar9)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }\n    }" { (expression_statement "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);" (call_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" (parenthesized_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)" ( (pointer_expression "*(code *)PTR___isoc99_sscanf_000a6ce4" * (cast_expression "(code *)PTR___isoc99_sscanf_000a6ce4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3b4c" identifier + number_literal) , (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))) ;) (if_statement "if (*(uint *)(puVar1 + 0x6060) < conn->buffer_size) {\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }" if (parenthesized_expression "(*(uint *)(puVar1 + 0x6060) < conn->buffer_size)" ( (binary_expression "*(uint *)(puVar1 + 0x6060) < conn->buffer_size" (pointer_expression "*(uint *)(puVar1 + 0x6060)" * (cast_expression "(uint *)(puVar1 + 0x6060)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) )))) < (field_expression "conn->buffer_size" identifier -> field_identifier)) )) (compound_statement "{\n        conn->buffer_size = *(uint *)(puVar1 + 0x6060);\n      }" { (expression_statement "conn->buffer_size = *(uint *)(puVar1 + 0x6060);" (assignment_expression "conn->buffer_size = *(uint *)(puVar1 + 0x6060)" (field_expression "conn->buffer_size" identifier -> field_identifier) = (pointer_expression "*(uint *)(puVar1 + 0x6060)" * (cast_expression "(uint *)(puVar1 + 0x6060)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))))) ;) })) })) (if_statement "if (pVar10 - PROT_CLEAR < 4) {\n      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];\n      goto LAB_0003e108;\n    }" if (parenthesized_expression "(pVar10 - PROT_CLEAR < 4)" ( (binary_expression "pVar10 - PROT_CLEAR < 4" (binary_expression "pVar10 - PROT_CLEAR" identifier - identifier) < number_literal) )) (compound_statement "{\n      iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];\n      goto LAB_0003e108;\n    }" { (expression_statement "iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01];" (assignment_expression "iVar4 = (int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01]" identifier = (cast_expression "(int)(char)PTR_UINT_000a6194[pVar10 - 0x3b01]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)PTR_UINT_000a6194[pVar10 - 0x3b01]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "PTR_UINT_000a6194[pVar10 - 0x3b01]" identifier [ (binary_expression "pVar10 - 0x3b01" identifier - number_literal) ])))) ;) (goto_statement "goto LAB_0003e108;" goto statement_identifier ;) })) })) (expression_statement "iVar4 = 0x50;" (assignment_expression "iVar4 = 0x50" identifier = number_literal) ;) (labeled_statement "LAB_0003e108:\n  iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4);" statement_identifier : (expression_statement "iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4);" (assignment_expression "iVar4 = ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4)" identifier = (call_expression "ftp_send_command(conn,PTR_UINT_000a6194 + -0x638c,iVar4)" identifier (argument_list "(conn,PTR_UINT_000a6194 + -0x638c,iVar4)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x638c" identifier + number_literal) , identifier )))) ;)) (if_statement "if (-1 < iVar4) {\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);\n    }\n    conn->data_prot = pVar10;\n    if (pVar10 == PROT_PRIVATE) {\n      conn->command_prot = PROT_PRIVATE;\n      return CURLE_OK;\n    }\n  }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n    if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);\n    }\n    conn->data_prot = pVar10;\n    if (pVar10 == PROT_PRIVATE) {\n      conn->command_prot = PROT_PRIVATE;\n      return CURLE_OK;\n    }\n  }" { (if_statement "if (99 < iVar4 - 200U) {\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);\n    }" if (parenthesized_expression "(99 < iVar4 - 200U)" ( (binary_expression "99 < iVar4 - 200U" number_literal < (binary_expression "iVar4 - 200U" identifier - number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);\n    }" { comment (expression_statement "Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44);" (call_expression "Curl_failf(conn->data,PTR_UINT_000a6194 + -0x3b44)" identifier (argument_list "(conn->data,PTR_UINT_000a6194 + -0x3b44)" ( (field_expression "conn->data" identifier -> field_identifier) , (binary_expression "PTR_UINT_000a6194 + -0x3b44" identifier + number_literal) ))) ;) })) (expression_statement "conn->data_prot = pVar10;" (assignment_expression "conn->data_prot = pVar10" (field_expression "conn->data_prot" identifier -> field_identifier) = identifier) ;) (if_statement "if (pVar10 == PROT_PRIVATE) {\n      conn->command_prot = PROT_PRIVATE;\n      return CURLE_OK;\n    }" if (parenthesized_expression "(pVar10 == PROT_PRIVATE)" ( (binary_expression "pVar10 == PROT_PRIVATE" identifier == identifier) )) (compound_statement "{\n      conn->command_prot = PROT_PRIVATE;\n      return CURLE_OK;\n    }" { (expression_statement "conn->command_prot = PROT_PRIVATE;" (assignment_expression "conn->command_prot = PROT_PRIVATE" (field_expression "conn->command_prot" identifier -> field_identifier) = identifier) ;) (return_statement "return CURLE_OK;" return identifier ;) })) })) (return_statement "return CURLE_OK;" return identifier ;) })))
(translation_unit "undefined4 FUN_0003dfb8(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_0003dfb8(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_0003dfb8(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (expression_statement "puVar1 = PTR_PTR_s_GSSAPI_000a65e8;" (assignment_expression "puVar1 = PTR_PTR_s_GSSAPI_000a65e8" identifier = identifier) ;) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));" (assignment_expression "iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" identifier = (call_expression "(**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" (parenthesized_expression "(**(code **)PTR_PTR_realloc_000a6298)" ( (pointer_expression "**(code **)PTR_PTR_realloc_000a6298" * (pointer_expression "*(code **)PTR_PTR_realloc_000a6298" * (cast_expression "(code **)PTR_PTR_realloc_000a6298" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" ( (subscript_expression "param_1[0xbc]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4)" * (cast_expression "(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_GSSAPI_000a65e8 + 4)" ( (binary_expression "PTR_PTR_s_GSSAPI_000a65e8 + 4" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }" { (expression_statement "FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));" (call_expression "FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3cb8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(puVar1 + 4)" * (cast_expression "(undefined4 *)(puVar1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 4)" ( (binary_expression "puVar1 + 4" identifier + number_literal) )))) ))) ;) (return_statement "return 0x1b;" return number_literal ;) })) (expression_statement "pcVar7 = *(code **)(puVar1 + 8);" (assignment_expression "pcVar7 = *(code **)(puVar1 + 8)" identifier = (pointer_expression "*(code **)(puVar1 + 8)" * (cast_expression "(code **)(puVar1 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) ))))) ;) (expression_statement "param_1[0xbc] = iVar2;" (assignment_expression "param_1[0xbc] = iVar2" (subscript_expression "param_1[0xbc]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }" if (parenthesized_expression "((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0))" ( (binary_expression "(pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)" (parenthesized_expression "(pcVar7 != (code *)0x0)" ( (binary_expression "pcVar7 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar2 = (*pcVar7)(iVar2), iVar2 != 0)" ( (comma_expression "iVar2 = (*pcVar7)(iVar2), iVar2 != 0" (assignment_expression "iVar2 = (*pcVar7)(iVar2)" identifier = (call_expression "(*pcVar7)(iVar2)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(iVar2)" ( identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c9c" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 2;" return number_literal ;) })) (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c70" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" identifier = (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" identifier (argument_list "(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x63b4" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 < 0) {\n    return 7;\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    return 7;\n  }" { (return_statement "return 7;" return number_literal ;) })) (if_statement "if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }" if (parenthesized_expression "(99 < iVar2 - 300U)" ( (binary_expression "99 < iVar2 - 300U" number_literal < (binary_expression "iVar2 - 300U" identifier - number_literal)) )) (compound_statement "{\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }" { (if_statement "if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }" if (parenthesized_expression "(iVar2 == 0x1f8)" ( (binary_expression "iVar2 == 0x1f8" identifier == number_literal) )) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c58" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 0x43;" return number_literal ;) })) (if_statement "if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }" if (parenthesized_expression "(iVar2 == 0x216)" ( (binary_expression "iVar2 == 0x216" identifier == number_literal) )) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3c08" identifier + number_literal) , (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 0x43;" return number_literal ;) })) (if_statement "if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }" if (parenthesized_expression "(iVar2 - 500U < 100)" ( (binary_expression "iVar2 - 500U < 100" (binary_expression "iVar2 - 500U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }" { (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc)" identifier (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3bbc)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3bbc" identifier + number_literal) ))) ;) (return_statement "return 0x40;" return number_literal ;) })) (return_statement "return 0x43;" return number_literal ;) })) (expression_statement "iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);" (assignment_expression "iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1)" identifier = (call_expression "(**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1)" (parenthesized_expression "(**(code **)(puVar1 + 0xc))" ( (pointer_expression "**(code **)(puVar1 + 0xc)" * (pointer_expression "*(code **)(puVar1 + 0xc)" * (cast_expression "(code **)(puVar1 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 0xc)" ( (binary_expression "puVar1 + 0xc" identifier + number_literal) ))))) )) (argument_list "(param_1[0xbc],param_1)" ( (subscript_expression "param_1[0xbc]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar2 == 1) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar2 != 0) {\n    return 0xffffffff;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    return 0xffffffff;\n  }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (expression_statement "iVar2 = param_1[0xb6];" (assignment_expression "iVar2 = param_1[0xb6]" identifier = (subscript_expression "param_1[0xb6]" identifier [ number_literal ])) ;) (expression_statement "puVar3 = PTR_LAB_000a6544 + -0x2b2c;" (assignment_expression "puVar3 = PTR_LAB_000a6544 + -0x2b2c" identifier = (binary_expression "PTR_LAB_000a6544 + -0x2b2c" identifier + number_literal)) ;) (expression_statement "puVar4 = PTR_LAB_000a6544 + -0x2594;" (assignment_expression "puVar4 = PTR_LAB_000a6544 + -0x2594" identifier = (binary_expression "PTR_LAB_000a6544 + -0x2594" identifier + number_literal)) ;) (expression_statement "param_1[0xbd] = (int)puVar1;" (assignment_expression "param_1[0xbd] = (int)puVar1" (subscript_expression "param_1[0xbd]" identifier [ number_literal ]) = (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x6d] = (int)puVar3;" (assignment_expression "param_1[0x6d] = (int)puVar3" (subscript_expression "param_1[0x6d]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x6e] = (int)puVar3;" (assignment_expression "param_1[0x6e] = (int)puVar3" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0xb3] = 1;" (assignment_expression "param_1[0xb3] = 1" (subscript_expression "param_1[0xb3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x6b] = (int)puVar4;" (assignment_expression "param_1[0x6b] = (int)puVar4" (subscript_expression "param_1[0x6b]" identifier [ number_literal ]) = (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x6c] = (int)puVar4;" (assignment_expression "param_1[0x6c] = (int)puVar4" (subscript_expression "param_1[0x6c]" identifier [ number_literal ]) = (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0xb4] = 2;" (assignment_expression "param_1[0xb4] = 2" (subscript_expression "param_1[0xb4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR_DAT_000a612c;" (assignment_expression "puVar1 = PTR_DAT_000a612c" identifier = identifier) ;) (if_statement "if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 == param_1[0xb5])" ( (binary_expression "iVar2 == param_1[0xb5]" identifier == (subscript_expression "param_1[0xb5]" identifier [ number_literal ])) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }" { (expression_statement "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));" (assignment_expression "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" identifier = (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" identifier (argument_list "(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3b88" identifier + number_literal) , (pointer_expression "*(undefined4 *)(PTR_DAT_000a612c + 0x6060)" * (cast_expression "(undefined4 *)(PTR_DAT_000a612c + 0x6060)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a612c + 0x6060)" ( (binary_expression "PTR_DAT_000a612c + 0x6060" identifier + number_literal) )))) )))) ;) (expression_statement "puVar3 = PTR_strstr_000a701c;" (assignment_expression "puVar3 = PTR_strstr_000a701c" identifier = identifier) ;) (if_statement "if (iVar6 < 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }" if (parenthesized_expression "(99 < iVar6 - 200U)" ( (binary_expression "99 < iVar6 - 200U" number_literal < (binary_expression "iVar6 - 200U" identifier - number_literal)) )) (compound_statement "{\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }" { (expression_statement "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);" (call_expression "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80)" identifier (argument_list "(*param_1,PTR_UINT_000a6194 + -0x3b80)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_UINT_000a6194 + -0x3b80" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar5 = *(undefined4 *)(*param_1 + 0xc94);" (assignment_expression "uVar5 = *(undefined4 *)(*param_1 + 0xc94)" identifier = (pointer_expression "*(undefined4 *)(*param_1 + 0xc94)" * (cast_expression "(undefined4 *)(*param_1 + 0xc94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0xc94)" ( (binary_expression "*param_1 + 0xc94" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "puVar4 = PTR_UINT_000a6194 + -0x3b54;" (assignment_expression "puVar4 = PTR_UINT_000a6194 + -0x3b54" identifier = (binary_expression "PTR_UINT_000a6194 + -0x3b54" identifier + number_literal)) ;) (expression_statement "param_1[0xb7] = *(int *)(puVar1 + 0x6060);" (assignment_expression "param_1[0xb7] = *(int *)(puVar1 + 0x6060)" (subscript_expression "param_1[0xb7]" identifier [ number_literal ]) = (pointer_expression "*(int *)(puVar1 + 0x6060)" * (cast_expression "(int *)(puVar1 + 0x6060)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)puVar3)(uVar5,puVar4);" (assignment_expression "iVar6 = (*(code *)puVar3)(uVar5,puVar4)" identifier = (call_expression "(*(code *)puVar3)(uVar5,puVar4)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,puVar4)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }" { (expression_statement "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);" (call_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" (parenthesized_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)" ( (pointer_expression "*(code *)PTR___isoc99_sscanf_000a6ce4" * (cast_expression "(code *)PTR___isoc99_sscanf_000a6ce4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x3b4c" identifier + number_literal) , (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))) ;) (if_statement "if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }" if (parenthesized_expression "(*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7])" ( (binary_expression "*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]" (pointer_expression "*(uint *)(puVar1 + 0x6060)" * (cast_expression "(uint *)(puVar1 + 0x6060)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) )))) < (cast_expression "(uint)param_1[0xb7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xb7]" identifier [ number_literal ]))) )) (compound_statement "{\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }" { (expression_statement "param_1[0xb7] = *(uint *)(puVar1 + 0x6060);" (assignment_expression "param_1[0xb7] = *(uint *)(puVar1 + 0x6060)" (subscript_expression "param_1[0xb7]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(puVar1 + 0x6060)" * (cast_expression "(uint *)(puVar1 + 0x6060)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x6060)" ( (binary_expression "puVar1 + 0x6060" identifier + number_literal) ))))) ;) })) })) (if_statement "if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }" if (parenthesized_expression "(iVar2 - 1U < 4)" ( (binary_expression "iVar2 - 1U < 4" (binary_expression "iVar2 - 1U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }" { (expression_statement "iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];" (assignment_expression "iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" identifier = (cast_expression "(int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "PTR_UINT_000a6194[iVar2 + -0x3b01]" identifier [ (binary_expression "iVar2 + -0x3b01" identifier + number_literal) ])))) ;) (goto_statement "goto LAB_0003e108;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = 0x50;" (assignment_expression "iVar6 = 0x50" identifier = number_literal) ;) (labeled_statement "LAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);" statement_identifier : (expression_statement "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);" (assignment_expression "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" identifier = (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" identifier (argument_list "(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" ( identifier , (binary_expression "PTR_UINT_000a6194 + -0x638c" identifier + number_literal) , identifier )))) ;)) (if_statement "if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }" { (if_statement "if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }" if (parenthesized_expression "(99 < iVar6 - 200U)" ( (binary_expression "99 < iVar6 - 200U" number_literal < (binary_expression "iVar6 - 200U" identifier - number_literal)) )) (compound_statement "{\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }" { (expression_statement "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);" (call_expression "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44)" identifier (argument_list "(*param_1,PTR_UINT_000a6194 + -0x3b44)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_UINT_000a6194 + -0x3b44" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1[0xb5] = iVar2;" (assignment_expression "param_1[0xb5] = iVar2" (subscript_expression "param_1[0xb5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (compound_statement "{\n      param_1[0xb4] = 4;\n      return 0;\n    }" { (expression_statement "param_1[0xb4] = 4;" (assignment_expression "param_1[0xb4] = 4" (subscript_expression "param_1[0xb4]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return LIT ;) })) })) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_0003dfb8(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_0003dfb8(int *param_1)" (identifier "FUN_0003dfb8") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  int iVar6;\n  code *pcVar7;\n  \n  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;\n  iVar6 = *param_1;\n  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));\n  if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }\n  pcVar7 = *(code **)(puVar1 + 8);\n  param_1[0xbc] = iVar2;\n  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }\n  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);\n  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);\n  if (iVar2 < 0) {\n    return 7;\n  }\n  if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }\n  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);\n  if (iVar2 == 1) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    return 0xffffffff;\n  }\n  iVar2 = param_1[0xb6];\n  puVar3 = PTR_LAB_000a6544 + -0x2b2c;\n  puVar4 = PTR_LAB_000a6544 + -0x2594;\n  param_1[0xbd] = (int)puVar1;\n  param_1[0x6d] = (int)puVar3;\n  param_1[0x6e] = (int)puVar3;\n  param_1[0xb3] = 1;\n  param_1[0x6b] = (int)puVar4;\n  param_1[0x6c] = (int)puVar4;\n  param_1[0xb4] = 2;\n  puVar1 = PTR_DAT_000a612c;\n  if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }\n  if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }\n  iVar6 = 0x50;\nLAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);\n  if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }\n  return 0;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "code *pcVar7;" (type_identifier "code") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (expression_statement "puVar1 = PTR_PTR_s_GSSAPI_000a65e8;" (assignment_expression "puVar1 = PTR_PTR_s_GSSAPI_000a65e8" (identifier "puVar1") (= "=") (identifier "PTR_PTR_s_GSSAPI_000a65e8")) (; ";")) (expression_statement "iVar6 = *param_1;" (assignment_expression "iVar6 = *param_1" (identifier "iVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));" (assignment_expression "iVar2 = (**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" (identifier "iVar2") (= "=") (call_expression "(**(code **)PTR_PTR_realloc_000a6298)\n                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" (parenthesized_expression "(**(code **)PTR_PTR_realloc_000a6298)" (( "(") (pointer_expression "**(code **)PTR_PTR_realloc_000a6298" (* "*") (pointer_expression "*(code **)PTR_PTR_realloc_000a6298" (* "*") (cast_expression "(code **)PTR_PTR_realloc_000a6298" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_realloc_000a6298")))) () ")")) (argument_list "(param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4))" (( "(") (subscript_expression "param_1[0xbc]" (identifier "param_1") ([ "[") (number_literal "0xbc") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4)" (* "*") (cast_expression "(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_PTR_s_GSSAPI_000a65e8 + 4)" (( "(") (binary_expression "PTR_PTR_s_GSSAPI_000a65e8 + 4" (identifier "PTR_PTR_s_GSSAPI_000a65e8") (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));\n    return 0x1b;\n  }" ({ "{") (expression_statement "FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));" (call_expression "FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" (identifier "FUN_00026280") (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4))" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3cb8" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3cb8")) (, ",") (pointer_expression "*(undefined4 *)(puVar1 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 4)" (( "(") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";")) (return_statement "return 0x1b;" (return "return") (number_literal "0x1b") (; ";")) (} "}"))) (expression_statement "pcVar7 = *(code **)(puVar1 + 8);" (assignment_expression "pcVar7 = *(code **)(puVar1 + 8)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(puVar1 + 8)" (* "*") (cast_expression "(code **)(puVar1 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + 8)" (( "(") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "param_1[0xbc] = iVar2;" (assignment_expression "param_1[0xbc] = iVar2" (subscript_expression "param_1[0xbc]" (identifier "param_1") ([ "[") (number_literal "0xbc") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (if_statement "if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }" (if "if") (parenthesized_expression "((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0))" (( "(") (binary_expression "(pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)" (parenthesized_expression "(pcVar7 != (code *)0x0)" (( "(") (binary_expression "pcVar7 != (code *)0x0" (identifier "pcVar7") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = (*pcVar7)(iVar2), iVar2 != 0)" (( "(") (comma_expression "iVar2 = (*pcVar7)(iVar2), iVar2 != 0" (assignment_expression "iVar2 = (*pcVar7)(iVar2)" (identifier "iVar2") (= "=") (call_expression "(*pcVar7)(iVar2)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);\n    return 2;\n  }" ({ "{") (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" (identifier "FUN_00026140") (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3c9c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3c9c")) (, ",") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (return_statement "return 2;" (return "return") (number_literal "2") (; ";")) (} "}"))) (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" (identifier "FUN_00026140") (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3c70" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3c70")) (, ",") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (expression_statement "iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);" (assignment_expression "iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" (identifier "iVar2") (= "=") (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" (identifier "FUN_0003d990") (argument_list "(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x63b4" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x63b4")) (, ",") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")))) (; ";")) (if_statement "if (iVar2 < 0) {\n    return 7;\n  }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    return 7;\n  }" ({ "{") (return_statement "return 7;" (return "return") (number_literal "7") (; ";")) (} "}"))) (if_statement "if (99 < iVar2 - 300U) {\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }" (if "if") (parenthesized_expression "(99 < iVar2 - 300U)" (( "(") (binary_expression "99 < iVar2 - 300U" (number_literal "99") (< "<") (binary_expression "iVar2 - 300U" (identifier "iVar2") (- "-") (number_literal "300U"))) () ")")) (compound_statement "{\n    if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }\n    if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }\n    return 0x43;\n  }" ({ "{") (if_statement "if (iVar2 == 0x1f8) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0x1f8)" (( "(") (binary_expression "iVar2 == 0x1f8" (identifier "iVar2") (== "==") (number_literal "0x1f8")) () ")")) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);\n      return 0x43;\n    }" ({ "{") (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" (identifier "FUN_00026140") (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3c58" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3c58")) (, ",") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (return_statement "return 0x43;" (return "return") (number_literal "0x43") (; ";")) (} "}"))) (if_statement "if (iVar2 == 0x216) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0x216)" (( "(") (binary_expression "iVar2 == 0x216" (identifier "iVar2") (== "==") (number_literal "0x216")) () ")")) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);\n      return 0x43;\n    }" ({ "{") (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" (identifier "FUN_00026140") (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3c08" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3c08")) (, ",") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (return_statement "return 0x43;" (return "return") (number_literal "0x43") (; ";")) (} "}"))) (if_statement "if (iVar2 - 500U < 100) {\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }" (if "if") (parenthesized_expression "(iVar2 - 500U < 100)" (( "(") (binary_expression "iVar2 - 500U < 100" (binary_expression "iVar2 - 500U" (identifier "iVar2") (- "-") (number_literal "500U")) (< "<") (number_literal "100")) () ")")) (compound_statement "{\n      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);\n      return 0x40;\n    }" ({ "{") (expression_statement "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);" (call_expression "FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc)" (identifier "FUN_00026140") (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3bbc)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3bbc" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3bbc")) () ")"))) (; ";")) (return_statement "return 0x40;" (return "return") (number_literal "0x40") (; ";")) (} "}"))) (return_statement "return 0x43;" (return "return") (number_literal "0x43") (; ";")) (} "}"))) (expression_statement "iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);" (assignment_expression "iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1)" (parenthesized_expression "(**(code **)(puVar1 + 0xc))" (( "(") (pointer_expression "**(code **)(puVar1 + 0xc)" (* "*") (pointer_expression "*(code **)(puVar1 + 0xc)" (* "*") (cast_expression "(code **)(puVar1 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + 0xc)" (( "(") (binary_expression "puVar1 + 0xc" (identifier "puVar1") (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(param_1[0xbc],param_1)" (( "(") (subscript_expression "param_1[0xbc]" (identifier "param_1") ([ "[") (number_literal "0xbc") (] "]")) (, ",") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar2 == 1) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar2 == 1)" (( "(") (binary_expression "iVar2 == 1" (identifier "iVar2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (iVar2 != 0) {\n    return 0xffffffff;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return 0xffffffff;\n  }" ({ "{") (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}"))) (expression_statement "iVar2 = param_1[0xb6];" (assignment_expression "iVar2 = param_1[0xb6]" (identifier "iVar2") (= "=") (subscript_expression "param_1[0xb6]" (identifier "param_1") ([ "[") (number_literal "0xb6") (] "]"))) (; ";")) (expression_statement "puVar3 = PTR_LAB_000a6544 + -0x2b2c;" (assignment_expression "puVar3 = PTR_LAB_000a6544 + -0x2b2c" (identifier "puVar3") (= "=") (binary_expression "PTR_LAB_000a6544 + -0x2b2c" (identifier "PTR_LAB_000a6544") (+ "+") (number_literal "-0x2b2c"))) (; ";")) (expression_statement "puVar4 = PTR_LAB_000a6544 + -0x2594;" (assignment_expression "puVar4 = PTR_LAB_000a6544 + -0x2594" (identifier "puVar4") (= "=") (binary_expression "PTR_LAB_000a6544 + -0x2594" (identifier "PTR_LAB_000a6544") (+ "+") (number_literal "-0x2594"))) (; ";")) (expression_statement "param_1[0xbd] = (int)puVar1;" (assignment_expression "param_1[0xbd] = (int)puVar1" (subscript_expression "param_1[0xbd]" (identifier "param_1") ([ "[") (number_literal "0xbd") (] "]")) (= "=") (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1"))) (; ";")) (expression_statement "param_1[0x6d] = (int)puVar3;" (assignment_expression "param_1[0x6d] = (int)puVar3" (subscript_expression "param_1[0x6d]" (identifier "param_1") ([ "[") (number_literal "0x6d") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "param_1[0x6e] = (int)puVar3;" (assignment_expression "param_1[0x6e] = (int)puVar3" (subscript_expression "param_1[0x6e]" (identifier "param_1") ([ "[") (number_literal "0x6e") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "param_1[0xb3] = 1;" (assignment_expression "param_1[0xb3] = 1" (subscript_expression "param_1[0xb3]" (identifier "param_1") ([ "[") (number_literal "0xb3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x6b] = (int)puVar4;" (assignment_expression "param_1[0x6b] = (int)puVar4" (subscript_expression "param_1[0x6b]" (identifier "param_1") ([ "[") (number_literal "0x6b") (] "]")) (= "=") (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4"))) (; ";")) (expression_statement "param_1[0x6c] = (int)puVar4;" (assignment_expression "param_1[0x6c] = (int)puVar4" (subscript_expression "param_1[0x6c]" (identifier "param_1") ([ "[") (number_literal "0x6c") (] "]")) (= "=") (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4"))) (; ";")) (expression_statement "param_1[0xb4] = 2;" (assignment_expression "param_1[0xb4] = 2" (subscript_expression "param_1[0xb4]" (identifier "param_1") ([ "[") (number_literal "0xb4") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar1 = PTR_DAT_000a612c;" (assignment_expression "puVar1 = PTR_DAT_000a612c" (identifier "puVar1") (= "=") (identifier "PTR_DAT_000a612c")) (; ";")) (if_statement "if (iVar2 == param_1[0xb5]) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar2 == param_1[0xb5])" (( "(") (binary_expression "iVar2 == param_1[0xb5]" (identifier "iVar2") (== "==") (subscript_expression "param_1[0xb5]" (identifier "param_1") ([ "[") (number_literal "0xb5") (] "]"))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (iVar2 != 0) {\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));\n    puVar3 = PTR_strstr_000a701c;\n    if (iVar6 < 0) {\n      return 0;\n    }\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }\n    uVar5 = *(undefined4 *)(*param_1 + 0xc94);\n    puVar4 = PTR_UINT_000a6194 + -0x3b54;\n    param_1[0xb7] = *(int *)(puVar1 + 0x6060);\n    iVar6 = (*(code *)puVar3)(uVar5,puVar4);\n    if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }\n    if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }\n  }" ({ "{") (expression_statement "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));" (assignment_expression "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" (identifier "iVar6") (= "=") (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" (identifier "FUN_0003d990") (argument_list "(param_1,PTR_UINT_000a6194 + -0x3b88,\n                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060))" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3b88" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3b88")) (, ",") (pointer_expression "*(undefined4 *)(PTR_DAT_000a612c + 0x6060)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_000a612c + 0x6060)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000a612c + 0x6060)" (( "(") (binary_expression "PTR_DAT_000a612c + 0x6060" (identifier "PTR_DAT_000a612c") (+ "+") (number_literal "0x6060")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar3 = PTR_strstr_000a701c;" (assignment_expression "puVar3 = PTR_strstr_000a701c" (identifier "puVar3") (= "=") (identifier "PTR_strstr_000a701c")) (; ";")) (if_statement "if (iVar6 < 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar6 < 0)" (( "(") (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }" (if "if") (parenthesized_expression "(99 < iVar6 - 200U)" (( "(") (binary_expression "99 < iVar6 - 200U" (number_literal "99") (< "<") (binary_expression "iVar6 - 200U" (identifier "iVar6") (- "-") (number_literal "200U"))) () ")")) (compound_statement "{\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);\n      return 0;\n    }" ({ "{") (expression_statement "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);" (call_expression "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80)" (identifier "FUN_00026280") (argument_list "(*param_1,PTR_UINT_000a6194 + -0x3b80)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3b80" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3b80")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar5 = *(undefined4 *)(*param_1 + 0xc94);" (assignment_expression "uVar5 = *(undefined4 *)(*param_1 + 0xc94)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(*param_1 + 0xc94)" (* "*") (cast_expression "(undefined4 *)(*param_1 + 0xc94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0xc94)" (( "(") (binary_expression "*param_1 + 0xc94" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xc94")) () ")"))))) (; ";")) (expression_statement "puVar4 = PTR_UINT_000a6194 + -0x3b54;" (assignment_expression "puVar4 = PTR_UINT_000a6194 + -0x3b54" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_000a6194 + -0x3b54" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3b54"))) (; ";")) (expression_statement "param_1[0xb7] = *(int *)(puVar1 + 0x6060);" (assignment_expression "param_1[0xb7] = *(int *)(puVar1 + 0x6060)" (subscript_expression "param_1[0xb7]" (identifier "param_1") ([ "[") (number_literal "0xb7") (] "]")) (= "=") (pointer_expression "*(int *)(puVar1 + 0x6060)" (* "*") (cast_expression "(int *)(puVar1 + 0x6060)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x6060)" (( "(") (binary_expression "puVar1 + 0x6060" (identifier "puVar1") (+ "+") (number_literal "0x6060")) () ")"))))) (; ";")) (expression_statement "iVar6 = (*(code *)puVar3)(uVar5,puVar4);" (assignment_expression "iVar6 = (*(code *)puVar3)(uVar5,puVar4)" (identifier "iVar6") (= "=") (call_expression "(*(code *)puVar3)(uVar5,puVar4)" (parenthesized_expression "(*(code *)puVar3)" (( "(") (pointer_expression "*(code *)puVar3" (* "*") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (argument_list "(uVar5,puVar4)" (( "(") (identifier "uVar5") (, ",") (identifier "puVar4") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);\n      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }\n    }" ({ "{") (expression_statement "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);" (call_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" (parenthesized_expression "(*(code *)PTR___isoc99_sscanf_000a6ce4)" (( "(") (pointer_expression "*(code *)PTR___isoc99_sscanf_000a6ce4" (* "*") (cast_expression "(code *)PTR___isoc99_sscanf_000a6ce4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___isoc99_sscanf_000a6ce4"))) () ")")) (argument_list "(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060)" (( "(") (identifier "iVar6") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3b4c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3b4c")) (, ",") (binary_expression "puVar1 + 0x6060" (identifier "puVar1") (+ "+") (number_literal "0x6060")) () ")"))) (; ";")) (if_statement "if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }" (if "if") (parenthesized_expression "(*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7])" (( "(") (binary_expression "*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]" (pointer_expression "*(uint *)(puVar1 + 0x6060)" (* "*") (cast_expression "(uint *)(puVar1 + 0x6060)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x6060)" (( "(") (binary_expression "puVar1 + 0x6060" (identifier "puVar1") (+ "+") (number_literal "0x6060")) () ")")))) (< "<") (cast_expression "(uint)param_1[0xb7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xb7]" (identifier "param_1") ([ "[") (number_literal "0xb7") (] "]")))) () ")")) (compound_statement "{\n        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);\n      }" ({ "{") (expression_statement "param_1[0xb7] = *(uint *)(puVar1 + 0x6060);" (assignment_expression "param_1[0xb7] = *(uint *)(puVar1 + 0x6060)" (subscript_expression "param_1[0xb7]" (identifier "param_1") ([ "[") (number_literal "0xb7") (] "]")) (= "=") (pointer_expression "*(uint *)(puVar1 + 0x6060)" (* "*") (cast_expression "(uint *)(puVar1 + 0x6060)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x6060)" (( "(") (binary_expression "puVar1 + 0x6060" (identifier "puVar1") (+ "+") (number_literal "0x6060")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar2 - 1U < 4) {\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }" (if "if") (parenthesized_expression "(iVar2 - 1U < 4)" (( "(") (binary_expression "iVar2 - 1U < 4" (binary_expression "iVar2 - 1U" (identifier "iVar2") (- "-") (number_literal "1U")) (< "<") (number_literal "4")) () ")")) (compound_statement "{\n      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];\n      goto LAB_0003e108;\n    }" ({ "{") (expression_statement "iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];" (assignment_expression "iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" (identifier "iVar6") (= "=") (cast_expression "(int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)PTR_UINT_000a6194[iVar2 + -0x3b01]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "PTR_UINT_000a6194[iVar2 + -0x3b01]" (identifier "PTR_UINT_000a6194") ([ "[") (binary_expression "iVar2 + -0x3b01" (identifier "iVar2") (+ "+") (number_literal "-0x3b01")) (] "]"))))) (; ";")) (goto_statement "goto LAB_0003e108;" (goto "goto") (statement_identifier "LAB_0003e108") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = 0x50;" (assignment_expression "iVar6 = 0x50" (identifier "iVar6") (= "=") (number_literal "0x50")) (; ";")) (labeled_statement "LAB_0003e108:\n  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);" (statement_identifier "LAB_0003e108") (: ":") (expression_statement "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);" (assignment_expression "iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" (identifier "iVar6") (= "=") (call_expression "FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" (identifier "FUN_0003d990") (argument_list "(param_1,PTR_UINT_000a6194 + -0x638c,iVar6)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_UINT_000a6194 + -0x638c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x638c")) (, ",") (identifier "iVar6") () ")")))) (; ";"))) (if_statement "if (-1 < iVar6) {\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }" (if "if") (parenthesized_expression "(-1 < iVar6)" (( "(") (binary_expression "-1 < iVar6" (number_literal "-1") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n    if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }\n    param_1[0xb5] = iVar2;\n    if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }\n  }" ({ "{") (if_statement "if (99 < iVar6 - 200U) {\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }" (if "if") (parenthesized_expression "(99 < iVar6 - 200U)" (( "(") (binary_expression "99 < iVar6 - 200U" (number_literal "99") (< "<") (binary_expression "iVar6 - 200U" (identifier "iVar6") (- "-") (number_literal "200U"))) () ")")) (compound_statement "{\n      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);\n      return 0;\n    }" ({ "{") (expression_statement "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);" (call_expression "FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44)" (identifier "FUN_00026280") (argument_list "(*param_1,PTR_UINT_000a6194 + -0x3b44)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (binary_expression "PTR_UINT_000a6194 + -0x3b44" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "-0x3b44")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_1[0xb5] = iVar2;" (assignment_expression "param_1[0xb5] = iVar2" (subscript_expression "param_1[0xb5]" (identifier "param_1") ([ "[") (number_literal "0xb5") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (iVar2 == 4) {\n      param_1[0xb4] = 4;\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      param_1[0xb4] = 4;\n      return 0;\n    }" ({ "{") (expression_statement "param_1[0xb4] = 4;" (assignment_expression "param_1[0xb4] = 4" (subscript_expression "param_1[0xb4]" (identifier "param_1") ([ "[") (number_literal "0xb4") (] "]")) (= "=") (number_literal "4")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))
(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))))) body: (compound_statement (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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (return_statement (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (return_statement (number_literal)))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (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: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (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) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal))))) (return_statement (number_literal)))) (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 (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement (number_literal)))))) (return_statement (number_literal)))))

undefined4 MASKED(int *param_1)

{
  undefined *puVar1;
  int iVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined4 uVar5;
  int iVar6;
  code *pcVar7;
  
  puVar1 = PTR_PTR_s_GSSAPI_000a65e8;
  iVar6 = *param_1;
  iVar2 = (**(code **)PTR_PTR_realloc_000a6298)
                    (param_1[0xbc],*(undefined4 *)(PTR_PTR_s_GSSAPI_000a65e8 + 4));
  if (iVar2 == 0) {
    FUN_00026280(iVar6,PTR_UINT_000a6194 + -0x3cb8,*(undefined4 *)(puVar1 + 4));
    return 0x1b;
  }
  pcVar7 = *(code **)(puVar1 + 8);
  param_1[0xbc] = iVar2;
  if ((pcVar7 != (code *)0x0) && (iVar2 = (*pcVar7)(iVar2), iVar2 != 0)) {
    FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c9c,*(undefined4 *)puVar1);
    return 2;
  }
  FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c70,*(undefined4 *)puVar1);
  iVar2 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x63b4,*(undefined4 *)puVar1);
  if (iVar2 < 0) {
    return 7;
  }
  if (99 < iVar2 - 300U) {
    if (iVar2 == 0x1f8) {
      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c58,*(undefined4 *)puVar1);
      return 0x43;
    }
    if (iVar2 == 0x216) {
      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3c08,*(undefined4 *)puVar1);
      return 0x43;
    }
    if (iVar2 - 500U < 100) {
      FUN_00026140(iVar6,PTR_UINT_000a6194 + -0x3bbc);
      return 0x40;
    }
    return 0x43;
  }
  iVar2 = (**(code **)(puVar1 + 0xc))(param_1[0xbc],param_1);
  if (iVar2 == 1) {
    return 0;
  }
  if (iVar2 != 0) {
    return 0xffffffff;
  }
  iVar2 = param_1[0xb6];
  puVar3 = PTR_LAB_000a6544 + -0x2b2c;
  puVar4 = PTR_LAB_000a6544 + -0x2594;
  param_1[0xbd] = (int)puVar1;
  param_1[0x6d] = (int)puVar3;
  param_1[0x6e] = (int)puVar3;
  param_1[0xb3] = 1;
  param_1[0x6b] = (int)puVar4;
  param_1[0x6c] = (int)puVar4;
  param_1[0xb4] = 2;
  puVar1 = PTR_DAT_000a612c;
  if (iVar2 == param_1[0xb5]) {
    return 0;
  }
  if (iVar2 != 0) {
    iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x3b88,
                         *(undefined4 *)(PTR_DAT_000a612c + 0x6060));
    puVar3 = PTR_strstr_000a701c;
    if (iVar6 < 0) {
      return 0;
    }
    if (99 < iVar6 - 200U) {
      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b80);
      return 0;
    }
    uVar5 = *(undefined4 *)(*param_1 + 0xc94);
    puVar4 = PTR_UINT_000a6194 + -0x3b54;
    param_1[0xb7] = *(int *)(puVar1 + 0x6060);
    iVar6 = (*(code *)puVar3)(uVar5,puVar4);
    if (iVar6 != 0) {
      (*(code *)PTR___isoc99_sscanf_000a6ce4)(iVar6,PTR_UINT_000a6194 + -0x3b4c,puVar1 + 0x6060);
      if (*(uint *)(puVar1 + 0x6060) < (uint)param_1[0xb7]) {
        param_1[0xb7] = *(uint *)(puVar1 + 0x6060);
      }
    }
    if (iVar2 - 1U < 4) {
      iVar6 = (int)(char)PTR_UINT_000a6194[iVar2 + -0x3b01];
      goto LAB_0003e108;
    }
  }
  iVar6 = 0x50;
LAB_0003e108:
  iVar6 = FUN_0003d990(param_1,PTR_UINT_000a6194 + -0x638c,iVar6);
  if (-1 < iVar6) {
    if (99 < iVar6 - 200U) {
      FUN_00026280(*param_1,PTR_UINT_000a6194 + -0x3b44);
      return 0;
    }
    param_1[0xb5] = iVar2;
    if (iVar2 == 4) {
      param_1[0xb4] = 4;
      return 0;
    }
  }
  return 0;
}

