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

CURLcode Curl_http2_switched(connectdata *conn,char *mem,size_t nread)

{
  undefined *puVar1;
  undefined *puVar2;
  CURLcode CVar3;
  Curl_multi *pCVar4;
  curl_push_callback p_Var5;
  int iVar6;
  size_t sVar7;
  undefined4 uVar8;
  char *pcVar9;
  Curl_easy *pCVar10;
  upgrade101 uVar11;
  Curl_recv *pCVar12;
  Curl_easy *data;
  void *pvVar13;
  
  data = conn->data;
  pvVar13 = (data->req).protop;
  CVar3 = Curl_http2_setup(conn);
  if (CVar3 == CURLE_OK) {
    pCVar10 = conn->data;
    pCVar12 = conn->recv[0];
    pcVar9 = (conn->proto).ftpc.pp.cache;
    uVar11 = (pCVar10->req).upgr101;
    (conn->proto).ftpc.prevpath = (char *)conn->send[0];
    puVar1 = PTR_LAB_000a680c;
    (conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12;
    conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54);
    conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c);
    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;
    puVar1 = PTR_nghttp2_submit_settings_000a6b34;
    if (uVar11 == UPGR101_RECEIVED) {
      sVar7 = (conn->proto).httpc.binlen;
      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;
      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);
      if (iVar6 != 0) {
        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);
        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);
        return CURLE_HTTP2;
      }
      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)
                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);
      if (iVar6 != 0) {
        (*(code *)PTR_Curl_infof_000a61ac)
                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));
      }
    }
    else {
      pCVar4 = pCVar10->multi;
      (conn->proto).httpc.local_settings[0].value = 100;
      (conn->proto).httpc.local_settings[0].settings_id = 3;
      (conn->proto).httpc.local_settings[1].settings_id = 4;
      p_Var5 = pCVar4->push_cb;
      (conn->proto).httpc.local_settings[1].value = 0x40000000;
      (conn->proto).httpc.local_settings[2].settings_id = 2;
      (conn->proto).httpc.local_settings_num = 3;
      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);
      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;
      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);
      if (iVar6 != 0) {
        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);
        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);
        return CURLE_HTTP2;
      }
    }
    iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)
                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);
    if (iVar6 == 0) {
      if (0x8000 < nread) {
        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);
        return CURLE_HTTP2;
      }
      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);
      if (nread != 0) {
        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);
      }
      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;
      pcVar9 = (conn->proto).ftpc.pp.cache;
      (conn->proto).httpc.inbuflen = nread;
      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);
      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);
      if (iVar6 == 0) {
        if (nread == sVar7) {
          (conn->proto).ftpc.count1 = 0;
          (conn->proto).ftpc.count2 = 0;
        }
        else {
          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;
        }
        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);
        if (iVar6 == 0) {
          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);
          CVar3 = CURLE_HTTP2;
          if (iVar6 == 0) {
            CVar3 = CURLE_OK;
          }
        }
        else {
          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);
          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);
          CVar3 = CURLE_HTTP2;
        }
      }
      else {
        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);
        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);
        CVar3 = CURLE_HTTP2;
      }
    }
    else {
      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);
      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);
      CVar3 = CURLE_HTTP2;
    }
  }
  return CVar3;
}



int FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  
  iVar7 = *param_1;
  iVar8 = *(int *)(iVar7 + 0x154);
  iVar3 = FUN_0006af38();
  if (iVar3 == 0) {
    iVar3 = param_1[300];
    iVar6 = *(int *)(*param_1 + 0x120);
    param_1[0x142] = param_1[0x6d];
    puVar1 = PTR_LAB_000a680c;
    param_1[0x143] = param_1[0x6b];
    param_1[0x6b] = (int)(puVar1 + -0x5d54);
    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);
    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;
    puVar1 = PTR_nghttp2_submit_settings_000a6b34;
    if (iVar6 == 2) {
      iVar6 = param_1[0x141];
      *(undefined4 *)(iVar8 + 0x1b8) = 1;
      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);
      if (iVar3 != 0) {
        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);
        return 0x10;
      }
      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)
                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);
      if (iVar3 != 0) {
        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))
        ;
      }
    }
    else {
      iVar6 = *(int *)(*param_1 + 0x84);
      param_1[0x14c] = 100;
      param_1[0x14b] = 3;
      param_1[0x14d] = 4;
      iVar6 = *(int *)(iVar6 + 0x3c);
      param_1[0x14e] = 0x40000000;
      param_1[0x14f] = 2;
      param_1[0x151] = 3;
      param_1[0x150] = (uint)(iVar6 != 0);
      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;
      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);
      if (iVar3 != 0) {
        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);
        return 0x10;
      }
    }
    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)
                      (param_1[300],0,0,0x40000000);
    if (iVar3 == 0) {
      if (0x8000 < param_3) {
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);
        return 0x10;
      }
      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);
      if (param_3 != 0) {
        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);
      }
      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;
      param_1[0x145] = param_3;
      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);
      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);
      if (iVar3 == 0) {
        if (param_3 == uVar4) {
          param_1[0x145] = 0;
          param_1[0x146] = 0;
        }
        else {
          param_1[0x146] = param_1[0x146] + uVar4;
        }
        iVar3 = FUN_0006875c(iVar7,param_1[300]);
        if (iVar3 == 0) {
          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);
          iVar3 = 0x10;
          if (iVar7 == 0) {
            iVar3 = 0;
          }
        }
        else {
          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);
          iVar3 = 0x10;
        }
      }
      else {
        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);
        iVar3 = 0x10;
      }
    }
    else {
      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);
      iVar3 = 0x10;
    }
  }
  return iVar3;
}


lui gp,0x4
addiu gp,gp,0x3060
addu gp,gp,t9
addiu sp,sp,-0x38
lw t9,-0x7de8(gp)
sw s2,0x24(sp)
sw gp,0x10(sp)
sw s4,0x2c(sp)
or s4,a1,zero
sw s3,0x28(sp)
sw s1,0x20(sp)
or s1,a2,zero
sw s0,0x1c(sp)
or s0,a0,zero
sw ra,0x34(sp)
sw s5,0x30(sp)
lw s2,0x0(a0)
bal 0x0006af38
_lw s3,0x154(s2)
bne v0,zero,0x0006b278
_lw gp,0x10(sp)
lw a1,0x0(s0)
li v1,0x2
lw v0,0x1b4(s0)
lw a3,0x1ac(s0)
lw a0,0x4b0(s0)
lw a2,0x120(a1)
sw v0,0x508(s0)
lw v0,-0x7904(gp)
sw a3,0x50c(s0)
addiu v0,v0,-0x5d54
sw v0,0x1ac(s0)
lw v0,-0x7904(gp)
addiu v0,v0,-0x677c
beq a2,v1,0x0006b29c
_sw v0,0x1b4(s0)
lw v0,0x84(a1)
li a1,0x64
li t0,0x3
lw t9,-0x75dc(gp)
sw a1,0x530(s0)
li a1,0x4
li a3,0x3
sw t0,0x52c(s0)
sw a1,0x534(s0)
lui a1,0x4000
lw v0,0x3c(v0)
addiu a2,s0,0x52c
sw a1,0x538(s0)
or a1,zero,zero
sw v1,0x53c(s0)
sltu v0,zero,v0
sw t0,0x544(s0)
sw v0,0x540(s0)
li v0,-0x1
jalr t9
_sw v0,0x1b8(s3)
lw gp,0x10(sp)
bne v0,zero,0x0006b3d4
_or s3,v0,zero
lw t9,-0x76e0(gp)
lui a3,0x4000
lw a0,0x4b0(s0)
or a2,zero,zero
jalr t9
_or a1,zero,zero
lw gp,0x10(sp)
bne v0,zero,0x0006b3a0
_or s3,v0,zero
ori v0,zero,0x8001
sltu v0,s1,v0
beq v0,zero,0x0006b328
_or a2,s1,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7f64(gp)
lw a0,0x0(s0)
jalr t9
_addiu a1,a1,0x2554
bne s1,zero,0x0006b300
_lw gp,0x10(sp)
lw t9,-0x73c8(gp)
or a2,s1,zero
lw a1,0x510(s0)
lw a0,0x4b0(s0)
jalr t9
_sw s1,0x514(s0)
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x735c(gp)
jalr t9
_or s3,v0,zero
bne v0,zero,0x0006b43c
_lw gp,0x10(sp)
beq s1,s3,0x0006b31c
_nop
lw a3,0x518(s0)
addu a3,a3,s3
sw a3,0x518(s0)
lw t9,-0x7904(gp)
or a0,s2,zero
addiu t9,t9,-0x78a4
bal 0x0006875c
_lw a1,0x4b0(s0)
lw gp,0x10(sp)
bne v0,zero,0x0006b36c
_or s1,v0,zero
lw t9,-0x7904(gp)
addiu a0,s0,0x4b0
addiu t9,t9,-0x7494
bal 0x00068b6c
_lw a1,0x520(s0)
li v1,0x10
movz v1,zero,v0
or v0,v1,zero
lw ra,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x38
lw t9,-0x72d4(gp)
li v0,0x1
lw a2,0x504(s0)
or a3,zero,zero
addiu a1,s0,0x4b4
jalr t9
_sw v0,0x1b8(s3)
lw gp,0x10(sp)
bne v0,zero,0x0006b408
_or s5,v0,zero
lw t9,-0x7244(gp)
or a2,s2,zero
lw a1,0x1b8(s3)
jalr t9
_lw a0,0x4b0(s0)
beq v0,zero,0x0006b1a0
_lw gp,0x10(sp)
lw a1,-0x7f7c(gp)
or a0,s2,zero
lw t9,-0x7f64(gp)
lw a2,0x1b8(s3)
jalr t9
_addiu a1,a1,0x244c
b 0x0006b1a0
_lw gp,0x10(sp)
lw t9,-0x7224(gp)
or a2,s1,zero
lw a0,0x510(s0)
jalr t9
_or a1,s4,zero
b 0x0006b1f0
_lw gp,0x10(sp)
sw zero,0x514(s0)
b 0x0006b238
_sw zero,0x518(s0)
lw a1,-0x7f7c(gp)
ori a2,zero,0x8000
lw t9,-0x7fc4(gp)
or a3,s1,zero
or a0,s2,zero
jalr t9
_addiu a1,a1,0x24e0
li v0,0x10
lw ra,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x38
lw t9,-0x71a8(gp)
jalr t9
_or a0,v0,zero
or a3,s1,zero
lw gp,0x10(sp)
or a2,v0,zero
or a0,s2,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x1fa8
b 0x0006b278
_li v0,0x10
lw t9,-0x71a8(gp)
jalr t9
_or a0,v0,zero
or a3,s3,zero
lw gp,0x10(sp)
or a2,v0,zero
or a0,s2,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x24a8
b 0x0006b278
_li v0,0x10
lw t9,-0x71a8(gp)
jalr t9
_or a0,v0,zero
or a3,s3,zero
lw gp,0x10(sp)
or a2,v0,zero
or a0,s2,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x247c
b 0x0006b278
_li v0,0x10
lw t9,-0x71a8(gp)
jalr t9
_or a0,v0,zero
or a3,s5,zero
lw gp,0x10(sp)
or a2,v0,zero
or a0,s2,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x2420
b 0x0006b278
_li v0,0x10
lw t9,-0x71a8(gp)
jalr t9
_or a0,s3,zero
or a3,s3,zero
lw gp,0x10(sp)
or a2,v0,zero
or a0,s2,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x25a8
b 0x0006b278
_li v0,0x10
(translation_unit "int FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}\n\n" (function_definition "int FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}" primitive_type (function_declarator "FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)" identifier (parameter_list "(int *param_1,undefined4 param_2,uint param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (expression_statement "iVar7 = *param_1;" (assignment_expression "iVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar8 = *(int *)(iVar7 + 0x154);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x154)" identifier = (pointer_expression "*(int *)(iVar7 + 0x154)" * (cast_expression "(int *)(iVar7 + 0x154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x154)" ( (binary_expression "iVar7 + 0x154" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = FUN_0006af38();" (assignment_expression "iVar3 = FUN_0006af38()" identifier = (call_expression "FUN_0006af38()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }" { (expression_statement "iVar3 = param_1[300];" (assignment_expression "iVar3 = param_1[300]" identifier = (subscript_expression "param_1[300]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *(int *)(*param_1 + 0x120);" (assignment_expression "iVar6 = *(int *)(*param_1 + 0x120)" identifier = (pointer_expression "*(int *)(*param_1 + 0x120)" * (cast_expression "(int *)(*param_1 + 0x120)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x120)" ( (binary_expression "*param_1 + 0x120" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "param_1[0x142] = param_1[0x6d];" (assignment_expression "param_1[0x142] = param_1[0x6d]" (subscript_expression "param_1[0x142]" identifier [ number_literal ]) = (subscript_expression "param_1[0x6d]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = PTR_LAB_000a680c;" (assignment_expression "puVar1 = PTR_LAB_000a680c" identifier = identifier) ;) (expression_statement "param_1[0x143] = param_1[0x6b];" (assignment_expression "param_1[0x143] = param_1[0x6b]" (subscript_expression "param_1[0x143]" identifier [ number_literal ]) = (subscript_expression "param_1[0x6b]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x6b] = (int)(puVar1 + -0x5d54);" (assignment_expression "param_1[0x6b] = (int)(puVar1 + -0x5d54)" (subscript_expression "param_1[0x6b]" identifier [ number_literal ]) = (cast_expression "(int)(puVar1 + -0x5d54)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar1 + -0x5d54)" ( (binary_expression "puVar1 + -0x5d54" identifier + number_literal) )))) ;) (expression_statement "param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);" (assignment_expression "param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c)" (subscript_expression "param_1[0x6d]" identifier [ number_literal ]) = (cast_expression "(int)(PTR_LAB_000a680c + -0x677c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_LAB_000a680c + -0x677c)" ( (binary_expression "PTR_LAB_000a680c + -0x677c" identifier + number_literal) )))) ;) (expression_statement "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;" (assignment_expression "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c" identifier = identifier) ;) (expression_statement "puVar1 = PTR_nghttp2_submit_settings_000a6b34;" (assignment_expression "puVar1 = PTR_nghttp2_submit_settings_000a6b34" identifier = identifier) ;) (if_statement "if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" if (parenthesized_expression "(iVar6 == 2)" ( (binary_expression "iVar6 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }" { (expression_statement "iVar6 = param_1[0x141];" (assignment_expression "iVar6 = param_1[0x141]" identifier = (subscript_expression "param_1[0x141]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x1b8) = 1;" (assignment_expression "*(undefined4 *)(iVar8 + 0x1b8) = 1" (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);" (assignment_expression "iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0)" identifier = (call_expression "(*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,param_1 + 0x12d,iVar6,0)" ( identifier , (binary_expression "param_1 + 0x12d" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x2420" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return 0x10;" return number_literal ;) })) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" identifier = (call_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)" ( (pointer_expression "*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" * (cast_expression "(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" ( (subscript_expression "param_1[300]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }" { (expression_statement "(*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;" (call_expression "(*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))" (parenthesized_expression "(*(code *)PTR_FUN_000a61ac)" ( (pointer_expression "*(code *)PTR_FUN_000a61ac" * (cast_expression "(code *)PTR_FUN_000a61ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x244c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" else (compound_statement "{\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" { (expression_statement "iVar6 = *(int *)(*param_1 + 0x84);" (assignment_expression "iVar6 = *(int *)(*param_1 + 0x84)" identifier = (pointer_expression "*(int *)(*param_1 + 0x84)" * (cast_expression "(int *)(*param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x84)" ( (binary_expression "*param_1 + 0x84" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "param_1[0x14c] = 100;" (assignment_expression "param_1[0x14c] = 100" (subscript_expression "param_1[0x14c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14b] = 3;" (assignment_expression "param_1[0x14b] = 3" (subscript_expression "param_1[0x14b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14d] = 4;" (assignment_expression "param_1[0x14d] = 4" (subscript_expression "param_1[0x14d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar6 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "param_1[0x14e] = 0x40000000;" (assignment_expression "param_1[0x14e] = 0x40000000" (subscript_expression "param_1[0x14e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14f] = 2;" (assignment_expression "param_1[0x14f] = 2" (subscript_expression "param_1[0x14f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x151] = 3;" (assignment_expression "param_1[0x151] = 3" (subscript_expression "param_1[0x151]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x150] = (uint)(iVar6 != 0);" (assignment_expression "param_1[0x150] = (uint)(iVar6 != 0)" (subscript_expression "param_1[0x150]" identifier [ number_literal ]) = (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);" (assignment_expression "iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3)" identifier = (call_expression "(*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0,param_1 + 0x14b,3)" ( identifier , number_literal , (binary_expression "param_1 + 0x14b" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x247c" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return 0x10;" return number_literal ;) })) }))) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000)" identifier = (call_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)" ( (pointer_expression "*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" * (cast_expression "(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[300],0,0,0x40000000)" ( (subscript_expression "param_1[300]" identifier [ number_literal ]) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }" { (if_statement "if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }" if (parenthesized_expression "(0x8000 < param_3)" ( (binary_expression "0x8000 < param_3" number_literal < identifier) )) (compound_statement "{\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }" { (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x24e0" identifier + number_literal) , number_literal , identifier ))) ;) (return_statement "return 0x10;" return number_literal ;) })) (expression_statement "(*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);" (call_expression "(*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a61ac)" ( (pointer_expression "*(code *)PTR_FUN_000a61ac" * (cast_expression "(code *)PTR_FUN_000a61ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1,PTR_UINT_000a6194 + 0x2554,param_3)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_UINT_000a6194 + 0x2554" identifier + number_literal) , identifier ))) ;) (if_statement "if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }" { (expression_statement "(*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);" (call_expression "(*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3)" (parenthesized_expression "(*(code *)PTR_memcpy_000a6eec)" ( (pointer_expression "*(code *)PTR_memcpy_000a6eec" * (cast_expression "(code *)PTR_memcpy_000a6eec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x144],param_2,param_3)" ( (subscript_expression "param_1[0x144]" identifier [ number_literal ]) , identifier , identifier ))) ;) })) (expression_statement "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;" (assignment_expression "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48" identifier = identifier) ;) (expression_statement "param_1[0x145] = param_3;" (assignment_expression "param_1[0x145] = param_3" (subscript_expression "param_1[0x145]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);" (assignment_expression "uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3)" identifier = (call_expression "(*(code *)puVar1)(param_1[300],param_1[0x144],param_3)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[300],param_1[0x144],param_3)" ( (subscript_expression "param_1[300]" identifier [ number_literal ]) , (subscript_expression "param_1[0x144]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4)" identifier = (call_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4)" (parenthesized_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)" ( (pointer_expression "*(code *)PTR_nghttp2_is_fatal_000a6db4" * (cast_expression "(code *)PTR_nghttp2_is_fatal_000a6db4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }" { (if_statement "if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" if (parenthesized_expression "(param_3 == uVar4)" ( (binary_expression "param_3 == uVar4" identifier == identifier) )) (compound_statement "{\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }" { (expression_statement "param_1[0x145] = 0;" (assignment_expression "param_1[0x145] = 0" (subscript_expression "param_1[0x145]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x146] = 0;" (assignment_expression "param_1[0x146] = 0" (subscript_expression "param_1[0x146]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" else (compound_statement "{\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" { (expression_statement "param_1[0x146] = param_1[0x146] + uVar4;" (assignment_expression "param_1[0x146] = param_1[0x146] + uVar4" (subscript_expression "param_1[0x146]" identifier [ number_literal ]) = (binary_expression "param_1[0x146] + uVar4" (subscript_expression "param_1[0x146]" identifier [ number_literal ]) + identifier)) ;) }))) (expression_statement "iVar3 = FUN_0006875c(iVar7,param_1[300]);" (assignment_expression "iVar3 = FUN_0006875c(iVar7,param_1[300])" identifier = (call_expression "FUN_0006875c(iVar7,param_1[300])" identifier (argument_list "(iVar7,param_1[300])" ( identifier , (subscript_expression "param_1[300]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }" { (expression_statement "iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);" (assignment_expression "iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148])" identifier = (call_expression "FUN_00068b6c(param_1 + 300,param_1[0x148])" identifier (argument_list "(param_1 + 300,param_1[0x148])" ( (binary_expression "param_1 + 300" identifier + number_literal) , (subscript_expression "param_1[0x148]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) (if_statement "if (iVar7 == 0) {\n            iVar3 = 0;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar3 = 0;\n          }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" else (compound_statement "{\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x1fa8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) }))) }) (else_clause "else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" else (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x25a8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) }))) }) (else_clause "else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" else (compound_statement "{\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x24a8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) }))) })) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nCURLcode Curl_http2_switched(connectdata *conn,char *mem,size_t nread)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  CURLcode CVar3;\n  Curl_multi *pCVar4;\n  curl_push_callback p_Var5;\n  int iVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  Curl_easy *pCVar10;\n  upgrade101 uVar11;\n  Curl_recv *pCVar12;\n  Curl_easy *data;\n  void *pvVar13;\n  \n  data = conn->data;\n  pvVar13 = (data->req).protop;\n  CVar3 = Curl_http2_setup(conn);\n  if (CVar3 == CURLE_OK) {\n    pCVar10 = conn->data;\n    pCVar12 = conn->recv[0];\n    pcVar9 = (conn->proto).ftpc.pp.cache;\n    uVar11 = (pCVar10->req).upgr101;\n    (conn->proto).ftpc.prevpath = (char *)conn->send[0];\n    puVar1 = PTR_LAB_000a680c;\n    (conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12;\n    conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54);\n    conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (uVar11 == UPGR101_RECEIVED) {\n      sVar7 = (conn->proto).httpc.binlen;\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;\n      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);\n      if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }\n    }\n    else {\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }\n    iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);\n    if (iVar6 == 0) {\n      if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }\n      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);\n      if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      pcVar9 = (conn->proto).ftpc.pp.cache;\n      (conn->proto).httpc.inbuflen = nread;\n      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);\n      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);\n      if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }\n    }\n    else {\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }\n  }\n  return CVar3;\n}\n\n" comment (function_definition "CURLcode Curl_http2_switched(connectdata *conn,char *mem,size_t nread)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  CURLcode CVar3;\n  Curl_multi *pCVar4;\n  curl_push_callback p_Var5;\n  int iVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  Curl_easy *pCVar10;\n  upgrade101 uVar11;\n  Curl_recv *pCVar12;\n  Curl_easy *data;\n  void *pvVar13;\n  \n  data = conn->data;\n  pvVar13 = (data->req).protop;\n  CVar3 = Curl_http2_setup(conn);\n  if (CVar3 == CURLE_OK) {\n    pCVar10 = conn->data;\n    pCVar12 = conn->recv[0];\n    pcVar9 = (conn->proto).ftpc.pp.cache;\n    uVar11 = (pCVar10->req).upgr101;\n    (conn->proto).ftpc.prevpath = (char *)conn->send[0];\n    puVar1 = PTR_LAB_000a680c;\n    (conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12;\n    conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54);\n    conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (uVar11 == UPGR101_RECEIVED) {\n      sVar7 = (conn->proto).httpc.binlen;\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;\n      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);\n      if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }\n    }\n    else {\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }\n    iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);\n    if (iVar6 == 0) {\n      if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }\n      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);\n      if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      pcVar9 = (conn->proto).ftpc.pp.cache;\n      (conn->proto).httpc.inbuflen = nread;\n      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);\n      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);\n      if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }\n    }\n    else {\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }\n  }\n  return CVar3;\n}" type_identifier (function_declarator "Curl_http2_switched(connectdata *conn,char *mem,size_t nread)" identifier (parameter_list "(connectdata *conn,char *mem,size_t nread)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) , (parameter_declaration "char *mem" primitive_type (pointer_declarator "*mem" * identifier)) , (parameter_declaration "size_t nread" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  CURLcode CVar3;\n  Curl_multi *pCVar4;\n  curl_push_callback p_Var5;\n  int iVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  Curl_easy *pCVar10;\n  upgrade101 uVar11;\n  Curl_recv *pCVar12;\n  Curl_easy *data;\n  void *pvVar13;\n  \n  data = conn->data;\n  pvVar13 = (data->req).protop;\n  CVar3 = Curl_http2_setup(conn);\n  if (CVar3 == CURLE_OK) {\n    pCVar10 = conn->data;\n    pCVar12 = conn->recv[0];\n    pcVar9 = (conn->proto).ftpc.pp.cache;\n    uVar11 = (pCVar10->req).upgr101;\n    (conn->proto).ftpc.prevpath = (char *)conn->send[0];\n    puVar1 = PTR_LAB_000a680c;\n    (conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12;\n    conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54);\n    conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (uVar11 == UPGR101_RECEIVED) {\n      sVar7 = (conn->proto).httpc.binlen;\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;\n      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);\n      if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }\n    }\n    else {\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }\n    iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);\n    if (iVar6 == 0) {\n      if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }\n      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);\n      if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      pcVar9 = (conn->proto).ftpc.pp.cache;\n      (conn->proto).httpc.inbuflen = nread;\n      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);\n      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);\n      if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }\n    }\n    else {\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }\n  }\n  return CVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "CURLcode CVar3;" type_identifier identifier ;) (declaration "Curl_multi *pCVar4;" type_identifier (pointer_declarator "*pCVar4" * identifier) ;) (declaration "curl_push_callback p_Var5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "Curl_easy *pCVar10;" type_identifier (pointer_declarator "*pCVar10" * identifier) ;) (declaration "upgrade101 uVar11;" type_identifier identifier ;) (declaration "Curl_recv *pCVar12;" type_identifier (pointer_declarator "*pCVar12" * identifier) ;) (declaration "Curl_easy *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "void *pvVar13;" primitive_type (pointer_declarator "*pvVar13" * identifier) ;) (expression_statement "data = conn->data;" (assignment_expression "data = conn->data" identifier = (field_expression "conn->data" identifier -> field_identifier)) ;) (expression_statement "pvVar13 = (data->req).protop;" (assignment_expression "pvVar13 = (data->req).protop" identifier = (field_expression "(data->req).protop" (parenthesized_expression "(data->req)" ( (field_expression "data->req" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "CVar3 = Curl_http2_setup(conn);" (assignment_expression "CVar3 = Curl_http2_setup(conn)" identifier = (call_expression "Curl_http2_setup(conn)" identifier (argument_list "(conn)" ( identifier )))) ;) (if_statement "if (CVar3 == CURLE_OK) {\n    pCVar10 = conn->data;\n    pCVar12 = conn->recv[0];\n    pcVar9 = (conn->proto).ftpc.pp.cache;\n    uVar11 = (pCVar10->req).upgr101;\n    (conn->proto).ftpc.prevpath = (char *)conn->send[0];\n    puVar1 = PTR_LAB_000a680c;\n    (conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12;\n    conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54);\n    conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (uVar11 == UPGR101_RECEIVED) {\n      sVar7 = (conn->proto).httpc.binlen;\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;\n      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);\n      if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }\n    }\n    else {\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }\n    iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);\n    if (iVar6 == 0) {\n      if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }\n      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);\n      if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      pcVar9 = (conn->proto).ftpc.pp.cache;\n      (conn->proto).httpc.inbuflen = nread;\n      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);\n      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);\n      if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }\n    }\n    else {\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }\n  }" if (parenthesized_expression "(CVar3 == CURLE_OK)" ( (binary_expression "CVar3 == CURLE_OK" identifier == identifier) )) (compound_statement "{\n    pCVar10 = conn->data;\n    pCVar12 = conn->recv[0];\n    pcVar9 = (conn->proto).ftpc.pp.cache;\n    uVar11 = (pCVar10->req).upgr101;\n    (conn->proto).ftpc.prevpath = (char *)conn->send[0];\n    puVar1 = PTR_LAB_000a680c;\n    (conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12;\n    conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54);\n    conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (uVar11 == UPGR101_RECEIVED) {\n      sVar7 = (conn->proto).httpc.binlen;\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;\n      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);\n      if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }\n    }\n    else {\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }\n    iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);\n    if (iVar6 == 0) {\n      if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }\n      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);\n      if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      pcVar9 = (conn->proto).ftpc.pp.cache;\n      (conn->proto).httpc.inbuflen = nread;\n      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);\n      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);\n      if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }\n    }\n    else {\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }\n  }" { (expression_statement "pCVar10 = conn->data;" (assignment_expression "pCVar10 = conn->data" identifier = (field_expression "conn->data" identifier -> field_identifier)) ;) (expression_statement "pCVar12 = conn->recv[0];" (assignment_expression "pCVar12 = conn->recv[0]" identifier = (subscript_expression "conn->recv[0]" (field_expression "conn->recv" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pcVar9 = (conn->proto).ftpc.pp.cache;" (assignment_expression "pcVar9 = (conn->proto).ftpc.pp.cache" identifier = (field_expression "(conn->proto).ftpc.pp.cache" (field_expression "(conn->proto).ftpc.pp" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar11 = (pCVar10->req).upgr101;" (assignment_expression "uVar11 = (pCVar10->req).upgr101" identifier = (field_expression "(pCVar10->req).upgr101" (parenthesized_expression "(pCVar10->req)" ( (field_expression "pCVar10->req" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(conn->proto).ftpc.prevpath = (char *)conn->send[0];" (assignment_expression "(conn->proto).ftpc.prevpath = (char *)conn->send[0]" (field_expression "(conn->proto).ftpc.prevpath" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(char *)conn->send[0]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "conn->send[0]" (field_expression "conn->send" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "puVar1 = PTR_LAB_000a680c;" (assignment_expression "puVar1 = PTR_LAB_000a680c" identifier = identifier) ;) (expression_statement "(conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12;" (assignment_expression "(conn->proto).ftpc.prevmethod = (curl_ftpfile)pCVar12" (field_expression "(conn->proto).ftpc.prevmethod" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(curl_ftpfile)pCVar12" ( (type_descriptor "curl_ftpfile" type_identifier) ) identifier)) ;) (expression_statement "conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54);" (assignment_expression "conn->recv[0] = (Curl_recv *)(puVar1 + -0x5d54)" (subscript_expression "conn->recv[0]" (field_expression "conn->recv" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(Curl_recv *)(puVar1 + -0x5d54)" ( (type_descriptor "Curl_recv *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x5d54)" ( (binary_expression "puVar1 + -0x5d54" identifier + number_literal) )))) ;) (expression_statement "conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c);" (assignment_expression "conn->send[0] = (Curl_send *)(PTR_LAB_000a680c + -0x677c)" (subscript_expression "conn->send[0]" (field_expression "conn->send" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(Curl_send *)(PTR_LAB_000a680c + -0x677c)" ( (type_descriptor "Curl_send *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000a680c + -0x677c)" ( (binary_expression "PTR_LAB_000a680c + -0x677c" identifier + number_literal) )))) ;) (expression_statement "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;" (assignment_expression "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c" identifier = identifier) ;) (expression_statement "puVar1 = PTR_nghttp2_submit_settings_000a6b34;" (assignment_expression "puVar1 = PTR_nghttp2_submit_settings_000a6b34" identifier = identifier) ;) (if_statement "if (uVar11 == UPGR101_RECEIVED) {\n      sVar7 = (conn->proto).httpc.binlen;\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;\n      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);\n      if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }\n    }\n    else {\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }" if (parenthesized_expression "(uVar11 == UPGR101_RECEIVED)" ( (binary_expression "uVar11 == UPGR101_RECEIVED" identifier == identifier) )) (compound_statement "{\n      sVar7 = (conn->proto).httpc.binlen;\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 1;\n      iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n      iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);\n      if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }\n    }" { (expression_statement "sVar7 = (conn->proto).httpc.binlen;" (assignment_expression "sVar7 = (conn->proto).httpc.binlen" identifier = (field_expression "(conn->proto).httpc.binlen" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)pvVar13 + 0x1b8) = 1;" (assignment_expression "*(undefined4 *)((int)pvVar13 + 0x1b8) = 1" (pointer_expression "*(undefined4 *)((int)pvVar13 + 0x1b8)" * (cast_expression "(undefined4 *)((int)pvVar13 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x1b8)" ( (binary_expression "(int)pvVar13 + 0x1b8" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0);" (assignment_expression "iVar6 = (*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0)" identifier = (call_expression "(*(code *)puVar2)(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,(undefined1 *)((int)&conn->proto + 4),sVar7,0)" ( identifier , (cast_expression "(undefined1 *)((int)&conn->proto + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&conn->proto + 4)" ( (binary_expression "(int)&conn->proto + 4" (cast_expression "(int)&conn->proto" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&conn->proto" & (field_expression "conn->proto" identifier -> field_identifier))) + number_literal) ))) , identifier , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }" { (expression_statement "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);" (assignment_expression "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data,PTR_UINT_000a6194 + 0x2420,uVar8,iVar6)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x2420" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return CURLE_HTTP2;" return identifier ;) })) (expression_statement "iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data);" (assignment_expression "iVar6 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data)" identifier = (call_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        ((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)" ( (pointer_expression "*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" * (cast_expression "(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((conn->proto).ftpc.pp.cache,*(undefined4 *)((int)pvVar13 + 0x1b8),data)" ( (field_expression "(conn->proto).ftpc.pp.cache" (field_expression "(conn->proto).ftpc.pp" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) , (pointer_expression "*(undefined4 *)((int)pvVar13 + 0x1b8)" * (cast_expression "(undefined4 *)((int)pvVar13 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x1b8)" ( (binary_expression "(int)pvVar13 + 0x1b8" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));\n      }" { (expression_statement "(*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8));" (call_expression "(*(code *)PTR_Curl_infof_000a61ac)\n                  (data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8))" (parenthesized_expression "(*(code *)PTR_Curl_infof_000a61ac)" ( (pointer_expression "*(code *)PTR_Curl_infof_000a61ac" * (cast_expression "(code *)PTR_Curl_infof_000a61ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)((int)pvVar13 + 0x1b8))" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x244c" identifier + number_literal) , (pointer_expression "*(undefined4 *)((int)pvVar13 + 0x1b8)" * (cast_expression "(undefined4 *)((int)pvVar13 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x1b8)" ( (binary_expression "(int)pvVar13 + 0x1b8" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }) (else_clause "else {\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }" else (compound_statement "{\n      pCVar4 = pCVar10->multi;\n      (conn->proto).httpc.local_settings[0].value = 100;\n      (conn->proto).httpc.local_settings[0].settings_id = 3;\n      (conn->proto).httpc.local_settings[1].settings_id = 4;\n      p_Var5 = pCVar4->push_cb;\n      (conn->proto).httpc.local_settings[1].value = 0x40000000;\n      (conn->proto).httpc.local_settings[2].settings_id = 2;\n      (conn->proto).httpc.local_settings_num = 3;\n      *(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);\n      *(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;\n      iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);\n      if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }\n    }" { (expression_statement "pCVar4 = pCVar10->multi;" (assignment_expression "pCVar4 = pCVar10->multi" identifier = (field_expression "pCVar10->multi" identifier -> field_identifier)) ;) (expression_statement "(conn->proto).httpc.local_settings[0].value = 100;" (assignment_expression "(conn->proto).httpc.local_settings[0].value = 100" (field_expression "(conn->proto).httpc.local_settings[0].value" (subscript_expression "(conn->proto).httpc.local_settings[0]" (field_expression "(conn->proto).httpc.local_settings" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(conn->proto).httpc.local_settings[0].settings_id = 3;" (assignment_expression "(conn->proto).httpc.local_settings[0].settings_id = 3" (field_expression "(conn->proto).httpc.local_settings[0].settings_id" (subscript_expression "(conn->proto).httpc.local_settings[0]" (field_expression "(conn->proto).httpc.local_settings" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(conn->proto).httpc.local_settings[1].settings_id = 4;" (assignment_expression "(conn->proto).httpc.local_settings[1].settings_id = 4" (field_expression "(conn->proto).httpc.local_settings[1].settings_id" (subscript_expression "(conn->proto).httpc.local_settings[1]" (field_expression "(conn->proto).httpc.local_settings" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "p_Var5 = pCVar4->push_cb;" (assignment_expression "p_Var5 = pCVar4->push_cb" identifier = (field_expression "pCVar4->push_cb" identifier -> field_identifier)) ;) (expression_statement "(conn->proto).httpc.local_settings[1].value = 0x40000000;" (assignment_expression "(conn->proto).httpc.local_settings[1].value = 0x40000000" (field_expression "(conn->proto).httpc.local_settings[1].value" (subscript_expression "(conn->proto).httpc.local_settings[1]" (field_expression "(conn->proto).httpc.local_settings" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(conn->proto).httpc.local_settings[2].settings_id = 2;" (assignment_expression "(conn->proto).httpc.local_settings[2].settings_id = 2" (field_expression "(conn->proto).httpc.local_settings[2].settings_id" (subscript_expression "(conn->proto).httpc.local_settings[2]" (field_expression "(conn->proto).httpc.local_settings" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(conn->proto).httpc.local_settings_num = 3;" (assignment_expression "(conn->proto).httpc.local_settings_num = 3" (field_expression "(conn->proto).httpc.local_settings_num" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0);" (assignment_expression "*(uint *)((int)&conn->proto + 0x90) = (uint)(p_Var5 != (curl_push_callback)0x0)" (pointer_expression "*(uint *)((int)&conn->proto + 0x90)" * (cast_expression "(uint *)((int)&conn->proto + 0x90)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&conn->proto + 0x90)" ( (binary_expression "(int)&conn->proto + 0x90" (cast_expression "(int)&conn->proto" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&conn->proto" & (field_expression "conn->proto" identifier -> field_identifier))) + number_literal) )))) = (call_expression "(uint)(p_Var5 != (curl_push_callback)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var5 != (curl_push_callback)0x0)" ( (binary_expression "p_Var5 != (curl_push_callback)0x0" identifier != (cast_expression "(curl_push_callback)0x0" ( (type_descriptor "curl_push_callback" type_identifier) ) number_literal)) )))) ;) (expression_statement "*(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)pvVar13 + 0x1b8) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)pvVar13 + 0x1b8)" * (cast_expression "(undefined4 *)((int)pvVar13 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar13 + 0x1b8)" ( (binary_expression "(int)pvVar13 + 0x1b8" (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3);" (assignment_expression "iVar6 = (*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3)" identifier = (call_expression "(*(code *)puVar1)(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,0,(undefined1 *)((int)&conn->proto + 0x7c),3)" ( identifier , number_literal , (cast_expression "(undefined1 *)((int)&conn->proto + 0x7c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&conn->proto + 0x7c)" ( (binary_expression "(int)&conn->proto + 0x7c" (cast_expression "(int)&conn->proto" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&conn->proto" & (field_expression "conn->proto" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);\n        return CURLE_HTTP2;\n      }" { (expression_statement "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);" (assignment_expression "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data,PTR_UINT_000a6194 + 0x247c,uVar8,iVar6)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x247c" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return CURLE_HTTP2;" return identifier ;) })) }))) (expression_statement "iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);" (assignment_expression "iVar6 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000)" identifier = (call_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)" ( (pointer_expression "*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" * (cast_expression "(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((conn->proto).ftpc.pp.cache,0,0,0x40000000)" ( (field_expression "(conn->proto).ftpc.pp.cache" (field_expression "(conn->proto).ftpc.pp" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n      if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }\n      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);\n      if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      pcVar9 = (conn->proto).ftpc.pp.cache;\n      (conn->proto).httpc.inbuflen = nread;\n      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);\n      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);\n      if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }\n    }\n    else {\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }\n      (*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);\n      if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      pcVar9 = (conn->proto).ftpc.pp.cache;\n      (conn->proto).httpc.inbuflen = nread;\n      sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);\n      iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);\n      if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }\n    }" { (if_statement "if (0x8000 < nread) {\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }" if (parenthesized_expression "(0x8000 < nread)" ( (binary_expression "0x8000 < nread" number_literal < identifier) )) (compound_statement "{\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);\n        return CURLE_HTTP2;\n      }" { (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data,PTR_UINT_000a6194 + 0x24e0,0x8000,nread)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x24e0" identifier + number_literal) , number_literal , identifier ))) ;) (return_statement "return CURLE_HTTP2;" return identifier ;) })) (expression_statement "(*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread);" (call_expression "(*(code *)PTR_Curl_infof_000a61ac)(conn->data,PTR_UINT_000a6194 + 0x2554,nread)" (parenthesized_expression "(*(code *)PTR_Curl_infof_000a61ac)" ( (pointer_expression "*(code *)PTR_Curl_infof_000a61ac" * (cast_expression "(code *)PTR_Curl_infof_000a61ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(conn->data,PTR_UINT_000a6194 + 0x2554,nread)" ( (field_expression "conn->data" identifier -> field_identifier) , (binary_expression "PTR_UINT_000a6194 + 0x2554" identifier + number_literal) , identifier ))) ;) (if_statement "if (nread != 0) {\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }" if (parenthesized_expression "(nread != 0)" ( (binary_expression "nread != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);\n      }" { (expression_statement "(*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread);" (call_expression "(*(code *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,nread)" (parenthesized_expression "(*(code *)PTR_memcpy_000a6eec)" ( (pointer_expression "*(code *)PTR_memcpy_000a6eec" * (cast_expression "(code *)PTR_memcpy_000a6eec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((conn->proto).httpc.inbuf,mem,nread)" ( (field_expression "(conn->proto).httpc.inbuf" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier , identifier ))) ;) })) (expression_statement "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;" (assignment_expression "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48" identifier = identifier) ;) (expression_statement "pcVar9 = (conn->proto).ftpc.pp.cache;" (assignment_expression "pcVar9 = (conn->proto).ftpc.pp.cache" identifier = (field_expression "(conn->proto).ftpc.pp.cache" (field_expression "(conn->proto).ftpc.pp" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(conn->proto).httpc.inbuflen = nread;" (assignment_expression "(conn->proto).httpc.inbuflen = nread" (field_expression "(conn->proto).httpc.inbuflen" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread);" (assignment_expression "sVar7 = (*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread)" identifier = (call_expression "(*(code *)puVar1)(pcVar9,(conn->proto).httpc.inbuf,nread)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,(conn->proto).httpc.inbuf,nread)" ( identifier , (field_expression "(conn->proto).httpc.inbuf" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7);" (assignment_expression "iVar6 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7)" identifier = (call_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)(sVar7)" (parenthesized_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)" ( (pointer_expression "*(code *)PTR_nghttp2_is_fatal_000a6db4" * (cast_expression "(code *)PTR_nghttp2_is_fatal_000a6db4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sVar7)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }\n      else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }\n        iVar6 = h2_session_send(data,(conn->proto).httpc.h2);\n        if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }\n      }" { (if_statement "if (nread == sVar7) {\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }\n        else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }" if (parenthesized_expression "(nread == sVar7)" ( (binary_expression "nread == sVar7" identifier == identifier) )) (compound_statement "{\n          (conn->proto).ftpc.count1 = 0;\n          (conn->proto).ftpc.count2 = 0;\n        }" { (expression_statement "(conn->proto).ftpc.count1 = 0;" (assignment_expression "(conn->proto).ftpc.count1 = 0" (field_expression "(conn->proto).ftpc.count1" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(conn->proto).ftpc.count2 = 0;" (assignment_expression "(conn->proto).ftpc.count2 = 0" (field_expression "(conn->proto).ftpc.count2" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) }) (else_clause "else {\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }" else (compound_statement "{\n          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;\n        }" { (expression_statement "(conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7;" (assignment_expression "(conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + sVar7" (field_expression "(conn->proto).imapc.mailbox" (field_expression "(conn->proto).imapc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(conn->proto).imapc.mailbox + sVar7" (field_expression "(conn->proto).imapc.mailbox" (field_expression "(conn->proto).imapc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) + identifier)) ;) }))) (expression_statement "iVar6 = h2_session_send(data,(conn->proto).httpc.h2);" (assignment_expression "iVar6 = h2_session_send(data,(conn->proto).httpc.h2)" identifier = (call_expression "h2_session_send(data,(conn->proto).httpc.h2)" identifier (argument_list "(data,(conn->proto).httpc.h2)" ( identifier , (field_expression "(conn->proto).httpc.h2" (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) )))) ;) (if_statement "if (iVar6 == 0) {\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }\n        else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);\n          CVar3 = CURLE_HTTP2;\n          if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }\n        }" { (expression_statement "iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state);" (assignment_expression "iVar6 = should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state)" identifier = (call_expression "should_close_session(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state)" identifier (argument_list "(&(conn->proto).httpc,(http_conn *)(conn->proto).ftpc.state)" ( (pointer_expression "&(conn->proto).httpc" & (field_expression "(conn->proto).httpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(http_conn *)(conn->proto).ftpc.state" ( (type_descriptor "http_conn *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(conn->proto).ftpc.state" (field_expression "(conn->proto).ftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )))) ;) (expression_statement "CVar3 = CURLE_HTTP2;" (assignment_expression "CVar3 = CURLE_HTTP2" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n            CVar3 = CURLE_OK;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            CVar3 = CURLE_OK;\n          }" { (expression_statement "CVar3 = CURLE_OK;" (assignment_expression "CVar3 = CURLE_OK" identifier = identifier) ;) })) }) (else_clause "else {\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }" else (compound_statement "{\n          uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n          (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);\n          CVar3 = CURLE_HTTP2;\n        }" { (expression_statement "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);" (assignment_expression "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data,PTR_UINT_000a6194 + 0x1fa8,uVar8,iVar6)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x1fa8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "CVar3 = CURLE_HTTP2;" (assignment_expression "CVar3 = CURLE_HTTP2" identifier = identifier) ;) }))) }) (else_clause "else {\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }" else (compound_statement "{\n        uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);\n        (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);\n        CVar3 = CURLE_HTTP2;\n      }" { (expression_statement "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7);" (assignment_expression "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(sVar7)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sVar7)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data,PTR_UINT_000a6194 + 0x25a8,uVar8,sVar7)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x25a8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "CVar3 = CURLE_HTTP2;" (assignment_expression "CVar3 = CURLE_HTTP2" identifier = identifier) ;) }))) }) (else_clause "else {\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }" else (compound_statement "{\n      uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);\n      (*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);\n      CVar3 = CURLE_HTTP2;\n    }" { (expression_statement "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6);" (assignment_expression "uVar8 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar6)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data,PTR_UINT_000a6194 + 0x24a8,uVar8,iVar6)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x24a8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "CVar3 = CURLE_HTTP2;" (assignment_expression "CVar3 = CURLE_HTTP2" identifier = identifier) ;) }))) })) (return_statement "return CVar3;" return identifier ;) })))
(translation_unit "int FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}\n\n" (function_definition "int FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}" primitive_type (function_declarator "FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)" identifier (parameter_list "(int *param_1,undefined4 param_2,uint param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (expression_statement "iVar7 = *param_1;" (assignment_expression "iVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar8 = *(int *)(iVar7 + 0x154);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x154)" identifier = (pointer_expression "*(int *)(iVar7 + 0x154)" * (cast_expression "(int *)(iVar7 + 0x154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x154)" ( (binary_expression "iVar7 + 0x154" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = FUN_0006af38();" (assignment_expression "iVar3 = FUN_0006af38()" identifier = (call_expression "FUN_0006af38()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }" { (expression_statement "iVar3 = param_1[300];" (assignment_expression "iVar3 = param_1[300]" identifier = (subscript_expression "param_1[300]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *(int *)(*param_1 + 0x120);" (assignment_expression "iVar6 = *(int *)(*param_1 + 0x120)" identifier = (pointer_expression "*(int *)(*param_1 + 0x120)" * (cast_expression "(int *)(*param_1 + 0x120)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x120)" ( (binary_expression "*param_1 + 0x120" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "param_1[0x142] = param_1[0x6d];" (assignment_expression "param_1[0x142] = param_1[0x6d]" (subscript_expression "param_1[0x142]" identifier [ number_literal ]) = (subscript_expression "param_1[0x6d]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = PTR_LAB_000a680c;" (assignment_expression "puVar1 = PTR_LAB_000a680c" identifier = identifier) ;) (expression_statement "param_1[0x143] = param_1[0x6b];" (assignment_expression "param_1[0x143] = param_1[0x6b]" (subscript_expression "param_1[0x143]" identifier [ number_literal ]) = (subscript_expression "param_1[0x6b]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x6b] = (int)(puVar1 + -0x5d54);" (assignment_expression "param_1[0x6b] = (int)(puVar1 + -0x5d54)" (subscript_expression "param_1[0x6b]" identifier [ number_literal ]) = (cast_expression "(int)(puVar1 + -0x5d54)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar1 + -0x5d54)" ( (binary_expression "puVar1 + -0x5d54" identifier + number_literal) )))) ;) (expression_statement "param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);" (assignment_expression "param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c)" (subscript_expression "param_1[0x6d]" identifier [ number_literal ]) = (cast_expression "(int)(PTR_LAB_000a680c + -0x677c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_LAB_000a680c + -0x677c)" ( (binary_expression "PTR_LAB_000a680c + -0x677c" identifier + number_literal) )))) ;) (expression_statement "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;" (assignment_expression "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c" identifier = identifier) ;) (expression_statement "puVar1 = PTR_nghttp2_submit_settings_000a6b34;" (assignment_expression "puVar1 = PTR_nghttp2_submit_settings_000a6b34" identifier = identifier) ;) (if_statement "if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" if (parenthesized_expression "(iVar6 == 2)" ( (binary_expression "iVar6 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }" { (expression_statement "iVar6 = param_1[0x141];" (assignment_expression "iVar6 = param_1[0x141]" identifier = (subscript_expression "param_1[0x141]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x1b8) = 1;" (assignment_expression "*(undefined4 *)(iVar8 + 0x1b8) = 1" (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);" (assignment_expression "iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0)" identifier = (call_expression "(*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,param_1 + 0x12d,iVar6,0)" ( identifier , (binary_expression "param_1 + 0x12d" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x2420" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return 0x10;" return number_literal ;) })) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" identifier = (call_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)" ( (pointer_expression "*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" * (cast_expression "(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" ( (subscript_expression "param_1[300]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }" { (expression_statement "(*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;" (call_expression "(*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))" (parenthesized_expression "(*(code *)PTR_FUN_000a61ac)" ( (pointer_expression "*(code *)PTR_FUN_000a61ac" * (cast_expression "(code *)PTR_FUN_000a61ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x244c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" else (compound_statement "{\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" { (expression_statement "iVar6 = *(int *)(*param_1 + 0x84);" (assignment_expression "iVar6 = *(int *)(*param_1 + 0x84)" identifier = (pointer_expression "*(int *)(*param_1 + 0x84)" * (cast_expression "(int *)(*param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x84)" ( (binary_expression "*param_1 + 0x84" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "param_1[0x14c] = 100;" (assignment_expression "param_1[0x14c] = 100" (subscript_expression "param_1[0x14c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14b] = 3;" (assignment_expression "param_1[0x14b] = 3" (subscript_expression "param_1[0x14b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14d] = 4;" (assignment_expression "param_1[0x14d] = 4" (subscript_expression "param_1[0x14d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar6 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "param_1[0x14e] = 0x40000000;" (assignment_expression "param_1[0x14e] = 0x40000000" (subscript_expression "param_1[0x14e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14f] = 2;" (assignment_expression "param_1[0x14f] = 2" (subscript_expression "param_1[0x14f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x151] = 3;" (assignment_expression "param_1[0x151] = 3" (subscript_expression "param_1[0x151]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x150] = (uint)(iVar6 != 0);" (assignment_expression "param_1[0x150] = (uint)(iVar6 != 0)" (subscript_expression "param_1[0x150]" identifier [ number_literal ]) = (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" * (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b8)" ( (binary_expression "iVar8 + 0x1b8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);" (assignment_expression "iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3)" identifier = (call_expression "(*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0,param_1 + 0x14b,3)" ( identifier , number_literal , (binary_expression "param_1 + 0x14b" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x247c" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return 0x10;" return number_literal ;) })) }))) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000)" identifier = (call_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)" ( (pointer_expression "*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" * (cast_expression "(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[300],0,0,0x40000000)" ( (subscript_expression "param_1[300]" identifier [ number_literal ]) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }" { (if_statement "if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }" if (parenthesized_expression "(0x8000 < param_3)" ( (binary_expression "0x8000 < param_3" number_literal < identifier) )) (compound_statement "{\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }" { (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x24e0" identifier + number_literal) , number_literal , identifier ))) ;) (return_statement "return 0x10;" return number_literal ;) })) (expression_statement "(*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);" (call_expression "(*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a61ac)" ( (pointer_expression "*(code *)PTR_FUN_000a61ac" * (cast_expression "(code *)PTR_FUN_000a61ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1,PTR_UINT_000a6194 + 0x2554,param_3)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "PTR_UINT_000a6194 + 0x2554" identifier + number_literal) , identifier ))) ;) (if_statement "if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }" { (expression_statement "(*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);" (call_expression "(*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3)" (parenthesized_expression "(*(code *)PTR_memcpy_000a6eec)" ( (pointer_expression "*(code *)PTR_memcpy_000a6eec" * (cast_expression "(code *)PTR_memcpy_000a6eec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x144],param_2,param_3)" ( (subscript_expression "param_1[0x144]" identifier [ number_literal ]) , identifier , identifier ))) ;) })) (expression_statement "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;" (assignment_expression "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48" identifier = identifier) ;) (expression_statement "param_1[0x145] = param_3;" (assignment_expression "param_1[0x145] = param_3" (subscript_expression "param_1[0x145]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);" (assignment_expression "uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3)" identifier = (call_expression "(*(code *)puVar1)(param_1[300],param_1[0x144],param_3)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[300],param_1[0x144],param_3)" ( (subscript_expression "param_1[300]" identifier [ number_literal ]) , (subscript_expression "param_1[0x144]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4)" identifier = (call_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4)" (parenthesized_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)" ( (pointer_expression "*(code *)PTR_nghttp2_is_fatal_000a6db4" * (cast_expression "(code *)PTR_nghttp2_is_fatal_000a6db4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }" { (if_statement "if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" if (parenthesized_expression "(param_3 == uVar4)" ( (binary_expression "param_3 == uVar4" identifier == identifier) )) (compound_statement "{\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }" { (expression_statement "param_1[0x145] = 0;" (assignment_expression "param_1[0x145] = 0" (subscript_expression "param_1[0x145]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x146] = 0;" (assignment_expression "param_1[0x146] = 0" (subscript_expression "param_1[0x146]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" else (compound_statement "{\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" { (expression_statement "param_1[0x146] = param_1[0x146] + uVar4;" (assignment_expression "param_1[0x146] = param_1[0x146] + uVar4" (subscript_expression "param_1[0x146]" identifier [ number_literal ]) = (binary_expression "param_1[0x146] + uVar4" (subscript_expression "param_1[0x146]" identifier [ number_literal ]) + identifier)) ;) }))) (expression_statement "iVar3 = FUN_0006875c(iVar7,param_1[300]);" (assignment_expression "iVar3 = FUN_0006875c(iVar7,param_1[300])" identifier = (call_expression "FUN_0006875c(iVar7,param_1[300])" identifier (argument_list "(iVar7,param_1[300])" ( identifier , (subscript_expression "param_1[300]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }" { (expression_statement "iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);" (assignment_expression "iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148])" identifier = (call_expression "FUN_00068b6c(param_1 + 300,param_1[0x148])" identifier (argument_list "(param_1 + 300,param_1[0x148])" ( (binary_expression "param_1 + 300" identifier + number_literal) , (subscript_expression "param_1[0x148]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) (if_statement "if (iVar7 == 0) {\n            iVar3 = 0;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar3 = 0;\n          }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" else (compound_statement "{\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x1fa8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) }))) }) (else_clause "else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" else (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x25a8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) }))) }) (else_clause "else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" else (compound_statement "{\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" { (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" identifier = (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" ( (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" * (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x24a8" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" identifier = number_literal) ;) }))) })) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ 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 (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) }) (else_clause else (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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) , LIT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , 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 ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (return_statement return IDENT ;) })))
(function_definition "int FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}" (primitive_type "int") (function_declarator "FUN_0006b0b0(int *param_1,undefined4 param_2,uint param_3)" (identifier "FUN_0006b0b0") (parameter_list "(int *param_1,undefined4 param_2,uint param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x154);\n  iVar3 = FUN_0006af38();\n  if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }\n  return iVar3;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (expression_statement "iVar7 = *param_1;" (assignment_expression "iVar7 = *param_1" (identifier "iVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar7 + 0x154);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x154)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar7 + 0x154)" (* "*") (cast_expression "(int *)(iVar7 + 0x154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x154)" (( "(") (binary_expression "iVar7 + 0x154" (identifier "iVar7") (+ "+") (number_literal "0x154")) () ")"))))) (; ";")) (expression_statement "iVar3 = FUN_0006af38();" (assignment_expression "iVar3 = FUN_0006af38()" (identifier "iVar3") (= "=") (call_expression "FUN_0006af38()" (identifier "FUN_0006af38") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = param_1[300];\n    iVar6 = *(int *)(*param_1 + 0x120);\n    param_1[0x142] = param_1[0x6d];\n    puVar1 = PTR_LAB_000a680c;\n    param_1[0x143] = param_1[0x6b];\n    param_1[0x6b] = (int)(puVar1 + -0x5d54);\n    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);\n    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;\n    puVar1 = PTR_nghttp2_submit_settings_000a6b34;\n    if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }\n    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);\n    if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }\n  }" ({ "{") (expression_statement "iVar3 = param_1[300];" (assignment_expression "iVar3 = param_1[300]" (identifier "iVar3") (= "=") (subscript_expression "param_1[300]" (identifier "param_1") ([ "[") (number_literal "300") (] "]"))) (; ";")) (expression_statement "iVar6 = *(int *)(*param_1 + 0x120);" (assignment_expression "iVar6 = *(int *)(*param_1 + 0x120)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(*param_1 + 0x120)" (* "*") (cast_expression "(int *)(*param_1 + 0x120)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x120)" (( "(") (binary_expression "*param_1 + 0x120" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x120")) () ")"))))) (; ";")) (expression_statement "param_1[0x142] = param_1[0x6d];" (assignment_expression "param_1[0x142] = param_1[0x6d]" (subscript_expression "param_1[0x142]" (identifier "param_1") ([ "[") (number_literal "0x142") (] "]")) (= "=") (subscript_expression "param_1[0x6d]" (identifier "param_1") ([ "[") (number_literal "0x6d") (] "]"))) (; ";")) (expression_statement "puVar1 = PTR_LAB_000a680c;" (assignment_expression "puVar1 = PTR_LAB_000a680c" (identifier "puVar1") (= "=") (identifier "PTR_LAB_000a680c")) (; ";")) (expression_statement "param_1[0x143] = param_1[0x6b];" (assignment_expression "param_1[0x143] = param_1[0x6b]" (subscript_expression "param_1[0x143]" (identifier "param_1") ([ "[") (number_literal "0x143") (] "]")) (= "=") (subscript_expression "param_1[0x6b]" (identifier "param_1") ([ "[") (number_literal "0x6b") (] "]"))) (; ";")) (expression_statement "param_1[0x6b] = (int)(puVar1 + -0x5d54);" (assignment_expression "param_1[0x6b] = (int)(puVar1 + -0x5d54)" (subscript_expression "param_1[0x6b]" (identifier "param_1") ([ "[") (number_literal "0x6b") (] "]")) (= "=") (cast_expression "(int)(puVar1 + -0x5d54)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar1 + -0x5d54)" (( "(") (binary_expression "puVar1 + -0x5d54" (identifier "puVar1") (+ "+") (number_literal "-0x5d54")) () ")")))) (; ";")) (expression_statement "param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);" (assignment_expression "param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c)" (subscript_expression "param_1[0x6d]" (identifier "param_1") ([ "[") (number_literal "0x6d") (] "]")) (= "=") (cast_expression "(int)(PTR_LAB_000a680c + -0x677c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(PTR_LAB_000a680c + -0x677c)" (( "(") (binary_expression "PTR_LAB_000a680c + -0x677c" (identifier "PTR_LAB_000a680c") (+ "+") (number_literal "-0x677c")) () ")")))) (; ";")) (expression_statement "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;" (assignment_expression "puVar2 = PTR_nghttp2_session_upgrade_000a6e3c" (identifier "puVar2") (= "=") (identifier "PTR_nghttp2_session_upgrade_000a6e3c")) (; ";")) (expression_statement "puVar1 = PTR_nghttp2_submit_settings_000a6b34;" (assignment_expression "puVar1 = PTR_nghttp2_submit_settings_000a6b34" (identifier "puVar1") (= "=") (identifier "PTR_nghttp2_submit_settings_000a6b34")) (; ";")) (if_statement "if (iVar6 == 2) {\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }\n    else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" (if "if") (parenthesized_expression "(iVar6 == 2)" (( "(") (binary_expression "iVar6 == 2" (identifier "iVar6") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar6 = param_1[0x141];\n      *(undefined4 *)(iVar8 + 0x1b8) = 1;\n      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }\n      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);\n      if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }\n    }" ({ "{") (expression_statement "iVar6 = param_1[0x141];" (assignment_expression "iVar6 = param_1[0x141]" (identifier "iVar6") (= "=") (subscript_expression "param_1[0x141]" (identifier "param_1") ([ "[") (number_literal "0x141") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(iVar8 + 0x1b8) = 1;" (assignment_expression "*(undefined4 *)(iVar8 + 0x1b8) = 1" (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1b8)" (( "(") (binary_expression "iVar8 + 0x1b8" (identifier "iVar8") (+ "+") (number_literal "0x1b8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);" (assignment_expression "iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(iVar3,param_1 + 0x12d,iVar6,0)" (( "(") (identifier "iVar3") (, ",") (binary_expression "param_1 + 0x12d" (identifier "param_1") (+ "+") (number_literal "0x12d")) (, ",") (identifier "iVar6") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);\n        return 0x10;\n      }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" (* "*") (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_strerror_000a6f68"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3)" (( "(") (identifier "iVar7") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x2420" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x2420")) (, ",") (identifier "uVar5") (, ",") (identifier "iVar3") () ")"))) (; ";")) (return_statement "return 0x10;" (return "return") (number_literal "0x10") (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)\n                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" (* "*") (cast_expression "(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_session_set_stream_user_data_000a6ecc"))) () ")")) (argument_list "(param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7)" (( "(") (subscript_expression "param_1[300]" (identifier "param_1") ([ "[") (number_literal "300") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1b8)" (( "(") (binary_expression "iVar8 + 0x1b8" (identifier "iVar8") (+ "+") (number_literal "0x1b8")) () ")")))) (, ",") (identifier "iVar7") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;\n      }" ({ "{") (expression_statement "(*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))\n        ;" (call_expression "(*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))" (parenthesized_expression "(*(code *)PTR_FUN_000a61ac)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a61ac" (* "*") (cast_expression "(code *)PTR_FUN_000a61ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a61ac"))) () ")")) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))" (( "(") (identifier "iVar7") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x244c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x244c")) (, ",") (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1b8)" (( "(") (binary_expression "iVar8 + 0x1b8" (identifier "iVar8") (+ "+") (number_literal "0x1b8")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" (else "else") (compound_statement "{\n      iVar6 = *(int *)(*param_1 + 0x84);\n      param_1[0x14c] = 100;\n      param_1[0x14b] = 3;\n      param_1[0x14d] = 4;\n      iVar6 = *(int *)(iVar6 + 0x3c);\n      param_1[0x14e] = 0x40000000;\n      param_1[0x14f] = 2;\n      param_1[0x151] = 3;\n      param_1[0x150] = (uint)(iVar6 != 0);\n      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;\n      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);\n      if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }\n    }" ({ "{") (expression_statement "iVar6 = *(int *)(*param_1 + 0x84);" (assignment_expression "iVar6 = *(int *)(*param_1 + 0x84)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(*param_1 + 0x84)" (* "*") (cast_expression "(int *)(*param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x84)" (( "(") (binary_expression "*param_1 + 0x84" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (expression_statement "param_1[0x14c] = 100;" (assignment_expression "param_1[0x14c] = 100" (subscript_expression "param_1[0x14c]" (identifier "param_1") ([ "[") (number_literal "0x14c") (] "]")) (= "=") (number_literal "100")) (; ";")) (expression_statement "param_1[0x14b] = 3;" (assignment_expression "param_1[0x14b] = 3" (subscript_expression "param_1[0x14b]" (identifier "param_1") ([ "[") (number_literal "0x14b") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "param_1[0x14d] = 4;" (assignment_expression "param_1[0x14d] = 4" (subscript_expression "param_1[0x14d]" (identifier "param_1") ([ "[") (number_literal "0x14d") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar6 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x3c)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar6 + 0x3c)" (* "*") (cast_expression "(int *)(iVar6 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "param_1[0x14e] = 0x40000000;" (assignment_expression "param_1[0x14e] = 0x40000000" (subscript_expression "param_1[0x14e]" (identifier "param_1") ([ "[") (number_literal "0x14e") (] "]")) (= "=") (number_literal "0x40000000")) (; ";")) (expression_statement "param_1[0x14f] = 2;" (assignment_expression "param_1[0x14f] = 2" (subscript_expression "param_1[0x14f]" (identifier "param_1") ([ "[") (number_literal "0x14f") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "param_1[0x151] = 3;" (assignment_expression "param_1[0x151] = 3" (subscript_expression "param_1[0x151]" (identifier "param_1") ([ "[") (number_literal "0x151") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "param_1[0x150] = (uint)(iVar6 != 0);" (assignment_expression "param_1[0x150] = (uint)(iVar6 != 0)" (subscript_expression "param_1[0x150]" (identifier "param_1") ([ "[") (number_literal "0x150") (] "]")) (= "=") (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar8 + 0x1b8)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x1b8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1b8)" (( "(") (binary_expression "iVar8 + 0x1b8" (identifier "iVar8") (+ "+") (number_literal "0x1b8")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);" (assignment_expression "iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(iVar3,0,param_1 + 0x14b,3)" (( "(") (identifier "iVar3") (, ",") (number_literal "0") (, ",") (binary_expression "param_1 + 0x14b" (identifier "param_1") (+ "+") (number_literal "0x14b")) (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);\n        return 0x10;\n      }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" (* "*") (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_strerror_000a6f68"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3)" (( "(") (identifier "iVar7") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x247c" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x247c")) (, ",") (identifier "uVar5") (, ",") (identifier "iVar3") () ")"))) (; ";")) (return_statement "return 0x10;" (return "return") (number_literal "0x10") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)\n                      (param_1[300],0,0,0x40000000)" (parenthesized_expression "(*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" (* "*") (cast_expression "(code *)PTR_nghttp2_session_set_local_window_size_000a6a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_session_set_local_window_size_000a6a30"))) () ")")) (argument_list "(param_1[300],0,0,0x40000000)" (( "(") (subscript_expression "param_1[300]" (identifier "param_1") ([ "[") (number_literal "300") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x40000000") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }\n    else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }\n      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);\n      if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }\n      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;\n      param_1[0x145] = param_3;\n      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);\n      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);\n      if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }\n    }" ({ "{") (if_statement "if (0x8000 < param_3) {\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }" (if "if") (parenthesized_expression "(0x8000 < param_3)" (( "(") (binary_expression "0x8000 < param_3" (number_literal "0x8000") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);\n        return 0x10;\n      }" ({ "{") (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3)" (( "(") (identifier "iVar7") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x24e0" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x24e0")) (, ",") (number_literal "0x8000") (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return 0x10;" (return "return") (number_literal "0x10") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);" (call_expression "(*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3)" (parenthesized_expression "(*(code *)PTR_FUN_000a61ac)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a61ac" (* "*") (cast_expression "(code *)PTR_FUN_000a61ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a61ac"))) () ")")) (argument_list "(*param_1,PTR_UINT_000a6194 + 0x2554,param_3)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (binary_expression "PTR_UINT_000a6194 + 0x2554" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x2554")) (, ",") (identifier "param_3") () ")"))) (; ";")) (if_statement "if (param_3 != 0) {\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);\n      }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);" (call_expression "(*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3)" (parenthesized_expression "(*(code *)PTR_memcpy_000a6eec)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000a6eec" (* "*") (cast_expression "(code *)PTR_memcpy_000a6eec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000a6eec"))) () ")")) (argument_list "(param_1[0x144],param_2,param_3)" (( "(") (subscript_expression "param_1[0x144]" (identifier "param_1") ([ "[") (number_literal "0x144") (] "]")) (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;" (assignment_expression "puVar1 = PTR_nghttp2_session_mem_recv_000a6d48" (identifier "puVar1") (= "=") (identifier "PTR_nghttp2_session_mem_recv_000a6d48")) (; ";")) (expression_statement "param_1[0x145] = param_3;" (assignment_expression "param_1[0x145] = param_3" (subscript_expression "param_1[0x145]" (identifier "param_1") ([ "[") (number_literal "0x145") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);" (assignment_expression "uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)puVar1)(param_1[300],param_1[0x144],param_3)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(param_1[300],param_1[0x144],param_3)" (( "(") (subscript_expression "param_1[300]" (identifier "param_1") ([ "[") (number_literal "300") (] "]")) (, ",") (subscript_expression "param_1[0x144]" (identifier "param_1") ([ "[") (number_literal "0x144") (] "]")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4)" (parenthesized_expression "(*(code *)PTR_nghttp2_is_fatal_000a6db4)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_is_fatal_000a6db4" (* "*") (cast_expression "(code *)PTR_nghttp2_is_fatal_000a6db4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_is_fatal_000a6db4"))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }\n      else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }\n        iVar3 = FUN_0006875c(iVar7,param_1[300]);\n        if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }\n      }" ({ "{") (if_statement "if (param_3 == uVar4) {\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }\n        else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" (if "if") (parenthesized_expression "(param_3 == uVar4)" (( "(") (binary_expression "param_3 == uVar4" (identifier "param_3") (== "==") (identifier "uVar4")) () ")")) (compound_statement "{\n          param_1[0x145] = 0;\n          param_1[0x146] = 0;\n        }" ({ "{") (expression_statement "param_1[0x145] = 0;" (assignment_expression "param_1[0x145] = 0" (subscript_expression "param_1[0x145]" (identifier "param_1") ([ "[") (number_literal "0x145") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x146] = 0;" (assignment_expression "param_1[0x146] = 0" (subscript_expression "param_1[0x146]" (identifier "param_1") ([ "[") (number_literal "0x146") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" (else "else") (compound_statement "{\n          param_1[0x146] = param_1[0x146] + uVar4;\n        }" ({ "{") (expression_statement "param_1[0x146] = param_1[0x146] + uVar4;" (assignment_expression "param_1[0x146] = param_1[0x146] + uVar4" (subscript_expression "param_1[0x146]" (identifier "param_1") ([ "[") (number_literal "0x146") (] "]")) (= "=") (binary_expression "param_1[0x146] + uVar4" (subscript_expression "param_1[0x146]" (identifier "param_1") ([ "[") (number_literal "0x146") (] "]")) (+ "+") (identifier "uVar4"))) (; ";")) (} "}")))) (expression_statement "iVar3 = FUN_0006875c(iVar7,param_1[300]);" (assignment_expression "iVar3 = FUN_0006875c(iVar7,param_1[300])" (identifier "iVar3") (= "=") (call_expression "FUN_0006875c(iVar7,param_1[300])" (identifier "FUN_0006875c") (argument_list "(iVar7,param_1[300])" (( "(") (identifier "iVar7") (, ",") (subscript_expression "param_1[300]" (identifier "param_1") ([ "[") (number_literal "300") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }\n        else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);\n          iVar3 = 0x10;\n          if (iVar7 == 0) {\n            iVar3 = 0;\n          }\n        }" ({ "{") (expression_statement "iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);" (assignment_expression "iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148])" (identifier "iVar7") (= "=") (call_expression "FUN_00068b6c(param_1 + 300,param_1[0x148])" (identifier "FUN_00068b6c") (argument_list "(param_1 + 300,param_1[0x148])" (( "(") (binary_expression "param_1 + 300" (identifier "param_1") (+ "+") (number_literal "300")) (, ",") (subscript_expression "param_1[0x148]" (identifier "param_1") ([ "[") (number_literal "0x148") (] "]")) () ")")))) (; ";")) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" (identifier "iVar3") (= "=") (number_literal "0x10")) (; ";")) (if_statement "if (iVar7 == 0) {\n            iVar3 = 0;\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar3 = 0;\n          }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" (else "else") (compound_statement "{\n          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);\n          iVar3 = 0x10;\n        }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" (* "*") (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_strerror_000a6f68"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3)" (( "(") (identifier "iVar7") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x1fa8" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x1fa8")) (, ",") (identifier "uVar5") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" (identifier "iVar3") (= "=") (number_literal "0x10")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" (else "else") (compound_statement "{\n        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);\n        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);\n        iVar3 = 0x10;\n      }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" (* "*") (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_strerror_000a6f68"))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4)" (( "(") (identifier "iVar7") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x25a8" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x25a8")) (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" (identifier "iVar3") (= "=") (number_literal "0x10")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" (else "else") (compound_statement "{\n      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);\n      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);\n      iVar3 = 0x10;\n    }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);" (assignment_expression "uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3)" (parenthesized_expression "(*(code *)PTR_nghttp2_strerror_000a6f68)" (( "(") (pointer_expression "*(code *)PTR_nghttp2_strerror_000a6f68" (* "*") (cast_expression "(code *)PTR_nghttp2_strerror_000a6f68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nghttp2_strerror_000a6f68"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);" (call_expression "(*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3)" (( "(") (identifier "iVar7") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x24a8" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x24a8")) (, ",") (identifier "uVar5") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "iVar3 = 0x10;" (assignment_expression "iVar3 = 0x10" (identifier "iVar3") (= "=") (number_literal "0x10")) (; ";")) (} "}")))) (} "}"))) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}")))

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

type_1 function_1(type_2 *conn,char *mem,size_t var_11)

{
  type_3 *var_4;
  type_3 *puVar2;
  type_1 var_2;
  type_4 *pCVar4;
  type_5 var_10;
  int var_8;
  size_t var_12;
  type_6 uVar8;
  char *pcVar9;
  type_7 *pCVar10;
  type_8 var_6;
  type_9 *pCVar12;
  type_7 *data;
  void *pvVar13;
  
  data = conn->data;
  pvVar13 = (data->req).protop;
  var_2 = var_1(conn);
  if (var_2 == var_3) {
    pCVar10 = conn->data;
    pCVar12 = conn->recv[0];
    pcVar9 = (conn->proto).ftpc.pp.cache;
    var_6 = (pCVar10->req).upgr101;
    (conn->proto).ftpc.prevpath = (char *)conn->send[0];
    var_4 = var_5;
    (conn->proto).ftpc.prevmethod = (type_10)pCVar12;
    conn->recv[0] = (type_9 *)(var_4 + -0x5d54);
    conn->send[0] = (type_11 *)(var_5 + -0x677c);
    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;
    var_4 = PTR_nghttp2_submit_settings_000a6b34;
    if (var_6 == var_7) {
      var_12 = (conn->proto).httpc.binlen;
      *(type_6 *)((int)pvVar13 + 0x1b8) = 1;
      var_8 = (*(type_12 *)puVar2)(pcVar9,(type_13 *)((int)&conn->proto + 4),var_12,0);
      if (var_8 != 0) {
        uVar8 = (*(type_12 *)PTR_nghttp2_strerror_000a6f68)(var_8);
        (*(type_12 *)PTR_Curl_failf_000a614c)(data,var_9 + 0x2420,uVar8,var_8);
        return CURLE_HTTP2;
      }
      var_8 = (*(type_12 *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)
                        ((conn->proto).ftpc.pp.cache,*(type_6 *)((int)pvVar13 + 0x1b8),data);
      if (var_8 != 0) {
        (*(type_12 *)PTR_Curl_infof_000a61ac)
                  (data,var_9 + 0x244c,*(type_6 *)((int)pvVar13 + 0x1b8));
      }
    }
    else {
      pCVar4 = pCVar10->multi;
      (conn->proto).httpc.local_settings[0].value = 100;
      (conn->proto).httpc.local_settings[0].settings_id = 3;
      (conn->proto).httpc.local_settings[1].settings_id = 4;
      var_10 = pCVar4->push_cb;
      (conn->proto).httpc.local_settings[1].value = 0x40000000;
      (conn->proto).httpc.local_settings[2].settings_id = 2;
      (conn->proto).httpc.local_settings_num = 3;
      *(type_14 *)((int)&conn->proto + 0x90) = (type_14)(var_10 != (type_5)0x0);
      *(type_6 *)((int)pvVar13 + 0x1b8) = 0xffffffff;
      var_8 = (*(type_12 *)var_4)(pcVar9,0,(type_13 *)((int)&conn->proto + 0x7c),3);
      if (var_8 != 0) {
        uVar8 = (*(type_12 *)PTR_nghttp2_strerror_000a6f68)(var_8);
        (*(type_12 *)PTR_Curl_failf_000a614c)(data,var_9 + 0x247c,uVar8,var_8);
        return CURLE_HTTP2;
      }
    }
    var_8 = (*(type_12 *)PTR_nghttp2_session_set_local_window_size_000a6a30)
                      ((conn->proto).ftpc.pp.cache,0,0,0x40000000);
    if (var_8 == 0) {
      if (0x8000 < var_11) {
        (*(type_12 *)PTR_Curl_failf_000a614c)(data,var_9 + 0x24e0,0x8000,var_11);
        return CURLE_HTTP2;
      }
      (*(type_12 *)PTR_Curl_infof_000a61ac)(conn->data,var_9 + 0x2554,var_11);
      if (var_11 != 0) {
        (*(type_12 *)PTR_memcpy_000a6eec)((conn->proto).httpc.inbuf,mem,var_11);
      }
      var_4 = PTR_nghttp2_session_mem_recv_000a6d48;
      pcVar9 = (conn->proto).ftpc.pp.cache;
      (conn->proto).httpc.inbuflen = var_11;
      var_12 = (*(type_12 *)var_4)(pcVar9,(conn->proto).httpc.inbuf,var_11);
      var_8 = (*(type_12 *)PTR_nghttp2_is_fatal_000a6db4)(var_12);
      if (var_8 == 0) {
        if (var_11 == var_12) {
          (conn->proto).ftpc.count1 = 0;
          (conn->proto).ftpc.count2 = 0;
        }
        else {
          (conn->proto).imapc.mailbox = (conn->proto).imapc.mailbox + var_12;
        }
        var_8 = var_13(data,(conn->proto).httpc.h2);
        if (var_8 == 0) {
          var_8 = var_14(&(conn->proto).httpc,(type_15 *)(conn->proto).ftpc.state);
          var_2 = CURLE_HTTP2;
          if (var_8 == 0) {
            var_2 = var_3;
          }
        }
        else {
          uVar8 = (*(type_12 *)PTR_nghttp2_strerror_000a6f68)(var_8);
          (*(type_12 *)PTR_Curl_failf_000a614c)(data,var_9 + 0x1fa8,uVar8,var_8);
          var_2 = CURLE_HTTP2;
        }
      }
      else {
        uVar8 = (*(type_12 *)PTR_nghttp2_strerror_000a6f68)(var_12);
        (*(type_12 *)PTR_Curl_failf_000a614c)(data,var_9 + 0x25a8,uVar8,var_12);
        var_2 = CURLE_HTTP2;
      }
    }
    else {
      uVar8 = (*(type_12 *)PTR_nghttp2_strerror_000a6f68)(var_8);
      (*(type_12 *)PTR_Curl_failf_000a614c)(data,var_9 + 0x24a8,uVar8,var_8);
      var_2 = CURLE_HTTP2;
    }
  }
  return var_2;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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)) (identifier) (identifier)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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))))) (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)) (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))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (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) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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)) (identifier) (identifier)))) (return_statement (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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)) (number_literal) (identifier)))) (return_statement (number_literal)))) (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 (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (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 (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (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 (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (return_statement (identifier)))))

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

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  
  iVar7 = *param_1;
  iVar8 = *(int *)(iVar7 + 0x154);
  iVar3 = FUN_0006af38();
  if (iVar3 == 0) {
    iVar3 = param_1[300];
    iVar6 = *(int *)(*param_1 + 0x120);
    param_1[0x142] = param_1[0x6d];
    puVar1 = PTR_LAB_000a680c;
    param_1[0x143] = param_1[0x6b];
    param_1[0x6b] = (int)(puVar1 + -0x5d54);
    param_1[0x6d] = (int)(PTR_LAB_000a680c + -0x677c);
    puVar2 = PTR_nghttp2_session_upgrade_000a6e3c;
    puVar1 = PTR_nghttp2_submit_settings_000a6b34;
    if (iVar6 == 2) {
      iVar6 = param_1[0x141];
      *(undefined4 *)(iVar8 + 0x1b8) = 1;
      iVar3 = (*(code *)puVar2)(iVar3,param_1 + 0x12d,iVar6,0);
      if (iVar3 != 0) {
        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x2420,uVar5,iVar3);
        return 0x10;
      }
      iVar3 = (*(code *)PTR_nghttp2_session_set_stream_user_data_000a6ecc)
                        (param_1[300],*(undefined4 *)(iVar8 + 0x1b8),iVar7);
      if (iVar3 != 0) {
        (*(code *)PTR_FUN_000a61ac)(iVar7,PTR_UINT_000a6194 + 0x244c,*(undefined4 *)(iVar8 + 0x1b8))
        ;
      }
    }
    else {
      iVar6 = *(int *)(*param_1 + 0x84);
      param_1[0x14c] = 100;
      param_1[0x14b] = 3;
      param_1[0x14d] = 4;
      iVar6 = *(int *)(iVar6 + 0x3c);
      param_1[0x14e] = 0x40000000;
      param_1[0x14f] = 2;
      param_1[0x151] = 3;
      param_1[0x150] = (uint)(iVar6 != 0);
      *(undefined4 *)(iVar8 + 0x1b8) = 0xffffffff;
      iVar3 = (*(code *)puVar1)(iVar3,0,param_1 + 0x14b,3);
      if (iVar3 != 0) {
        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x247c,uVar5,iVar3);
        return 0x10;
      }
    }
    iVar3 = (*(code *)PTR_nghttp2_session_set_local_window_size_000a6a30)
                      (param_1[300],0,0,0x40000000);
    if (iVar3 == 0) {
      if (0x8000 < param_3) {
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24e0,0x8000,param_3);
        return 0x10;
      }
      (*(code *)PTR_FUN_000a61ac)(*param_1,PTR_UINT_000a6194 + 0x2554,param_3);
      if (param_3 != 0) {
        (*(code *)PTR_memcpy_000a6eec)(param_1[0x144],param_2,param_3);
      }
      puVar1 = PTR_nghttp2_session_mem_recv_000a6d48;
      param_1[0x145] = param_3;
      uVar4 = (*(code *)puVar1)(param_1[300],param_1[0x144],param_3);
      iVar3 = (*(code *)PTR_nghttp2_is_fatal_000a6db4)(uVar4);
      if (iVar3 == 0) {
        if (param_3 == uVar4) {
          param_1[0x145] = 0;
          param_1[0x146] = 0;
        }
        else {
          param_1[0x146] = param_1[0x146] + uVar4;
        }
        iVar3 = FUN_0006875c(iVar7,param_1[300]);
        if (iVar3 == 0) {
          iVar7 = FUN_00068b6c(param_1 + 300,param_1[0x148]);
          iVar3 = 0x10;
          if (iVar7 == 0) {
            iVar3 = 0;
          }
        }
        else {
          uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
          (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x1fa8,uVar5,iVar3);
          iVar3 = 0x10;
        }
      }
      else {
        uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(uVar4);
        (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x25a8,uVar5,uVar4);
        iVar3 = 0x10;
      }
    }
    else {
      uVar5 = (*(code *)PTR_nghttp2_strerror_000a6f68)(iVar3);
      (*(code *)PTR_FUN_000a614c)(iVar7,PTR_UINT_000a6194 + 0x24a8,uVar5,iVar3);
      iVar3 = 0x10;
    }
  }
  return iVar3;
}

