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

void ssl_tls_trace(int direction,int ssl_ver,int content_type,void *buf,size_t len,SSL *ssl,
                  void *userp)

{
  long lVar1;
  Curl_easy *data;
  bool bVar2;
  char *pcVar3;
  uint uVar4;
  char *pcVar5;
  int iVar6;
  ulong uVar7;
  char *buffer;
  long in_FS_OFFSET;
  bool bVar8;
  char *local_470;
  char unknown [32];
  char ssl_buf [1024];
  
  lVar1 = *(long *)(in_FS_OFFSET + 0x28);
                    /* WARNING: Load size is inaccurate */
  if ((((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||
      ((data->set).fdebug == (curl_debug_callback)0x0)) || (1 < (uint)direction)) goto LAB_001652d6;
  if (ssl_ver == 0x301) {
    buffer = "TLSv1.0";
LAB_001651fb:
    if ((ssl_ver != 0) && (content_type != 0x101)) {
      bVar8 = ssl_ver >> 8 == 3;
      bVar2 = content_type != 0 && bVar8;
      if (content_type != 0 && bVar8) {
        if (content_type == 0x16) {
          local_470 = "TLS handshake";
        }
        else {
          if (content_type < 0x17) {
            if (content_type != 0x14) {
              local_470 = "TLS alert";
              if (content_type != 0x15) {
                local_470 = "TLS Unknown";
                goto LAB_00165375;
              }
              goto LAB_0016532f;
            }
            local_470 = "TLS change cipher";
            goto LAB_00165395;
          }
          if (content_type != 0x17) {
            local_470 = "TLS header";
            if (content_type != 0x100) {
              local_470 = "TLS Unknown";
              goto LAB_00165375;
            }
            goto LAB_0016525c;
          }
          local_470 = "TLS app data";
        }
                    /* WARNING: Load size is inaccurate */
        uVar7 = (ulong)(uint)(int)*buf;
LAB_001654ef:
        iVar6 = (int)uVar7;
        if (iVar6 == 0xd) {
          pcVar5 = "Request CERT";
        }
        else if (iVar6 < 0xe) {
          if (iVar6 == 4) {
            pcVar5 = "Newsession Ticket";
          }
          else if (iVar6 < 5) {
            pcVar5 = "Client hello";
            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&
               (pcVar5 = "Hello request", iVar6 != 0)) {
              pcVar5 = "Unknown";
            }
          }
          else {
            pcVar5 = "Encrypted Extensions";
            if (iVar6 != 8) {
              if (iVar6 < 9) {
                pcVar5 = "End of early data";
                if (iVar6 != 5) {
                  pcVar5 = "Unknown";
                }
              }
              else {
                pcVar5 = "Certificate";
                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {
                  pcVar5 = "Unknown";
                }
              }
            }
          }
        }
        else if (iVar6 == 0x14) {
          pcVar5 = "Finished";
        }
        else if (iVar6 < 0x15) {
          pcVar5 = "CERT verify";
          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&
             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {
            pcVar5 = "Unknown";
          }
        }
        else {
          pcVar5 = "Key update";
          if (iVar6 != 0x18) {
            if (iVar6 < 0x19) {
              pcVar5 = "Certificate Status";
              if (iVar6 != 0x16) {
                pcVar5 = "Unknown";
              }
            }
            else {
              pcVar5 = "Next protocol";
              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {
                pcVar5 = "Unknown";
              }
            }
          }
        }
      }
      else {
        local_470 = "";
        bVar2 = bVar8;
LAB_00165375:
        if (content_type == 0x14) {
LAB_00165395:
                    /* WARNING: Load size is inaccurate */
          uVar7 = (ulong)(uint)(int)*buf;
          pcVar5 = "Change cipher spec";
        }
        else if (content_type == 0x15) {
LAB_0016532f:
                    /* WARNING: Load size is inaccurate */
          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);
          uVar7 = (ulong)uVar4;
          pcVar5 = SSL_alert_desc_string_long(uVar4);
        }
        else {
LAB_0016525c:
                    /* WARNING: Load size is inaccurate */
          uVar7 = (ulong)(uint)(int)*buf;
          pcVar5 = "Unknown";
          if (bVar2) goto LAB_001654ef;
        }
      }
      pcVar3 = "LOGOUT";
      if (direction == 0) {
        pcVar3 = "PLAIN";
      }
      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,
                             pcVar5,uVar7);
      if (uVar4 < 0x400) {
        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);
      }
    }
  }
  else {
    if (0x301 < ssl_ver) {
      buffer = "TLSv1.2";
      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&
         (buffer = "TLSv1.3", ssl_ver != 0x304)) {
LAB_001651b2:
        buffer = unknown;
        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);
      }
      goto LAB_001651fb;
    }
    if (ssl_ver == 2) {
      if (content_type == 0x101) goto LAB_001652b8;
      buffer = "SSLv2";
      bVar2 = false;
      local_470 = "";
      goto LAB_00165375;
    }
    if (ssl_ver == 0x300) {
      buffer = "SSLv3";
      goto LAB_001651fb;
    }
    if (ssl_ver != 0) goto LAB_001651b2;
  }
LAB_001652b8:
  Curl_debug(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len);
LAB_001652d6:
  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}



void FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,
                 undefined8 param_6,long *param_7)

{
  long lVar1;
  bool bVar2;
  char *pcVar3;
  uint uVar4;
  char *pcVar5;
  int value;
  char *pcVar6;
  long in_FS_OFFSET;
  bool bVar7;
  char *local_470;
  char local_468 [32];
  undefined1 local_448 [1032];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||
      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;
  if (param_2 == 0x301) {
    pcVar6 = "TLSv1.0";
LAB_001651fb:
    if ((param_2 != 0) && (param_3 != 0x101)) {
      bVar7 = param_2 >> 8 == 3;
      bVar2 = param_3 != 0 && bVar7;
      if (param_3 != 0 && bVar7) {
        if (param_3 == 0x16) {
          local_470 = "TLS handshake";
        }
        else {
          if (param_3 < 0x17) {
            if (param_3 != 0x14) {
              local_470 = "TLS alert";
              if (param_3 != 0x15) {
                local_470 = "TLS Unknown";
                goto LAB_00165375;
              }
              goto LAB_0016532f;
            }
            local_470 = "TLS change cipher";
            goto LAB_00165395;
          }
          if (param_3 != 0x17) {
            local_470 = "TLS header";
            if (param_3 != 0x100) {
              local_470 = "TLS Unknown";
              goto LAB_00165375;
            }
            goto LAB_0016525c;
          }
          local_470 = "TLS app data";
        }
        value = (int)*param_4;
LAB_001654ef:
        if (value == 0xd) {
          pcVar5 = "Request CERT";
        }
        else if (value < 0xe) {
          if (value == 4) {
            pcVar5 = "Newsession Ticket";
          }
          else if (value < 5) {
            pcVar5 = "Client hello";
            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&
               (pcVar5 = "Hello request", value != 0)) {
              pcVar5 = "Unknown";
            }
          }
          else {
            pcVar5 = "Encrypted Extensions";
            if (value != 8) {
              if (value < 9) {
                pcVar5 = "End of early data";
                if (value != 5) {
                  pcVar5 = "Unknown";
                }
              }
              else {
                pcVar5 = "Certificate";
                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {
                  pcVar5 = "Unknown";
                }
              }
            }
          }
        }
        else if (value == 0x14) {
          pcVar5 = "Finished";
        }
        else if (value < 0x15) {
          pcVar5 = "CERT verify";
          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&
             (pcVar5 = "Client key exchange", value != 0x10)) {
            pcVar5 = "Unknown";
          }
        }
        else {
          pcVar5 = "Key update";
          if (value != 0x18) {
            if (value < 0x19) {
              pcVar5 = "Certificate Status";
              if (value != 0x16) {
                pcVar5 = "Unknown";
              }
            }
            else {
              pcVar5 = "Next protocol";
              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {
                pcVar5 = "Unknown";
              }
            }
          }
        }
      }
      else {
        local_470 = "";
        bVar2 = bVar7;
LAB_00165375:
        if (param_3 == 0x14) {
LAB_00165395:
          value = (int)*param_4;
          pcVar5 = "Change cipher spec";
        }
        else if (param_3 == 0x15) {
LAB_0016532f:
          value = *param_4 * 0x100 + (int)param_4[1];
          pcVar5 = SSL_alert_desc_string_long(value);
        }
        else {
LAB_0016525c:
          value = (int)*param_4;
          pcVar5 = "Unknown";
          if (bVar2) goto LAB_001654ef;
        }
      }
      pcVar3 = "LOGOUT";
      if (param_1 == 0) {
        pcVar3 = "PLAIN";
      }
      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,
                             pcVar5,value);
      if (uVar4 < 0x400) {
        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);
      }
    }
  }
  else {
    if (0x301 < param_2) {
      pcVar6 = "TLSv1.2";
      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&
         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {
LAB_001651b2:
        pcVar6 = local_468;
        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);
      }
      goto LAB_001651fb;
    }
    if (param_2 == 2) {
      if (param_3 == 0x101) goto LAB_001652b8;
      pcVar6 = "SSLv2";
      bVar2 = false;
      local_470 = "";
      goto LAB_00165375;
    }
    if (param_2 == 0x300) {
      pcVar6 = "SSLv3";
      goto LAB_001651fb;
    }
    if (param_2 != 0) goto LAB_001651b2;
  }
LAB_001652b8:
  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);
LAB_001652d6:
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x448
MOV R12D,EDI
MOV qword ptr [RSP],R8
MOV RAX,qword ptr [RSP + 0x480]
MOV RDI,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x438],RDI
XOR EDI,EDI
TEST RAX,RAX
JZ 0x001652d6
MOV EBX,ESI
MOV R13D,EDX
MOV R15,RCX
MOV RBP,qword ptr [RAX]
TEST RBP,RBP
JZ 0x001652d6
CMP qword ptr [RBP + 0x768],0x0
JZ 0x001652d6
CMP R12D,0x1
JA 0x001652d6
CMP ESI,0x301
JZ 0x001652ff
JG 0x001651d4
CMP ESI,0x2
JZ 0x00165545
CMP ESI,0x300
JZ 0x0016530b
TEST ESI,ESI
JZ 0x001652b8
LEA R14,[RSP + 0x10]
MOV ECX,EBX
LEA RDX,[0x178369]
MOV ESI,0x20
MOV RDI,R14
MOV EAX,0x0
CALL 0x0010d7d0
JMP 0x001651fb
LEA R14,[0x1781f4]
CMP ESI,0x303
JZ 0x001651fb
LEA R14,[0x1781ec]
JL 0x001651fb
LEA R14,[0x1781dc]
CMP ESI,0x304
JNZ 0x001651b2
TEST EBX,EBX
JZ 0x001652b8
CMP R13D,0x101
JZ 0x001652b8
SAR EBX,0x8
CMP EBX,0x3
SETZ CL
TEST R13D,R13D
SETNZ AL
AND AL,CL
MOV EDX,EAX
JZ 0x00165369
CMP R13D,0x16
JZ 0x001654d1
JLE 0x00165317
CMP R13D,0x17
JZ 0x001654df
LEA RAX,[0x178230]
MOV qword ptr [RSP + 0x8],RAX
CMP R13D,0x100
JNZ 0x00165359
MOVSX EBX,byte ptr [R15]
LEA RAX,[0x178206]
TEST DL,DL
JNZ 0x001654ef
TEST R12D,R12D
LEA R8,[0x17054c]
LEA RDX,[0x176902]
CMOVZ R8,RDX
LEA RDI,[RSP + 0x30]
PUSH RBX
PUSH RAX
MOV R9,qword ptr [RSP + 0x18]
MOV RCX,R14
LEA RDX,[0x17836e]
MOV ESI,0x400
MOV EAX,0x0
CALL 0x0010d7d0
ADD RSP,0x10
CMP EAX,0x3ff
JBE 0x001654b7
CMP R12D,0x1
SETZ SIL
MOVZX ESI,SIL
ADD ESI,0x5
MOV RCX,qword ptr [RSP]
MOV RDX,R15
MOV RDI,RBP
CALL 0x0011a832
MOV RAX,qword ptr [RSP + 0x438]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x0016556e
ADD RSP,0x448
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA R14,[0x1781e4]
JMP 0x001651fb
LEA R14,[0x1781fc]
JMP 0x001651fb
CMP R13D,0x14
JZ 0x00165389
LEA RAX,[0x178226]
MOV qword ptr [RSP + 0x8],RAX
CMP R13D,0x15
JNZ 0x00165349
MOVSX EBX,byte ptr [R15]
SHL EBX,0x8
MOVSX EAX,byte ptr [R15 + 0x1]
ADD EBX,EAX
MOV EDI,EBX
CALL 0x0010e820
JMP 0x0016526f
MOV ECX,EDX
LEA RAX,[0x178202]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x00165375
MOV ECX,EDX
LEA RAX,[0x178202]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x00165375
LEA RAX,[0x17803c]
MOV qword ptr [RSP + 0x8],RAX
CMP R13D,0x14
JZ 0x00165395
MOV EDX,ECX
CMP R13D,0x15
JNZ 0x0016525c
JMP 0x0016532f
LEA RAX,[0x178214]
MOV qword ptr [RSP + 0x8],RAX
MOVSX EBX,byte ptr [R15]
LEA RAX,[0x17823b]
JMP 0x0016526f
LEA RAX,[0x178333]
CMP EBX,0x1
JZ 0x0016526f
LEA RAX,[0x178326]
CMP EBX,0x2
JZ 0x0016526f
TEST EBX,EBX
LEA RAX,[0x178340]
LEA RDX,[0x178206]
CMOVNZ RAX,RDX
JMP 0x0016526f
CMP EBX,0x5
LEA RAX,[0x178274]
LEA RDX,[0x178206]
CMOVNZ RAX,RDX
JMP 0x0016526f
CMP EBX,0x14
JZ 0x001654ab
JLE 0x00165442
LEA RAX,[0x178269]
CMP EBX,0x18
JZ 0x0016526f
JLE 0x00165479
LEA RAX,[0x17825b]
CMP EBX,0x43
JZ 0x0016526f
CMP EBX,0xfe
LEA RAX,[0x17824e]
LEA RDX,[0x178206]
CMOVNZ RAX,RDX
JMP 0x0016526f
LEA RAX,[0x1782b7]
CMP EBX,0xf
JZ 0x0016526f
LEA RAX,[0x1782c3]
JL 0x0016526f
CMP EBX,0x10
LEA RAX,[0x1782e0]
LEA RDX,[0x178206]
CMOVNZ RAX,RDX
JMP 0x0016526f
CMP EBX,0x16
LEA RAX,[0x17829b]
LEA RDX,[0x178206]
CMOVNZ RAX,RDX
JMP 0x0016526f
LEA RAX,[0x1782d3]
JMP 0x0016526f
LEA RAX,[0x178314]
JMP 0x0016526f
LEA RAX,[0x1782ae]
JMP 0x0016526f
MOVSXD RCX,EAX
LEA RDX,[RSP + 0x30]
MOV ESI,0x0
MOV RDI,RBP
CALL 0x0011a832
JMP 0x001652b8
LEA RAX,[0x17834e]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x001654eb
LEA RAX,[0x17835c]
MOV qword ptr [RSP + 0x8],RAX
MOVSX EBX,byte ptr [R15]
CMP EBX,0xd
JZ 0x00165493
JG 0x001653f8
CMP EBX,0x4
JZ 0x0016549f
JLE 0x001653a5
LEA RAX,[0x178286]
CMP EBX,0x8
JZ 0x0016526f
JLE 0x001653de
LEA RAX,[0x178308]
CMP EBX,0xb
JZ 0x0016526f
CMP EBX,0xc
LEA RAX,[0x1782f4]
LEA RDX,[0x178206]
CMOVNZ RAX,RDX
JMP 0x0016526f
CMP EDX,0x101
JZ 0x001652b8
LEA R14,[0x17820e]
MOV ECX,0x0
LEA RAX,[0x17803c]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x00165375
CALL 0x0010e1c0
(translation_unit "void FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)\n\n{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)\n\n{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)" identifier (parameter_list "(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "char *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "long *param_7" (sized_type_specifier "long" long) (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int value;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "char *local_470;" primitive_type (pointer_declarator "*local_470" * identifier) ;) (declaration "char local_468 [32];" primitive_type (array_declarator "local_468 [32]" identifier [ number_literal ]) ;) (declaration "undefined1 local_448 [1032];" type_identifier (array_declarator "local_448 [1032]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;" if (parenthesized_expression "((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1))" ( (binary_expression "(((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)" (parenthesized_expression "(((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0))" ( (binary_expression "((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)" (parenthesized_expression "((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0))" ( (binary_expression "(param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)" (parenthesized_expression "(param_7 == (long *)0x0)" ( (binary_expression "param_7 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(lVar1 = *param_7, lVar1 == 0)" ( (comma_expression "lVar1 = *param_7, lVar1 == 0" (assignment_expression "lVar1 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) , (binary_expression "lVar1 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(*(long *)(lVar1 + 0x768) == 0)" ( (binary_expression "*(long *)(lVar1 + 0x768) == 0" (pointer_expression "*(long *)(lVar1 + 0x768)" * (cast_expression "(long *)(lVar1 + 0x768)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x768)" ( (binary_expression "lVar1 + 0x768" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(1 < param_1)" ( (binary_expression "1 < param_1" number_literal < identifier) ))) )) (goto_statement "goto LAB_001652d6;" goto statement_identifier ;)) (if_statement "if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" if (parenthesized_expression "(param_2 == 0x301)" ( (binary_expression "param_2 == 0x301" identifier == number_literal) )) (compound_statement "{\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }" { (expression_statement "pcVar6 = "TLSv1.0";" (assignment_expression "pcVar6 = "TLSv1.0"" identifier = (string_literal ""TLSv1.0"" " string_content ")) ;) (labeled_statement "LAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" statement_identifier : (if_statement "if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" if (parenthesized_expression "((param_2 != 0) && (param_3 != 0x101))" ( (binary_expression "(param_2 != 0) && (param_3 != 0x101)" (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) && (parenthesized_expression "(param_3 != 0x101)" ( (binary_expression "param_3 != 0x101" identifier != number_literal) ))) )) (compound_statement "{\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" { (expression_statement "bVar7 = param_2 >> 8 == 3;" (assignment_expression "bVar7 = param_2 >> 8 == 3" identifier = (binary_expression "param_2 >> 8 == 3" (binary_expression "param_2 >> 8" identifier >> number_literal) == number_literal)) ;) (expression_statement "bVar2 = param_3 != 0 && bVar7;" (assignment_expression "bVar2 = param_3 != 0 && bVar7" identifier = (binary_expression "param_3 != 0 && bVar7" (binary_expression "param_3 != 0" identifier != number_literal) && identifier)) ;) (if_statement "if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" if (parenthesized_expression "(param_3 != 0 && bVar7)" ( (binary_expression "param_3 != 0 && bVar7" (binary_expression "param_3 != 0" identifier != number_literal) && identifier) )) (compound_statement "{\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" if (parenthesized_expression "(param_3 == 0x16)" ( (binary_expression "param_3 == 0x16" identifier == number_literal) )) (compound_statement "{\n          local_470 = "TLS handshake";\n        }" { (expression_statement "local_470 = "TLS handshake";" (assignment_expression "local_470 = "TLS handshake"" identifier = (string_literal ""TLS handshake"" " string_content ")) ;) }) (else_clause "else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" else (compound_statement "{\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" { (if_statement "if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" if (parenthesized_expression "(param_3 < 0x17)" ( (binary_expression "param_3 < 0x17" identifier < number_literal) )) (compound_statement "{\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" { (if_statement "if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" if (parenthesized_expression "(param_3 != 0x14)" ( (binary_expression "param_3 != 0x14" identifier != number_literal) )) (compound_statement "{\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" { (expression_statement "local_470 = "TLS alert";" (assignment_expression "local_470 = "TLS alert"" identifier = (string_literal ""TLS alert"" " string_content ")) ;) (if_statement "if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" if (parenthesized_expression "(param_3 != 0x15)" ( (binary_expression "param_3 != 0x15" identifier != number_literal) )) (compound_statement "{\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" { (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" identifier = (string_literal ""TLS Unknown"" " string_content ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (goto_statement "goto LAB_0016532f;" goto statement_identifier ;) })) (expression_statement "local_470 = "TLS change cipher";" (assignment_expression "local_470 = "TLS change cipher"" identifier = (string_literal ""TLS change cipher"" " string_content ")) ;) (goto_statement "goto LAB_00165395;" goto statement_identifier ;) })) (if_statement "if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" if (parenthesized_expression "(param_3 != 0x17)" ( (binary_expression "param_3 != 0x17" identifier != number_literal) )) (compound_statement "{\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" { (expression_statement "local_470 = "TLS header";" (assignment_expression "local_470 = "TLS header"" identifier = (string_literal ""TLS header"" " string_content ")) ;) (if_statement "if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" if (parenthesized_expression "(param_3 != 0x100)" ( (binary_expression "param_3 != 0x100" identifier != number_literal) )) (compound_statement "{\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" { (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" identifier = (string_literal ""TLS Unknown"" " string_content ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (goto_statement "goto LAB_0016525c;" goto statement_identifier ;) })) (expression_statement "local_470 = "TLS app data";" (assignment_expression "local_470 = "TLS app data"" identifier = (string_literal ""TLS app data"" " string_content ")) ;) }))) (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" identifier = (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) ;) (labeled_statement "LAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" statement_identifier : (if_statement "if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value == 0xd)" ( (binary_expression "value == 0xd" identifier == number_literal) )) (compound_statement "{\n          pcVar5 = "Request CERT";\n        }" { (expression_statement "pcVar5 = "Request CERT";" (assignment_expression "pcVar5 = "Request CERT"" identifier = (string_literal ""Request CERT"" " string_content ")) ;) }) (else_clause "else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value < 0xe)" ( (binary_expression "value < 0xe" identifier < number_literal) )) (compound_statement "{\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" if (parenthesized_expression "(value == 4)" ( (binary_expression "value == 4" identifier == number_literal) )) (compound_statement "{\n            pcVar5 = "Newsession Ticket";\n          }" { (expression_statement "pcVar5 = "Newsession Ticket";" (assignment_expression "pcVar5 = "Newsession Ticket"" identifier = (string_literal ""Newsession Ticket"" " string_content ")) ;) }) (else_clause "else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" else (if_statement "if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" if (parenthesized_expression "(value < 5)" ( (binary_expression "value < 5" identifier < number_literal) )) (compound_statement "{\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }" { (expression_statement "pcVar5 = "Client hello";" (assignment_expression "pcVar5 = "Client hello"" identifier = (string_literal ""Client hello"" " string_content ")) ;) (if_statement "if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }" if (parenthesized_expression "(((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0))" ( (binary_expression "((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)" (parenthesized_expression "((value != 1) && (pcVar5 = "Server hello", value != 2))" ( (binary_expression "(value != 1) && (pcVar5 = "Server hello", value != 2)" (parenthesized_expression "(value != 1)" ( (binary_expression "value != 1" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server hello", value != 2)" ( (comma_expression "pcVar5 = "Server hello", value != 2" (assignment_expression "pcVar5 = "Server hello"" identifier = (string_literal ""Server hello"" " string_content ")) , (binary_expression "value != 2" identifier != number_literal)) ))) )) && (parenthesized_expression "(pcVar5 = "Hello request", value != 0)" ( (comma_expression "pcVar5 = "Hello request", value != 0" (assignment_expression "pcVar5 = "Hello request"" identifier = (string_literal ""Hello request"" " string_content ")) , (binary_expression "value != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              pcVar5 = "Unknown";\n            }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" else (compound_statement "{\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" { (expression_statement "pcVar5 = "Encrypted Extensions";" (assignment_expression "pcVar5 = "Encrypted Extensions"" identifier = (string_literal ""Encrypted Extensions"" " string_content ")) ;) (if_statement "if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" if (parenthesized_expression "(value != 8)" ( (binary_expression "value != 8" identifier != number_literal) )) (compound_statement "{\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" { (if_statement "if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" if (parenthesized_expression "(value < 9)" ( (binary_expression "value < 9" identifier < number_literal) )) (compound_statement "{\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }" { (expression_statement "pcVar5 = "End of early data";" (assignment_expression "pcVar5 = "End of early data"" identifier = (string_literal ""End of early data"" " string_content ")) ;) (if_statement "if (value != 5) {\n                  pcVar5 = "Unknown";\n                }" if (parenthesized_expression "(value != 5)" ( (binary_expression "value != 5" identifier != number_literal) )) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" else (compound_statement "{\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" { (expression_statement "pcVar5 = "Certificate";" (assignment_expression "pcVar5 = "Certificate"" identifier = (string_literal ""Certificate"" " string_content ")) ;) (if_statement "if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }" if (parenthesized_expression "((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc))" ( (binary_expression "(value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)" (parenthesized_expression "(value != 0xb)" ( (binary_expression "value != 0xb" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server key exchange", value != 0xc)" ( (comma_expression "pcVar5 = "Server key exchange", value != 0xc" (assignment_expression "pcVar5 = "Server key exchange"" identifier = (string_literal ""Server key exchange"" " string_content ")) , (binary_expression "value != 0xc" identifier != number_literal)) ))) )) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }))) })) }))))) }) (else_clause "else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value == 0x14)" ( (binary_expression "value == 0x14" identifier == number_literal) )) (compound_statement "{\n          pcVar5 = "Finished";\n        }" { (expression_statement "pcVar5 = "Finished";" (assignment_expression "pcVar5 = "Finished"" identifier = (string_literal ""Finished"" " string_content ")) ;) }) (else_clause "else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value < 0x15)" ( (binary_expression "value < 0x15" identifier < number_literal) )) (compound_statement "{\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }" { (expression_statement "pcVar5 = "CERT verify";" (assignment_expression "pcVar5 = "CERT verify"" identifier = (string_literal ""CERT verify"" " string_content ")) ;) (if_statement "if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }" if (parenthesized_expression "(((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10))" ( (binary_expression "((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)" (parenthesized_expression "((value != 0xf) && (pcVar5 = "Server finished", 0xe < value))" ( (binary_expression "(value != 0xf) && (pcVar5 = "Server finished", 0xe < value)" (parenthesized_expression "(value != 0xf)" ( (binary_expression "value != 0xf" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server finished", 0xe < value)" ( (comma_expression "pcVar5 = "Server finished", 0xe < value" (assignment_expression "pcVar5 = "Server finished"" identifier = (string_literal ""Server finished"" " string_content ")) , (binary_expression "0xe < value" number_literal < identifier)) ))) )) && (parenthesized_expression "(pcVar5 = "Client key exchange", value != 0x10)" ( (comma_expression "pcVar5 = "Client key exchange", value != 0x10" (assignment_expression "pcVar5 = "Client key exchange"" identifier = (string_literal ""Client key exchange"" " string_content ")) , (binary_expression "value != 0x10" identifier != number_literal)) ))) )) (compound_statement "{\n            pcVar5 = "Unknown";\n          }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (compound_statement "{\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" { (expression_statement "pcVar5 = "Key update";" (assignment_expression "pcVar5 = "Key update"" identifier = (string_literal ""Key update"" " string_content ")) ;) (if_statement "if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" if (parenthesized_expression "(value != 0x18)" ( (binary_expression "value != 0x18" identifier != number_literal) )) (compound_statement "{\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" { (if_statement "if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" if (parenthesized_expression "(value < 0x19)" ( (binary_expression "value < 0x19" identifier < number_literal) )) (compound_statement "{\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }" { (expression_statement "pcVar5 = "Certificate Status";" (assignment_expression "pcVar5 = "Certificate Status"" identifier = (string_literal ""Certificate Status"" " string_content ")) ;) (if_statement "if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }" if (parenthesized_expression "(value != 0x16)" ( (binary_expression "value != 0x16" identifier != number_literal) )) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" else (compound_statement "{\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" { (expression_statement "pcVar5 = "Next protocol";" (assignment_expression "pcVar5 = "Next protocol"" identifier = (string_literal ""Next protocol"" " string_content ")) ;) (if_statement "if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }" if (parenthesized_expression "((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe))" ( (binary_expression "(value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)" (parenthesized_expression "(value != 0x43)" ( (binary_expression "value != 0x43" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Message hash", value != 0xfe)" ( (comma_expression "pcVar5 = "Message hash", value != 0xfe" (assignment_expression "pcVar5 = "Message hash"" identifier = (string_literal ""Message hash"" " string_content ")) , (binary_expression "value != 0xfe" identifier != number_literal)) ))) )) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }))) })) })))))))))) }) (else_clause "else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" else (compound_statement "{\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" { (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ identifier = (string_literal """" " ")) ;) (expression_statement "bVar2 = bVar7;" (assignment_expression "bVar2 = bVar7" identifier = identifier) ;) (labeled_statement "LAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" statement_identifier : (if_statement "if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" if (parenthesized_expression "(param_3 == 0x14)" ( (binary_expression "param_3 == 0x14" identifier == number_literal) )) (compound_statement "{\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }" { (labeled_statement "LAB_00165395:\n          value = (int)*param_4;" statement_identifier : (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" identifier = (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) ;)) (expression_statement "pcVar5 = "Change cipher spec";" (assignment_expression "pcVar5 = "Change cipher spec"" identifier = (string_literal ""Change cipher spec"" " string_content ")) ;) }) (else_clause "else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" else (if_statement "if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" if (parenthesized_expression "(param_3 == 0x15)" ( (binary_expression "param_3 == 0x15" identifier == number_literal) )) (compound_statement "{\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }" { (labeled_statement "LAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];" statement_identifier : (expression_statement "value = *param_4 * 0x100 + (int)param_4[1];" (assignment_expression "value = *param_4 * 0x100 + (int)param_4[1]" identifier = (binary_expression "*param_4 * 0x100 + (int)param_4[1]" (binary_expression "*param_4 * 0x100" (pointer_expression "*param_4" * identifier) * number_literal) + (cast_expression "(int)param_4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[1]" identifier [ number_literal ])))) ;)) (expression_statement "pcVar5 = SSL_alert_desc_string_long(value);" (assignment_expression "pcVar5 = SSL_alert_desc_string_long(value)" identifier = (call_expression "SSL_alert_desc_string_long(value)" identifier (argument_list "(value)" ( identifier )))) ;) }) (else_clause "else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" else (compound_statement "{\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" { (labeled_statement "LAB_0016525c:\n          value = (int)*param_4;" statement_identifier : (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" identifier = (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) ;)) (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) (if_statement "if (bVar2) goto LAB_001654ef;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001654ef;" goto statement_identifier ;)) })))))) }))) (expression_statement "pcVar3 = "LOGOUT";" (assignment_expression "pcVar3 = "LOGOUT"" identifier = (string_literal ""LOGOUT"" " string_content ")) ;) (if_statement "if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar3 = "PLAIN";\n      }" { (expression_statement "pcVar3 = "PLAIN";" (assignment_expression "pcVar3 = "PLAIN"" identifier = (string_literal ""PLAIN"" " string_content ")) ;) })) (expression_statement "uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);" (assignment_expression "uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" identifier = (call_expression "curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" identifier (argument_list "(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" ( identifier , number_literal , (string_literal ""%s (%s), %s, %s (%d):\n"" " string_content escape_sequence ") , identifier , (binary_expression "pcVar3 + 3" identifier + number_literal) , identifier , identifier , identifier )))) ;) (if_statement "if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }" if (parenthesized_expression "(uVar4 < 0x400)" ( (binary_expression "uVar4 < 0x400" identifier < number_literal) )) (compound_statement "{\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }" { (expression_statement "FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);" (call_expression "FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4)" identifier (argument_list "(lVar1,0,local_448,(long)(int)uVar4)" ( identifier , number_literal , identifier , (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) }))) }) (else_clause "else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" else (compound_statement "{\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" { (if_statement "if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }" if (parenthesized_expression "(0x301 < param_2)" ( (binary_expression "0x301 < param_2" number_literal < identifier) )) (compound_statement "{\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }" { (expression_statement "pcVar6 = "TLSv1.2";" (assignment_expression "pcVar6 = "TLSv1.2"" identifier = (string_literal ""TLSv1.2"" " string_content ")) ;) (if_statement "if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }" if (parenthesized_expression "(((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304))" ( (binary_expression "((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)" (parenthesized_expression "((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2))" ( (binary_expression "(param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)" (parenthesized_expression "(param_2 != 0x303)" ( (binary_expression "param_2 != 0x303" identifier != number_literal) )) && (parenthesized_expression "(pcVar6 = "TLSv1.1", 0x302 < param_2)" ( (comma_expression "pcVar6 = "TLSv1.1", 0x302 < param_2" (assignment_expression "pcVar6 = "TLSv1.1"" identifier = (string_literal ""TLSv1.1"" " string_content ")) , (binary_expression "0x302 < param_2" number_literal < identifier)) ))) )) && (parenthesized_expression "(pcVar6 = "TLSv1.3", param_2 != 0x304)" ( (comma_expression "pcVar6 = "TLSv1.3", param_2 != 0x304" (assignment_expression "pcVar6 = "TLSv1.3"" identifier = (string_literal ""TLSv1.3"" " string_content ")) , (binary_expression "param_2 != 0x304" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }" { (labeled_statement "LAB_001651b2:\n        pcVar6 = local_468;" statement_identifier : (expression_statement "pcVar6 = local_468;" (assignment_expression "pcVar6 = local_468" identifier = identifier) ;)) (expression_statement "curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);" (call_expression "curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2)" identifier (argument_list "(pcVar6,0x20,&DAT_00178369,param_2)" ( identifier , number_literal , (pointer_expression "&DAT_00178369" & identifier) , identifier ))) ;) })) (goto_statement "goto LAB_001651fb;" goto statement_identifier ;) })) (if_statement "if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" { (if_statement "if (param_3 == 0x101) goto LAB_001652b8;" if (parenthesized_expression "(param_3 == 0x101)" ( (binary_expression "param_3 == 0x101" identifier == number_literal) )) (goto_statement "goto LAB_001652b8;" goto statement_identifier ;)) (expression_statement "pcVar6 = "SSLv2";" (assignment_expression "pcVar6 = "SSLv2"" identifier = (string_literal ""SSLv2"" " string_content ")) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ identifier = (string_literal """" " ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (if_statement "if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }" if (parenthesized_expression "(param_2 == 0x300)" ( (binary_expression "param_2 == 0x300" identifier == number_literal) )) (compound_statement "{\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }" { (expression_statement "pcVar6 = "SSLv3";" (assignment_expression "pcVar6 = "SSLv3"" identifier = (string_literal ""SSLv3"" " string_content ")) ;) (goto_statement "goto LAB_001651fb;" goto statement_identifier ;) })) (if_statement "if (param_2 != 0) goto LAB_001651b2;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001651b2;" goto statement_identifier ;)) }))) (labeled_statement "LAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);" statement_identifier : (expression_statement "FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);" (call_expression "FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5)" identifier (argument_list "(lVar1,(param_1 == 1) + '\x05',param_4,param_5)" ( identifier , (binary_expression "(param_1 == 1) + '\x05'" (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) + (char_literal "'\x05'" ' escape_sequence ')) , identifier , identifier ))) ;)) (labeled_statement "LAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid ssl_tls_trace(int direction,int ssl_ver,int content_type,void *buf,size_t len,SSL *ssl,\n                  void *userp)\n\n{\n  long lVar1;\n  Curl_easy *data;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int iVar6;\n  ulong uVar7;\n  char *buffer;\n  long in_FS_OFFSET;\n  bool bVar8;\n  char *local_470;\n  char unknown [32];\n  char ssl_buf [1024];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n                    /* WARNING: Load size is inaccurate */\n  if ((((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0)) || (1 < (uint)direction)) goto LAB_001652d6;\n  if (ssl_ver == 0x301) {\n    buffer = "TLSv1.0";\nLAB_001651fb:\n    if ((ssl_ver != 0) && (content_type != 0x101)) {\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < ssl_ver) {\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }\n    if (ssl_ver == 2) {\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (ssl_ver == 0x300) {\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (ssl_ver != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  Curl_debug(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len);\nLAB_001652d6:\n  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}\n\n" comment (function_definition "void ssl_tls_trace(int direction,int ssl_ver,int content_type,void *buf,size_t len,SSL *ssl,\n                  void *userp)\n\n{\n  long lVar1;\n  Curl_easy *data;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int iVar6;\n  ulong uVar7;\n  char *buffer;\n  long in_FS_OFFSET;\n  bool bVar8;\n  char *local_470;\n  char unknown [32];\n  char ssl_buf [1024];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n                    /* WARNING: Load size is inaccurate */\n  if ((((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0)) || (1 < (uint)direction)) goto LAB_001652d6;\n  if (ssl_ver == 0x301) {\n    buffer = "TLSv1.0";\nLAB_001651fb:\n    if ((ssl_ver != 0) && (content_type != 0x101)) {\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < ssl_ver) {\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }\n    if (ssl_ver == 2) {\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (ssl_ver == 0x300) {\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (ssl_ver != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  Curl_debug(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len);\nLAB_001652d6:\n  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "ssl_tls_trace(int direction,int ssl_ver,int content_type,void *buf,size_t len,SSL *ssl,\n                  void *userp)" identifier (parameter_list "(int direction,int ssl_ver,int content_type,void *buf,size_t len,SSL *ssl,\n                  void *userp)" ( (parameter_declaration "int direction" primitive_type identifier) , (parameter_declaration "int ssl_ver" primitive_type identifier) , (parameter_declaration "int content_type" primitive_type identifier) , (parameter_declaration "void *buf" primitive_type (pointer_declarator "*buf" * identifier)) , (parameter_declaration "size_t len" primitive_type identifier) , (parameter_declaration "SSL *ssl" type_identifier (pointer_declarator "*ssl" * identifier)) , (parameter_declaration "void *userp" primitive_type (pointer_declarator "*userp" * identifier)) ))) (compound_statement "{\n  long lVar1;\n  Curl_easy *data;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int iVar6;\n  ulong uVar7;\n  char *buffer;\n  long in_FS_OFFSET;\n  bool bVar8;\n  char *local_470;\n  char unknown [32];\n  char ssl_buf [1024];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n                    /* WARNING: Load size is inaccurate */\n  if ((((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0)) || (1 < (uint)direction)) goto LAB_001652d6;\n  if (ssl_ver == 0x301) {\n    buffer = "TLSv1.0";\nLAB_001651fb:\n    if ((ssl_ver != 0) && (content_type != 0x101)) {\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < ssl_ver) {\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }\n    if (ssl_ver == 2) {\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (ssl_ver == 0x300) {\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (ssl_ver != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  Curl_debug(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len);\nLAB_001652d6:\n  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "Curl_easy *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "char *buffer;" primitive_type (pointer_declarator "*buffer" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "char *local_470;" primitive_type (pointer_declarator "*local_470" * identifier) ;) (declaration "char unknown [32];" primitive_type (array_declarator "unknown [32]" identifier [ number_literal ]) ;) (declaration "char ssl_buf [1024];" primitive_type (array_declarator "ssl_buf [1024]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar1 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) comment (if_statement "if ((((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0)) || (1 < (uint)direction)) goto LAB_001652d6;" if (parenthesized_expression "((((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0)) || (1 < (uint)direction))" ( (binary_expression "(((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0)) || (1 < (uint)direction)" (parenthesized_expression "(((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0))" ( (binary_expression "((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)) ||\n      ((data->set).fdebug == (curl_debug_callback)0x0)" (parenthesized_expression "((userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0))" ( (binary_expression "(userp == (void *)0x0) || (data = *userp, data == (Curl_easy *)0x0)" (parenthesized_expression "(userp == (void *)0x0)" ( (binary_expression "userp == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(data = *userp, data == (Curl_easy *)0x0)" ( (comma_expression "data = *userp, data == (Curl_easy *)0x0" (assignment_expression "data = *userp" identifier = (pointer_expression "*userp" * identifier)) , (binary_expression "data == (Curl_easy *)0x0" identifier == (cast_expression "(Curl_easy *)0x0" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "((data->set).fdebug == (curl_debug_callback)0x0)" ( (binary_expression "(data->set).fdebug == (curl_debug_callback)0x0" (field_expression "(data->set).fdebug" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(curl_debug_callback)0x0" ( (type_descriptor "curl_debug_callback" type_identifier) ) number_literal)) ))) )) || (parenthesized_expression "(1 < (uint)direction)" ( (binary_expression "1 < (uint)direction" number_literal < (cast_expression "(uint)direction" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (goto_statement "goto LAB_001652d6;" goto statement_identifier ;)) (if_statement "if (ssl_ver == 0x301) {\n    buffer = "TLSv1.0";\nLAB_001651fb:\n    if ((ssl_ver != 0) && (content_type != 0x101)) {\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < ssl_ver) {\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }\n    if (ssl_ver == 2) {\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (ssl_ver == 0x300) {\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (ssl_ver != 0) goto LAB_001651b2;\n  }" if (parenthesized_expression "(ssl_ver == 0x301)" ( (binary_expression "ssl_ver == 0x301" identifier == number_literal) )) (compound_statement "{\n    buffer = "TLSv1.0";\nLAB_001651fb:\n    if ((ssl_ver != 0) && (content_type != 0x101)) {\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }\n  }" { (expression_statement "buffer = "TLSv1.0";" (assignment_expression "buffer = "TLSv1.0"" identifier = (string_literal ""TLSv1.0"" " string_content ")) ;) (labeled_statement "LAB_001651fb:\n    if ((ssl_ver != 0) && (content_type != 0x101)) {\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }" statement_identifier : (if_statement "if ((ssl_ver != 0) && (content_type != 0x101)) {\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }" if (parenthesized_expression "((ssl_ver != 0) && (content_type != 0x101))" ( (binary_expression "(ssl_ver != 0) && (content_type != 0x101)" (parenthesized_expression "(ssl_ver != 0)" ( (binary_expression "ssl_ver != 0" identifier != number_literal) )) && (parenthesized_expression "(content_type != 0x101)" ( (binary_expression "content_type != 0x101" identifier != number_literal) ))) )) (compound_statement "{\n      bVar8 = ssl_ver >> 8 == 3;\n      bVar2 = content_type != 0 && bVar8;\n      if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);\n      if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }\n    }" { (expression_statement "bVar8 = ssl_ver >> 8 == 3;" (assignment_expression "bVar8 = ssl_ver >> 8 == 3" identifier = (binary_expression "ssl_ver >> 8 == 3" (binary_expression "ssl_ver >> 8" identifier >> number_literal) == number_literal)) ;) (expression_statement "bVar2 = content_type != 0 && bVar8;" (assignment_expression "bVar2 = content_type != 0 && bVar8" identifier = (binary_expression "content_type != 0 && bVar8" (binary_expression "content_type != 0" identifier != number_literal) && identifier)) ;) (if_statement "if (content_type != 0 && bVar8) {\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" if (parenthesized_expression "(content_type != 0 && bVar8)" ( (binary_expression "content_type != 0 && bVar8" (binary_expression "content_type != 0" identifier != number_literal) && identifier) )) (compound_statement "{\n        if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n                    /* WARNING: Load size is inaccurate */\n        uVar7 = (ulong)(uint)(int)*buf;\nLAB_001654ef:\n        iVar6 = (int)uVar7;\n        if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (content_type == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" if (parenthesized_expression "(content_type == 0x16)" ( (binary_expression "content_type == 0x16" identifier == number_literal) )) (compound_statement "{\n          local_470 = "TLS handshake";\n        }" { (expression_statement "local_470 = "TLS handshake";" (assignment_expression "local_470 = "TLS handshake"" identifier = (string_literal ""TLS handshake"" " string_content ")) ;) }) (else_clause "else {\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" else (compound_statement "{\n          if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" { (if_statement "if (content_type < 0x17) {\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" if (parenthesized_expression "(content_type < 0x17)" ( (binary_expression "content_type < 0x17" identifier < number_literal) )) (compound_statement "{\n            if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" { (if_statement "if (content_type != 0x14) {\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" if (parenthesized_expression "(content_type != 0x14)" ( (binary_expression "content_type != 0x14" identifier != number_literal) )) (compound_statement "{\n              local_470 = "TLS alert";\n              if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" { (expression_statement "local_470 = "TLS alert";" (assignment_expression "local_470 = "TLS alert"" identifier = (string_literal ""TLS alert"" " string_content ")) ;) (if_statement "if (content_type != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" if (parenthesized_expression "(content_type != 0x15)" ( (binary_expression "content_type != 0x15" identifier != number_literal) )) (compound_statement "{\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" { (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" identifier = (string_literal ""TLS Unknown"" " string_content ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (goto_statement "goto LAB_0016532f;" goto statement_identifier ;) })) (expression_statement "local_470 = "TLS change cipher";" (assignment_expression "local_470 = "TLS change cipher"" identifier = (string_literal ""TLS change cipher"" " string_content ")) ;) (goto_statement "goto LAB_00165395;" goto statement_identifier ;) })) (if_statement "if (content_type != 0x17) {\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" if (parenthesized_expression "(content_type != 0x17)" ( (binary_expression "content_type != 0x17" identifier != number_literal) )) (compound_statement "{\n            local_470 = "TLS header";\n            if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" { (expression_statement "local_470 = "TLS header";" (assignment_expression "local_470 = "TLS header"" identifier = (string_literal ""TLS header"" " string_content ")) ;) (if_statement "if (content_type != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" if (parenthesized_expression "(content_type != 0x100)" ( (binary_expression "content_type != 0x100" identifier != number_literal) )) (compound_statement "{\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" { (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" identifier = (string_literal ""TLS Unknown"" " string_content ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (goto_statement "goto LAB_0016525c;" goto statement_identifier ;) })) (expression_statement "local_470 = "TLS app data";" (assignment_expression "local_470 = "TLS app data"" identifier = (string_literal ""TLS app data"" " string_content ")) ;) }))) comment (expression_statement "uVar7 = (ulong)(uint)(int)*buf;" (assignment_expression "uVar7 = (ulong)(uint)(int)*buf" identifier = (binary_expression "(ulong)(uint)(int)*buf" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier)) ;) (labeled_statement "LAB_001654ef:\n        iVar6 = (int)uVar7;" statement_identifier : (expression_statement "iVar6 = (int)uVar7;" (assignment_expression "iVar6 = (int)uVar7" identifier = (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (if_statement "if (iVar6 == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar6 == 0xd)" ( (binary_expression "iVar6 == 0xd" identifier == number_literal) )) (compound_statement "{\n          pcVar5 = "Request CERT";\n        }" { (expression_statement "pcVar5 = "Request CERT";" (assignment_expression "pcVar5 = "Request CERT"" identifier = (string_literal ""Request CERT"" " string_content ")) ;) }) (else_clause "else if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (iVar6 < 0xe) {\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar6 < 0xe)" ( (binary_expression "iVar6 < 0xe" identifier < number_literal) )) (compound_statement "{\n          if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (iVar6 == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar6 == 4)" ( (binary_expression "iVar6 == 4" identifier == number_literal) )) (compound_statement "{\n            pcVar5 = "Newsession Ticket";\n          }" { (expression_statement "pcVar5 = "Newsession Ticket";" (assignment_expression "pcVar5 = "Newsession Ticket"" identifier = (string_literal ""Newsession Ticket"" " string_content ")) ;) }) (else_clause "else if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" else (if_statement "if (iVar6 < 5) {\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar6 < 5)" ( (binary_expression "iVar6 < 5" identifier < number_literal) )) (compound_statement "{\n            pcVar5 = "Client hello";\n            if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }" { (expression_statement "pcVar5 = "Client hello";" (assignment_expression "pcVar5 = "Client hello"" identifier = (string_literal ""Client hello"" " string_content ")) ;) (if_statement "if (((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)) {\n              pcVar5 = "Unknown";\n            }" if (parenthesized_expression "(((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0))" ( (binary_expression "((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)) &&\n               (pcVar5 = "Hello request", iVar6 != 0)" (parenthesized_expression "((iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2))" ( (binary_expression "(iVar6 != 1) && (pcVar5 = "Server hello", iVar6 != 2)" (parenthesized_expression "(iVar6 != 1)" ( (binary_expression "iVar6 != 1" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server hello", iVar6 != 2)" ( (comma_expression "pcVar5 = "Server hello", iVar6 != 2" (assignment_expression "pcVar5 = "Server hello"" identifier = (string_literal ""Server hello"" " string_content ")) , (binary_expression "iVar6 != 2" identifier != number_literal)) ))) )) && (parenthesized_expression "(pcVar5 = "Hello request", iVar6 != 0)" ( (comma_expression "pcVar5 = "Hello request", iVar6 != 0" (assignment_expression "pcVar5 = "Hello request"" identifier = (string_literal ""Hello request"" " string_content ")) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              pcVar5 = "Unknown";\n            }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" else (compound_statement "{\n            pcVar5 = "Encrypted Extensions";\n            if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" { (expression_statement "pcVar5 = "Encrypted Extensions";" (assignment_expression "pcVar5 = "Encrypted Extensions"" identifier = (string_literal ""Encrypted Extensions"" " string_content ")) ;) (if_statement "if (iVar6 != 8) {\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" if (parenthesized_expression "(iVar6 != 8)" ( (binary_expression "iVar6 != 8" identifier != number_literal) )) (compound_statement "{\n              if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" { (if_statement "if (iVar6 < 9) {\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" if (parenthesized_expression "(iVar6 < 9)" ( (binary_expression "iVar6 < 9" identifier < number_literal) )) (compound_statement "{\n                pcVar5 = "End of early data";\n                if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }" { (expression_statement "pcVar5 = "End of early data";" (assignment_expression "pcVar5 = "End of early data"" identifier = (string_literal ""End of early data"" " string_content ")) ;) (if_statement "if (iVar6 != 5) {\n                  pcVar5 = "Unknown";\n                }" if (parenthesized_expression "(iVar6 != 5)" ( (binary_expression "iVar6 != 5" identifier != number_literal) )) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" else (compound_statement "{\n                pcVar5 = "Certificate";\n                if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" { (expression_statement "pcVar5 = "Certificate";" (assignment_expression "pcVar5 = "Certificate"" identifier = (string_literal ""Certificate"" " string_content ")) ;) (if_statement "if ((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)) {\n                  pcVar5 = "Unknown";\n                }" if (parenthesized_expression "((iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc))" ( (binary_expression "(iVar6 != 0xb) && (pcVar5 = "Server key exchange", iVar6 != 0xc)" (parenthesized_expression "(iVar6 != 0xb)" ( (binary_expression "iVar6 != 0xb" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server key exchange", iVar6 != 0xc)" ( (comma_expression "pcVar5 = "Server key exchange", iVar6 != 0xc" (assignment_expression "pcVar5 = "Server key exchange"" identifier = (string_literal ""Server key exchange"" " string_content ")) , (binary_expression "iVar6 != 0xc" identifier != number_literal)) ))) )) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }))) })) }))))) }) (else_clause "else if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (iVar6 == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar6 == 0x14)" ( (binary_expression "iVar6 == 0x14" identifier == number_literal) )) (compound_statement "{\n          pcVar5 = "Finished";\n        }" { (expression_statement "pcVar5 = "Finished";" (assignment_expression "pcVar5 = "Finished"" identifier = (string_literal ""Finished"" " string_content ")) ;) }) (else_clause "else if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (iVar6 < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar6 < 0x15)" ( (binary_expression "iVar6 < 0x15" identifier < number_literal) )) (compound_statement "{\n          pcVar5 = "CERT verify";\n          if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }" { (expression_statement "pcVar5 = "CERT verify";" (assignment_expression "pcVar5 = "CERT verify"" identifier = (string_literal ""CERT verify"" " string_content ")) ;) (if_statement "if (((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)) {\n            pcVar5 = "Unknown";\n          }" if (parenthesized_expression "(((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10))" ( (binary_expression "((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)) &&\n             (pcVar5 = "Client key exchange", iVar6 != 0x10)" (parenthesized_expression "((iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6))" ( (binary_expression "(iVar6 != 0xf) && (pcVar5 = "Server finished", 0xe < iVar6)" (parenthesized_expression "(iVar6 != 0xf)" ( (binary_expression "iVar6 != 0xf" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server finished", 0xe < iVar6)" ( (comma_expression "pcVar5 = "Server finished", 0xe < iVar6" (assignment_expression "pcVar5 = "Server finished"" identifier = (string_literal ""Server finished"" " string_content ")) , (binary_expression "0xe < iVar6" number_literal < identifier)) ))) )) && (parenthesized_expression "(pcVar5 = "Client key exchange", iVar6 != 0x10)" ( (comma_expression "pcVar5 = "Client key exchange", iVar6 != 0x10" (assignment_expression "pcVar5 = "Client key exchange"" identifier = (string_literal ""Client key exchange"" " string_content ")) , (binary_expression "iVar6 != 0x10" identifier != number_literal)) ))) )) (compound_statement "{\n            pcVar5 = "Unknown";\n          }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (compound_statement "{\n          pcVar5 = "Key update";\n          if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" { (expression_statement "pcVar5 = "Key update";" (assignment_expression "pcVar5 = "Key update"" identifier = (string_literal ""Key update"" " string_content ")) ;) (if_statement "if (iVar6 != 0x18) {\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" if (parenthesized_expression "(iVar6 != 0x18)" ( (binary_expression "iVar6 != 0x18" identifier != number_literal) )) (compound_statement "{\n            if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" { (if_statement "if (iVar6 < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" if (parenthesized_expression "(iVar6 < 0x19)" ( (binary_expression "iVar6 < 0x19" identifier < number_literal) )) (compound_statement "{\n              pcVar5 = "Certificate Status";\n              if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }" { (expression_statement "pcVar5 = "Certificate Status";" (assignment_expression "pcVar5 = "Certificate Status"" identifier = (string_literal ""Certificate Status"" " string_content ")) ;) (if_statement "if (iVar6 != 0x16) {\n                pcVar5 = "Unknown";\n              }" if (parenthesized_expression "(iVar6 != 0x16)" ( (binary_expression "iVar6 != 0x16" identifier != number_literal) )) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" else (compound_statement "{\n              pcVar5 = "Next protocol";\n              if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" { (expression_statement "pcVar5 = "Next protocol";" (assignment_expression "pcVar5 = "Next protocol"" identifier = (string_literal ""Next protocol"" " string_content ")) ;) (if_statement "if ((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)) {\n                pcVar5 = "Unknown";\n              }" if (parenthesized_expression "((iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe))" ( (binary_expression "(iVar6 != 0x43) && (pcVar5 = "Message hash", iVar6 != 0xfe)" (parenthesized_expression "(iVar6 != 0x43)" ( (binary_expression "iVar6 != 0x43" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Message hash", iVar6 != 0xfe)" ( (comma_expression "pcVar5 = "Message hash", iVar6 != 0xfe" (assignment_expression "pcVar5 = "Message hash"" identifier = (string_literal ""Message hash"" " string_content ")) , (binary_expression "iVar6 != 0xfe" identifier != number_literal)) ))) )) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }))) })) }))))))))) }) (else_clause "else {\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" else (compound_statement "{\n        local_470 = "";\n        bVar2 = bVar8;\nLAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" { (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ identifier = (string_literal """" " ")) ;) (expression_statement "bVar2 = bVar8;" (assignment_expression "bVar2 = bVar8" identifier = identifier) ;) (labeled_statement "LAB_00165375:\n        if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" statement_identifier : (if_statement "if (content_type == 0x14) {\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" if (parenthesized_expression "(content_type == 0x14)" ( (binary_expression "content_type == 0x14" identifier == number_literal) )) (compound_statement "{\nLAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Change cipher spec";\n        }" { (labeled_statement "LAB_00165395:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;" statement_identifier : comment (expression_statement "uVar7 = (ulong)(uint)(int)*buf;" (assignment_expression "uVar7 = (ulong)(uint)(int)*buf" identifier = (binary_expression "(ulong)(uint)(int)*buf" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier)) ;)) (expression_statement "pcVar5 = "Change cipher spec";" (assignment_expression "pcVar5 = "Change cipher spec"" identifier = (string_literal ""Change cipher spec"" " string_content ")) ;) }) (else_clause "else if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" else (if_statement "if (content_type == 0x15) {\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }\n        else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" if (parenthesized_expression "(content_type == 0x15)" ( (binary_expression "content_type == 0x15" identifier == number_literal) )) (compound_statement "{\nLAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);\n          uVar7 = (ulong)uVar4;\n          pcVar5 = SSL_alert_desc_string_long(uVar4);\n        }" { (labeled_statement "LAB_0016532f:\n                    /* WARNING: Load size is inaccurate */\n          uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);" statement_identifier : comment (expression_statement "uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1);" (assignment_expression "uVar4 = *buf * 0x100 + (int)*(char *)((long)buf + 1)" identifier = (binary_expression "*buf * 0x100 + (int)*(char *)((long)buf + 1)" (binary_expression "*buf * 0x100" (pointer_expression "*buf" * identifier) * number_literal) + (cast_expression "(int)*(char *)((long)buf + 1)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((long)buf + 1)" * (cast_expression "(char *)((long)buf + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)buf + 1)" ( (binary_expression "(long)buf + 1" (cast_expression "(long)buf" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))))) ;)) (expression_statement "uVar7 = (ulong)uVar4;" (assignment_expression "uVar7 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pcVar5 = SSL_alert_desc_string_long(uVar4);" (assignment_expression "pcVar5 = SSL_alert_desc_string_long(uVar4)" identifier = (call_expression "SSL_alert_desc_string_long(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) }) (else_clause "else {\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" else (compound_statement "{\nLAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" { (labeled_statement "LAB_0016525c:\n                    /* WARNING: Load size is inaccurate */\n          uVar7 = (ulong)(uint)(int)*buf;" statement_identifier : comment (expression_statement "uVar7 = (ulong)(uint)(int)*buf;" (assignment_expression "uVar7 = (ulong)(uint)(int)*buf" identifier = (binary_expression "(ulong)(uint)(int)*buf" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier)) ;)) (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) (if_statement "if (bVar2) goto LAB_001654ef;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001654ef;" goto statement_identifier ;)) })))))) }))) (expression_statement "pcVar3 = "LOGOUT";" (assignment_expression "pcVar3 = "LOGOUT"" identifier = (string_literal ""LOGOUT"" " string_content ")) ;) (if_statement "if (direction == 0) {\n        pcVar3 = "PLAIN";\n      }" if (parenthesized_expression "(direction == 0)" ( (binary_expression "direction == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar3 = "PLAIN";\n      }" { (expression_statement "pcVar3 = "PLAIN";" (assignment_expression "pcVar3 = "PLAIN"" identifier = (string_literal ""PLAIN"" " string_content ")) ;) })) (expression_statement "uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7);" (assignment_expression "uVar4 = curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7)" identifier = (call_expression "curl_msnprintf(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7)" identifier (argument_list "(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,pcVar3 + 3,local_470,\n                             pcVar5,uVar7)" ( identifier , number_literal , (string_literal ""%s (%s), %s, %s (%d):\n"" " string_content escape_sequence ") , identifier , (binary_expression "pcVar3 + 3" identifier + number_literal) , identifier , identifier , identifier )))) ;) (if_statement "if (uVar4 < 0x400) {\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }" if (parenthesized_expression "(uVar4 < 0x400)" ( (binary_expression "uVar4 < 0x400" identifier < number_literal) )) (compound_statement "{\n        Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);\n      }" { (expression_statement "Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4);" (call_expression "Curl_debug(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4)" identifier (argument_list "(data,CURLINFO_TEXT,ssl_buf,(long)(int)uVar4)" ( identifier , identifier , identifier , (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) }))) }) (else_clause "else {\n    if (0x301 < ssl_ver) {\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }\n    if (ssl_ver == 2) {\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (ssl_ver == 0x300) {\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (ssl_ver != 0) goto LAB_001651b2;\n  }" else (compound_statement "{\n    if (0x301 < ssl_ver) {\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }\n    if (ssl_ver == 2) {\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (ssl_ver == 0x300) {\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (ssl_ver != 0) goto LAB_001651b2;\n  }" { (if_statement "if (0x301 < ssl_ver) {\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }" if (parenthesized_expression "(0x301 < ssl_ver)" ( (binary_expression "0x301 < ssl_ver" number_literal < identifier) )) (compound_statement "{\n      buffer = "TLSv1.2";\n      if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }\n      goto LAB_001651fb;\n    }" { (expression_statement "buffer = "TLSv1.2";" (assignment_expression "buffer = "TLSv1.2"" identifier = (string_literal ""TLSv1.2"" " string_content ")) ;) (if_statement "if (((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)) {\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }" if (parenthesized_expression "(((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304))" ( (binary_expression "((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)) &&\n         (buffer = "TLSv1.3", ssl_ver != 0x304)" (parenthesized_expression "((ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver))" ( (binary_expression "(ssl_ver != 0x303) && (buffer = "TLSv1.1", 0x302 < ssl_ver)" (parenthesized_expression "(ssl_ver != 0x303)" ( (binary_expression "ssl_ver != 0x303" identifier != number_literal) )) && (parenthesized_expression "(buffer = "TLSv1.1", 0x302 < ssl_ver)" ( (comma_expression "buffer = "TLSv1.1", 0x302 < ssl_ver" (assignment_expression "buffer = "TLSv1.1"" identifier = (string_literal ""TLSv1.1"" " string_content ")) , (binary_expression "0x302 < ssl_ver" number_literal < identifier)) ))) )) && (parenthesized_expression "(buffer = "TLSv1.3", ssl_ver != 0x304)" ( (comma_expression "buffer = "TLSv1.3", ssl_ver != 0x304" (assignment_expression "buffer = "TLSv1.3"" identifier = (string_literal ""TLSv1.3"" " string_content ")) , (binary_expression "ssl_ver != 0x304" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_001651b2:\n        buffer = unknown;\n        curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);\n      }" { (labeled_statement "LAB_001651b2:\n        buffer = unknown;" statement_identifier : (expression_statement "buffer = unknown;" (assignment_expression "buffer = unknown" identifier = identifier) ;)) (expression_statement "curl_msnprintf(buffer,0x20,"(%x)",ssl_ver);" (call_expression "curl_msnprintf(buffer,0x20,"(%x)",ssl_ver)" identifier (argument_list "(buffer,0x20,"(%x)",ssl_ver)" ( identifier , number_literal , (string_literal ""(%x)"" " string_content ") , identifier ))) ;) })) (goto_statement "goto LAB_001651fb;" goto statement_identifier ;) })) (if_statement "if (ssl_ver == 2) {\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" if (parenthesized_expression "(ssl_ver == 2)" ( (binary_expression "ssl_ver == 2" identifier == number_literal) )) (compound_statement "{\n      if (content_type == 0x101) goto LAB_001652b8;\n      buffer = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" { (if_statement "if (content_type == 0x101) goto LAB_001652b8;" if (parenthesized_expression "(content_type == 0x101)" ( (binary_expression "content_type == 0x101" identifier == number_literal) )) (goto_statement "goto LAB_001652b8;" goto statement_identifier ;)) (expression_statement "buffer = "SSLv2";" (assignment_expression "buffer = "SSLv2"" identifier = (string_literal ""SSLv2"" " string_content ")) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ identifier = (string_literal """" " ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (if_statement "if (ssl_ver == 0x300) {\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }" if (parenthesized_expression "(ssl_ver == 0x300)" ( (binary_expression "ssl_ver == 0x300" identifier == number_literal) )) (compound_statement "{\n      buffer = "SSLv3";\n      goto LAB_001651fb;\n    }" { (expression_statement "buffer = "SSLv3";" (assignment_expression "buffer = "SSLv3"" identifier = (string_literal ""SSLv3"" " string_content ")) ;) (goto_statement "goto LAB_001651fb;" goto statement_identifier ;) })) (if_statement "if (ssl_ver != 0) goto LAB_001651b2;" if (parenthesized_expression "(ssl_ver != 0)" ( (binary_expression "ssl_ver != 0" identifier != number_literal) )) (goto_statement "goto LAB_001651b2;" goto statement_identifier ;)) }))) (labeled_statement "LAB_001652b8:\n  Curl_debug(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len);" statement_identifier : (expression_statement "Curl_debug(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len);" (call_expression "Curl_debug(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len)" identifier (argument_list "(data,(direction == 1) + CURLINFO_SSL_DATA_IN,(char *)buf,len)" ( identifier , (binary_expression "(direction == 1) + CURLINFO_SSL_DATA_IN" (parenthesized_expression "(direction == 1)" ( (binary_expression "direction == 1" identifier == number_literal) )) + identifier) , (cast_expression "(char *)buf" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) (labeled_statement "LAB_001652d6:\n  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(lVar1 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar1 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)\n\n{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)\n\n{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)" identifier (parameter_list "(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "char *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "long *param_7" (sized_type_specifier "long" long) (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int value;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "char *local_470;" primitive_type (pointer_declarator "*local_470" * identifier) ;) (declaration "char local_468 [32];" primitive_type (array_declarator "local_468 [32]" identifier [ number_literal ]) ;) (declaration "undefined1 local_448 [1032];" type_identifier (array_declarator "local_448 [1032]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;" if (parenthesized_expression "((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1))" ( (binary_expression "(((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)" (parenthesized_expression "(((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0))" ( (binary_expression "((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)" (parenthesized_expression "((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0))" ( (binary_expression "(param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)" (parenthesized_expression "(param_7 == (long *)0x0)" ( (binary_expression "param_7 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(lVar1 = *param_7, lVar1 == 0)" ( (comma_expression "lVar1 = *param_7, lVar1 == 0" (assignment_expression "lVar1 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) , (binary_expression "lVar1 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(*(long *)(lVar1 + 0x768) == 0)" ( (binary_expression "*(long *)(lVar1 + 0x768) == 0" (pointer_expression "*(long *)(lVar1 + 0x768)" * (cast_expression "(long *)(lVar1 + 0x768)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x768)" ( (binary_expression "lVar1 + 0x768" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(1 < param_1)" ( (binary_expression "1 < param_1" number_literal < identifier) ))) )) (goto_statement "goto LAB_001652d6;" goto statement_identifier ;)) (if_statement "if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" if (parenthesized_expression "(param_2 == 0x301)" ( (binary_expression "param_2 == 0x301" identifier == number_literal) )) (compound_statement "{\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }" { (expression_statement "pcVar6 = "TLSv1.0";" (assignment_expression "pcVar6 = "TLSv1.0"" identifier = (string_literal ""TLSv1.0"" " string_content ")) ;) (labeled_statement "LAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" statement_identifier : (if_statement "if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" if (parenthesized_expression "((param_2 != 0) && (param_3 != 0x101))" ( (binary_expression "(param_2 != 0) && (param_3 != 0x101)" (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) && (parenthesized_expression "(param_3 != 0x101)" ( (binary_expression "param_3 != 0x101" identifier != number_literal) ))) )) (compound_statement "{\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" { (expression_statement "bVar7 = param_2 >> 8 == 3;" (assignment_expression "bVar7 = param_2 >> 8 == 3" identifier = (binary_expression "param_2 >> 8 == 3" (binary_expression "param_2 >> 8" identifier >> number_literal) == number_literal)) ;) (expression_statement "bVar2 = param_3 != 0 && bVar7;" (assignment_expression "bVar2 = param_3 != 0 && bVar7" identifier = (binary_expression "param_3 != 0 && bVar7" (binary_expression "param_3 != 0" identifier != number_literal) && identifier)) ;) (if_statement "if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" if (parenthesized_expression "(param_3 != 0 && bVar7)" ( (binary_expression "param_3 != 0 && bVar7" (binary_expression "param_3 != 0" identifier != number_literal) && identifier) )) (compound_statement "{\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" if (parenthesized_expression "(param_3 == 0x16)" ( (binary_expression "param_3 == 0x16" identifier == number_literal) )) (compound_statement "{\n          local_470 = "TLS handshake";\n        }" { (expression_statement "local_470 = "TLS handshake";" (assignment_expression "local_470 = "TLS handshake"" identifier = (string_literal ""TLS handshake"" " string_content ")) ;) }) (else_clause "else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" else (compound_statement "{\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" { (if_statement "if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" if (parenthesized_expression "(param_3 < 0x17)" ( (binary_expression "param_3 < 0x17" identifier < number_literal) )) (compound_statement "{\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" { (if_statement "if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" if (parenthesized_expression "(param_3 != 0x14)" ( (binary_expression "param_3 != 0x14" identifier != number_literal) )) (compound_statement "{\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" { (expression_statement "local_470 = "TLS alert";" (assignment_expression "local_470 = "TLS alert"" identifier = (string_literal ""TLS alert"" " string_content ")) ;) (if_statement "if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" if (parenthesized_expression "(param_3 != 0x15)" ( (binary_expression "param_3 != 0x15" identifier != number_literal) )) (compound_statement "{\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" { (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" identifier = (string_literal ""TLS Unknown"" " string_content ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (goto_statement "goto LAB_0016532f;" goto statement_identifier ;) })) (expression_statement "local_470 = "TLS change cipher";" (assignment_expression "local_470 = "TLS change cipher"" identifier = (string_literal ""TLS change cipher"" " string_content ")) ;) (goto_statement "goto LAB_00165395;" goto statement_identifier ;) })) (if_statement "if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" if (parenthesized_expression "(param_3 != 0x17)" ( (binary_expression "param_3 != 0x17" identifier != number_literal) )) (compound_statement "{\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" { (expression_statement "local_470 = "TLS header";" (assignment_expression "local_470 = "TLS header"" identifier = (string_literal ""TLS header"" " string_content ")) ;) (if_statement "if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" if (parenthesized_expression "(param_3 != 0x100)" ( (binary_expression "param_3 != 0x100" identifier != number_literal) )) (compound_statement "{\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" { (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" identifier = (string_literal ""TLS Unknown"" " string_content ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (goto_statement "goto LAB_0016525c;" goto statement_identifier ;) })) (expression_statement "local_470 = "TLS app data";" (assignment_expression "local_470 = "TLS app data"" identifier = (string_literal ""TLS app data"" " string_content ")) ;) }))) (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" identifier = (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) ;) (labeled_statement "LAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" statement_identifier : (if_statement "if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value == 0xd)" ( (binary_expression "value == 0xd" identifier == number_literal) )) (compound_statement "{\n          pcVar5 = "Request CERT";\n        }" { (expression_statement "pcVar5 = "Request CERT";" (assignment_expression "pcVar5 = "Request CERT"" identifier = (string_literal ""Request CERT"" " string_content ")) ;) }) (else_clause "else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value < 0xe)" ( (binary_expression "value < 0xe" identifier < number_literal) )) (compound_statement "{\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }" { (if_statement "if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" if (parenthesized_expression "(value == 4)" ( (binary_expression "value == 4" identifier == number_literal) )) (compound_statement "{\n            pcVar5 = "Newsession Ticket";\n          }" { (expression_statement "pcVar5 = "Newsession Ticket";" (assignment_expression "pcVar5 = "Newsession Ticket"" identifier = (string_literal ""Newsession Ticket"" " string_content ")) ;) }) (else_clause "else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" else (if_statement "if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" if (parenthesized_expression "(value < 5)" ( (binary_expression "value < 5" identifier < number_literal) )) (compound_statement "{\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }" { (expression_statement "pcVar5 = "Client hello";" (assignment_expression "pcVar5 = "Client hello"" identifier = (string_literal ""Client hello"" " string_content ")) ;) (if_statement "if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }" if (parenthesized_expression "(((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0))" ( (binary_expression "((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)" (parenthesized_expression "((value != 1) && (pcVar5 = "Server hello", value != 2))" ( (binary_expression "(value != 1) && (pcVar5 = "Server hello", value != 2)" (parenthesized_expression "(value != 1)" ( (binary_expression "value != 1" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server hello", value != 2)" ( (comma_expression "pcVar5 = "Server hello", value != 2" (assignment_expression "pcVar5 = "Server hello"" identifier = (string_literal ""Server hello"" " string_content ")) , (binary_expression "value != 2" identifier != number_literal)) ))) )) && (parenthesized_expression "(pcVar5 = "Hello request", value != 0)" ( (comma_expression "pcVar5 = "Hello request", value != 0" (assignment_expression "pcVar5 = "Hello request"" identifier = (string_literal ""Hello request"" " string_content ")) , (binary_expression "value != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              pcVar5 = "Unknown";\n            }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" else (compound_statement "{\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" { (expression_statement "pcVar5 = "Encrypted Extensions";" (assignment_expression "pcVar5 = "Encrypted Extensions"" identifier = (string_literal ""Encrypted Extensions"" " string_content ")) ;) (if_statement "if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" if (parenthesized_expression "(value != 8)" ( (binary_expression "value != 8" identifier != number_literal) )) (compound_statement "{\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" { (if_statement "if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" if (parenthesized_expression "(value < 9)" ( (binary_expression "value < 9" identifier < number_literal) )) (compound_statement "{\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }" { (expression_statement "pcVar5 = "End of early data";" (assignment_expression "pcVar5 = "End of early data"" identifier = (string_literal ""End of early data"" " string_content ")) ;) (if_statement "if (value != 5) {\n                  pcVar5 = "Unknown";\n                }" if (parenthesized_expression "(value != 5)" ( (binary_expression "value != 5" identifier != number_literal) )) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" else (compound_statement "{\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" { (expression_statement "pcVar5 = "Certificate";" (assignment_expression "pcVar5 = "Certificate"" identifier = (string_literal ""Certificate"" " string_content ")) ;) (if_statement "if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }" if (parenthesized_expression "((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc))" ( (binary_expression "(value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)" (parenthesized_expression "(value != 0xb)" ( (binary_expression "value != 0xb" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server key exchange", value != 0xc)" ( (comma_expression "pcVar5 = "Server key exchange", value != 0xc" (assignment_expression "pcVar5 = "Server key exchange"" identifier = (string_literal ""Server key exchange"" " string_content ")) , (binary_expression "value != 0xc" identifier != number_literal)) ))) )) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }))) })) }))))) }) (else_clause "else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value == 0x14)" ( (binary_expression "value == 0x14" identifier == number_literal) )) (compound_statement "{\n          pcVar5 = "Finished";\n        }" { (expression_statement "pcVar5 = "Finished";" (assignment_expression "pcVar5 = "Finished"" identifier = (string_literal ""Finished"" " string_content ")) ;) }) (else_clause "else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (if_statement "if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" if (parenthesized_expression "(value < 0x15)" ( (binary_expression "value < 0x15" identifier < number_literal) )) (compound_statement "{\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }" { (expression_statement "pcVar5 = "CERT verify";" (assignment_expression "pcVar5 = "CERT verify"" identifier = (string_literal ""CERT verify"" " string_content ")) ;) (if_statement "if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }" if (parenthesized_expression "(((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10))" ( (binary_expression "((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)" (parenthesized_expression "((value != 0xf) && (pcVar5 = "Server finished", 0xe < value))" ( (binary_expression "(value != 0xf) && (pcVar5 = "Server finished", 0xe < value)" (parenthesized_expression "(value != 0xf)" ( (binary_expression "value != 0xf" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Server finished", 0xe < value)" ( (comma_expression "pcVar5 = "Server finished", 0xe < value" (assignment_expression "pcVar5 = "Server finished"" identifier = (string_literal ""Server finished"" " string_content ")) , (binary_expression "0xe < value" number_literal < identifier)) ))) )) && (parenthesized_expression "(pcVar5 = "Client key exchange", value != 0x10)" ( (comma_expression "pcVar5 = "Client key exchange", value != 0x10" (assignment_expression "pcVar5 = "Client key exchange"" identifier = (string_literal ""Client key exchange"" " string_content ")) , (binary_expression "value != 0x10" identifier != number_literal)) ))) )) (compound_statement "{\n            pcVar5 = "Unknown";\n          }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" else (compound_statement "{\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" { (expression_statement "pcVar5 = "Key update";" (assignment_expression "pcVar5 = "Key update"" identifier = (string_literal ""Key update"" " string_content ")) ;) (if_statement "if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" if (parenthesized_expression "(value != 0x18)" ( (binary_expression "value != 0x18" identifier != number_literal) )) (compound_statement "{\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" { (if_statement "if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" if (parenthesized_expression "(value < 0x19)" ( (binary_expression "value < 0x19" identifier < number_literal) )) (compound_statement "{\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }" { (expression_statement "pcVar5 = "Certificate Status";" (assignment_expression "pcVar5 = "Certificate Status"" identifier = (string_literal ""Certificate Status"" " string_content ")) ;) (if_statement "if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }" if (parenthesized_expression "(value != 0x16)" ( (binary_expression "value != 0x16" identifier != number_literal) )) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }) (else_clause "else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" else (compound_statement "{\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" { (expression_statement "pcVar5 = "Next protocol";" (assignment_expression "pcVar5 = "Next protocol"" identifier = (string_literal ""Next protocol"" " string_content ")) ;) (if_statement "if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }" if (parenthesized_expression "((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe))" ( (binary_expression "(value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)" (parenthesized_expression "(value != 0x43)" ( (binary_expression "value != 0x43" identifier != number_literal) )) && (parenthesized_expression "(pcVar5 = "Message hash", value != 0xfe)" ( (comma_expression "pcVar5 = "Message hash", value != 0xfe" (assignment_expression "pcVar5 = "Message hash"" identifier = (string_literal ""Message hash"" " string_content ")) , (binary_expression "value != 0xfe" identifier != number_literal)) ))) )) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" { (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) })) }))) })) })))))))))) }) (else_clause "else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" else (compound_statement "{\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" { (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ identifier = (string_literal """" " ")) ;) (expression_statement "bVar2 = bVar7;" (assignment_expression "bVar2 = bVar7" identifier = identifier) ;) (labeled_statement "LAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" statement_identifier : (if_statement "if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" if (parenthesized_expression "(param_3 == 0x14)" ( (binary_expression "param_3 == 0x14" identifier == number_literal) )) (compound_statement "{\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }" { (labeled_statement "LAB_00165395:\n          value = (int)*param_4;" statement_identifier : (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" identifier = (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) ;)) (expression_statement "pcVar5 = "Change cipher spec";" (assignment_expression "pcVar5 = "Change cipher spec"" identifier = (string_literal ""Change cipher spec"" " string_content ")) ;) }) (else_clause "else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" else (if_statement "if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" if (parenthesized_expression "(param_3 == 0x15)" ( (binary_expression "param_3 == 0x15" identifier == number_literal) )) (compound_statement "{\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }" { (labeled_statement "LAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];" statement_identifier : (expression_statement "value = *param_4 * 0x100 + (int)param_4[1];" (assignment_expression "value = *param_4 * 0x100 + (int)param_4[1]" identifier = (binary_expression "*param_4 * 0x100 + (int)param_4[1]" (binary_expression "*param_4 * 0x100" (pointer_expression "*param_4" * identifier) * number_literal) + (cast_expression "(int)param_4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[1]" identifier [ number_literal ])))) ;)) (expression_statement "pcVar5 = SSL_alert_desc_string_long(value);" (assignment_expression "pcVar5 = SSL_alert_desc_string_long(value)" identifier = (call_expression "SSL_alert_desc_string_long(value)" identifier (argument_list "(value)" ( identifier )))) ;) }) (else_clause "else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" else (compound_statement "{\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" { (labeled_statement "LAB_0016525c:\n          value = (int)*param_4;" statement_identifier : (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" identifier = (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) ;)) (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" identifier = (string_literal ""Unknown"" " string_content ")) ;) (if_statement "if (bVar2) goto LAB_001654ef;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001654ef;" goto statement_identifier ;)) })))))) }))) (expression_statement "pcVar3 = "LOGOUT";" (assignment_expression "pcVar3 = "LOGOUT"" identifier = (string_literal ""LOGOUT"" " string_content ")) ;) (if_statement "if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar3 = "PLAIN";\n      }" { (expression_statement "pcVar3 = "PLAIN";" (assignment_expression "pcVar3 = "PLAIN"" identifier = (string_literal ""PLAIN"" " string_content ")) ;) })) (expression_statement "uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);" (assignment_expression "uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" identifier = (call_expression "curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" identifier (argument_list "(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" ( identifier , number_literal , (string_literal ""%s (%s), %s, %s (%d):\n"" " string_content escape_sequence ") , identifier , (binary_expression "pcVar3 + 3" identifier + number_literal) , identifier , identifier , identifier )))) ;) (if_statement "if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }" if (parenthesized_expression "(uVar4 < 0x400)" ( (binary_expression "uVar4 < 0x400" identifier < number_literal) )) (compound_statement "{\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }" { (expression_statement "FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);" (call_expression "FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4)" identifier (argument_list "(lVar1,0,local_448,(long)(int)uVar4)" ( identifier , number_literal , identifier , (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) }))) }) (else_clause "else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" else (compound_statement "{\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" { (if_statement "if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }" if (parenthesized_expression "(0x301 < param_2)" ( (binary_expression "0x301 < param_2" number_literal < identifier) )) (compound_statement "{\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }" { (expression_statement "pcVar6 = "TLSv1.2";" (assignment_expression "pcVar6 = "TLSv1.2"" identifier = (string_literal ""TLSv1.2"" " string_content ")) ;) (if_statement "if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }" if (parenthesized_expression "(((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304))" ( (binary_expression "((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)" (parenthesized_expression "((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2))" ( (binary_expression "(param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)" (parenthesized_expression "(param_2 != 0x303)" ( (binary_expression "param_2 != 0x303" identifier != number_literal) )) && (parenthesized_expression "(pcVar6 = "TLSv1.1", 0x302 < param_2)" ( (comma_expression "pcVar6 = "TLSv1.1", 0x302 < param_2" (assignment_expression "pcVar6 = "TLSv1.1"" identifier = (string_literal ""TLSv1.1"" " string_content ")) , (binary_expression "0x302 < param_2" number_literal < identifier)) ))) )) && (parenthesized_expression "(pcVar6 = "TLSv1.3", param_2 != 0x304)" ( (comma_expression "pcVar6 = "TLSv1.3", param_2 != 0x304" (assignment_expression "pcVar6 = "TLSv1.3"" identifier = (string_literal ""TLSv1.3"" " string_content ")) , (binary_expression "param_2 != 0x304" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }" { (labeled_statement "LAB_001651b2:\n        pcVar6 = local_468;" statement_identifier : (expression_statement "pcVar6 = local_468;" (assignment_expression "pcVar6 = local_468" identifier = identifier) ;)) (expression_statement "curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);" (call_expression "curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2)" identifier (argument_list "(pcVar6,0x20,&DAT_00178369,param_2)" ( identifier , number_literal , (pointer_expression "&DAT_00178369" & identifier) , identifier ))) ;) })) (goto_statement "goto LAB_001651fb;" goto statement_identifier ;) })) (if_statement "if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" { (if_statement "if (param_3 == 0x101) goto LAB_001652b8;" if (parenthesized_expression "(param_3 == 0x101)" ( (binary_expression "param_3 == 0x101" identifier == number_literal) )) (goto_statement "goto LAB_001652b8;" goto statement_identifier ;)) (expression_statement "pcVar6 = "SSLv2";" (assignment_expression "pcVar6 = "SSLv2"" identifier = (string_literal ""SSLv2"" " string_content ")) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ identifier = (string_literal """" " ")) ;) (goto_statement "goto LAB_00165375;" goto statement_identifier ;) })) (if_statement "if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }" if (parenthesized_expression "(param_2 == 0x300)" ( (binary_expression "param_2 == 0x300" identifier == number_literal) )) (compound_statement "{\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }" { (expression_statement "pcVar6 = "SSLv3";" (assignment_expression "pcVar6 = "SSLv3"" identifier = (string_literal ""SSLv3"" " string_content ")) ;) (goto_statement "goto LAB_001651fb;" goto statement_identifier ;) })) (if_statement "if (param_2 != 0) goto LAB_001651b2;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001651b2;" goto statement_identifier ;)) }))) (labeled_statement "LAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);" statement_identifier : (expression_statement "FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);" (call_expression "FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5)" identifier (argument_list "(lVar1,(param_1 == 1) + '\x05',param_4,param_5)" ( identifier , (binary_expression "(param_1 == 1) + '\x05'" (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) + (char_literal "'\x05'" ' escape_sequence ')) , identifier , identifier ))) ;)) (labeled_statement "LAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != LIT) && IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) }))) })) }))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression LIT < IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) }))) })) })))))))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) })))))) }))) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) })) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression LIT < IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) + (char_literal ' escape_sequence ')) , IDENT , IDENT ))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return ;) })))
(function_definition "void FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)\n\n{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0016511f(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)" (identifier "FUN_0016511f") (parameter_list "(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,\n                 undefined8 param_6,long *param_7)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "char *param_4" (primitive_type "char") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "long *param_7" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  long lVar1;\n  bool bVar2;\n  char *pcVar3;\n  uint uVar4;\n  char *pcVar5;\n  int value;\n  char *pcVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  char *local_470;\n  char local_468 [32];\n  undefined1 local_448 [1032];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;\n  if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }\nLAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);\nLAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "int value;" (primitive_type "int") (identifier "value") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "char *local_470;" (primitive_type "char") (pointer_declarator "*local_470" (* "*") (identifier "local_470")) (; ";")) (declaration "char local_468 [32];" (primitive_type "char") (array_declarator "local_468 [32]" (identifier "local_468") ([ "[") (number_literal "32") (] "]")) (; ";")) (declaration "undefined1 local_448 [1032];" (type_identifier "undefined1") (array_declarator "local_448 [1032]" (identifier "local_448") ([ "[") (number_literal "1032") (] "]")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;" (if "if") (parenthesized_expression "((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1))" (( "(") (binary_expression "(((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)" (parenthesized_expression "(((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0))" (( "(") (binary_expression "((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||\n      (*(long *)(lVar1 + 0x768) == 0)" (parenthesized_expression "((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0))" (( "(") (binary_expression "(param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)" (parenthesized_expression "(param_7 == (long *)0x0)" (( "(") (binary_expression "param_7 == (long *)0x0" (identifier "param_7") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(lVar1 = *param_7, lVar1 == 0)" (( "(") (comma_expression "lVar1 = *param_7, lVar1 == 0" (assignment_expression "lVar1 = *param_7" (identifier "lVar1") (= "=") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) (, ",") (binary_expression "lVar1 == 0" (identifier "lVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(long *)(lVar1 + 0x768) == 0)" (( "(") (binary_expression "*(long *)(lVar1 + 0x768) == 0" (pointer_expression "*(long *)(lVar1 + 0x768)" (* "*") (cast_expression "(long *)(lVar1 + 0x768)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x768)" (( "(") (binary_expression "lVar1 + 0x768" (identifier "lVar1") (+ "+") (number_literal "0x768")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(1 < param_1)" (( "(") (binary_expression "1 < param_1" (number_literal "1") (< "<") (identifier "param_1")) () ")"))) () ")")) (goto_statement "goto LAB_001652d6;" (goto "goto") (statement_identifier "LAB_001652d6") (; ";"))) (if_statement "if (param_2 == 0x301) {\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }\n  else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" (if "if") (parenthesized_expression "(param_2 == 0x301)" (( "(") (binary_expression "param_2 == 0x301" (identifier "param_2") (== "==") (number_literal "0x301")) () ")")) (compound_statement "{\n    pcVar6 = "TLSv1.0";\nLAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }\n  }" ({ "{") (expression_statement "pcVar6 = "TLSv1.0";" (assignment_expression "pcVar6 = "TLSv1.0"" (identifier "pcVar6") (= "=") (string_literal ""TLSv1.0"" (" """) (string_content "TLSv1.0") (" """))) (; ";")) (labeled_statement "LAB_001651fb:\n    if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" (statement_identifier "LAB_001651fb") (: ":") (if_statement "if ((param_2 != 0) && (param_3 != 0x101)) {\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" (if "if") (parenthesized_expression "((param_2 != 0) && (param_3 != 0x101))" (( "(") (binary_expression "(param_2 != 0) && (param_3 != 0x101)" (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_3 != 0x101)" (( "(") (binary_expression "param_3 != 0x101" (identifier "param_3") (!= "!=") (number_literal "0x101")) () ")"))) () ")")) (compound_statement "{\n      bVar7 = param_2 >> 8 == 3;\n      bVar2 = param_3 != 0 && bVar7;\n      if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }\n      pcVar3 = "LOGOUT";\n      if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }\n      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);\n      if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }\n    }" ({ "{") (expression_statement "bVar7 = param_2 >> 8 == 3;" (assignment_expression "bVar7 = param_2 >> 8 == 3" (identifier "bVar7") (= "=") (binary_expression "param_2 >> 8 == 3" (binary_expression "param_2 >> 8" (identifier "param_2") (>> ">>") (number_literal "8")) (== "==") (number_literal "3"))) (; ";")) (expression_statement "bVar2 = param_3 != 0 && bVar7;" (assignment_expression "bVar2 = param_3 != 0 && bVar7" (identifier "bVar2") (= "=") (binary_expression "param_3 != 0 && bVar7" (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) (&& "&&") (identifier "bVar7"))) (; ";")) (if_statement "if (param_3 != 0 && bVar7) {\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }\n      else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" (if "if") (parenthesized_expression "(param_3 != 0 && bVar7)" (( "(") (binary_expression "param_3 != 0 && bVar7" (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) (&& "&&") (identifier "bVar7")) () ")")) (compound_statement "{\n        if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }\n        value = (int)*param_4;\nLAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }\n      }" ({ "{") (if_statement "if (param_3 == 0x16) {\n          local_470 = "TLS handshake";\n        }\n        else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" (if "if") (parenthesized_expression "(param_3 == 0x16)" (( "(") (binary_expression "param_3 == 0x16" (identifier "param_3") (== "==") (number_literal "0x16")) () ")")) (compound_statement "{\n          local_470 = "TLS handshake";\n        }" ({ "{") (expression_statement "local_470 = "TLS handshake";" (assignment_expression "local_470 = "TLS handshake"" (identifier "local_470") (= "=") (string_literal ""TLS handshake"" (" """) (string_content "TLS handshake") (" """))) (; ";")) (} "}")) (else_clause "else {\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" (else "else") (compound_statement "{\n          if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }\n          if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }\n          local_470 = "TLS app data";\n        }" ({ "{") (if_statement "if (param_3 < 0x17) {\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" (if "if") (parenthesized_expression "(param_3 < 0x17)" (( "(") (binary_expression "param_3 < 0x17" (identifier "param_3") (< "<") (number_literal "0x17")) () ")")) (compound_statement "{\n            if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }\n            local_470 = "TLS change cipher";\n            goto LAB_00165395;\n          }" ({ "{") (if_statement "if (param_3 != 0x14) {\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" (if "if") (parenthesized_expression "(param_3 != 0x14)" (( "(") (binary_expression "param_3 != 0x14" (identifier "param_3") (!= "!=") (number_literal "0x14")) () ")")) (compound_statement "{\n              local_470 = "TLS alert";\n              if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }\n              goto LAB_0016532f;\n            }" ({ "{") (expression_statement "local_470 = "TLS alert";" (assignment_expression "local_470 = "TLS alert"" (identifier "local_470") (= "=") (string_literal ""TLS alert"" (" """) (string_content "TLS alert") (" """))) (; ";")) (if_statement "if (param_3 != 0x15) {\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" (if "if") (parenthesized_expression "(param_3 != 0x15)" (( "(") (binary_expression "param_3 != 0x15" (identifier "param_3") (!= "!=") (number_literal "0x15")) () ")")) (compound_statement "{\n                local_470 = "TLS Unknown";\n                goto LAB_00165375;\n              }" ({ "{") (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" (identifier "local_470") (= "=") (string_literal ""TLS Unknown"" (" """) (string_content "TLS Unknown") (" """))) (; ";")) (goto_statement "goto LAB_00165375;" (goto "goto") (statement_identifier "LAB_00165375") (; ";")) (} "}"))) (goto_statement "goto LAB_0016532f;" (goto "goto") (statement_identifier "LAB_0016532f") (; ";")) (} "}"))) (expression_statement "local_470 = "TLS change cipher";" (assignment_expression "local_470 = "TLS change cipher"" (identifier "local_470") (= "=") (string_literal ""TLS change cipher"" (" """) (string_content "TLS change cipher") (" """))) (; ";")) (goto_statement "goto LAB_00165395;" (goto "goto") (statement_identifier "LAB_00165395") (; ";")) (} "}"))) (if_statement "if (param_3 != 0x17) {\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" (if "if") (parenthesized_expression "(param_3 != 0x17)" (( "(") (binary_expression "param_3 != 0x17" (identifier "param_3") (!= "!=") (number_literal "0x17")) () ")")) (compound_statement "{\n            local_470 = "TLS header";\n            if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }\n            goto LAB_0016525c;\n          }" ({ "{") (expression_statement "local_470 = "TLS header";" (assignment_expression "local_470 = "TLS header"" (identifier "local_470") (= "=") (string_literal ""TLS header"" (" """) (string_content "TLS header") (" """))) (; ";")) (if_statement "if (param_3 != 0x100) {\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" (if "if") (parenthesized_expression "(param_3 != 0x100)" (( "(") (binary_expression "param_3 != 0x100" (identifier "param_3") (!= "!=") (number_literal "0x100")) () ")")) (compound_statement "{\n              local_470 = "TLS Unknown";\n              goto LAB_00165375;\n            }" ({ "{") (expression_statement "local_470 = "TLS Unknown";" (assignment_expression "local_470 = "TLS Unknown"" (identifier "local_470") (= "=") (string_literal ""TLS Unknown"" (" """) (string_content "TLS Unknown") (" """))) (; ";")) (goto_statement "goto LAB_00165375;" (goto "goto") (statement_identifier "LAB_00165375") (; ";")) (} "}"))) (goto_statement "goto LAB_0016525c;" (goto "goto") (statement_identifier "LAB_0016525c") (; ";")) (} "}"))) (expression_statement "local_470 = "TLS app data";" (assignment_expression "local_470 = "TLS app data"" (identifier "local_470") (= "=") (string_literal ""TLS app data"" (" """) (string_content "TLS app data") (" """))) (; ";")) (} "}")))) (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" (identifier "value") (= "=") (cast_expression "(int)*param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (labeled_statement "LAB_001654ef:\n        if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (statement_identifier "LAB_001654ef") (: ":") (if_statement "if (value == 0xd) {\n          pcVar5 = "Request CERT";\n        }\n        else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(value == 0xd)" (( "(") (binary_expression "value == 0xd" (identifier "value") (== "==") (number_literal "0xd")) () ")")) (compound_statement "{\n          pcVar5 = "Request CERT";\n        }" ({ "{") (expression_statement "pcVar5 = "Request CERT";" (assignment_expression "pcVar5 = "Request CERT"" (identifier "pcVar5") (= "=") (string_literal ""Request CERT"" (" """) (string_content "Request CERT") (" """))) (; ";")) (} "}")) (else_clause "else if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (else "else") (if_statement "if (value < 0xe) {\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }\n        else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(value < 0xe)" (( "(") (binary_expression "value < 0xe" (identifier "value") (< "<") (number_literal "0xe")) () ")")) (compound_statement "{\n          if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }\n        }" ({ "{") (if_statement "if (value == 4) {\n            pcVar5 = "Newsession Ticket";\n          }\n          else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(value == 4)" (( "(") (binary_expression "value == 4" (identifier "value") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n            pcVar5 = "Newsession Ticket";\n          }" ({ "{") (expression_statement "pcVar5 = "Newsession Ticket";" (assignment_expression "pcVar5 = "Newsession Ticket"" (identifier "pcVar5") (= "=") (string_literal ""Newsession Ticket"" (" """) (string_content "Newsession Ticket") (" """))) (; ";")) (} "}")) (else_clause "else if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" (else "else") (if_statement "if (value < 5) {\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }\n          else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(value < 5)" (( "(") (binary_expression "value < 5" (identifier "value") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n            pcVar5 = "Client hello";\n            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }\n          }" ({ "{") (expression_statement "pcVar5 = "Client hello";" (assignment_expression "pcVar5 = "Client hello"" (identifier "pcVar5") (= "=") (string_literal ""Client hello"" (" """) (string_content "Client hello") (" """))) (; ";")) (if_statement "if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)) {\n              pcVar5 = "Unknown";\n            }" (if "if") (parenthesized_expression "(((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0))" (( "(") (binary_expression "((value != 1) && (pcVar5 = "Server hello", value != 2)) &&\n               (pcVar5 = "Hello request", value != 0)" (parenthesized_expression "((value != 1) && (pcVar5 = "Server hello", value != 2))" (( "(") (binary_expression "(value != 1) && (pcVar5 = "Server hello", value != 2)" (parenthesized_expression "(value != 1)" (( "(") (binary_expression "value != 1" (identifier "value") (!= "!=") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 = "Server hello", value != 2)" (( "(") (comma_expression "pcVar5 = "Server hello", value != 2" (assignment_expression "pcVar5 = "Server hello"" (identifier "pcVar5") (= "=") (string_literal ""Server hello"" (" """) (string_content "Server hello") (" """))) (, ",") (binary_expression "value != 2" (identifier "value") (!= "!=") (number_literal "2"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 = "Hello request", value != 0)" (( "(") (comma_expression "pcVar5 = "Hello request", value != 0" (assignment_expression "pcVar5 = "Hello request"" (identifier "pcVar5") (= "=") (string_literal ""Hello request"" (" """) (string_content "Hello request") (" """))) (, ",") (binary_expression "value != 0" (identifier "value") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              pcVar5 = "Unknown";\n            }" ({ "{") (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" (identifier "pcVar5") (= "=") (string_literal ""Unknown"" (" """) (string_content "Unknown") (" """))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" (else "else") (compound_statement "{\n            pcVar5 = "Encrypted Extensions";\n            if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar5 = "Encrypted Extensions";" (assignment_expression "pcVar5 = "Encrypted Extensions"" (identifier "pcVar5") (= "=") (string_literal ""Encrypted Extensions"" (" """) (string_content "Encrypted Extensions") (" """))) (; ";")) (if_statement "if (value != 8) {\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" (if "if") (parenthesized_expression "(value != 8)" (( "(") (binary_expression "value != 8" (identifier "value") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n              if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }\n            }" ({ "{") (if_statement "if (value < 9) {\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }\n              else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" (if "if") (parenthesized_expression "(value < 9)" (( "(") (binary_expression "value < 9" (identifier "value") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n                pcVar5 = "End of early data";\n                if (value != 5) {\n                  pcVar5 = "Unknown";\n                }\n              }" ({ "{") (expression_statement "pcVar5 = "End of early data";" (assignment_expression "pcVar5 = "End of early data"" (identifier "pcVar5") (= "=") (string_literal ""End of early data"" (" """) (string_content "End of early data") (" """))) (; ";")) (if_statement "if (value != 5) {\n                  pcVar5 = "Unknown";\n                }" (if "if") (parenthesized_expression "(value != 5)" (( "(") (binary_expression "value != 5" (identifier "value") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" ({ "{") (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" (identifier "pcVar5") (= "=") (string_literal ""Unknown"" (" """) (string_content "Unknown") (" """))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" (else "else") (compound_statement "{\n                pcVar5 = "Certificate";\n                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }\n              }" ({ "{") (expression_statement "pcVar5 = "Certificate";" (assignment_expression "pcVar5 = "Certificate"" (identifier "pcVar5") (= "=") (string_literal ""Certificate"" (" """) (string_content "Certificate") (" """))) (; ";")) (if_statement "if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {\n                  pcVar5 = "Unknown";\n                }" (if "if") (parenthesized_expression "((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc))" (( "(") (binary_expression "(value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)" (parenthesized_expression "(value != 0xb)" (( "(") (binary_expression "value != 0xb" (identifier "value") (!= "!=") (number_literal "0xb")) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 = "Server key exchange", value != 0xc)" (( "(") (comma_expression "pcVar5 = "Server key exchange", value != 0xc" (assignment_expression "pcVar5 = "Server key exchange"" (identifier "pcVar5") (= "=") (string_literal ""Server key exchange"" (" """) (string_content "Server key exchange") (" """))) (, ",") (binary_expression "value != 0xc" (identifier "value") (!= "!=") (number_literal "0xc"))) () ")"))) () ")")) (compound_statement "{\n                  pcVar5 = "Unknown";\n                }" ({ "{") (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" (identifier "pcVar5") (= "=") (string_literal ""Unknown"" (" """) (string_content "Unknown") (" """))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}")))))) (} "}")) (else_clause "else if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (else "else") (if_statement "if (value == 0x14) {\n          pcVar5 = "Finished";\n        }\n        else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(value == 0x14)" (( "(") (binary_expression "value == 0x14" (identifier "value") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n          pcVar5 = "Finished";\n        }" ({ "{") (expression_statement "pcVar5 = "Finished";" (assignment_expression "pcVar5 = "Finished"" (identifier "pcVar5") (= "=") (string_literal ""Finished"" (" """) (string_content "Finished") (" """))) (; ";")) (} "}")) (else_clause "else if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (else "else") (if_statement "if (value < 0x15) {\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }\n        else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(value < 0x15)" (( "(") (binary_expression "value < 0x15" (identifier "value") (< "<") (number_literal "0x15")) () ")")) (compound_statement "{\n          pcVar5 = "CERT verify";\n          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }\n        }" ({ "{") (expression_statement "pcVar5 = "CERT verify";" (assignment_expression "pcVar5 = "CERT verify"" (identifier "pcVar5") (= "=") (string_literal ""CERT verify"" (" """) (string_content "CERT verify") (" """))) (; ";")) (if_statement "if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)) {\n            pcVar5 = "Unknown";\n          }" (if "if") (parenthesized_expression "(((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10))" (( "(") (binary_expression "((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&\n             (pcVar5 = "Client key exchange", value != 0x10)" (parenthesized_expression "((value != 0xf) && (pcVar5 = "Server finished", 0xe < value))" (( "(") (binary_expression "(value != 0xf) && (pcVar5 = "Server finished", 0xe < value)" (parenthesized_expression "(value != 0xf)" (( "(") (binary_expression "value != 0xf" (identifier "value") (!= "!=") (number_literal "0xf")) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 = "Server finished", 0xe < value)" (( "(") (comma_expression "pcVar5 = "Server finished", 0xe < value" (assignment_expression "pcVar5 = "Server finished"" (identifier "pcVar5") (= "=") (string_literal ""Server finished"" (" """) (string_content "Server finished") (" """))) (, ",") (binary_expression "0xe < value" (number_literal "0xe") (< "<") (identifier "value"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 = "Client key exchange", value != 0x10)" (( "(") (comma_expression "pcVar5 = "Client key exchange", value != 0x10" (assignment_expression "pcVar5 = "Client key exchange"" (identifier "pcVar5") (= "=") (string_literal ""Client key exchange"" (" """) (string_content "Client key exchange") (" """))) (, ",") (binary_expression "value != 0x10" (identifier "value") (!= "!=") (number_literal "0x10"))) () ")"))) () ")")) (compound_statement "{\n            pcVar5 = "Unknown";\n          }" ({ "{") (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" (identifier "pcVar5") (= "=") (string_literal ""Unknown"" (" """) (string_content "Unknown") (" """))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" (else "else") (compound_statement "{\n          pcVar5 = "Key update";\n          if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "pcVar5 = "Key update";" (assignment_expression "pcVar5 = "Key update"" (identifier "pcVar5") (= "=") (string_literal ""Key update"" (" """) (string_content "Key update") (" """))) (; ";")) (if_statement "if (value != 0x18) {\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" (if "if") (parenthesized_expression "(value != 0x18)" (( "(") (binary_expression "value != 0x18" (identifier "value") (!= "!=") (number_literal "0x18")) () ")")) (compound_statement "{\n            if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }\n          }" ({ "{") (if_statement "if (value < 0x19) {\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }\n            else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" (if "if") (parenthesized_expression "(value < 0x19)" (( "(") (binary_expression "value < 0x19" (identifier "value") (< "<") (number_literal "0x19")) () ")")) (compound_statement "{\n              pcVar5 = "Certificate Status";\n              if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }\n            }" ({ "{") (expression_statement "pcVar5 = "Certificate Status";" (assignment_expression "pcVar5 = "Certificate Status"" (identifier "pcVar5") (= "=") (string_literal ""Certificate Status"" (" """) (string_content "Certificate Status") (" """))) (; ";")) (if_statement "if (value != 0x16) {\n                pcVar5 = "Unknown";\n              }" (if "if") (parenthesized_expression "(value != 0x16)" (( "(") (binary_expression "value != 0x16" (identifier "value") (!= "!=") (number_literal "0x16")) () ")")) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" ({ "{") (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" (identifier "pcVar5") (= "=") (string_literal ""Unknown"" (" """) (string_content "Unknown") (" """))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" (else "else") (compound_statement "{\n              pcVar5 = "Next protocol";\n              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }\n            }" ({ "{") (expression_statement "pcVar5 = "Next protocol";" (assignment_expression "pcVar5 = "Next protocol"" (identifier "pcVar5") (= "=") (string_literal ""Next protocol"" (" """) (string_content "Next protocol") (" """))) (; ";")) (if_statement "if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {\n                pcVar5 = "Unknown";\n              }" (if "if") (parenthesized_expression "((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe))" (( "(") (binary_expression "(value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)" (parenthesized_expression "(value != 0x43)" (( "(") (binary_expression "value != 0x43" (identifier "value") (!= "!=") (number_literal "0x43")) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 = "Message hash", value != 0xfe)" (( "(") (comma_expression "pcVar5 = "Message hash", value != 0xfe" (assignment_expression "pcVar5 = "Message hash"" (identifier "pcVar5") (= "=") (string_literal ""Message hash"" (" """) (string_content "Message hash") (" """))) (, ",") (binary_expression "value != 0xfe" (identifier "value") (!= "!=") (number_literal "0xfe"))) () ")"))) () ")")) (compound_statement "{\n                pcVar5 = "Unknown";\n              }" ({ "{") (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" (identifier "pcVar5") (= "=") (string_literal ""Unknown"" (" """) (string_content "Unknown") (" """))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}"))))))))))) (} "}")) (else_clause "else {\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" (else "else") (compound_statement "{\n        local_470 = "";\n        bVar2 = bVar7;\nLAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }\n      }" ({ "{") (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ (identifier "local_470") (= "=") (string_literal """" (" """) (" """))) (; ";")) (expression_statement "bVar2 = bVar7;" (assignment_expression "bVar2 = bVar7" (identifier "bVar2") (= "=") (identifier "bVar7")) (; ";")) (labeled_statement "LAB_00165375:\n        if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" (statement_identifier "LAB_00165375") (: ":") (if_statement "if (param_3 == 0x14) {\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }\n        else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" (if "if") (parenthesized_expression "(param_3 == 0x14)" (( "(") (binary_expression "param_3 == 0x14" (identifier "param_3") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\nLAB_00165395:\n          value = (int)*param_4;\n          pcVar5 = "Change cipher spec";\n        }" ({ "{") (labeled_statement "LAB_00165395:\n          value = (int)*param_4;" (statement_identifier "LAB_00165395") (: ":") (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" (identifier "value") (= "=") (cast_expression "(int)*param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";"))) (expression_statement "pcVar5 = "Change cipher spec";" (assignment_expression "pcVar5 = "Change cipher spec"" (identifier "pcVar5") (= "=") (string_literal ""Change cipher spec"" (" """) (string_content "Change cipher spec") (" """))) (; ";")) (} "}")) (else_clause "else if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" (else "else") (if_statement "if (param_3 == 0x15) {\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }\n        else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" (if "if") (parenthesized_expression "(param_3 == 0x15)" (( "(") (binary_expression "param_3 == 0x15" (identifier "param_3") (== "==") (number_literal "0x15")) () ")")) (compound_statement "{\nLAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];\n          pcVar5 = SSL_alert_desc_string_long(value);\n        }" ({ "{") (labeled_statement "LAB_0016532f:\n          value = *param_4 * 0x100 + (int)param_4[1];" (statement_identifier "LAB_0016532f") (: ":") (expression_statement "value = *param_4 * 0x100 + (int)param_4[1];" (assignment_expression "value = *param_4 * 0x100 + (int)param_4[1]" (identifier "value") (= "=") (binary_expression "*param_4 * 0x100 + (int)param_4[1]" (binary_expression "*param_4 * 0x100" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (* "*") (number_literal "0x100")) (+ "+") (cast_expression "(int)param_4[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))))) (; ";"))) (expression_statement "pcVar5 = SSL_alert_desc_string_long(value);" (assignment_expression "pcVar5 = SSL_alert_desc_string_long(value)" (identifier "pcVar5") (= "=") (call_expression "SSL_alert_desc_string_long(value)" (identifier "SSL_alert_desc_string_long") (argument_list "(value)" (( "(") (identifier "value") () ")")))) (; ";")) (} "}")) (else_clause "else {\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" (else "else") (compound_statement "{\nLAB_0016525c:\n          value = (int)*param_4;\n          pcVar5 = "Unknown";\n          if (bVar2) goto LAB_001654ef;\n        }" ({ "{") (labeled_statement "LAB_0016525c:\n          value = (int)*param_4;" (statement_identifier "LAB_0016525c") (: ":") (expression_statement "value = (int)*param_4;" (assignment_expression "value = (int)*param_4" (identifier "value") (= "=") (cast_expression "(int)*param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";"))) (expression_statement "pcVar5 = "Unknown";" (assignment_expression "pcVar5 = "Unknown"" (identifier "pcVar5") (= "=") (string_literal ""Unknown"" (" """) (string_content "Unknown") (" """))) (; ";")) (if_statement "if (bVar2) goto LAB_001654ef;" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (goto_statement "goto LAB_001654ef;" (goto "goto") (statement_identifier "LAB_001654ef") (; ";"))) (} "}"))))))) (} "}")))) (expression_statement "pcVar3 = "LOGOUT";" (assignment_expression "pcVar3 = "LOGOUT"" (identifier "pcVar3") (= "=") (string_literal ""LOGOUT"" (" """) (string_content "LOGOUT") (" """))) (; ";")) (if_statement "if (param_1 == 0) {\n        pcVar3 = "PLAIN";\n      }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar3 = "PLAIN";\n      }" ({ "{") (expression_statement "pcVar3 = "PLAIN";" (assignment_expression "pcVar3 = "PLAIN"" (identifier "pcVar3") (= "=") (string_literal ""PLAIN"" (" """) (string_content "PLAIN") (" """))) (; ";")) (} "}"))) (expression_statement "uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value);" (assignment_expression "uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" (identifier "uVar4") (= "=") (call_expression "curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" (identifier "curl_msnprintf") (argument_list "(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,\n                             pcVar5,value)" (( "(") (identifier "local_448") (, ",") (number_literal "0x400") (, ",") (string_literal ""%s (%s), %s, %s (%d):\n"" (" """) (string_content "%s (%s), %s, %s (%d):") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar6") (, ",") (binary_expression "pcVar3 + 3" (identifier "pcVar3") (+ "+") (number_literal "3")) (, ",") (identifier "local_470") (, ",") (identifier "pcVar5") (, ",") (identifier "value") () ")")))) (; ";")) (if_statement "if (uVar4 < 0x400) {\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }" (if "if") (parenthesized_expression "(uVar4 < 0x400)" (( "(") (binary_expression "uVar4 < 0x400" (identifier "uVar4") (< "<") (number_literal "0x400")) () ")")) (compound_statement "{\n        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);\n      }" ({ "{") (expression_statement "FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);" (call_expression "FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4)" (identifier "FUN_0011a832") (argument_list "(lVar1,0,local_448,(long)(int)uVar4)" (( "(") (identifier "lVar1") (, ",") (number_literal "0") (, ",") (identifier "local_448") (, ",") (cast_expression "(long)(int)uVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4"))) () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" (else "else") (compound_statement "{\n    if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }\n    if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }\n    if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }\n    if (param_2 != 0) goto LAB_001651b2;\n  }" ({ "{") (if_statement "if (0x301 < param_2) {\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }" (if "if") (parenthesized_expression "(0x301 < param_2)" (( "(") (binary_expression "0x301 < param_2" (number_literal "0x301") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n      pcVar6 = "TLSv1.2";\n      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }\n      goto LAB_001651fb;\n    }" ({ "{") (expression_statement "pcVar6 = "TLSv1.2";" (assignment_expression "pcVar6 = "TLSv1.2"" (identifier "pcVar6") (= "=") (string_literal ""TLSv1.2"" (" """) (string_content "TLSv1.2") (" """))) (; ";")) (if_statement "if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }" (if "if") (parenthesized_expression "(((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304))" (( "(") (binary_expression "((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&\n         (pcVar6 = "TLSv1.3", param_2 != 0x304)" (parenthesized_expression "((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2))" (( "(") (binary_expression "(param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)" (parenthesized_expression "(param_2 != 0x303)" (( "(") (binary_expression "param_2 != 0x303" (identifier "param_2") (!= "!=") (number_literal "0x303")) () ")")) (&& "&&") (parenthesized_expression "(pcVar6 = "TLSv1.1", 0x302 < param_2)" (( "(") (comma_expression "pcVar6 = "TLSv1.1", 0x302 < param_2" (assignment_expression "pcVar6 = "TLSv1.1"" (identifier "pcVar6") (= "=") (string_literal ""TLSv1.1"" (" """) (string_content "TLSv1.1") (" """))) (, ",") (binary_expression "0x302 < param_2" (number_literal "0x302") (< "<") (identifier "param_2"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar6 = "TLSv1.3", param_2 != 0x304)" (( "(") (comma_expression "pcVar6 = "TLSv1.3", param_2 != 0x304" (assignment_expression "pcVar6 = "TLSv1.3"" (identifier "pcVar6") (= "=") (string_literal ""TLSv1.3"" (" """) (string_content "TLSv1.3") (" """))) (, ",") (binary_expression "param_2 != 0x304" (identifier "param_2") (!= "!=") (number_literal "0x304"))) () ")"))) () ")")) (compound_statement "{\nLAB_001651b2:\n        pcVar6 = local_468;\n        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);\n      }" ({ "{") (labeled_statement "LAB_001651b2:\n        pcVar6 = local_468;" (statement_identifier "LAB_001651b2") (: ":") (expression_statement "pcVar6 = local_468;" (assignment_expression "pcVar6 = local_468" (identifier "pcVar6") (= "=") (identifier "local_468")) (; ";"))) (expression_statement "curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);" (call_expression "curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2)" (identifier "curl_msnprintf") (argument_list "(pcVar6,0x20,&DAT_00178369,param_2)" (( "(") (identifier "pcVar6") (, ",") (number_literal "0x20") (, ",") (pointer_expression "&DAT_00178369" (& "&") (identifier "DAT_00178369")) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_001651fb;" (goto "goto") (statement_identifier "LAB_001651fb") (; ";")) (} "}"))) (if_statement "if (param_2 == 2) {\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" (if "if") (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if (param_3 == 0x101) goto LAB_001652b8;\n      pcVar6 = "SSLv2";\n      bVar2 = false;\n      local_470 = "";\n      goto LAB_00165375;\n    }" ({ "{") (if_statement "if (param_3 == 0x101) goto LAB_001652b8;" (if "if") (parenthesized_expression "(param_3 == 0x101)" (( "(") (binary_expression "param_3 == 0x101" (identifier "param_3") (== "==") (number_literal "0x101")) () ")")) (goto_statement "goto LAB_001652b8;" (goto "goto") (statement_identifier "LAB_001652b8") (; ";"))) (expression_statement "pcVar6 = "SSLv2";" (assignment_expression "pcVar6 = "SSLv2"" (identifier "pcVar6") (= "=") (string_literal ""SSLv2"" (" """) (string_content "SSLv2") (" """))) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "local_470 = "";" (assignment_expression "local_470 = """ (identifier "local_470") (= "=") (string_literal """" (" """) (" """))) (; ";")) (goto_statement "goto LAB_00165375;" (goto "goto") (statement_identifier "LAB_00165375") (; ";")) (} "}"))) (if_statement "if (param_2 == 0x300) {\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }" (if "if") (parenthesized_expression "(param_2 == 0x300)" (( "(") (binary_expression "param_2 == 0x300" (identifier "param_2") (== "==") (number_literal "0x300")) () ")")) (compound_statement "{\n      pcVar6 = "SSLv3";\n      goto LAB_001651fb;\n    }" ({ "{") (expression_statement "pcVar6 = "SSLv3";" (assignment_expression "pcVar6 = "SSLv3"" (identifier "pcVar6") (= "=") (string_literal ""SSLv3"" (" """) (string_content "SSLv3") (" """))) (; ";")) (goto_statement "goto LAB_001651fb;" (goto "goto") (statement_identifier "LAB_001651fb") (; ";")) (} "}"))) (if_statement "if (param_2 != 0) goto LAB_001651b2;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001651b2;" (goto "goto") (statement_identifier "LAB_001651b2") (; ";"))) (} "}")))) (labeled_statement "LAB_001652b8:\n  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);" (statement_identifier "LAB_001652b8") (: ":") (expression_statement "FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);" (call_expression "FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5)" (identifier "FUN_0011a832") (argument_list "(lVar1,(param_1 == 1) + '\x05',param_4,param_5)" (( "(") (identifier "lVar1") (, ",") (binary_expression "(param_1 == 1) + '\x05'" (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (+ "+") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")"))) (; ";"))) (labeled_statement "LAB_001652d6:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (statement_identifier "LAB_001652d6") (: ":") (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(int var_10,int var_4,int var_5,void *var_7,size_t len,type_1 *ssl,
                  void *var_2)

{
  long var_16;
  type_2 *var_3;
  bool bVar2;
  char *var_12;
  type_3 var_13;
  char *pcVar5;
  int var_8;
  type_4 uVar7;
  char *buffer;
  long var_1;
  bool var_6;
  char *local_470;
  char unknown [32];
  char ssl_buf [1024];
  
  var_16 = *(long *)(var_1 + 0x28);
                    /* WARNING: Load size is inaccurate */
  if ((((var_2 == (void *)0x0) || (var_3 = *var_2, var_3 == (type_2 *)0x0)) ||
      ((var_3->set).fdebug == (type_5)0x0)) || (1 < (type_3)var_10)) goto LAB_001652d6;
  if (var_4 == 0x301) {
    buffer = "TLSv1.0";
LAB_001651fb:
    if ((var_4 != 0) && (var_5 != 0x101)) {
      var_6 = var_4 >> 8 == 3;
      bVar2 = var_5 != 0 && var_6;
      if (var_5 != 0 && var_6) {
        if (var_5 == 0x16) {
          local_470 = "TLS handshake";
        }
        else {
          if (var_5 < 0x17) {
            if (var_5 != 0x14) {
              local_470 = "TLS alert";
              if (var_5 != 0x15) {
                local_470 = "TLS Unknown";
                goto LAB_00165375;
              }
              goto LAB_0016532f;
            }
            local_470 = "TLS change cipher";
            goto LAB_00165395;
          }
          if (var_5 != 0x17) {
            local_470 = "TLS header";
            if (var_5 != 0x100) {
              local_470 = "TLS Unknown";
              goto LAB_00165375;
            }
            goto LAB_0016525c;
          }
          local_470 = "TLS app data";
        }
                    /* WARNING: Load size is inaccurate */
        uVar7 = (type_4)(type_3)(int)*var_7;
LAB_001654ef:
        var_8 = (int)uVar7;
        if (var_8 == 0xd) {
          pcVar5 = "Request CERT";
        }
        else if (var_8 < 0xe) {
          if (var_8 == 4) {
            pcVar5 = "Newsession Ticket";
          }
          else if (var_8 < 5) {
            pcVar5 = "Client hello";
            if (((var_8 != 1) && (pcVar5 = "Server hello", var_8 != 2)) &&
               (pcVar5 = "Hello request", var_8 != 0)) {
              pcVar5 = "Unknown";
            }
          }
          else {
            pcVar5 = "Encrypted Extensions";
            if (var_8 != 8) {
              if (var_8 < 9) {
                pcVar5 = "End of early data";
                if (var_8 != 5) {
                  pcVar5 = "Unknown";
                }
              }
              else {
                pcVar5 = "Certificate";
                if ((var_8 != 0xb) && (pcVar5 = "Server key exchange", var_8 != 0xc)) {
                  pcVar5 = "Unknown";
                }
              }
            }
          }
        }
        else if (var_8 == 0x14) {
          pcVar5 = "Finished";
        }
        else if (var_8 < 0x15) {
          pcVar5 = "CERT verify";
          if (((var_8 != 0xf) && (pcVar5 = "Server finished", 0xe < var_8)) &&
             (pcVar5 = "Client key exchange", var_8 != 0x10)) {
            pcVar5 = "Unknown";
          }
        }
        else {
          pcVar5 = "Key update";
          if (var_8 != 0x18) {
            if (var_8 < 0x19) {
              pcVar5 = "Certificate Status";
              if (var_8 != 0x16) {
                pcVar5 = "Unknown";
              }
            }
            else {
              pcVar5 = "Next protocol";
              if ((var_8 != 0x43) && (pcVar5 = "Message hash", var_8 != 0xfe)) {
                pcVar5 = "Unknown";
              }
            }
          }
        }
      }
      else {
        local_470 = "";
        bVar2 = var_6;
LAB_00165375:
        if (var_5 == 0x14) {
LAB_00165395:
                    /* WARNING: Load size is inaccurate */
          uVar7 = (type_4)(type_3)(int)*var_7;
          pcVar5 = "Change cipher spec";
        }
        else if (var_5 == 0x15) {
LAB_0016532f:
                    /* WARNING: Load size is inaccurate */
          var_13 = *var_7 * 0x100 + (int)*(char *)((long)var_7 + 1);
          uVar7 = (type_4)var_13;
          pcVar5 = var_9(var_13);
        }
        else {
LAB_0016525c:
                    /* WARNING: Load size is inaccurate */
          uVar7 = (type_4)(type_3)(int)*var_7;
          pcVar5 = "Unknown";
          if (bVar2) goto LAB_001654ef;
        }
      }
      var_12 = "LOGOUT";
      if (var_10 == 0) {
        var_12 = "PLAIN";
      }
      var_13 = var_11(ssl_buf,0x400,"%s (%s), %s, %s (%d):\n",buffer,var_12 + 3,local_470,
                             pcVar5,uVar7);
      if (var_13 < 0x400) {
        var_14(var_3,CURLINFO_TEXT,ssl_buf,(long)(int)var_13);
      }
    }
  }
  else {
    if (0x301 < var_4) {
      buffer = "TLSv1.2";
      if (((var_4 != 0x303) && (buffer = "TLSv1.1", 0x302 < var_4)) &&
         (buffer = "TLSv1.3", var_4 != 0x304)) {
LAB_001651b2:
        buffer = unknown;
        var_11(buffer,0x20,"(%x)",var_4);
      }
      goto LAB_001651fb;
    }
    if (var_4 == 2) {
      if (var_5 == 0x101) goto LAB_001652b8;
      buffer = "SSLv2";
      bVar2 = false;
      local_470 = "";
      goto LAB_00165375;
    }
    if (var_4 == 0x300) {
      buffer = "SSLv3";
      goto LAB_001651fb;
    }
    if (var_4 != 0) goto LAB_001651b2;
  }
LAB_001652b8:
  var_14(var_3,(var_10 == 1) + var_15,(char *)var_7,len);
LAB_001652d6:
  if (var_16 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_17();
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (number_literal) right: (identifier)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))))))))))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (string_literal (string_content) (escape_sequence)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (number_literal) right: (identifier)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal (string_content))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)) (identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (string_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))) (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (return_statement))))

void MASKED(uint param_1,int param_2,int param_3,char *param_4,undefined8 param_5,
                 undefined8 param_6,long *param_7)

{
  long lVar1;
  bool bVar2;
  char *pcVar3;
  uint uVar4;
  char *pcVar5;
  int value;
  char *pcVar6;
  long in_FS_OFFSET;
  bool bVar7;
  char *local_470;
  char local_468 [32];
  undefined1 local_448 [1032];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if ((((param_7 == (long *)0x0) || (lVar1 = *param_7, lVar1 == 0)) ||
      (*(long *)(lVar1 + 0x768) == 0)) || (1 < param_1)) goto LAB_001652d6;
  if (param_2 == 0x301) {
    pcVar6 = "TLSv1.0";
LAB_001651fb:
    if ((param_2 != 0) && (param_3 != 0x101)) {
      bVar7 = param_2 >> 8 == 3;
      bVar2 = param_3 != 0 && bVar7;
      if (param_3 != 0 && bVar7) {
        if (param_3 == 0x16) {
          local_470 = "TLS handshake";
        }
        else {
          if (param_3 < 0x17) {
            if (param_3 != 0x14) {
              local_470 = "TLS alert";
              if (param_3 != 0x15) {
                local_470 = "TLS Unknown";
                goto LAB_00165375;
              }
              goto LAB_0016532f;
            }
            local_470 = "TLS change cipher";
            goto LAB_00165395;
          }
          if (param_3 != 0x17) {
            local_470 = "TLS header";
            if (param_3 != 0x100) {
              local_470 = "TLS Unknown";
              goto LAB_00165375;
            }
            goto LAB_0016525c;
          }
          local_470 = "TLS app data";
        }
        value = (int)*param_4;
LAB_001654ef:
        if (value == 0xd) {
          pcVar5 = "Request CERT";
        }
        else if (value < 0xe) {
          if (value == 4) {
            pcVar5 = "Newsession Ticket";
          }
          else if (value < 5) {
            pcVar5 = "Client hello";
            if (((value != 1) && (pcVar5 = "Server hello", value != 2)) &&
               (pcVar5 = "Hello request", value != 0)) {
              pcVar5 = "Unknown";
            }
          }
          else {
            pcVar5 = "Encrypted Extensions";
            if (value != 8) {
              if (value < 9) {
                pcVar5 = "End of early data";
                if (value != 5) {
                  pcVar5 = "Unknown";
                }
              }
              else {
                pcVar5 = "Certificate";
                if ((value != 0xb) && (pcVar5 = "Server key exchange", value != 0xc)) {
                  pcVar5 = "Unknown";
                }
              }
            }
          }
        }
        else if (value == 0x14) {
          pcVar5 = "Finished";
        }
        else if (value < 0x15) {
          pcVar5 = "CERT verify";
          if (((value != 0xf) && (pcVar5 = "Server finished", 0xe < value)) &&
             (pcVar5 = "Client key exchange", value != 0x10)) {
            pcVar5 = "Unknown";
          }
        }
        else {
          pcVar5 = "Key update";
          if (value != 0x18) {
            if (value < 0x19) {
              pcVar5 = "Certificate Status";
              if (value != 0x16) {
                pcVar5 = "Unknown";
              }
            }
            else {
              pcVar5 = "Next protocol";
              if ((value != 0x43) && (pcVar5 = "Message hash", value != 0xfe)) {
                pcVar5 = "Unknown";
              }
            }
          }
        }
      }
      else {
        local_470 = "";
        bVar2 = bVar7;
LAB_00165375:
        if (param_3 == 0x14) {
LAB_00165395:
          value = (int)*param_4;
          pcVar5 = "Change cipher spec";
        }
        else if (param_3 == 0x15) {
LAB_0016532f:
          value = *param_4 * 0x100 + (int)param_4[1];
          pcVar5 = SSL_alert_desc_string_long(value);
        }
        else {
LAB_0016525c:
          value = (int)*param_4;
          pcVar5 = "Unknown";
          if (bVar2) goto LAB_001654ef;
        }
      }
      pcVar3 = "LOGOUT";
      if (param_1 == 0) {
        pcVar3 = "PLAIN";
      }
      uVar4 = curl_msnprintf(local_448,0x400,"%s (%s), %s, %s (%d):\n",pcVar6,pcVar3 + 3,local_470,
                             pcVar5,value);
      if (uVar4 < 0x400) {
        FUN_0011a832(lVar1,0,local_448,(long)(int)uVar4);
      }
    }
  }
  else {
    if (0x301 < param_2) {
      pcVar6 = "TLSv1.2";
      if (((param_2 != 0x303) && (pcVar6 = "TLSv1.1", 0x302 < param_2)) &&
         (pcVar6 = "TLSv1.3", param_2 != 0x304)) {
LAB_001651b2:
        pcVar6 = local_468;
        curl_msnprintf(pcVar6,0x20,&DAT_00178369,param_2);
      }
      goto LAB_001651fb;
    }
    if (param_2 == 2) {
      if (param_3 == 0x101) goto LAB_001652b8;
      pcVar6 = "SSLv2";
      bVar2 = false;
      local_470 = "";
      goto LAB_00165375;
    }
    if (param_2 == 0x300) {
      pcVar6 = "SSLv3";
      goto LAB_001651fb;
    }
    if (param_2 != 0) goto LAB_001651b2;
  }
LAB_001652b8:
  FUN_0011a832(lVar1,(param_1 == 1) + '\x05',param_4,param_5);
LAB_001652d6:
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}

