
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

uint http2_conncheck(connectdata *check,uint checks_to_perform)

{
  Curl_recv *pCVar1;
  curltime newer;
  _Bool _Var2;
  uint uVar3;
  ssize_t sVar4;
  timediff_t tVar5;
  int iVar6;
  undefined4 uVar7;
  uint uVar8;
  int in_GS_OFFSET;
  time_t local_34;
  int iStack_30;
  CURLcode result;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x684a9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  uVar8 = checks_to_perform & 1;
  if (uVar8 != 0) {
    if ((check->bits).close != false) goto LAB_000684cf;
    uVar3 = Curl_socket_check(check->sock[0],-1,-1,0);
    if (uVar3 != 0) {
      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;
      _Var2 = Curl_connalive(check);
      if (_Var2) {
        pCVar1 = (check->proto).httpc.recv_underlying;
        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;
        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);
        if (sVar4 == -1) goto LAB_000684cf;
        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);
        (check->proto).ftpc.count2 = 0;
        (check->proto).ftpc.count1 = sVar4;
        h2_process_pending_input(check,&(check->proto).httpc,&result);
      }
      uVar8 = (uint)!_Var2;
      goto LAB_000684cf;
    }
  }
  uVar8 = 0;
LAB_000684cf:
  if ((checks_to_perform & 2) != 0) {
    Curl_now();
    newer.tv_usec = iStack_30;
    newer.tv_sec = local_34;
    tVar5 = Curl_timediff(newer,check->keepalive);
    if (check->upkeep_interval_ms < tVar5) {
      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);
      if (iVar6 == 0) {
        (check->keepalive).tv_sec = local_34;
        (check->keepalive).tv_usec = iStack_30;
        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);
        if (iVar6 != 0) {
          uVar7 = nghttp2_strerror(iVar6);
          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);
        }
      }
      else {
        uVar7 = nghttp2_strerror(iVar6);
        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);
        (check->keepalive).tv_sec = local_34;
        (check->keepalive).tv_usec = iStack_30;
      }
    }
  }
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar8;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



byte FUN_000684a0(byte param_1)

{
  char cVar1;
  uint uVar2;
  int iVar3;
  undefined4 uVar4;
  byte bVar5;
  int unaff_EBX;
  undefined4 *puVar6;
  int in_GS_OFFSET;
  undefined4 *unaff_retaddr;
  undefined4 uStack_54;
  undefined1 auStack_50 [4];
  int local_4c;
  undefined4 local_48;
  undefined1 *local_40;
  int local_3c;
  undefined4 local_38 [4];
  undefined1 local_28 [4];
  undefined4 local_24;
  undefined4 uStack_14;
  
  uStack_14 = 0x684a9;
  entry();
  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  bVar5 = param_1 & 1;
  if (bVar5 != 0) {
    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;
    uStack_54 = 0;
    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);
    if (uVar2 != 0) {
      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;
      cVar1 = FUN_00043130(unaff_retaddr);
      local_48 = CONCAT31(local_48._1_3_,cVar1);
      if (cVar1 != '\0') {
        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;
        local_40 = local_28;
        iVar3 = (*(code *)unaff_retaddr[0x140])
                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);
        if (iVar3 == -1) goto LAB_000684cf;
        local_3c = iVar3;
        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);
        unaff_retaddr[0x143] = 0;
        unaff_retaddr[0x142] = local_3c;
        FUN_00068360();
      }
      bVar5 = (byte)local_48 ^ 1;
      goto LAB_000684cf;
    }
  }
  bVar5 = 0;
LAB_000684cf:
  puVar6 = (undefined4 *)auStack_50;
  if ((param_1 & 2) != 0) {
    FUN_0001ab90(local_38);
    local_4c = local_3c;
    local_48 = local_38[0];
    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);
    puVar6 = &uStack_54;
    if ((int)unaff_retaddr[0xa4] < iVar3) {
      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);
      if (iVar3 == 0) {
        unaff_retaddr[0xa2] = local_4c;
        unaff_retaddr[0xa3] = local_48;
        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);
        puVar6 = &uStack_54;
        if (iVar3 != 0) {
          uVar4 = nghttp2_strerror(iVar3);
          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);
          puVar6 = &uStack_54;
        }
      }
      else {
        uVar4 = nghttp2_strerror(iVar3);
        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);
        puVar6 = &uStack_54;
        unaff_retaddr[0xa2] = local_4c;
        unaff_retaddr[0xa3] = local_48;
      }
    }
  }
  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {
    return bVar5;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;
  FUN_00082f60();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00019ed0
ADD EBX,0x4e337
SUB ESP,0x3c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
MOV ESI,dword ptr [ESP + 0x54]
MOV EDI,dword ptr [ESP + 0x50]
MOV EBP,ESI
AND EBP,0x1
JNZ 0x000684f8
XOR EBP,EBP
AND ESI,0x2
JNZ 0x000685b8
MOV ECX,dword ptr [ESP + 0x2c]
XOR ECX,dword ptr GS:[0x14]
MOV EAX,EBP
JNZ 0x0006869d
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [EDI + 0x249],0x0
JNZ 0x000684cf
PUSH 0x0
PUSH -0x1
PUSH -0x1
PUSH dword ptr [EDI + 0x190]
CALL 0x0004d170
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000684cd
TEST AL,0x4
JNZ 0x000684cf
TEST AL,0x1
JZ 0x000684cf
SUB ESP,0xc
PUSH EDI
CALL 0x00043130
MOV byte ptr [ESP + 0x18],AL
ADD ESP,0x10
TEST AL,AL
JZ 0x000685a5
MOV EAX,dword ptr [EDI + 0x500]
TEST EAX,EAX
JZ 0x000684cf
SUB ESP,0xc
LEA ECX,[ESP + 0x34]
MOV dword ptr [ESP + 0x1c],ECX
PUSH ECX
PUSH 0x8000
PUSH dword ptr [EDI + 0x504]
PUSH 0x0
PUSH EDI
CALL EAX
ADD ESP,0x20
CMP EAX,-0x1
JZ 0x000684cf
SUB ESP,0x4
LEA EDX,[EBX + 0xfffd62f0]
PUSH EAX
MOV dword ptr [ESP + 0x1c],EAX
PUSH EDX
PUSH dword ptr [EDI]
CALL 0x00027c40
MOV EAX,dword ptr [ESP + 0x24]
MOV ECX,dword ptr [ESP + 0x20]
MOV dword ptr [EDI + 0x50c],0x0
LEA EDX,[EDI + 0x4a4]
MOV dword ptr [EDI + 0x508],EAX
MOV EAX,EDI
CALL 0x00068360
ADD ESP,0x10
MOVZX EDX,byte ptr [ESP + 0x8]
XOR EDX,0x1
MOVZX EBP,DL
JMP 0x000684cf
LEA EAX,[ESP + 0x18]
SUB ESP,0xc
PUSH EAX
CALL 0x0001ab90
MOV EAX,dword ptr [ESP + 0x24]
MOV EDX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0x18],EDX
ADD ESP,0xc
PUSH dword ptr [EDI + 0x28c]
PUSH dword ptr [EDI + 0x288]
PUSH EDX
PUSH EAX
CALL 0x0001ac30
ADD ESP,0x10
CMP EAX,dword ptr [EDI + 0x290]
JLE 0x000684d8
SUB ESP,0x4
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EDI + 0x4a4]
CALL 0x00018840
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JNZ 0x00068668
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
SUB ESP,0xc
MOV dword ptr [EDI + 0x288],EAX
MOV dword ptr [EDI + 0x28c],EDX
PUSH dword ptr [EDI + 0x4a4]
CALL 0x000187f0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x000684d8
SUB ESP,0xc
PUSH EAX
CALL 0x000185a0
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffd6350]
PUSH EAX
PUSH dword ptr [EDI]
CALL 0x00027d40
ADD ESP,0x20
JMP 0x000684d8
SUB ESP,0xc
PUSH EAX
CALL 0x000185a0
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffd6328]
PUSH EAX
PUSH dword ptr [EDI]
CALL 0x00027d40
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,dword ptr [ESP + 0x2c]
ADD ESP,0x20
MOV dword ptr [EDI + 0x288],EAX
MOV dword ptr [EDI + 0x28c],EDX
JMP 0x000684d8
CALL 0x00082f60
(translation_unit "byte FUN_000684a0(byte param_1)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}\n\n" (function_definition "byte FUN_000684a0(byte param_1)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}" type_identifier (function_declarator "FUN_000684a0(byte param_1)" identifier (parameter_list "(byte param_1)" ( (parameter_declaration "byte param_1" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int unaff_EBX;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined4 *unaff_retaddr;" type_identifier (pointer_declarator "*unaff_retaddr" * identifier) ;) (declaration "undefined4 uStack_54;" type_identifier identifier ;) (declaration "undefined1 auStack_50 [4];" type_identifier (array_declarator "auStack_50 [4]" identifier [ number_literal ]) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38 [4];" type_identifier (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_28 [4];" type_identifier (array_declarator "local_28 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x684a9;" (assignment_expression "uStack_14 = 0x684a9" identifier = number_literal) ;) (expression_statement "entry();" (call_expression "entry()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "bVar5 = param_1 & 1;" (assignment_expression "bVar5 = param_1 & 1" identifier = (binary_expression "param_1 & 1" identifier & number_literal)) ;) (if_statement "if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }" { (if_statement "if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;" if (parenthesized_expression "(*(char *)((int)unaff_retaddr + 0x249) != '\0')" ( (binary_expression "*(char *)((int)unaff_retaddr + 0x249) != '\0'" (pointer_expression "*(char *)((int)unaff_retaddr + 0x249)" * (cast_expression "(char *)((int)unaff_retaddr + 0x249)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_retaddr + 0x249)" ( (binary_expression "(int)unaff_retaddr + 0x249" (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);" (assignment_expression "uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff)" identifier = (call_expression "FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff)" identifier (argument_list "(unaff_retaddr[100],0xffffffff,0xffffffff)" ( (subscript_expression "unaff_retaddr[100]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (if_statement "if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }" { (if_statement "if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;" if (parenthesized_expression "(((uVar2 & 4) != 0) || ((uVar2 & 1) == 0))" ( (binary_expression "((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)" (parenthesized_expression "((uVar2 & 4) != 0)" ( (binary_expression "(uVar2 & 4) != 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((uVar2 & 1) == 0)" ( (binary_expression "(uVar2 & 1) == 0" (parenthesized_expression "(uVar2 & 1)" ( (binary_expression "uVar2 & 1" identifier & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "cVar1 = FUN_00043130(unaff_retaddr);" (assignment_expression "cVar1 = FUN_00043130(unaff_retaddr)" identifier = (call_expression "FUN_00043130(unaff_retaddr)" identifier (argument_list "(unaff_retaddr)" ( identifier )))) ;) (expression_statement "local_48 = CONCAT31(local_48._1_3_,cVar1);" (assignment_expression "local_48 = CONCAT31(local_48._1_3_,cVar1)" identifier = (call_expression "CONCAT31(local_48._1_3_,cVar1)" identifier (argument_list "(local_48._1_3_,cVar1)" ( (field_expression "local_48._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }" { (if_statement "if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;" if (parenthesized_expression "((code *)unaff_retaddr[0x140] == (code *)0x0)" ( (binary_expression "(code *)unaff_retaddr[0x140] == (code *)0x0" (cast_expression "(code *)unaff_retaddr[0x140]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_retaddr[0x140]" identifier [ number_literal ])) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "local_40 = local_28;" (assignment_expression "local_40 = local_28" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);" (assignment_expression "iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" identifier = (call_expression "(*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" (parenthesized_expression "(*(code *)unaff_retaddr[0x140])" ( (pointer_expression "*(code *)unaff_retaddr[0x140]" * (cast_expression "(code *)unaff_retaddr[0x140]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_retaddr[0x140]" identifier [ number_literal ]))) )) (argument_list "(unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" ( identifier , number_literal , (subscript_expression "unaff_retaddr[0x141]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar3 == -1) goto LAB_000684cf;" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "local_3c = iVar3;" (assignment_expression "local_3c = iVar3" identifier = identifier) ;) (expression_statement "FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);" (call_expression "FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3)" identifier (argument_list "(*unaff_retaddr,unaff_EBX + 0x24627,iVar3)" ( (pointer_expression "*unaff_retaddr" * identifier) , (binary_expression "unaff_EBX + 0x24627" identifier + number_literal) , identifier ))) ;) (expression_statement "unaff_retaddr[0x143] = 0;" (assignment_expression "unaff_retaddr[0x143] = 0" (subscript_expression "unaff_retaddr[0x143]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_retaddr[0x142] = local_3c;" (assignment_expression "unaff_retaddr[0x142] = local_3c" (subscript_expression "unaff_retaddr[0x142]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00068360();" (call_expression "FUN_00068360()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar5 = (byte)local_48 ^ 1;" (assignment_expression "bVar5 = (byte)local_48 ^ 1" identifier = (binary_expression "(byte)local_48 ^ 1" (cast_expression "(byte)local_48" ( (type_descriptor "byte" type_identifier) ) identifier) ^ number_literal)) ;) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;) })) })) (expression_statement "bVar5 = 0;" (assignment_expression "bVar5 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;" statement_identifier : (expression_statement "puVar6 = (undefined4 *)auStack_50;" (assignment_expression "puVar6 = (undefined4 *)auStack_50" identifier = (cast_expression "(undefined4 *)auStack_50" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }" if (parenthesized_expression "((param_1 & 2) != 0)" ( (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }" { (expression_statement "FUN_0001ab90(local_38);" (call_expression "FUN_0001ab90(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "local_4c = local_3c;" (assignment_expression "local_4c = local_3c" identifier = identifier) ;) (expression_statement "local_48 = local_38[0];" (assignment_expression "local_48 = local_38[0]" identifier = (subscript_expression "local_38[0]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);" (assignment_expression "iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" identifier = (call_expression "FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" identifier (argument_list "(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" ( identifier , (subscript_expression "local_38[0]" identifier [ number_literal ]) , (subscript_expression "unaff_retaddr[0xa2]" identifier [ number_literal ]) , (subscript_expression "unaff_retaddr[0xa3]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) (if_statement "if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }" if (parenthesized_expression "((int)unaff_retaddr[0xa4] < iVar3)" ( (binary_expression "(int)unaff_retaddr[0xa4] < iVar3" (cast_expression "(int)unaff_retaddr[0xa4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_retaddr[0xa4]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }" { (expression_statement "iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);" (assignment_expression "iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0)" identifier = (call_expression "nghttp2_submit_ping(unaff_retaddr[0x129],0,0)" identifier (argument_list "(unaff_retaddr[0x129],0,0)" ( (subscript_expression "unaff_retaddr[0x129]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }" { (expression_statement "unaff_retaddr[0xa2] = local_4c;" (assignment_expression "unaff_retaddr[0xa2] = local_4c" (subscript_expression "unaff_retaddr[0xa2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_retaddr[0xa3] = local_48;" (assignment_expression "unaff_retaddr[0xa3] = local_48" (subscript_expression "unaff_retaddr[0xa3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);" (assignment_expression "iVar3 = nghttp2_session_send(unaff_retaddr[0x129])" identifier = (call_expression "nghttp2_session_send(unaff_retaddr[0x129])" identifier (argument_list "(unaff_retaddr[0x129])" ( (subscript_expression "unaff_retaddr[0x129]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) (if_statement "if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }" { (expression_statement "uVar4 = nghttp2_strerror(iVar3);" (assignment_expression "uVar4 = nghttp2_strerror(iVar3)" identifier = (call_expression "nghttp2_strerror(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);" (call_expression "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3)" identifier (argument_list "(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3)" ( (pointer_expression "*unaff_retaddr" * identifier) , (binary_expression "unaff_EBX + 0x24687" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) })) }) (else_clause "else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" else (compound_statement "{\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" { (expression_statement "uVar4 = nghttp2_strerror(iVar3);" (assignment_expression "uVar4 = nghttp2_strerror(iVar3)" identifier = (call_expression "nghttp2_strerror(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);" (call_expression "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3)" identifier (argument_list "(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3)" ( (pointer_expression "*unaff_retaddr" * identifier) , (binary_expression "unaff_EBX + 0x2465f" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) (expression_statement "unaff_retaddr[0xa2] = local_4c;" (assignment_expression "unaff_retaddr[0xa2] = local_4c" (subscript_expression "unaff_retaddr[0xa2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_retaddr[0xa3] = local_48;" (assignment_expression "unaff_retaddr[0xa3] = local_48" (subscript_expression "unaff_retaddr[0xa3]" identifier [ number_literal ]) = identifier) ;) }))) })) })) (if_statement "if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }" if (parenthesized_expression "(*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar6 + 0x2c)" * (cast_expression "(int *)((int)puVar6 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x2c)" ( (binary_expression "(int)puVar6 + 0x2c" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return bVar5;\n  }" { (return_statement "return bVar5;" return identifier ;) })) comment (expression_statement "*(undefined **)((int)puVar6 + -4) = &UNK_000686a2;" (assignment_expression "*(undefined **)((int)puVar6 + -4) = &UNK_000686a2" (pointer_expression "*(undefined **)((int)puVar6 + -4)" * (cast_expression "(undefined **)((int)puVar6 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -4)" ( (binary_expression "(int)puVar6 + -4" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_000686a2" & identifier)) ;) (expression_statement "FUN_00082f60();" (call_expression "FUN_00082f60()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nuint http2_conncheck(connectdata *check,uint checks_to_perform)\n\n{\n  Curl_recv *pCVar1;\n  curltime newer;\n  _Bool _Var2;\n  uint uVar3;\n  ssize_t sVar4;\n  timediff_t tVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  time_t local_34;\n  int iStack_30;\n  CURLcode result;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar8 = checks_to_perform & 1;\n  if (uVar8 != 0) {\n    if ((check->bits).close != false) goto LAB_000684cf;\n    uVar3 = Curl_socket_check(check->sock[0],-1,-1,0);\n    if (uVar3 != 0) {\n      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;\n      _Var2 = Curl_connalive(check);\n      if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }\n      uVar8 = (uint)!_Var2;\n      goto LAB_000684cf;\n    }\n  }\n  uVar8 = 0;\nLAB_000684cf:\n  if ((checks_to_perform & 2) != 0) {\n    Curl_now();\n    newer.tv_usec = iStack_30;\n    newer.tv_sec = local_34;\n    tVar5 = Curl_timediff(newer,check->keepalive);\n    if (check->upkeep_interval_ms < tVar5) {\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment comment (function_definition "uint http2_conncheck(connectdata *check,uint checks_to_perform)\n\n{\n  Curl_recv *pCVar1;\n  curltime newer;\n  _Bool _Var2;\n  uint uVar3;\n  ssize_t sVar4;\n  timediff_t tVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  time_t local_34;\n  int iStack_30;\n  CURLcode result;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar8 = checks_to_perform & 1;\n  if (uVar8 != 0) {\n    if ((check->bits).close != false) goto LAB_000684cf;\n    uVar3 = Curl_socket_check(check->sock[0],-1,-1,0);\n    if (uVar3 != 0) {\n      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;\n      _Var2 = Curl_connalive(check);\n      if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }\n      uVar8 = (uint)!_Var2;\n      goto LAB_000684cf;\n    }\n  }\n  uVar8 = 0;\nLAB_000684cf:\n  if ((checks_to_perform & 2) != 0) {\n    Curl_now();\n    newer.tv_usec = iStack_30;\n    newer.tv_sec = local_34;\n    tVar5 = Curl_timediff(newer,check->keepalive);\n    if (check->upkeep_interval_ms < tVar5) {\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" type_identifier (function_declarator "http2_conncheck(connectdata *check,uint checks_to_perform)" identifier (parameter_list "(connectdata *check,uint checks_to_perform)" ( (parameter_declaration "connectdata *check" type_identifier (pointer_declarator "*check" * identifier)) , (parameter_declaration "uint checks_to_perform" type_identifier identifier) ))) (compound_statement "{\n  Curl_recv *pCVar1;\n  curltime newer;\n  _Bool _Var2;\n  uint uVar3;\n  ssize_t sVar4;\n  timediff_t tVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  time_t local_34;\n  int iStack_30;\n  CURLcode result;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar8 = checks_to_perform & 1;\n  if (uVar8 != 0) {\n    if ((check->bits).close != false) goto LAB_000684cf;\n    uVar3 = Curl_socket_check(check->sock[0],-1,-1,0);\n    if (uVar3 != 0) {\n      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;\n      _Var2 = Curl_connalive(check);\n      if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }\n      uVar8 = (uint)!_Var2;\n      goto LAB_000684cf;\n    }\n  }\n  uVar8 = 0;\nLAB_000684cf:\n  if ((checks_to_perform & 2) != 0) {\n    Curl_now();\n    newer.tv_usec = iStack_30;\n    newer.tv_sec = local_34;\n    tVar5 = Curl_timediff(newer,check->keepalive);\n    if (check->upkeep_interval_ms < tVar5) {\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "Curl_recv *pCVar1;" type_identifier (pointer_declarator "*pCVar1" * identifier) ;) (declaration "curltime newer;" type_identifier identifier ;) (declaration "_Bool _Var2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ssize_t sVar4;" primitive_type identifier ;) (declaration "timediff_t tVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "time_t local_34;" type_identifier identifier ;) (declaration "int iStack_30;" primitive_type identifier ;) (declaration "CURLcode result;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x684a9;" (assignment_expression "uStack_14 = 0x684a9" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = checks_to_perform & 1;" (assignment_expression "uVar8 = checks_to_perform & 1" identifier = (binary_expression "checks_to_perform & 1" identifier & number_literal)) ;) (if_statement "if (uVar8 != 0) {\n    if ((check->bits).close != false) goto LAB_000684cf;\n    uVar3 = Curl_socket_check(check->sock[0],-1,-1,0);\n    if (uVar3 != 0) {\n      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;\n      _Var2 = Curl_connalive(check);\n      if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }\n      uVar8 = (uint)!_Var2;\n      goto LAB_000684cf;\n    }\n  }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((check->bits).close != false) goto LAB_000684cf;\n    uVar3 = Curl_socket_check(check->sock[0],-1,-1,0);\n    if (uVar3 != 0) {\n      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;\n      _Var2 = Curl_connalive(check);\n      if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }\n      uVar8 = (uint)!_Var2;\n      goto LAB_000684cf;\n    }\n  }" { (if_statement "if ((check->bits).close != false) goto LAB_000684cf;" if (parenthesized_expression "((check->bits).close != false)" ( (binary_expression "(check->bits).close != false" (field_expression "(check->bits).close" (parenthesized_expression "(check->bits)" ( (field_expression "check->bits" identifier -> field_identifier) )) . field_identifier) != false) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "uVar3 = Curl_socket_check(check->sock[0],-1,-1,0);" (assignment_expression "uVar3 = Curl_socket_check(check->sock[0],-1,-1,0)" identifier = (call_expression "Curl_socket_check(check->sock[0],-1,-1,0)" identifier (argument_list "(check->sock[0],-1,-1,0)" ( (subscript_expression "check->sock[0]" (field_expression "check->sock" identifier -> field_identifier) [ number_literal ]) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (uVar3 != 0) {\n      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;\n      _Var2 = Curl_connalive(check);\n      if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }\n      uVar8 = (uint)!_Var2;\n      goto LAB_000684cf;\n    }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;\n      _Var2 = Curl_connalive(check);\n      if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }\n      uVar8 = (uint)!_Var2;\n      goto LAB_000684cf;\n    }" { (if_statement "if (((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)) goto LAB_000684cf;" if (parenthesized_expression "(((uVar3 & 4) != 0) || ((uVar3 & 1) == 0))" ( (binary_expression "((uVar3 & 4) != 0) || ((uVar3 & 1) == 0)" (parenthesized_expression "((uVar3 & 4) != 0)" ( (binary_expression "(uVar3 & 4) != 0" (parenthesized_expression "(uVar3 & 4)" ( (binary_expression "uVar3 & 4" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((uVar3 & 1) == 0)" ( (binary_expression "(uVar3 & 1) == 0" (parenthesized_expression "(uVar3 & 1)" ( (binary_expression "uVar3 & 1" identifier & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "_Var2 = Curl_connalive(check);" (assignment_expression "_Var2 = Curl_connalive(check)" identifier = (call_expression "Curl_connalive(check)" identifier (argument_list "(check)" ( identifier )))) ;) (if_statement "if (_Var2) {\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }" if (parenthesized_expression "(_Var2)" ( identifier )) (compound_statement "{\n        pCVar1 = (check->proto).httpc.recv_underlying;\n        if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;\n        sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);\n        if (sVar4 == -1) goto LAB_000684cf;\n        Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);\n        (check->proto).ftpc.count2 = 0;\n        (check->proto).ftpc.count1 = sVar4;\n        h2_process_pending_input(check,&(check->proto).httpc,&result);\n      }" { (expression_statement "pCVar1 = (check->proto).httpc.recv_underlying;" (assignment_expression "pCVar1 = (check->proto).httpc.recv_underlying" identifier = (field_expression "(check->proto).httpc.recv_underlying" (field_expression "(check->proto).httpc" (parenthesized_expression "(check->proto)" ( (field_expression "check->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pCVar1 == (Curl_recv *)0x0) goto LAB_000684cf;" if (parenthesized_expression "(pCVar1 == (Curl_recv *)0x0)" ( (binary_expression "pCVar1 == (Curl_recv *)0x0" identifier == (cast_expression "(Curl_recv *)0x0" ( (type_descriptor "Curl_recv *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result);" (assignment_expression "sVar4 = (*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result)" identifier = (call_expression "(*pCVar1)(check,0,(check->proto).httpc.inbuf,0x8000,&result)" (parenthesized_expression "(*pCVar1)" ( (pointer_expression "*pCVar1" * identifier) )) (argument_list "(check,0,(check->proto).httpc.inbuf,0x8000,&result)" ( identifier , number_literal , (field_expression "(check->proto).httpc.inbuf" (field_expression "(check->proto).httpc" (parenthesized_expression "(check->proto)" ( (field_expression "check->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) , number_literal , (pointer_expression "&result" & identifier) )))) ;) (if_statement "if (sVar4 == -1) goto LAB_000684cf;" if (parenthesized_expression "(sVar4 == -1)" ( (binary_expression "sVar4 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4);" (call_expression "Curl_infof(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4)" identifier (argument_list "(check->data,"%d bytes stray data read before trying h2 connection\n",sVar4)" ( (field_expression "check->data" identifier -> field_identifier) , (string_literal ""%d bytes stray data read before trying h2 connection\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "(check->proto).ftpc.count2 = 0;" (assignment_expression "(check->proto).ftpc.count2 = 0" (field_expression "(check->proto).ftpc.count2" (field_expression "(check->proto).ftpc" (parenthesized_expression "(check->proto)" ( (field_expression "check->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(check->proto).ftpc.count1 = sVar4;" (assignment_expression "(check->proto).ftpc.count1 = sVar4" (field_expression "(check->proto).ftpc.count1" (field_expression "(check->proto).ftpc" (parenthesized_expression "(check->proto)" ( (field_expression "check->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "h2_process_pending_input(check,&(check->proto).httpc,&result);" (call_expression "h2_process_pending_input(check,&(check->proto).httpc,&result)" identifier (argument_list "(check,&(check->proto).httpc,&result)" ( identifier , (pointer_expression "&(check->proto).httpc" & (field_expression "(check->proto).httpc" (parenthesized_expression "(check->proto)" ( (field_expression "check->proto" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "&result" & identifier) ))) ;) })) (expression_statement "uVar8 = (uint)!_Var2;" (assignment_expression "uVar8 = (uint)!_Var2" identifier = (cast_expression "(uint)!_Var2" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!_Var2" ! identifier))) ;) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;) })) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000684cf:\n  if ((checks_to_perform & 2) != 0) {\n    Curl_now();\n    newer.tv_usec = iStack_30;\n    newer.tv_sec = local_34;\n    tVar5 = Curl_timediff(newer,check->keepalive);\n    if (check->upkeep_interval_ms < tVar5) {\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }\n  }" statement_identifier : (if_statement "if ((checks_to_perform & 2) != 0) {\n    Curl_now();\n    newer.tv_usec = iStack_30;\n    newer.tv_sec = local_34;\n    tVar5 = Curl_timediff(newer,check->keepalive);\n    if (check->upkeep_interval_ms < tVar5) {\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }\n  }" if (parenthesized_expression "((checks_to_perform & 2) != 0)" ( (binary_expression "(checks_to_perform & 2) != 0" (parenthesized_expression "(checks_to_perform & 2)" ( (binary_expression "checks_to_perform & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    Curl_now();\n    newer.tv_usec = iStack_30;\n    newer.tv_sec = local_34;\n    tVar5 = Curl_timediff(newer,check->keepalive);\n    if (check->upkeep_interval_ms < tVar5) {\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }\n  }" { (expression_statement "Curl_now();" (call_expression "Curl_now()" identifier (argument_list "()" ( ))) ;) (expression_statement "newer.tv_usec = iStack_30;" (assignment_expression "newer.tv_usec = iStack_30" (field_expression "newer.tv_usec" identifier . field_identifier) = identifier) ;) (expression_statement "newer.tv_sec = local_34;" (assignment_expression "newer.tv_sec = local_34" (field_expression "newer.tv_sec" identifier . field_identifier) = identifier) ;) (expression_statement "tVar5 = Curl_timediff(newer,check->keepalive);" (assignment_expression "tVar5 = Curl_timediff(newer,check->keepalive)" identifier = (call_expression "Curl_timediff(newer,check->keepalive)" identifier (argument_list "(newer,check->keepalive)" ( identifier , (field_expression "check->keepalive" identifier -> field_identifier) )))) ;) (if_statement "if (check->upkeep_interval_ms < tVar5) {\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }" if (parenthesized_expression "(check->upkeep_interval_ms < tVar5)" ( (binary_expression "check->upkeep_interval_ms < tVar5" (field_expression "check->upkeep_interval_ms" identifier -> field_identifier) < identifier) )) (compound_statement "{\n      iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);\n      if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }\n    }" { (expression_statement "iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0);" (assignment_expression "iVar6 = nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0)" identifier = (call_expression "nghttp2_submit_ping((check->proto).ftpc.pp.cache,0,0)" identifier (argument_list "((check->proto).ftpc.pp.cache,0,0)" ( (field_expression "(check->proto).ftpc.pp.cache" (field_expression "(check->proto).ftpc.pp" (field_expression "(check->proto).ftpc" (parenthesized_expression "(check->proto)" ( (field_expression "check->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) , number_literal , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }\n      else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n        iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);\n        if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }\n      }" { (expression_statement "(check->keepalive).tv_sec = local_34;" (assignment_expression "(check->keepalive).tv_sec = local_34" (field_expression "(check->keepalive).tv_sec" (parenthesized_expression "(check->keepalive)" ( (field_expression "check->keepalive" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(check->keepalive).tv_usec = iStack_30;" (assignment_expression "(check->keepalive).tv_usec = iStack_30" (field_expression "(check->keepalive).tv_usec" (parenthesized_expression "(check->keepalive)" ( (field_expression "check->keepalive" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache);" (assignment_expression "iVar6 = nghttp2_session_send((check->proto).ftpc.pp.cache)" identifier = (call_expression "nghttp2_session_send((check->proto).ftpc.pp.cache)" identifier (argument_list "((check->proto).ftpc.pp.cache)" ( (field_expression "(check->proto).ftpc.pp.cache" (field_expression "(check->proto).ftpc.pp" (field_expression "(check->proto).ftpc" (parenthesized_expression "(check->proto)" ( (field_expression "check->proto" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) )))) ;) (if_statement "if (iVar6 != 0) {\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar7 = nghttp2_strerror(iVar6);\n          Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);\n        }" { (expression_statement "uVar7 = nghttp2_strerror(iVar6);" (assignment_expression "uVar7 = nghttp2_strerror(iVar6)" identifier = (call_expression "nghttp2_strerror(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6);" (call_expression "Curl_failf(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6)" identifier (argument_list "(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,iVar6)" ( (field_expression "check->data" identifier -> field_identifier) , (string_literal ""nghttp2_session_send() failed: %s(%d)"" " string_content ") , identifier , identifier ))) ;) })) }) (else_clause "else {\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }" else (compound_statement "{\n        uVar7 = nghttp2_strerror(iVar6);\n        Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);\n        (check->keepalive).tv_sec = local_34;\n        (check->keepalive).tv_usec = iStack_30;\n      }" { (expression_statement "uVar7 = nghttp2_strerror(iVar6);" (assignment_expression "uVar7 = nghttp2_strerror(iVar6)" identifier = (call_expression "nghttp2_strerror(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6);" (call_expression "Curl_failf(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6)" identifier (argument_list "(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,iVar6)" ( (field_expression "check->data" identifier -> field_identifier) , (string_literal ""nghttp2_submit_ping() failed: %s(%d)"" " string_content ") , identifier , identifier ))) ;) (expression_statement "(check->keepalive).tv_sec = local_34;" (assignment_expression "(check->keepalive).tv_sec = local_34" (field_expression "(check->keepalive).tv_sec" (parenthesized_expression "(check->keepalive)" ( (field_expression "check->keepalive" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(check->keepalive).tv_usec = iStack_30;" (assignment_expression "(check->keepalive).tv_usec = iStack_30" (field_expression "(check->keepalive).tv_usec" (parenthesized_expression "(check->keepalive)" ( (field_expression "check->keepalive" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }))) })) }))) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "byte FUN_000684a0(byte param_1)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    \n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}\n\n" (function_definition "byte FUN_000684a0(byte param_1)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    \n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}" type_identifier (function_declarator "FUN_000684a0(byte param_1)" identifier (parameter_list "(byte param_1)" ( (parameter_declaration "byte param_1" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    \n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int unaff_EBX;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined4 *unaff_retaddr;" type_identifier (pointer_declarator "*unaff_retaddr" * identifier) ;) (declaration "undefined4 uStack_54;" type_identifier identifier ;) (declaration "undefined1 auStack_50 [4];" type_identifier (array_declarator "auStack_50 [4]" identifier [ number_literal ]) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38 [4];" type_identifier (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_28 [4];" type_identifier (array_declarator "local_28 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x684a9;" (assignment_expression "uStack_14 = 0x684a9" identifier = number_literal) ;) (expression_statement "entry();" (call_expression "entry()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "bVar5 = param_1 & 1;" (assignment_expression "bVar5 = param_1 & 1" identifier = (binary_expression "param_1 & 1" identifier & number_literal)) ;) (if_statement "if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }" { (if_statement "if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;" if (parenthesized_expression "(*(char *)((int)unaff_retaddr + 0x249) != '\0')" ( (binary_expression "*(char *)((int)unaff_retaddr + 0x249) != '\0'" (pointer_expression "*(char *)((int)unaff_retaddr + 0x249)" * (cast_expression "(char *)((int)unaff_retaddr + 0x249)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_retaddr + 0x249)" ( (binary_expression "(int)unaff_retaddr + 0x249" (cast_expression "(int)unaff_retaddr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);" (assignment_expression "uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff)" identifier = (call_expression "FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff)" identifier (argument_list "(unaff_retaddr[100],0xffffffff,0xffffffff)" ( (subscript_expression "unaff_retaddr[100]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (if_statement "if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }" { (if_statement "if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;" if (parenthesized_expression "(((uVar2 & 4) != 0) || ((uVar2 & 1) == 0))" ( (binary_expression "((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)" (parenthesized_expression "((uVar2 & 4) != 0)" ( (binary_expression "(uVar2 & 4) != 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((uVar2 & 1) == 0)" ( (binary_expression "(uVar2 & 1) == 0" (parenthesized_expression "(uVar2 & 1)" ( (binary_expression "uVar2 & 1" identifier & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "cVar1 = FUN_00043130(unaff_retaddr);" (assignment_expression "cVar1 = FUN_00043130(unaff_retaddr)" identifier = (call_expression "FUN_00043130(unaff_retaddr)" identifier (argument_list "(unaff_retaddr)" ( identifier )))) ;) (expression_statement "local_48 = CONCAT31(local_48._1_3_,cVar1);" (assignment_expression "local_48 = CONCAT31(local_48._1_3_,cVar1)" identifier = (call_expression "CONCAT31(local_48._1_3_,cVar1)" identifier (argument_list "(local_48._1_3_,cVar1)" ( (field_expression "local_48._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }" { (if_statement "if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;" if (parenthesized_expression "((code *)unaff_retaddr[0x140] == (code *)0x0)" ( (binary_expression "(code *)unaff_retaddr[0x140] == (code *)0x0" (cast_expression "(code *)unaff_retaddr[0x140]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_retaddr[0x140]" identifier [ number_literal ])) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "local_40 = local_28;" (assignment_expression "local_40 = local_28" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);" (assignment_expression "iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" identifier = (call_expression "(*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" (parenthesized_expression "(*(code *)unaff_retaddr[0x140])" ( (pointer_expression "*(code *)unaff_retaddr[0x140]" * (cast_expression "(code *)unaff_retaddr[0x140]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_retaddr[0x140]" identifier [ number_literal ]))) )) (argument_list "(unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" ( identifier , number_literal , (subscript_expression "unaff_retaddr[0x141]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar3 == -1) goto LAB_000684cf;" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;)) (expression_statement "local_3c = iVar3;" (assignment_expression "local_3c = iVar3" identifier = identifier) ;) (expression_statement "FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);" (call_expression "FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3)" identifier (argument_list "(*unaff_retaddr,unaff_EBX + 0x24627,iVar3)" ( (pointer_expression "*unaff_retaddr" * identifier) , (binary_expression "unaff_EBX + 0x24627" identifier + number_literal) , identifier ))) ;) (expression_statement "unaff_retaddr[0x143] = 0;" (assignment_expression "unaff_retaddr[0x143] = 0" (subscript_expression "unaff_retaddr[0x143]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_retaddr[0x142] = local_3c;" (assignment_expression "unaff_retaddr[0x142] = local_3c" (subscript_expression "unaff_retaddr[0x142]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00068360();" (call_expression "FUN_00068360()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar5 = (byte)local_48 ^ 1;" (assignment_expression "bVar5 = (byte)local_48 ^ 1" identifier = (binary_expression "(byte)local_48 ^ 1" (cast_expression "(byte)local_48" ( (type_descriptor "byte" type_identifier) ) identifier) ^ number_literal)) ;) (goto_statement "goto LAB_000684cf;" goto statement_identifier ;) })) })) (expression_statement "bVar5 = 0;" (assignment_expression "bVar5 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;" statement_identifier : (expression_statement "puVar6 = (undefined4 *)auStack_50;" (assignment_expression "puVar6 = (undefined4 *)auStack_50" identifier = (cast_expression "(undefined4 *)auStack_50" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }" if (parenthesized_expression "((param_1 & 2) != 0)" ( (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }" { (expression_statement "FUN_0001ab90(local_38);" (call_expression "FUN_0001ab90(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "local_4c = local_3c;" (assignment_expression "local_4c = local_3c" identifier = identifier) ;) (expression_statement "local_48 = local_38[0];" (assignment_expression "local_48 = local_38[0]" identifier = (subscript_expression "local_38[0]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);" (assignment_expression "iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" identifier = (call_expression "FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" identifier (argument_list "(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" ( identifier , (subscript_expression "local_38[0]" identifier [ number_literal ]) , (subscript_expression "unaff_retaddr[0xa2]" identifier [ number_literal ]) , (subscript_expression "unaff_retaddr[0xa3]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) (if_statement "if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }" if (parenthesized_expression "((int)unaff_retaddr[0xa4] < iVar3)" ( (binary_expression "(int)unaff_retaddr[0xa4] < iVar3" (cast_expression "(int)unaff_retaddr[0xa4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_retaddr[0xa4]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }" { (expression_statement "iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);" (assignment_expression "iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0)" identifier = (call_expression "nghttp2_submit_ping(unaff_retaddr[0x129],0,0)" identifier (argument_list "(unaff_retaddr[0x129],0,0)" ( (subscript_expression "unaff_retaddr[0x129]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }" { (expression_statement "unaff_retaddr[0xa2] = local_4c;" (assignment_expression "unaff_retaddr[0xa2] = local_4c" (subscript_expression "unaff_retaddr[0xa2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_retaddr[0xa3] = local_48;" (assignment_expression "unaff_retaddr[0xa3] = local_48" (subscript_expression "unaff_retaddr[0xa3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);" (assignment_expression "iVar3 = nghttp2_session_send(unaff_retaddr[0x129])" identifier = (call_expression "nghttp2_session_send(unaff_retaddr[0x129])" identifier (argument_list "(unaff_retaddr[0x129])" ( (subscript_expression "unaff_retaddr[0x129]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) (if_statement "if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }" { (expression_statement "uVar4 = nghttp2_strerror(iVar3);" (assignment_expression "uVar4 = nghttp2_strerror(iVar3)" identifier = (call_expression "nghttp2_strerror(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);" (call_expression "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3)" identifier (argument_list "(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3)" ( (pointer_expression "*unaff_retaddr" * identifier) , (binary_expression "unaff_EBX + 0x24687" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) })) }) (else_clause "else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" else (compound_statement "{\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" { (expression_statement "uVar4 = nghttp2_strerror(iVar3);" (assignment_expression "uVar4 = nghttp2_strerror(iVar3)" identifier = (call_expression "nghttp2_strerror(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);" (call_expression "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3)" identifier (argument_list "(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3)" ( (pointer_expression "*unaff_retaddr" * identifier) , (binary_expression "unaff_EBX + 0x2465f" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" identifier = (pointer_expression "&uStack_54" & identifier)) ;) (expression_statement "unaff_retaddr[0xa2] = local_4c;" (assignment_expression "unaff_retaddr[0xa2] = local_4c" (subscript_expression "unaff_retaddr[0xa2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_retaddr[0xa3] = local_48;" (assignment_expression "unaff_retaddr[0xa3] = local_48" (subscript_expression "unaff_retaddr[0xa3]" identifier [ number_literal ]) = identifier) ;) }))) })) })) (if_statement "if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }" if (parenthesized_expression "(*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar6 + 0x2c)" * (cast_expression "(int *)((int)puVar6 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x2c)" ( (binary_expression "(int)puVar6 + 0x2c" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return bVar5;\n  }" { (return_statement "return bVar5;" return identifier ;) })) (expression_statement "*(undefined **)((int)puVar6 + -4) = &UNK_000686a2;" (assignment_expression "*(undefined **)((int)puVar6 + -4) = &UNK_000686a2" (pointer_expression "*(undefined **)((int)puVar6 + -4)" * (cast_expression "(undefined **)((int)puVar6 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -4)" ( (binary_expression "(int)puVar6 + -4" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_000686a2" & identifier)) ;) (expression_statement "FUN_00082f60();" (call_expression "FUN_00082f60()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , LIT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "byte FUN_000684a0(byte param_1)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    \n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}" (type_identifier "byte") (function_declarator "FUN_000684a0(byte param_1)" (identifier "FUN_000684a0") (parameter_list "(byte param_1)" (( "(") (parameter_declaration "byte param_1" (type_identifier "byte") (identifier "param_1")) () ")"))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  byte bVar5;\n  int unaff_EBX;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  undefined4 *unaff_retaddr;\n  undefined4 uStack_54;\n  undefined1 auStack_50 [4];\n  int local_4c;\n  undefined4 local_48;\n  undefined1 *local_40;\n  int local_3c;\n  undefined4 local_38 [4];\n  undefined1 local_28 [4];\n  undefined4 local_24;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x684a9;\n  entry();\n  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  bVar5 = param_1 & 1;\n  if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }\n  bVar5 = 0;\nLAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;\n  if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }\n  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }\n                    \n  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;\n  FUN_00082f60();\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "int unaff_EBX;" (primitive_type "int") (identifier "unaff_EBX") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined4 *unaff_retaddr;" (type_identifier "undefined4") (pointer_declarator "*unaff_retaddr" (* "*") (identifier "unaff_retaddr")) (; ";")) (declaration "undefined4 uStack_54;" (type_identifier "undefined4") (identifier "uStack_54") (; ";")) (declaration "undefined1 auStack_50 [4];" (type_identifier "undefined1") (array_declarator "auStack_50 [4]" (identifier "auStack_50") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined1 *local_40;" (type_identifier "undefined1") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38 [4];" (type_identifier "undefined4") (array_declarator "local_38 [4]" (identifier "local_38") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_28 [4];" (type_identifier "undefined1") (array_declarator "local_28 [4]" (identifier "local_28") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x684a9;" (assignment_expression "uStack_14 = 0x684a9" (identifier "uStack_14") (= "=") (number_literal "0x684a9")) (; ";")) (expression_statement "entry();" (call_expression "entry()" (identifier "entry") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "bVar5 = param_1 & 1;" (assignment_expression "bVar5 = param_1 & 1" (identifier "bVar5") (= "=") (binary_expression "param_1 & 1" (identifier "param_1") (& "&") (number_literal "1"))) (; ";")) (if_statement "if (bVar5 != 0) {\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }" (if "if") (parenthesized_expression "(bVar5 != 0)" (( "(") (binary_expression "bVar5 != 0" (identifier "bVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;\n    uStack_54 = 0;\n    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);\n    if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }\n  }" ({ "{") (if_statement "if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;" (if "if") (parenthesized_expression "(*(char *)((int)unaff_retaddr + 0x249) != '\0')" (( "(") (binary_expression "*(char *)((int)unaff_retaddr + 0x249) != '\0'" (pointer_expression "*(char *)((int)unaff_retaddr + 0x249)" (* "*") (cast_expression "(char *)((int)unaff_retaddr + 0x249)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_retaddr + 0x249)" (( "(") (binary_expression "(int)unaff_retaddr + 0x249" (cast_expression "(int)unaff_retaddr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_retaddr")) (+ "+") (number_literal "0x249")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000684cf;" (goto "goto") (statement_identifier "LAB_000684cf") (; ";"))) (expression_statement "uStack_54 = 0;" (assignment_expression "uStack_54 = 0" (identifier "uStack_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);" (assignment_expression "uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff)" (identifier "uVar2") (= "=") (call_expression "FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff)" (identifier "FUN_0004d170") (argument_list "(unaff_retaddr[100],0xffffffff,0xffffffff)" (( "(") (subscript_expression "unaff_retaddr[100]" (identifier "unaff_retaddr") ([ "[") (number_literal "100") (] "]")) (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (if_statement "if (uVar2 != 0) {\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }" (if "if") (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;\n      cVar1 = FUN_00043130(unaff_retaddr);\n      local_48 = CONCAT31(local_48._1_3_,cVar1);\n      if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }\n      bVar5 = (byte)local_48 ^ 1;\n      goto LAB_000684cf;\n    }" ({ "{") (if_statement "if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;" (if "if") (parenthesized_expression "(((uVar2 & 4) != 0) || ((uVar2 & 1) == 0))" (( "(") (binary_expression "((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)" (parenthesized_expression "((uVar2 & 4) != 0)" (( "(") (binary_expression "(uVar2 & 4) != 0" (parenthesized_expression "(uVar2 & 4)" (( "(") (binary_expression "uVar2 & 4" (identifier "uVar2") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uVar2 & 1) == 0)" (( "(") (binary_expression "(uVar2 & 1) == 0" (parenthesized_expression "(uVar2 & 1)" (( "(") (binary_expression "uVar2 & 1" (identifier "uVar2") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000684cf;" (goto "goto") (statement_identifier "LAB_000684cf") (; ";"))) (expression_statement "cVar1 = FUN_00043130(unaff_retaddr);" (assignment_expression "cVar1 = FUN_00043130(unaff_retaddr)" (identifier "cVar1") (= "=") (call_expression "FUN_00043130(unaff_retaddr)" (identifier "FUN_00043130") (argument_list "(unaff_retaddr)" (( "(") (identifier "unaff_retaddr") () ")")))) (; ";")) (expression_statement "local_48 = CONCAT31(local_48._1_3_,cVar1);" (assignment_expression "local_48 = CONCAT31(local_48._1_3_,cVar1)" (identifier "local_48") (= "=") (call_expression "CONCAT31(local_48._1_3_,cVar1)" (identifier "CONCAT31") (argument_list "(local_48._1_3_,cVar1)" (( "(") (field_expression "local_48._1_3_" (identifier "local_48") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "cVar1") () ")")))) (; ";")) (if_statement "if (cVar1 != '\0') {\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;\n        local_40 = local_28;\n        iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);\n        if (iVar3 == -1) goto LAB_000684cf;\n        local_3c = iVar3;\n        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);\n        unaff_retaddr[0x143] = 0;\n        unaff_retaddr[0x142] = local_3c;\n        FUN_00068360();\n      }" ({ "{") (if_statement "if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;" (if "if") (parenthesized_expression "((code *)unaff_retaddr[0x140] == (code *)0x0)" (( "(") (binary_expression "(code *)unaff_retaddr[0x140] == (code *)0x0" (cast_expression "(code *)unaff_retaddr[0x140]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_retaddr[0x140]" (identifier "unaff_retaddr") ([ "[") (number_literal "0x140") (] "]"))) (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000684cf;" (goto "goto") (statement_identifier "LAB_000684cf") (; ";"))) (expression_statement "local_40 = local_28;" (assignment_expression "local_40 = local_28" (identifier "local_40") (= "=") (identifier "local_28")) (; ";")) (expression_statement "iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);" (assignment_expression "iVar3 = (*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" (identifier "iVar3") (= "=") (call_expression "(*(code *)unaff_retaddr[0x140])\n                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" (parenthesized_expression "(*(code *)unaff_retaddr[0x140])" (( "(") (pointer_expression "*(code *)unaff_retaddr[0x140]" (* "*") (cast_expression "(code *)unaff_retaddr[0x140]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_retaddr[0x140]" (identifier "unaff_retaddr") ([ "[") (number_literal "0x140") (] "]")))) () ")")) (argument_list "(unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40)" (( "(") (identifier "unaff_retaddr") (, ",") (number_literal "0") (, ",") (subscript_expression "unaff_retaddr[0x141]" (identifier "unaff_retaddr") ([ "[") (number_literal "0x141") (] "]")) (, ",") (number_literal "0x8000") (, ",") (identifier "local_40") () ")")))) (; ";")) (if_statement "if (iVar3 == -1) goto LAB_000684cf;" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_000684cf;" (goto "goto") (statement_identifier "LAB_000684cf") (; ";"))) (expression_statement "local_3c = iVar3;" (assignment_expression "local_3c = iVar3" (identifier "local_3c") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);" (call_expression "FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3)" (identifier "FUN_00027c40") (argument_list "(*unaff_retaddr,unaff_EBX + 0x24627,iVar3)" (( "(") (pointer_expression "*unaff_retaddr" (* "*") (identifier "unaff_retaddr")) (, ",") (binary_expression "unaff_EBX + 0x24627" (identifier "unaff_EBX") (+ "+") (number_literal "0x24627")) (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "unaff_retaddr[0x143] = 0;" (assignment_expression "unaff_retaddr[0x143] = 0" (subscript_expression "unaff_retaddr[0x143]" (identifier "unaff_retaddr") ([ "[") (number_literal "0x143") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_retaddr[0x142] = local_3c;" (assignment_expression "unaff_retaddr[0x142] = local_3c" (subscript_expression "unaff_retaddr[0x142]" (identifier "unaff_retaddr") ([ "[") (number_literal "0x142") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "FUN_00068360();" (call_expression "FUN_00068360()" (identifier "FUN_00068360") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar5 = (byte)local_48 ^ 1;" (assignment_expression "bVar5 = (byte)local_48 ^ 1" (identifier "bVar5") (= "=") (binary_expression "(byte)local_48 ^ 1" (cast_expression "(byte)local_48" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_48")) (^ "^") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000684cf;" (goto "goto") (statement_identifier "LAB_000684cf") (; ";")) (} "}"))) (} "}"))) (expression_statement "bVar5 = 0;" (assignment_expression "bVar5 = 0" (identifier "bVar5") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000684cf:\n  puVar6 = (undefined4 *)auStack_50;" (statement_identifier "LAB_000684cf") (: ":") (expression_statement "puVar6 = (undefined4 *)auStack_50;" (assignment_expression "puVar6 = (undefined4 *)auStack_50" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)auStack_50" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_50"))) (; ";"))) (if_statement "if ((param_1 & 2) != 0) {\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((param_1 & 2) != 0)" (( "(") (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" (( "(") (binary_expression "param_1 & 2" (identifier "param_1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0001ab90(local_38);\n    local_4c = local_3c;\n    local_48 = local_38[0];\n    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);\n    puVar6 = &uStack_54;\n    if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }\n  }" ({ "{") (expression_statement "FUN_0001ab90(local_38);" (call_expression "FUN_0001ab90(local_38)" (identifier "FUN_0001ab90") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (expression_statement "local_4c = local_3c;" (assignment_expression "local_4c = local_3c" (identifier "local_4c") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_48 = local_38[0];" (assignment_expression "local_48 = local_38[0]" (identifier "local_48") (= "=") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);" (assignment_expression "iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" (identifier "iVar3") (= "=") (call_expression "FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" (identifier "FUN_0001ac30") (argument_list "(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3])" (( "(") (identifier "local_3c") (, ",") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) (, ",") (subscript_expression "unaff_retaddr[0xa2]" (identifier "unaff_retaddr") ([ "[") (number_literal "0xa2") (] "]")) (, ",") (subscript_expression "unaff_retaddr[0xa3]" (identifier "unaff_retaddr") ([ "[") (number_literal "0xa3") (] "]")) () ")")))) (; ";")) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" (identifier "puVar6") (= "=") (pointer_expression "&uStack_54" (& "&") (identifier "uStack_54"))) (; ";")) (if_statement "if ((int)unaff_retaddr[0xa4] < iVar3) {\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }" (if "if") (parenthesized_expression "((int)unaff_retaddr[0xa4] < iVar3)" (( "(") (binary_expression "(int)unaff_retaddr[0xa4] < iVar3" (cast_expression "(int)unaff_retaddr[0xa4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_retaddr[0xa4]" (identifier "unaff_retaddr") ([ "[") (number_literal "0xa4") (] "]"))) (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);\n      if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }\n    }" ({ "{") (expression_statement "iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);" (assignment_expression "iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0)" (identifier "iVar3") (= "=") (call_expression "nghttp2_submit_ping(unaff_retaddr[0x129],0,0)" (identifier "nghttp2_submit_ping") (argument_list "(unaff_retaddr[0x129],0,0)" (( "(") (subscript_expression "unaff_retaddr[0x129]" (identifier "unaff_retaddr") ([ "[") (number_literal "0x129") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }\n      else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);\n        puVar6 = &uStack_54;\n        if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }\n      }" ({ "{") (expression_statement "unaff_retaddr[0xa2] = local_4c;" (assignment_expression "unaff_retaddr[0xa2] = local_4c" (subscript_expression "unaff_retaddr[0xa2]" (identifier "unaff_retaddr") ([ "[") (number_literal "0xa2") (] "]")) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "unaff_retaddr[0xa3] = local_48;" (assignment_expression "unaff_retaddr[0xa3] = local_48" (subscript_expression "unaff_retaddr[0xa3]" (identifier "unaff_retaddr") ([ "[") (number_literal "0xa3") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);" (assignment_expression "iVar3 = nghttp2_session_send(unaff_retaddr[0x129])" (identifier "iVar3") (= "=") (call_expression "nghttp2_session_send(unaff_retaddr[0x129])" (identifier "nghttp2_session_send") (argument_list "(unaff_retaddr[0x129])" (( "(") (subscript_expression "unaff_retaddr[0x129]" (identifier "unaff_retaddr") ([ "[") (number_literal "0x129") (] "]")) () ")")))) (; ";")) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" (identifier "puVar6") (= "=") (pointer_expression "&uStack_54" (& "&") (identifier "uStack_54"))) (; ";")) (if_statement "if (iVar3 != 0) {\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar4 = nghttp2_strerror(iVar3);\n          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);\n          puVar6 = &uStack_54;\n        }" ({ "{") (expression_statement "uVar4 = nghttp2_strerror(iVar3);" (assignment_expression "uVar4 = nghttp2_strerror(iVar3)" (identifier "uVar4") (= "=") (call_expression "nghttp2_strerror(iVar3)" (identifier "nghttp2_strerror") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);" (call_expression "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3)" (identifier "FUN_00027d40") (argument_list "(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3)" (( "(") (pointer_expression "*unaff_retaddr" (* "*") (identifier "unaff_retaddr")) (, ",") (binary_expression "unaff_EBX + 0x24687" (identifier "unaff_EBX") (+ "+") (number_literal "0x24687")) (, ",") (identifier "uVar4") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" (identifier "puVar6") (= "=") (pointer_expression "&uStack_54" (& "&") (identifier "uStack_54"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" (else "else") (compound_statement "{\n        uVar4 = nghttp2_strerror(iVar3);\n        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);\n        puVar6 = &uStack_54;\n        unaff_retaddr[0xa2] = local_4c;\n        unaff_retaddr[0xa3] = local_48;\n      }" ({ "{") (expression_statement "uVar4 = nghttp2_strerror(iVar3);" (assignment_expression "uVar4 = nghttp2_strerror(iVar3)" (identifier "uVar4") (= "=") (call_expression "nghttp2_strerror(iVar3)" (identifier "nghttp2_strerror") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);" (call_expression "FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3)" (identifier "FUN_00027d40") (argument_list "(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3)" (( "(") (pointer_expression "*unaff_retaddr" (* "*") (identifier "unaff_retaddr")) (, ",") (binary_expression "unaff_EBX + 0x2465f" (identifier "unaff_EBX") (+ "+") (number_literal "0x2465f")) (, ",") (identifier "uVar4") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "puVar6 = &uStack_54;" (assignment_expression "puVar6 = &uStack_54" (identifier "puVar6") (= "=") (pointer_expression "&uStack_54" (& "&") (identifier "uStack_54"))) (; ";")) (expression_statement "unaff_retaddr[0xa2] = local_4c;" (assignment_expression "unaff_retaddr[0xa2] = local_4c" (subscript_expression "unaff_retaddr[0xa2]" (identifier "unaff_retaddr") ([ "[") (number_literal "0xa2") (] "]")) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "unaff_retaddr[0xa3] = local_48;" (assignment_expression "unaff_retaddr[0xa3] = local_48" (subscript_expression "unaff_retaddr[0xa3]" (identifier "unaff_retaddr") ([ "[") (number_literal "0xa3") (] "]")) (= "=") (identifier "local_48")) (; ";")) (} "}")))) (} "}"))) (} "}"))) (if_statement "if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return bVar5;\n  }" (if "if") (parenthesized_expression "(*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar6 + 0x2c)" (* "*") (cast_expression "(int *)((int)puVar6 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 + 0x2c)" (( "(") (binary_expression "(int)puVar6 + 0x2c" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return bVar5;\n  }" ({ "{") (return_statement "return bVar5;" (return "return") (identifier "bVar5") (; ";")) (} "}"))) (expression_statement "*(undefined **)((int)puVar6 + -4) = &UNK_000686a2;" (assignment_expression "*(undefined **)((int)puVar6 + -4) = &UNK_000686a2" (pointer_expression "*(undefined **)((int)puVar6 + -4)" (* "*") (cast_expression "(undefined **)((int)puVar6 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar6 + -4)" (( "(") (binary_expression "(int)puVar6 + -4" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_000686a2" (& "&") (identifier "UNK_000686a2"))) (; ";")) (expression_statement "FUN_00082f60();" (call_expression "FUN_00082f60()" (identifier "FUN_00082f60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 function_1(type_2 *check,type_1 var_2)

{
  type_3 *var_7;
  type_4 newer;
  type_5 _Var2;
  type_1 var_5;
  ssize_t var_8;
  type_6 var_13;
  int var_15;
  type_7 uVar7;
  type_1 var_3;
  int var_1;
  type_8 local_34;
  int iStack_30;
  type_9 result;
  int var_19;
  type_7 uStack_14;
  
  uStack_14 = 0x684a9;
  var_19 = *(int *)(var_1 + 0x14);
  var_3 = var_2 & 1;
  if (var_3 != 0) {
    if ((check->bits).close != false) goto LAB_000684cf;
    var_5 = var_4(check->sock[0],-1,-1,0);
    if (var_5 != 0) {
      if (((var_5 & 4) != 0) || ((var_5 & 1) == 0)) goto LAB_000684cf;
      _Var2 = var_6(check);
      if (_Var2) {
        var_7 = (check->proto).httpc.recv_underlying;
        if (var_7 == (type_3 *)0x0) goto LAB_000684cf;
        var_8 = (*var_7)(check,0,(check->proto).httpc.inbuf,0x8000,&result);
        if (var_8 == -1) goto LAB_000684cf;
        var_9(check->data,"%d bytes stray data read before trying h2 connection\n",var_8);
        (check->proto).ftpc.count2 = 0;
        (check->proto).ftpc.count1 = var_8;
        var_10(check,&(check->proto).httpc,&result);
      }
      var_3 = (type_1)!_Var2;
      goto LAB_000684cf;
    }
  }
  var_3 = 0;
LAB_000684cf:
  if ((var_2 & 2) != 0) {
    var_11();
    newer.tv_usec = iStack_30;
    newer.tv_sec = local_34;
    var_13 = var_12(newer,check->keepalive);
    if (check->upkeep_interval_ms < var_13) {
      var_15 = var_14((check->proto).ftpc.pp.cache,0,0);
      if (var_15 == 0) {
        (check->keepalive).tv_sec = local_34;
        (check->keepalive).tv_usec = iStack_30;
        var_15 = var_16((check->proto).ftpc.pp.cache);
        if (var_15 != 0) {
          uVar7 = var_17(var_15);
          var_18(check->data,"nghttp2_session_send() failed: %s(%d)",uVar7,var_15);
        }
      }
      else {
        uVar7 = var_17(var_15);
        var_18(check->data,"nghttp2_submit_ping() failed: %s(%d)",uVar7,var_15);
        (check->keepalive).tv_sec = local_34;
        (check->keepalive).tv_usec = iStack_30;
      }
    }
  }
  if (var_19 == *(int *)(var_1 + 0x14)) {
    return var_3;
  }
                    /* WARNING: Subroutine does not return */
  var_20();
}


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

byte MASKED(byte param_1)

{
  char cVar1;
  uint uVar2;
  int iVar3;
  undefined4 uVar4;
  byte bVar5;
  int unaff_EBX;
  undefined4 *puVar6;
  int in_GS_OFFSET;
  undefined4 *unaff_retaddr;
  undefined4 uStack_54;
  undefined1 auStack_50 [4];
  int local_4c;
  undefined4 local_48;
  undefined1 *local_40;
  int local_3c;
  undefined4 local_38 [4];
  undefined1 local_28 [4];
  undefined4 local_24;
  undefined4 uStack_14;
  
  uStack_14 = 0x684a9;
  entry();
  local_24 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  bVar5 = param_1 & 1;
  if (bVar5 != 0) {
    if (*(char *)((int)unaff_retaddr + 0x249) != '\0') goto LAB_000684cf;
    uStack_54 = 0;
    uVar2 = FUN_0004d170(unaff_retaddr[100],0xffffffff,0xffffffff);
    if (uVar2 != 0) {
      if (((uVar2 & 4) != 0) || ((uVar2 & 1) == 0)) goto LAB_000684cf;
      cVar1 = FUN_00043130(unaff_retaddr);
      local_48 = CONCAT31(local_48._1_3_,cVar1);
      if (cVar1 != '\0') {
        if ((code *)unaff_retaddr[0x140] == (code *)0x0) goto LAB_000684cf;
        local_40 = local_28;
        iVar3 = (*(code *)unaff_retaddr[0x140])
                          (unaff_retaddr,0,unaff_retaddr[0x141],0x8000,local_40);
        if (iVar3 == -1) goto LAB_000684cf;
        local_3c = iVar3;
        FUN_00027c40(*unaff_retaddr,unaff_EBX + 0x24627,iVar3);
        unaff_retaddr[0x143] = 0;
        unaff_retaddr[0x142] = local_3c;
        FUN_00068360();
      }
      bVar5 = (byte)local_48 ^ 1;
      goto LAB_000684cf;
    }
  }
  bVar5 = 0;
LAB_000684cf:
  puVar6 = (undefined4 *)auStack_50;
  if ((param_1 & 2) != 0) {
    FUN_0001ab90(local_38);
    local_4c = local_3c;
    local_48 = local_38[0];
    iVar3 = FUN_0001ac30(local_3c,local_38[0],unaff_retaddr[0xa2],unaff_retaddr[0xa3]);
    puVar6 = &uStack_54;
    if ((int)unaff_retaddr[0xa4] < iVar3) {
      iVar3 = nghttp2_submit_ping(unaff_retaddr[0x129],0,0);
      if (iVar3 == 0) {
        unaff_retaddr[0xa2] = local_4c;
        unaff_retaddr[0xa3] = local_48;
        iVar3 = nghttp2_session_send(unaff_retaddr[0x129]);
        puVar6 = &uStack_54;
        if (iVar3 != 0) {
          uVar4 = nghttp2_strerror(iVar3);
          FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x24687,uVar4,iVar3);
          puVar6 = &uStack_54;
        }
      }
      else {
        uVar4 = nghttp2_strerror(iVar3);
        FUN_00027d40(*unaff_retaddr,unaff_EBX + 0x2465f,uVar4,iVar3);
        puVar6 = &uStack_54;
        unaff_retaddr[0xa2] = local_4c;
        unaff_retaddr[0xa3] = local_48;
      }
    }
  }
  if (*(int *)((int)puVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {
    return bVar5;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined **)((int)puVar6 + -4) = &UNK_000686a2;
  FUN_00082f60();
}

