
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int validate_manual_hostkey(char *key)

{
  char *__s;
  int iVar1;
  size_t sVar2;
  char *pcVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  char *pcVar7;
  char *pcVar8;
  __int32_t **pp_Var9;
  char cVar10;
  char *pcVar11;
  char cVar12;
  char *__s_00;
  int in_GS_OFFSET;
  uchar decoded [6];
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  __s_00 = key;
  do {
    do {
      sVar2 = strspn(__s_00," \t");
      __s = __s_00 + sVar2;
      cVar12 = *__s;
      if (cVar12 == '\0') {
        iVar4 = 0;
        goto LAB_0002de50;
      }
      sVar2 = strcspn(__s," \t");
      __s_00 = __s + sVar2;
      pcVar3 = __s;
      pcVar11 = __s;
      if (*__s_00 == '\0') {
        sVar2 = strlen(__s);
        if (sVar2 != 0x2f) goto LAB_0002dc40;
        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");
        pcVar8 = __s_00;
        if (__s[sVar2] != '\0') goto LAB_0002dc40;
LAB_0002dd76:
        pcVar7 = __s + 1;
        cVar10 = cVar12;
        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {
          if (__s + 0x31 == pcVar7 + 3) {
            pcVar8 = __s + 2;
            goto LAB_0002ddc0;
          }
          cVar10 = pcVar7[2];
          pcVar7 = pcVar7 + 3;
        }
      }
      else {
        pcVar8 = __s_00 + 1;
        *__s_00 = '\0';
        sVar2 = strlen(__s);
        cVar12 = *__s;
        __s_00 = pcVar8;
        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))
        goto LAB_0002dd76;
      }
joined_r0x0002dc32:
      while (cVar12 != '\0') {
LAB_0002dc40:
        if ((cVar12 != '\n') && (cVar12 != '\r')) {
          *pcVar11 = cVar12;
          pcVar11 = pcVar11 + 1;
        }
        cVar12 = pcVar3[1];
        pcVar3 = pcVar3 + 1;
      }
      *pcVar11 = '\0';
      sVar2 = strlen(__s);
    } while ((((sVar2 & 3) != 0) || (sVar2 < 9)) ||
            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")
            , __s[sVar2] != '\0'));
    iVar4 = base64_decode_atom(__s,decoded);
  } while (((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))
          || ((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |
                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||
              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3))));
  memcpy(key,__s,sVar2 + 1);
  iVar4 = 1;
LAB_0002de50:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return iVar4;
LAB_0002ddc0:
  if (*pcVar8 != ':') goto joined_r0x0002dc32;
  pcVar8 = pcVar8 + 3;
  if (pcVar8 == __s + 0x2f) {
    pp_Var9 = __ctype_tolower_loc();
    iVar4 = 0;
    while( true ) {
      key[iVar4] = (char)(*pp_Var9)[cVar12];
      iVar4 = iVar4 + 1;
      if (iVar4 == 0x2f) break;
      cVar12 = __s[iVar4];
    }
    key[0x2f] = '\0';
    iVar4 = 1;
    goto LAB_0002de50;
  }
  goto LAB_0002ddc0;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 FUN_0002db80(char *param_1)

{
  char *__s;
  size_t sVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  undefined4 uVar6;
  char *pcVar7;
  char *pcVar8;
  __int32_t **pp_Var9;
  char cVar10;
  char *pcVar11;
  char cVar12;
  char *__s_00;
  int in_GS_OFFSET;
  uint local_26;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2db89;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  __s_00 = param_1;
  do {
    do {
      sVar1 = strspn(__s_00," \t");
      __s = __s_00 + sVar1;
      cVar12 = *__s;
      if (cVar12 == '\0') {
        uVar6 = 0;
        goto LAB_0002de50;
      }
      sVar1 = strcspn(__s," \t");
      __s_00 = __s + sVar1;
      pcVar2 = __s;
      pcVar11 = __s;
      if (*__s_00 == '\0') {
        sVar1 = strlen(__s);
        if (sVar1 != 0x2f) goto LAB_0002dc40;
        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");
        pcVar8 = __s_00;
        if (__s[sVar1] != '\0') goto LAB_0002dc40;
LAB_0002dd76:
        pcVar7 = __s + 1;
        cVar10 = cVar12;
        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {
          if (__s + 0x31 == pcVar7 + 3) {
            pcVar8 = __s + 2;
            goto LAB_0002ddc0;
          }
          cVar10 = pcVar7[2];
          pcVar7 = pcVar7 + 3;
        }
      }
      else {
        pcVar8 = __s_00 + 1;
        *__s_00 = '\0';
        sVar1 = strlen(__s);
        cVar12 = *__s;
        __s_00 = pcVar8;
        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))
        goto LAB_0002dd76;
      }
joined_r0x0002dc32:
      while (cVar12 != '\0') {
LAB_0002dc40:
        if ((cVar12 != '\n') && (cVar12 != '\r')) {
          *pcVar11 = cVar12;
          pcVar11 = pcVar11 + 1;
        }
        cVar12 = pcVar2[1];
        pcVar2 = pcVar2 + 1;
      }
      *pcVar11 = '\0';
      sVar1 = strlen(__s);
    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||
            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")
            , __s[sVar1] != '\0'));
    iVar3 = FUN_0002ce50(__s,&local_26);
  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)
           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |
                          local_26 << 0x18, 0x40 < uVar5 ||
                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));
  memcpy(param_1,__s,sVar1 + 1);
  uVar6 = 1;
LAB_0002de50:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00066390();
  }
  return uVar6;
LAB_0002ddc0:
  if (*pcVar8 != ':') goto joined_r0x0002dc32;
  pcVar8 = pcVar8 + 3;
  if (pcVar8 == __s + 0x2f) {
    pp_Var9 = __ctype_tolower_loc();
    iVar3 = 0;
    while( true ) {
      param_1[iVar3] = (char)(*pp_Var9)[cVar12];
      iVar3 = iVar3 + 1;
      if (iVar3 == 0x2f) break;
      cVar12 = __s[iVar3];
    }
    param_1[0x2f] = '\0';
    uVar6 = 1;
    goto LAB_0002de50;
  }
  goto LAB_0002ddc0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001b410
ADD EBX,0x82c1b
SUB ESP,0x3c
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x1c],EAX
MOV ESI,EAX
LEA EAX,[EBX + 0xfffceeda]
MOV EDI,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x2c],EDI
XOR EDI,EDI
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffcef50]
LEA EDI,[EBX + 0xfffceed7]
MOV dword ptr [ESP + 0x18],EAX
LEA ESI,[ESI]
NOP
SUB ESP,0x8
PUSH EDI
PUSH ESI
CALL 0x0001aa40
ADD ESP,0x10
LEA EBP,[ESI + EAX*0x1]
MOVZX EDX,byte ptr [EBP]
TEST DL,DL
JZ 0x0002de4e
MOV byte ptr [ESP + 0xc],DL
SUB ESP,0x8
PUSH EDI
PUSH EBP
CALL 0x0001a600
ADD ESP,0x10
MOVZX EDX,byte ptr [ESP + 0xc]
LEA ESI,[EBP + EAX*0x1]
CMP byte ptr [ESI],0x0
JZ 0x0002dd38
LEA EAX,[ESI + 0x1]
SUB ESP,0xc
MOV byte ptr [ESI],0x0
MOV dword ptr [ESP + 0x18],EAX
PUSH EBP
CALL 0x000198b0
ADD ESP,0x10
MOVZX EDX,byte ptr [EBP]
CMP EAX,0x2f
JZ 0x0002de18
MOV ESI,dword ptr [ESP + 0xc]
MOV ECX,EBP
TEST DL,DL
JZ 0x0002dc59
MOV ECX,EBP
MOV EAX,EBP
LEA ESI,[ESI]
NOP
CMP DL,0xa
JZ 0x0002dc4f
CMP DL,0xd
JZ 0x0002dc4f
MOV byte ptr [ECX],DL
ADD ECX,0x1
ADD EAX,0x1
MOVZX EDX,byte ptr [EAX]
TEST DL,DL
JNZ 0x0002dc40
SUB ESP,0xc
MOV byte ptr [ECX],0x0
PUSH EBP
CALL 0x000198b0
ADD ESP,0x10
TEST AL,0x3
JNZ 0x0002dbc8
CMP EAX,0x8
JBE 0x0002dbc8
SUB ESP,0x8
PUSH dword ptr [ESP + 0x20]
PUSH EBP
CALL 0x0001aa40
ADD ESP,0x10
CMP byte ptr [EBP + EAX*0x1],0x0
JNZ 0x0002dbc8
SUB ESP,0x8
LEA EDX,[ESP + 0x2e]
PUSH EDX
MOV dword ptr [ESP + 0x18],EDX
PUSH EBP
CALL 0x0002ce50
ADD ESP,0x10
CMP EAX,0x2
JLE 0x0002dbc8
SUB ESP,0x8
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x14],EAX
ADD EDX,EAX
LEA EAX,[EBP + 0x4]
PUSH EDX
PUSH EAX
CALL 0x0002ce50
MOV ECX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
ADD EAX,ECX
CMP EAX,0x3
JLE 0x0002dbc8
MOV EAX,dword ptr [ESP + 0x26]
BSWAP EAX
CMP EAX,0x40
MOV dword ptr [ESP + 0xc],EAX
JA 0x0002dbc8
SUB ESP,0xc
PUSH EBP
CALL 0x000198b0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
MOV ECX,EAX
LEA EAX,[EDX + 0x6]
MOV EDX,0xaaaaaaab
MUL EDX
SHR EDX,0x1
CMP EDX,ECX
JA 0x0002dbc8
SUB ESP,0x4
ADD ECX,0x1
PUSH ECX
PUSH EBP
PUSH dword ptr [ESP + 0x28]
CALL 0x000197d0
ADD ESP,0x10
MOV EAX,0x1
JMP 0x0002de50
MOV byte ptr [ESP + 0xc],DL
SUB ESP,0xc
PUSH EBP
CALL 0x000198b0
ADD ESP,0x10
MOVZX EDX,byte ptr [ESP + 0xc]
CMP EAX,0x2f
JNZ 0x0002dc34
SUB ESP,0x8
PUSH dword ptr [ESP + 0x18]
PUSH EBP
CALL 0x0001aa40
ADD ESP,0x10
MOVZX EDX,byte ptr [ESP + 0xc]
CMP byte ptr [EBP + EAX*0x1],0x0
JNZ 0x0002dc34
LEA ECX,[EBP + 0x31]
MOV dword ptr [ESP + 0x14],ESI
LEA EAX,[EBP + 0x1]
MOV dword ptr [ESP + 0xc],ECX
MOV ECX,EDX
MOV ESI,dword ptr [ESP + 0xc]
JMP 0x0002dd94
MOVZX ECX,byte ptr [EAX + -0x1]
CMP CL,0x3a
JZ 0x0002de45
CMP byte ptr [EAX],0x3a
JZ 0x0002de45
ADD EAX,0x3
CMP ESI,EAX
JNZ 0x0002dd90
MOV ESI,dword ptr [ESP + 0x14]
LEA EAX,[EBP + 0x2]
LEA ECX,[EBP + 0x2f]
LEA ESI,[ESI]
NOP
CMP byte ptr [EAX],0x3a
JNZ 0x0002dc2e
ADD EAX,0x3
CMP EAX,ECX
JNZ 0x0002ddc0
MOV byte ptr [ESP + 0xc],DL
CALL 0x000191a0
XOR ECX,ECX
MOVSX EDX,byte ptr [ESP + 0xc]
MOV EBX,dword ptr [ESP + 0x1c]
JMP 0x0002ddf5
MOVSX EDX,byte ptr [EBP + ECX*0x1]
MOV ESI,dword ptr [EAX]
MOV EDX,dword ptr [ESI + EDX*0x4]
MOV byte ptr [EBX + ECX*0x1],DL
ADD ECX,0x1
CMP ECX,0x2f
JNZ 0x0002ddf0
MOV EAX,dword ptr [ESP + 0x1c]
MOV byte ptr [EAX + 0x2f],0x0
MOV EAX,0x1
JMP 0x0002de50
MOV byte ptr [ESP + 0x14],DL
SUB ESP,0x8
PUSH dword ptr [ESP + 0x18]
PUSH EBP
CALL 0x0001aa40
ADD ESP,0x10
MOV ESI,dword ptr [ESP + 0xc]
MOVZX EDX,byte ptr [ESP + 0x14]
CMP byte ptr [EBP + EAX*0x1],0x0
JNZ 0x0002dc2e
JMP 0x0002dd76
MOV ESI,dword ptr [ESP + 0x14]
JMP 0x0002dc2e
XOR EAX,EAX
MOV EDI,dword ptr [ESP + 0x2c]
XOR EDI,dword ptr GS:[0x14]
JNZ 0x0002de65
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x00066390
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_0002db80(char *param_1)\n\n{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}\n\n" comment (function_definition "undefined4 FUN_0002db80(char *param_1)\n\n{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" type_identifier (function_declarator "FUN_0002db80(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "__int32_t **pp_Var9;" type_identifier (pointer_declarator "**pp_Var9" * (pointer_declarator "*pp_Var9" * identifier)) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint local_26;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2db89;" (assignment_expression "uStack_14 = 0x2db89" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "__s_00 = param_1;" (assignment_expression "__s_00 = param_1" identifier = identifier) ;) (do_statement "do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));" do (compound_statement "{\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  }" { (do_statement "do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));" do (compound_statement "{\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    }" { (expression_statement "sVar1 = strspn(__s_00," \t");" (assignment_expression "sVar1 = strspn(__s_00," \t")" identifier = (call_expression "strspn(__s_00," \t")" identifier (argument_list "(__s_00," \t")" ( identifier , (string_literal "" \t"" " string_content escape_sequence ") )))) ;) (expression_statement "__s = __s_00 + sVar1;" (assignment_expression "__s = __s_00 + sVar1" identifier = (binary_expression "__s_00 + sVar1" identifier + identifier)) ;) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (if_statement "if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }" if (parenthesized_expression "(cVar12 == '\0')" ( (binary_expression "cVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002de50;" goto statement_identifier ;) })) (expression_statement "sVar1 = strcspn(__s," \t");" (assignment_expression "sVar1 = strcspn(__s," \t")" identifier = (call_expression "strcspn(__s," \t")" identifier (argument_list "(__s," \t")" ( identifier , (string_literal "" \t"" " string_content escape_sequence ") )))) ;) (expression_statement "__s_00 = __s + sVar1;" (assignment_expression "__s_00 = __s + sVar1" identifier = (binary_expression "__s + sVar1" identifier + identifier)) ;) (expression_statement "pcVar2 = __s;" (assignment_expression "pcVar2 = __s" identifier = identifier) ;) (expression_statement "pcVar11 = __s;" (assignment_expression "pcVar11 = __s" identifier = identifier) ;) (if_statement "if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" if (parenthesized_expression "(*__s_00 == '\0')" ( (binary_expression "*__s_00 == '\0'" (pointer_expression "*__s_00" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }" { (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (if_statement "if (sVar1 != 0x2f) goto LAB_0002dc40;" if (parenthesized_expression "(sVar1 != 0x2f)" ( (binary_expression "sVar1 != 0x2f" identifier != number_literal) )) (goto_statement "goto LAB_0002dc40;" goto statement_identifier ;)) (expression_statement "sVar1 = strspn(__s,"0123456789abcdefABCDEF:");" (assignment_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:")" identifier = (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" identifier (argument_list "(__s,"0123456789abcdefABCDEF:")" ( identifier , (string_literal ""0123456789abcdefABCDEF:"" " string_content ") )))) ;) (expression_statement "pcVar8 = __s_00;" (assignment_expression "pcVar8 = __s_00" identifier = identifier) ;) (if_statement "if (__s[sVar1] != '\0') goto LAB_0002dc40;" if (parenthesized_expression "(__s[sVar1] != '\0')" ( (binary_expression "__s[sVar1] != '\0'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002dc40;" goto statement_identifier ;)) (labeled_statement "LAB_0002dd76:\n        pcVar7 = __s + 1;" statement_identifier : (expression_statement "pcVar7 = __s + 1;" (assignment_expression "pcVar7 = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;)) (expression_statement "cVar10 = cVar12;" (assignment_expression "cVar10 = cVar12" identifier = identifier) ;) (while_statement "while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" while (parenthesized_expression "((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')))" ( (parenthesized_expression "(__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))" ( (comma_expression "__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')" (assignment_expression "__s_00 = pcVar8" identifier = identifier) , (binary_expression "cVar10 != ':' && (*pcVar7 != ':')" (binary_expression "cVar10 != ':'" identifier != (char_literal "':'" ' character ')) && (parenthesized_expression "(*pcVar7 != ':')" ( (binary_expression "*pcVar7 != ':'" (pointer_expression "*pcVar7" * identifier) != (char_literal "':'" ' character ')) )))) )) )) (compound_statement "{\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" { (if_statement "if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" if (parenthesized_expression "(__s + 0x31 == pcVar7 + 3)" ( (binary_expression "__s + 0x31 == pcVar7 + 3" (binary_expression "__s + 0x31" identifier + number_literal) == (binary_expression "pcVar7 + 3" identifier + number_literal)) )) (compound_statement "{\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" { (expression_statement "pcVar8 = __s + 2;" (assignment_expression "pcVar8 = __s + 2" identifier = (binary_expression "__s + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0002ddc0;" goto statement_identifier ;) })) (expression_statement "cVar10 = pcVar7[2];" (assignment_expression "cVar10 = pcVar7[2]" identifier = (subscript_expression "pcVar7[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar7 = pcVar7 + 3;" (assignment_expression "pcVar7 = pcVar7 + 3" identifier = (binary_expression "pcVar7 + 3" identifier + number_literal)) ;) })) }) (else_clause "else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" else (compound_statement "{\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" { (expression_statement "pcVar8 = __s_00 + 1;" (assignment_expression "pcVar8 = __s_00 + 1" identifier = (binary_expression "__s_00 + 1" identifier + number_literal)) ;) (expression_statement "*__s_00 = '\0';" (assignment_expression "*__s_00 = '\0'" (pointer_expression "*__s_00" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (expression_statement "__s_00 = pcVar8;" (assignment_expression "__s_00 = pcVar8" identifier = identifier) ;) (if_statement "if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;" if (parenthesized_expression "((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))" ( (binary_expression "(sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0')" (parenthesized_expression "(sVar1 == 0x2f)" ( (binary_expression "sVar1 == 0x2f" identifier == number_literal) )) && (parenthesized_expression "(sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0')" ( (comma_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'" (assignment_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:")" identifier = (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" identifier (argument_list "(__s,"0123456789abcdefABCDEF:")" ( identifier , (string_literal ""0123456789abcdefABCDEF:"" " string_content ") )))) , (binary_expression "__s[sVar1] == '\0'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0002dd76;" goto statement_identifier ;)) }))) (labeled_statement "joined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" statement_identifier : (while_statement "while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" while (parenthesized_expression "(cVar12 != '\0')" ( (binary_expression "cVar12 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" { (labeled_statement "LAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" statement_identifier : (if_statement "if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" if (parenthesized_expression "((cVar12 != '\n') && (cVar12 != '\r'))" ( (binary_expression "(cVar12 != '\n') && (cVar12 != '\r')" (parenthesized_expression "(cVar12 != '\n')" ( (binary_expression "cVar12 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar12 != '\r')" ( (binary_expression "cVar12 != '\r'" identifier != (char_literal "'\r'" ' escape_sequence ')) ))) )) (compound_statement "{\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" { (expression_statement "*pcVar11 = cVar12;" (assignment_expression "*pcVar11 = cVar12" (pointer_expression "*pcVar11" * identifier) = identifier) ;) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) }))) (expression_statement "cVar12 = pcVar2[1];" (assignment_expression "cVar12 = pcVar2[1]" identifier = (subscript_expression "pcVar2[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar2 = pcVar2 + 1;" (assignment_expression "pcVar2 = pcVar2 + 1" identifier = (binary_expression "pcVar2 + 1" identifier + number_literal)) ;) }))) (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) }) while (parenthesized_expression "((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'))" ( (binary_expression "(((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0')" (parenthesized_expression "(((sVar1 & 3) != 0) || (sVar1 < 9))" ( (binary_expression "((sVar1 & 3) != 0) || (sVar1 < 9)" (parenthesized_expression "((sVar1 & 3) != 0)" ( (binary_expression "(sVar1 & 3) != 0" (parenthesized_expression "(sVar1 & 3)" ( (binary_expression "sVar1 & 3" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(sVar1 < 9)" ( (binary_expression "sVar1 < 9" identifier < number_literal) ))) )) || (parenthesized_expression "(sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0')" ( (comma_expression "sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'" (assignment_expression "sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" identifier = (call_expression "strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" identifier (argument_list "(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" ( identifier , (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/="" " string_content ") )))) , (binary_expression "__s[sVar1] != '\0'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) ;) (expression_statement "iVar3 = FUN_0002ce50(__s,&local_26);" (assignment_expression "iVar3 = FUN_0002ce50(__s,&local_26)" identifier = (call_expression "FUN_0002ce50(__s,&local_26)" identifier (argument_list "(__s,&local_26)" ( identifier , (pointer_expression "&local_26" & identifier) )))) ;) }) while (parenthesized_expression "(((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))))" ( (binary_expression "((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)))" (parenthesized_expression "((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           )" ( (binary_expression "(iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)" (parenthesized_expression "(iVar3 < 3)" ( (binary_expression "iVar3 < 3" identifier < number_literal) )) || (parenthesized_expression "(iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)" ( (comma_expression "iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4" (assignment_expression "iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3)" identifier = (call_expression "FUN_0002ce50(__s + 4,(int)&local_26 + iVar3)" identifier (argument_list "(__s + 4,(int)&local_26 + iVar3)" ( (binary_expression "__s + 4" identifier + number_literal) , (binary_expression "(int)&local_26 + iVar3" (cast_expression "(int)&local_26" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_26" & identifier)) + identifier) )))) , (binary_expression "iVar4 + iVar3 < 4" (binary_expression "iVar4 + iVar3" identifier + identifier) < number_literal)) ))) )) || (parenthesized_expression "((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)))" ( (parenthesized_expression "(uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))" ( (comma_expression "uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" (assignment_expression "uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18" identifier = (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18" (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8" (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8" (binary_expression "local_26 >> 0x18" identifier >> number_literal) | (binary_expression "(local_26 & 0xff0000) >> 8" (parenthesized_expression "(local_26 & 0xff0000)" ( (binary_expression "local_26 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_26 & 0xff00) << 8" (parenthesized_expression "(local_26 & 0xff00)" ( (binary_expression "local_26 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_26 << 0x18" identifier << number_literal))) , (binary_expression "0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" (binary_expression "0x40 < uVar5" number_literal < identifier) || (parenthesized_expression "(sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" ( (comma_expression "sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) , (binary_expression "sVar1 < (uVar5 + 6) / 3" identifier < (binary_expression "(uVar5 + 6) / 3" (parenthesized_expression "(uVar5 + 6)" ( (binary_expression "uVar5 + 6" identifier + number_literal) )) / number_literal))) )))) )) ))) )) ;) (expression_statement "memcpy(param_1,__s,sVar1 + 1);" (call_expression "memcpy(param_1,__s,sVar1 + 1)" identifier (argument_list "(param_1,__s,sVar1 + 1)" ( identifier , identifier , (binary_expression "sVar1 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00066390();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00066390();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00066390();\n  }" { comment (expression_statement "FUN_00066390();" (call_expression "FUN_00066390()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar6;" return identifier ;) (labeled_statement "LAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;" statement_identifier : (if_statement "if (*pcVar8 != ':') goto joined_r0x0002dc32;" if (parenthesized_expression "(*pcVar8 != ':')" ( (binary_expression "*pcVar8 != ':'" (pointer_expression "*pcVar8" * identifier) != (char_literal "':'" ' character ')) )) (goto_statement "goto joined_r0x0002dc32;" goto statement_identifier ;))) (expression_statement "pcVar8 = pcVar8 + 3;" (assignment_expression "pcVar8 = pcVar8 + 3" identifier = (binary_expression "pcVar8 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }" if (parenthesized_expression "(pcVar8 == __s + 0x2f)" ( (binary_expression "pcVar8 == __s + 0x2f" identifier == (binary_expression "__s + 0x2f" identifier + number_literal)) )) (compound_statement "{\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }" { (expression_statement "pp_Var9 = __ctype_tolower_loc();" (assignment_expression "pp_Var9 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }" { (expression_statement "param_1[iVar3] = (char)(*pp_Var9)[cVar12];" (assignment_expression "param_1[iVar3] = (char)(*pp_Var9)[cVar12]" (subscript_expression "param_1[iVar3]" identifier [ identifier ]) = (cast_expression "(char)(*pp_Var9)[cVar12]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(*pp_Var9)[cVar12]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ]))) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0x2f) break;" if (parenthesized_expression "(iVar3 == 0x2f)" ( (binary_expression "iVar3 == 0x2f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "cVar12 = __s[iVar3];" (assignment_expression "cVar12 = __s[iVar3]" identifier = (subscript_expression "__s[iVar3]" identifier [ identifier ])) ;) })) (expression_statement "param_1[0x2f] = '\0';" (assignment_expression "param_1[0x2f] = '\0'" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0002de50;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002ddc0;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint validate_manual_hostkey(char *key)\n\n{\n  char *__s;\n  int iVar1;\n  size_t sVar2;\n  char *pcVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uchar decoded [6];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = key;\n  do {\n    do {\n      sVar2 = strspn(__s_00," \t");\n      __s = __s_00 + sVar2;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }\n      sVar2 = strcspn(__s," \t");\n      __s_00 = __s + sVar2;\n      pcVar3 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar2 = strlen(__s);\n    } while ((((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'));\n    iVar4 = base64_decode_atom(__s,decoded);\n  } while (((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))\n          || ((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3))));\n  memcpy(key,__s,sVar2 + 1);\n  iVar4 = 1;\nLAB_0002de50:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar4;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar4 = 0;\n    while( true ) {\n      key[iVar4] = (char)(*pp_Var9)[cVar12];\n      iVar4 = iVar4 + 1;\n      if (iVar4 == 0x2f) break;\n      cVar12 = __s[iVar4];\n    }\n    key[0x2f] = '\0';\n    iVar4 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}\n\n" comment comment (function_definition "int validate_manual_hostkey(char *key)\n\n{\n  char *__s;\n  int iVar1;\n  size_t sVar2;\n  char *pcVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uchar decoded [6];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = key;\n  do {\n    do {\n      sVar2 = strspn(__s_00," \t");\n      __s = __s_00 + sVar2;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }\n      sVar2 = strcspn(__s," \t");\n      __s_00 = __s + sVar2;\n      pcVar3 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar2 = strlen(__s);\n    } while ((((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'));\n    iVar4 = base64_decode_atom(__s,decoded);\n  } while (((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))\n          || ((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3))));\n  memcpy(key,__s,sVar2 + 1);\n  iVar4 = 1;\nLAB_0002de50:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar4;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar4 = 0;\n    while( true ) {\n      key[iVar4] = (char)(*pp_Var9)[cVar12];\n      iVar4 = iVar4 + 1;\n      if (iVar4 == 0x2f) break;\n      cVar12 = __s[iVar4];\n    }\n    key[0x2f] = '\0';\n    iVar4 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" primitive_type (function_declarator "validate_manual_hostkey(char *key)" identifier (parameter_list "(char *key)" ( (parameter_declaration "char *key" primitive_type (pointer_declarator "*key" * identifier)) ))) (compound_statement "{\n  char *__s;\n  int iVar1;\n  size_t sVar2;\n  char *pcVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uchar decoded [6];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = key;\n  do {\n    do {\n      sVar2 = strspn(__s_00," \t");\n      __s = __s_00 + sVar2;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }\n      sVar2 = strcspn(__s," \t");\n      __s_00 = __s + sVar2;\n      pcVar3 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar2 = strlen(__s);\n    } while ((((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'));\n    iVar4 = base64_decode_atom(__s,decoded);\n  } while (((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))\n          || ((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3))));\n  memcpy(key,__s,sVar2 + 1);\n  iVar4 = 1;\nLAB_0002de50:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar4;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar4 = 0;\n    while( true ) {\n      key[iVar4] = (char)(*pp_Var9)[cVar12];\n      iVar4 = iVar4 + 1;\n      if (iVar4 == 0x2f) break;\n      cVar12 = __s[iVar4];\n    }\n    key[0x2f] = '\0';\n    iVar4 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "__int32_t **pp_Var9;" type_identifier (pointer_declarator "**pp_Var9" * (pointer_declarator "*pp_Var9" * identifier)) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uchar decoded [6];" type_identifier (array_declarator "decoded [6]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "__s_00 = key;" (assignment_expression "__s_00 = key" identifier = identifier) ;) (do_statement "do {\n    do {\n      sVar2 = strspn(__s_00," \t");\n      __s = __s_00 + sVar2;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }\n      sVar2 = strcspn(__s," \t");\n      __s_00 = __s + sVar2;\n      pcVar3 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar2 = strlen(__s);\n    } while ((((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'));\n    iVar4 = base64_decode_atom(__s,decoded);\n  } while (((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))\n          || ((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3))));" do (compound_statement "{\n    do {\n      sVar2 = strspn(__s_00," \t");\n      __s = __s_00 + sVar2;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }\n      sVar2 = strcspn(__s," \t");\n      __s_00 = __s + sVar2;\n      pcVar3 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar2 = strlen(__s);\n    } while ((((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'));\n    iVar4 = base64_decode_atom(__s,decoded);\n  }" { (do_statement "do {\n      sVar2 = strspn(__s_00," \t");\n      __s = __s_00 + sVar2;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }\n      sVar2 = strcspn(__s," \t");\n      __s_00 = __s + sVar2;\n      pcVar3 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar2 = strlen(__s);\n    } while ((((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'));" do (compound_statement "{\n      sVar2 = strspn(__s_00," \t");\n      __s = __s_00 + sVar2;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }\n      sVar2 = strcspn(__s," \t");\n      __s_00 = __s + sVar2;\n      pcVar3 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar2 = strlen(__s);\n    }" { (expression_statement "sVar2 = strspn(__s_00," \t");" (assignment_expression "sVar2 = strspn(__s_00," \t")" identifier = (call_expression "strspn(__s_00," \t")" identifier (argument_list "(__s_00," \t")" ( identifier , (string_literal "" \t"" " string_content escape_sequence ") )))) ;) (expression_statement "__s = __s_00 + sVar2;" (assignment_expression "__s = __s_00 + sVar2" identifier = (binary_expression "__s_00 + sVar2" identifier + identifier)) ;) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (if_statement "if (cVar12 == '\0') {\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }" if (parenthesized_expression "(cVar12 == '\0')" ( (binary_expression "cVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar4 = 0;\n        goto LAB_0002de50;\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002de50;" goto statement_identifier ;) })) (expression_statement "sVar2 = strcspn(__s," \t");" (assignment_expression "sVar2 = strcspn(__s," \t")" identifier = (call_expression "strcspn(__s," \t")" identifier (argument_list "(__s," \t")" ( identifier , (string_literal "" \t"" " string_content escape_sequence ") )))) ;) (expression_statement "__s_00 = __s + sVar2;" (assignment_expression "__s_00 = __s + sVar2" identifier = (binary_expression "__s + sVar2" identifier + identifier)) ;) (expression_statement "pcVar3 = __s;" (assignment_expression "pcVar3 = __s" identifier = identifier) ;) (expression_statement "pcVar11 = __s;" (assignment_expression "pcVar11 = __s" identifier = identifier) ;) (if_statement "if (*__s_00 == '\0') {\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }" if (parenthesized_expression "(*__s_00 == '\0')" ( (binary_expression "*__s_00 == '\0'" (pointer_expression "*__s_00" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        sVar2 = strlen(__s);\n        if (sVar2 != 0x2f) goto LAB_0002dc40;\n        sVar2 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar2] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }" { (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (if_statement "if (sVar2 != 0x2f) goto LAB_0002dc40;" if (parenthesized_expression "(sVar2 != 0x2f)" ( (binary_expression "sVar2 != 0x2f" identifier != number_literal) )) (goto_statement "goto LAB_0002dc40;" goto statement_identifier ;)) (expression_statement "sVar2 = strspn(__s,"0123456789abcdefABCDEF:");" (assignment_expression "sVar2 = strspn(__s,"0123456789abcdefABCDEF:")" identifier = (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" identifier (argument_list "(__s,"0123456789abcdefABCDEF:")" ( identifier , (string_literal ""0123456789abcdefABCDEF:"" " string_content ") )))) ;) (expression_statement "pcVar8 = __s_00;" (assignment_expression "pcVar8 = __s_00" identifier = identifier) ;) (if_statement "if (__s[sVar2] != '\0') goto LAB_0002dc40;" if (parenthesized_expression "(__s[sVar2] != '\0')" ( (binary_expression "__s[sVar2] != '\0'" (subscript_expression "__s[sVar2]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002dc40;" goto statement_identifier ;)) (labeled_statement "LAB_0002dd76:\n        pcVar7 = __s + 1;" statement_identifier : (expression_statement "pcVar7 = __s + 1;" (assignment_expression "pcVar7 = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;)) (expression_statement "cVar10 = cVar12;" (assignment_expression "cVar10 = cVar12" identifier = identifier) ;) (while_statement "while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" while (parenthesized_expression "((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')))" ( (parenthesized_expression "(__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))" ( (comma_expression "__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')" (assignment_expression "__s_00 = pcVar8" identifier = identifier) , (binary_expression "cVar10 != ':' && (*pcVar7 != ':')" (binary_expression "cVar10 != ':'" identifier != (char_literal "':'" ' character ')) && (parenthesized_expression "(*pcVar7 != ':')" ( (binary_expression "*pcVar7 != ':'" (pointer_expression "*pcVar7" * identifier) != (char_literal "':'" ' character ')) )))) )) )) (compound_statement "{\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" { (if_statement "if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" if (parenthesized_expression "(__s + 0x31 == pcVar7 + 3)" ( (binary_expression "__s + 0x31 == pcVar7 + 3" (binary_expression "__s + 0x31" identifier + number_literal) == (binary_expression "pcVar7 + 3" identifier + number_literal)) )) (compound_statement "{\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" { (expression_statement "pcVar8 = __s + 2;" (assignment_expression "pcVar8 = __s + 2" identifier = (binary_expression "__s + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0002ddc0;" goto statement_identifier ;) })) (expression_statement "cVar10 = pcVar7[2];" (assignment_expression "cVar10 = pcVar7[2]" identifier = (subscript_expression "pcVar7[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar7 = pcVar7 + 3;" (assignment_expression "pcVar7 = pcVar7 + 3" identifier = (binary_expression "pcVar7 + 3" identifier + number_literal)) ;) })) }) (else_clause "else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }" else (compound_statement "{\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar2 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;\n      }" { (expression_statement "pcVar8 = __s_00 + 1;" (assignment_expression "pcVar8 = __s_00 + 1" identifier = (binary_expression "__s_00 + 1" identifier + number_literal)) ;) (expression_statement "*__s_00 = '\0';" (assignment_expression "*__s_00 = '\0'" (pointer_expression "*__s_00" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (expression_statement "__s_00 = pcVar8;" (assignment_expression "__s_00 = pcVar8" identifier = identifier) ;) (if_statement "if ((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))\n        goto LAB_0002dd76;" if (parenthesized_expression "((sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'))" ( (binary_expression "(sVar2 == 0x2f) && (sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0')" (parenthesized_expression "(sVar2 == 0x2f)" ( (binary_expression "sVar2 == 0x2f" identifier == number_literal) )) && (parenthesized_expression "(sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0')" ( (comma_expression "sVar2 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar2] == '\0'" (assignment_expression "sVar2 = strspn(__s,"0123456789abcdefABCDEF:")" identifier = (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" identifier (argument_list "(__s,"0123456789abcdefABCDEF:")" ( identifier , (string_literal ""0123456789abcdefABCDEF:"" " string_content ") )))) , (binary_expression "__s[sVar2] == '\0'" (subscript_expression "__s[sVar2]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0002dd76;" goto statement_identifier ;)) }))) (labeled_statement "joined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }" statement_identifier : (while_statement "while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }" while (parenthesized_expression "(cVar12 != '\0')" ( (binary_expression "cVar12 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar3[1];\n        pcVar3 = pcVar3 + 1;\n      }" { (labeled_statement "LAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" statement_identifier : (if_statement "if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" if (parenthesized_expression "((cVar12 != '\n') && (cVar12 != '\r'))" ( (binary_expression "(cVar12 != '\n') && (cVar12 != '\r')" (parenthesized_expression "(cVar12 != '\n')" ( (binary_expression "cVar12 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar12 != '\r')" ( (binary_expression "cVar12 != '\r'" identifier != (char_literal "'\r'" ' escape_sequence ')) ))) )) (compound_statement "{\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" { (expression_statement "*pcVar11 = cVar12;" (assignment_expression "*pcVar11 = cVar12" (pointer_expression "*pcVar11" * identifier) = identifier) ;) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) }))) (expression_statement "cVar12 = pcVar3[1];" (assignment_expression "cVar12 = pcVar3[1]" identifier = (subscript_expression "pcVar3[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) }))) (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) }) while (parenthesized_expression "((((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'))" ( (binary_expression "(((sVar2 & 3) != 0) || (sVar2 < 9)) ||\n            (sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0')" (parenthesized_expression "(((sVar2 & 3) != 0) || (sVar2 < 9))" ( (binary_expression "((sVar2 & 3) != 0) || (sVar2 < 9)" (parenthesized_expression "((sVar2 & 3) != 0)" ( (binary_expression "(sVar2 & 3) != 0" (parenthesized_expression "(sVar2 & 3)" ( (binary_expression "sVar2 & 3" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(sVar2 < 9)" ( (binary_expression "sVar2 < 9" identifier < number_literal) ))) )) || (parenthesized_expression "(sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0')" ( (comma_expression "sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar2] != '\0'" (assignment_expression "sVar2 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" identifier = (call_expression "strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" identifier (argument_list "(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" ( identifier , (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/="" " string_content ") )))) , (binary_expression "__s[sVar2] != '\0'" (subscript_expression "__s[sVar2]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) ;) (expression_statement "iVar4 = base64_decode_atom(__s,decoded);" (assignment_expression "iVar4 = base64_decode_atom(__s,decoded)" identifier = (call_expression "base64_decode_atom(__s,decoded)" identifier (argument_list "(__s,decoded)" ( identifier , identifier )))) ;) }) while (parenthesized_expression "(((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))\n          || ((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3))))" ( (binary_expression "((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))\n          || ((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3)))" (parenthesized_expression "((iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4))" ( (binary_expression "(iVar4 < 3) || (iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4)" (parenthesized_expression "(iVar4 < 3)" ( (binary_expression "iVar4 < 3" identifier < number_literal) )) || (parenthesized_expression "(iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4)" ( (comma_expression "iVar5 = base64_decode_atom(__s + 4,decoded + iVar4), iVar5 + iVar4 < 4" (assignment_expression "iVar5 = base64_decode_atom(__s + 4,decoded + iVar4)" identifier = (call_expression "base64_decode_atom(__s + 4,decoded + iVar4)" identifier (argument_list "(__s + 4,decoded + iVar4)" ( (binary_expression "__s + 4" identifier + number_literal) , (binary_expression "decoded + iVar4" identifier + identifier) )))) , (binary_expression "iVar5 + iVar4 < 4" (binary_expression "iVar5 + iVar4" identifier + identifier) < number_literal)) ))) )) || (parenthesized_expression "((uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3)))" ( (parenthesized_expression "(uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3))" ( (comma_expression "uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18, 0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3)" (assignment_expression "uVar6 = (uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18" identifier = (binary_expression "(uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8 | decoded._0_4_ << 0x18" (binary_expression "(uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8 |\n                       (decoded._0_4_ & 0xff00) << 8" (binary_expression "(uint)decoded._0_4_ >> 0x18 | (decoded._0_4_ & 0xff0000) >> 8" (binary_expression "(uint)decoded._0_4_ >> 0x18" (cast_expression "(uint)decoded._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "decoded._0_4_" identifier . field_identifier)) >> number_literal) | (binary_expression "(decoded._0_4_ & 0xff0000) >> 8" (parenthesized_expression "(decoded._0_4_ & 0xff0000)" ( (binary_expression "decoded._0_4_ & 0xff0000" (field_expression "decoded._0_4_" identifier . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(decoded._0_4_ & 0xff00) << 8" (parenthesized_expression "(decoded._0_4_ & 0xff00)" ( (binary_expression "decoded._0_4_ & 0xff00" (field_expression "decoded._0_4_" identifier . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "decoded._0_4_ << 0x18" (field_expression "decoded._0_4_" identifier . field_identifier) << number_literal))) , (binary_expression "0x40 < uVar6 ||\n              (sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3)" (binary_expression "0x40 < uVar6" number_literal < identifier) || (parenthesized_expression "(sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3)" ( (comma_expression "sVar2 = strlen(__s), sVar2 < (uVar6 + 6) / 3" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) , (binary_expression "sVar2 < (uVar6 + 6) / 3" identifier < (binary_expression "(uVar6 + 6) / 3" (parenthesized_expression "(uVar6 + 6)" ( (binary_expression "uVar6 + 6" identifier + number_literal) )) / number_literal))) )))) )) ))) )) ;) (expression_statement "memcpy(key,__s,sVar2 + 1);" (call_expression "memcpy(key,__s,sVar2 + 1)" identifier (argument_list "(key,__s,sVar2 + 1)" ( identifier , identifier , (binary_expression "sVar2 + 1" identifier + number_literal) ))) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0002de50:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iVar4;" return identifier ;) (labeled_statement "LAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;" statement_identifier : (if_statement "if (*pcVar8 != ':') goto joined_r0x0002dc32;" if (parenthesized_expression "(*pcVar8 != ':')" ( (binary_expression "*pcVar8 != ':'" (pointer_expression "*pcVar8" * identifier) != (char_literal "':'" ' character ')) )) (goto_statement "goto joined_r0x0002dc32;" goto statement_identifier ;))) (expression_statement "pcVar8 = pcVar8 + 3;" (assignment_expression "pcVar8 = pcVar8 + 3" identifier = (binary_expression "pcVar8 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar4 = 0;\n    while( true ) {\n      key[iVar4] = (char)(*pp_Var9)[cVar12];\n      iVar4 = iVar4 + 1;\n      if (iVar4 == 0x2f) break;\n      cVar12 = __s[iVar4];\n    }\n    key[0x2f] = '\0';\n    iVar4 = 1;\n    goto LAB_0002de50;\n  }" if (parenthesized_expression "(pcVar8 == __s + 0x2f)" ( (binary_expression "pcVar8 == __s + 0x2f" identifier == (binary_expression "__s + 0x2f" identifier + number_literal)) )) (compound_statement "{\n    pp_Var9 = __ctype_tolower_loc();\n    iVar4 = 0;\n    while( true ) {\n      key[iVar4] = (char)(*pp_Var9)[cVar12];\n      iVar4 = iVar4 + 1;\n      if (iVar4 == 0x2f) break;\n      cVar12 = __s[iVar4];\n    }\n    key[0x2f] = '\0';\n    iVar4 = 1;\n    goto LAB_0002de50;\n  }" { (expression_statement "pp_Var9 = __ctype_tolower_loc();" (assignment_expression "pp_Var9 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      key[iVar4] = (char)(*pp_Var9)[cVar12];\n      iVar4 = iVar4 + 1;\n      if (iVar4 == 0x2f) break;\n      cVar12 = __s[iVar4];\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      key[iVar4] = (char)(*pp_Var9)[cVar12];\n      iVar4 = iVar4 + 1;\n      if (iVar4 == 0x2f) break;\n      cVar12 = __s[iVar4];\n    }" { (expression_statement "key[iVar4] = (char)(*pp_Var9)[cVar12];" (assignment_expression "key[iVar4] = (char)(*pp_Var9)[cVar12]" (subscript_expression "key[iVar4]" identifier [ identifier ]) = (cast_expression "(char)(*pp_Var9)[cVar12]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(*pp_Var9)[cVar12]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ]))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (if_statement "if (iVar4 == 0x2f) break;" if (parenthesized_expression "(iVar4 == 0x2f)" ( (binary_expression "iVar4 == 0x2f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "cVar12 = __s[iVar4];" (assignment_expression "cVar12 = __s[iVar4]" identifier = (subscript_expression "__s[iVar4]" identifier [ identifier ])) ;) })) (expression_statement "key[0x2f] = '\0';" (assignment_expression "key[0x2f] = '\0'" (subscript_expression "key[0x2f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0002de50;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002ddc0;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_0002db80(char *param_1)\n\n{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}\n\n" (function_definition "undefined4 FUN_0002db80(char *param_1)\n\n{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" type_identifier (function_declarator "FUN_0002db80(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "__int32_t **pp_Var9;" type_identifier (pointer_declarator "**pp_Var9" * (pointer_declarator "*pp_Var9" * identifier)) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint local_26;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2db89;" (assignment_expression "uStack_14 = 0x2db89" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "__s_00 = param_1;" (assignment_expression "__s_00 = param_1" identifier = identifier) ;) (do_statement "do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));" do (compound_statement "{\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  }" { (do_statement "do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));" do (compound_statement "{\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    }" { (expression_statement "sVar1 = strspn(__s_00," \t");" (assignment_expression "sVar1 = strspn(__s_00," \t")" identifier = (call_expression "strspn(__s_00," \t")" identifier (argument_list "(__s_00," \t")" ( identifier , (string_literal "" \t"" " string_content escape_sequence ") )))) ;) (expression_statement "__s = __s_00 + sVar1;" (assignment_expression "__s = __s_00 + sVar1" identifier = (binary_expression "__s_00 + sVar1" identifier + identifier)) ;) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (if_statement "if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }" if (parenthesized_expression "(cVar12 == '\0')" ( (binary_expression "cVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002de50;" goto statement_identifier ;) })) (expression_statement "sVar1 = strcspn(__s," \t");" (assignment_expression "sVar1 = strcspn(__s," \t")" identifier = (call_expression "strcspn(__s," \t")" identifier (argument_list "(__s," \t")" ( identifier , (string_literal "" \t"" " string_content escape_sequence ") )))) ;) (expression_statement "__s_00 = __s + sVar1;" (assignment_expression "__s_00 = __s + sVar1" identifier = (binary_expression "__s + sVar1" identifier + identifier)) ;) (expression_statement "pcVar2 = __s;" (assignment_expression "pcVar2 = __s" identifier = identifier) ;) (expression_statement "pcVar11 = __s;" (assignment_expression "pcVar11 = __s" identifier = identifier) ;) (if_statement "if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" if (parenthesized_expression "(*__s_00 == '\0')" ( (binary_expression "*__s_00 == '\0'" (pointer_expression "*__s_00" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }" { (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (if_statement "if (sVar1 != 0x2f) goto LAB_0002dc40;" if (parenthesized_expression "(sVar1 != 0x2f)" ( (binary_expression "sVar1 != 0x2f" identifier != number_literal) )) (goto_statement "goto LAB_0002dc40;" goto statement_identifier ;)) (expression_statement "sVar1 = strspn(__s,"0123456789abcdefABCDEF:");" (assignment_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:")" identifier = (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" identifier (argument_list "(__s,"0123456789abcdefABCDEF:")" ( identifier , (string_literal ""0123456789abcdefABCDEF:"" " string_content ") )))) ;) (expression_statement "pcVar8 = __s_00;" (assignment_expression "pcVar8 = __s_00" identifier = identifier) ;) (if_statement "if (__s[sVar1] != '\0') goto LAB_0002dc40;" if (parenthesized_expression "(__s[sVar1] != '\0')" ( (binary_expression "__s[sVar1] != '\0'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002dc40;" goto statement_identifier ;)) (labeled_statement "LAB_0002dd76:\n        pcVar7 = __s + 1;" statement_identifier : (expression_statement "pcVar7 = __s + 1;" (assignment_expression "pcVar7 = __s + 1" identifier = (binary_expression "__s + 1" identifier + number_literal)) ;)) (expression_statement "cVar10 = cVar12;" (assignment_expression "cVar10 = cVar12" identifier = identifier) ;) (while_statement "while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" while (parenthesized_expression "((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')))" ( (parenthesized_expression "(__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))" ( (comma_expression "__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')" (assignment_expression "__s_00 = pcVar8" identifier = identifier) , (binary_expression "cVar10 != ':' && (*pcVar7 != ':')" (binary_expression "cVar10 != ':'" identifier != (char_literal "':'" ' character ')) && (parenthesized_expression "(*pcVar7 != ':')" ( (binary_expression "*pcVar7 != ':'" (pointer_expression "*pcVar7" * identifier) != (char_literal "':'" ' character ')) )))) )) )) (compound_statement "{\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" { (if_statement "if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" if (parenthesized_expression "(__s + 0x31 == pcVar7 + 3)" ( (binary_expression "__s + 0x31 == pcVar7 + 3" (binary_expression "__s + 0x31" identifier + number_literal) == (binary_expression "pcVar7 + 3" identifier + number_literal)) )) (compound_statement "{\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" { (expression_statement "pcVar8 = __s + 2;" (assignment_expression "pcVar8 = __s + 2" identifier = (binary_expression "__s + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0002ddc0;" goto statement_identifier ;) })) (expression_statement "cVar10 = pcVar7[2];" (assignment_expression "cVar10 = pcVar7[2]" identifier = (subscript_expression "pcVar7[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar7 = pcVar7 + 3;" (assignment_expression "pcVar7 = pcVar7 + 3" identifier = (binary_expression "pcVar7 + 3" identifier + number_literal)) ;) })) }) (else_clause "else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" else (compound_statement "{\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" { (expression_statement "pcVar8 = __s_00 + 1;" (assignment_expression "pcVar8 = __s_00 + 1" identifier = (binary_expression "__s_00 + 1" identifier + number_literal)) ;) (expression_statement "*__s_00 = '\0';" (assignment_expression "*__s_00 = '\0'" (pointer_expression "*__s_00" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" identifier = (pointer_expression "*__s" * identifier)) ;) (expression_statement "__s_00 = pcVar8;" (assignment_expression "__s_00 = pcVar8" identifier = identifier) ;) (if_statement "if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;" if (parenthesized_expression "((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))" ( (binary_expression "(sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0')" (parenthesized_expression "(sVar1 == 0x2f)" ( (binary_expression "sVar1 == 0x2f" identifier == number_literal) )) && (parenthesized_expression "(sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0')" ( (comma_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'" (assignment_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:")" identifier = (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" identifier (argument_list "(__s,"0123456789abcdefABCDEF:")" ( identifier , (string_literal ""0123456789abcdefABCDEF:"" " string_content ") )))) , (binary_expression "__s[sVar1] == '\0'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0002dd76;" goto statement_identifier ;)) }))) (labeled_statement "joined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" statement_identifier : (while_statement "while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" while (parenthesized_expression "(cVar12 != '\0')" ( (binary_expression "cVar12 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" { (labeled_statement "LAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" statement_identifier : (if_statement "if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" if (parenthesized_expression "((cVar12 != '\n') && (cVar12 != '\r'))" ( (binary_expression "(cVar12 != '\n') && (cVar12 != '\r')" (parenthesized_expression "(cVar12 != '\n')" ( (binary_expression "cVar12 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar12 != '\r')" ( (binary_expression "cVar12 != '\r'" identifier != (char_literal "'\r'" ' escape_sequence ')) ))) )) (compound_statement "{\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" { (expression_statement "*pcVar11 = cVar12;" (assignment_expression "*pcVar11 = cVar12" (pointer_expression "*pcVar11" * identifier) = identifier) ;) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) }))) (expression_statement "cVar12 = pcVar2[1];" (assignment_expression "cVar12 = pcVar2[1]" identifier = (subscript_expression "pcVar2[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar2 = pcVar2 + 1;" (assignment_expression "pcVar2 = pcVar2 + 1" identifier = (binary_expression "pcVar2 + 1" identifier + number_literal)) ;) }))) (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) }) while (parenthesized_expression "((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'))" ( (binary_expression "(((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0')" (parenthesized_expression "(((sVar1 & 3) != 0) || (sVar1 < 9))" ( (binary_expression "((sVar1 & 3) != 0) || (sVar1 < 9)" (parenthesized_expression "((sVar1 & 3) != 0)" ( (binary_expression "(sVar1 & 3) != 0" (parenthesized_expression "(sVar1 & 3)" ( (binary_expression "sVar1 & 3" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(sVar1 < 9)" ( (binary_expression "sVar1 < 9" identifier < number_literal) ))) )) || (parenthesized_expression "(sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0')" ( (comma_expression "sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'" (assignment_expression "sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" identifier = (call_expression "strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" identifier (argument_list "(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" ( identifier , (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/="" " string_content ") )))) , (binary_expression "__s[sVar1] != '\0'" (subscript_expression "__s[sVar1]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) ;) (expression_statement "iVar3 = FUN_0002ce50(__s,&local_26);" (assignment_expression "iVar3 = FUN_0002ce50(__s,&local_26)" identifier = (call_expression "FUN_0002ce50(__s,&local_26)" identifier (argument_list "(__s,&local_26)" ( identifier , (pointer_expression "&local_26" & identifier) )))) ;) }) while (parenthesized_expression "(((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))))" ( (binary_expression "((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)))" (parenthesized_expression "((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           )" ( (binary_expression "(iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)" (parenthesized_expression "(iVar3 < 3)" ( (binary_expression "iVar3 < 3" identifier < number_literal) )) || (parenthesized_expression "(iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)" ( (comma_expression "iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4" (assignment_expression "iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3)" identifier = (call_expression "FUN_0002ce50(__s + 4,(int)&local_26 + iVar3)" identifier (argument_list "(__s + 4,(int)&local_26 + iVar3)" ( (binary_expression "__s + 4" identifier + number_literal) , (binary_expression "(int)&local_26 + iVar3" (cast_expression "(int)&local_26" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_26" & identifier)) + identifier) )))) , (binary_expression "iVar4 + iVar3 < 4" (binary_expression "iVar4 + iVar3" identifier + identifier) < number_literal)) ))) )) || (parenthesized_expression "((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)))" ( (parenthesized_expression "(uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))" ( (comma_expression "uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" (assignment_expression "uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18" identifier = (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18" (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8" (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8" (binary_expression "local_26 >> 0x18" identifier >> number_literal) | (binary_expression "(local_26 & 0xff0000) >> 8" (parenthesized_expression "(local_26 & 0xff0000)" ( (binary_expression "local_26 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_26 & 0xff00) << 8" (parenthesized_expression "(local_26 & 0xff00)" ( (binary_expression "local_26 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_26 << 0x18" identifier << number_literal))) , (binary_expression "0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" (binary_expression "0x40 < uVar5" number_literal < identifier) || (parenthesized_expression "(sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" ( (comma_expression "sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3" (assignment_expression "sVar1 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) , (binary_expression "sVar1 < (uVar5 + 6) / 3" identifier < (binary_expression "(uVar5 + 6) / 3" (parenthesized_expression "(uVar5 + 6)" ( (binary_expression "uVar5 + 6" identifier + number_literal) )) / number_literal))) )))) )) ))) )) ;) (expression_statement "memcpy(param_1,__s,sVar1 + 1);" (call_expression "memcpy(param_1,__s,sVar1 + 1)" identifier (argument_list "(param_1,__s,sVar1 + 1)" ( identifier , identifier , (binary_expression "sVar1 + 1" identifier + number_literal) ))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_00066390();\n  }" { (expression_statement "FUN_00066390();" (call_expression "FUN_00066390()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar6;" return identifier ;) (labeled_statement "LAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;" statement_identifier : (if_statement "if (*pcVar8 != ':') goto joined_r0x0002dc32;" if (parenthesized_expression "(*pcVar8 != ':')" ( (binary_expression "*pcVar8 != ':'" (pointer_expression "*pcVar8" * identifier) != (char_literal "':'" ' character ')) )) (goto_statement "goto joined_r0x0002dc32;" goto statement_identifier ;))) (expression_statement "pcVar8 = pcVar8 + 3;" (assignment_expression "pcVar8 = pcVar8 + 3" identifier = (binary_expression "pcVar8 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }" if (parenthesized_expression "(pcVar8 == __s + 0x2f)" ( (binary_expression "pcVar8 == __s + 0x2f" identifier == (binary_expression "__s + 0x2f" identifier + number_literal)) )) (compound_statement "{\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }" { (expression_statement "pp_Var9 = __ctype_tolower_loc();" (assignment_expression "pp_Var9 = __ctype_tolower_loc()" identifier = (call_expression "__ctype_tolower_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }" { (expression_statement "param_1[iVar3] = (char)(*pp_Var9)[cVar12];" (assignment_expression "param_1[iVar3] = (char)(*pp_Var9)[cVar12]" (subscript_expression "param_1[iVar3]" identifier [ identifier ]) = (cast_expression "(char)(*pp_Var9)[cVar12]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(*pp_Var9)[cVar12]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ]))) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0x2f) break;" if (parenthesized_expression "(iVar3 == 0x2f)" ( (binary_expression "iVar3 == 0x2f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "cVar12 = __s[iVar3];" (assignment_expression "cVar12 = __s[iVar3]" identifier = (subscript_expression "__s[iVar3]" identifier [ identifier ])) ;) })) (expression_statement "param_1[0x2f] = '\0';" (assignment_expression "param_1[0x2f] = '\0'" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0002de50;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002ddc0;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != (char_literal ' character ')) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )))) )) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) , (binary_expression (subscript_expression IDENT [ IDENT ]) == (char_literal ' escape_sequence '))) ))) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) , (binary_expression (subscript_expression IDENT [ IDENT ]) != (char_literal ' escape_sequence '))) ))) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) , (binary_expression (binary_expression IDENT + IDENT) < LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) , (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT < (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) / LIT))) )))) )) ))) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_0002db80(char *param_1)\n\n{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" (type_identifier "undefined4") (function_declarator "FUN_0002db80(char *param_1)" (identifier "FUN_0002db80") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  char *__s;\n  size_t sVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  char *pcVar8;\n  __int32_t **pp_Var9;\n  char cVar10;\n  char *pcVar11;\n  char cVar12;\n  char *__s_00;\n  int in_GS_OFFSET;\n  uint local_26;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2db89;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __s_00 = param_1;\n  do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));\n  memcpy(param_1,__s,sVar1 + 1);\n  uVar6 = 1;\nLAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }\n  return uVar6;\nLAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;\n  pcVar8 = pcVar8 + 3;\n  if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }\n  goto LAB_0002ddc0;\n}" ({ "{") (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "size_t sVar1;" (primitive_type "size_t") (identifier "sVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "__int32_t **pp_Var9;" (type_identifier "__int32_t") (pointer_declarator "**pp_Var9" (* "*") (pointer_declarator "*pp_Var9" (* "*") (identifier "pp_Var9"))) (; ";")) (declaration "char cVar10;" (primitive_type "char") (identifier "cVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "char cVar12;" (primitive_type "char") (identifier "cVar12") (; ";")) (declaration "char *__s_00;" (primitive_type "char") (pointer_declarator "*__s_00" (* "*") (identifier "__s_00")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "uint local_26;" (type_identifier "uint") (identifier "local_26") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x2db89;" (assignment_expression "uStack_14 = 0x2db89" (identifier "uStack_14") (= "=") (number_literal "0x2db89")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "__s_00 = param_1;" (assignment_expression "__s_00 = param_1" (identifier "__s_00") (= "=") (identifier "param_1")) (; ";")) (do_statement "do {\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));" (do "do") (compound_statement "{\n    do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));\n    iVar3 = FUN_0002ce50(__s,&local_26);\n  }" ({ "{") (do_statement "do {\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'));" (do "do") (compound_statement "{\n      sVar1 = strspn(__s_00," \t");\n      __s = __s_00 + sVar1;\n      cVar12 = *__s;\n      if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }\n      sVar1 = strcspn(__s," \t");\n      __s_00 = __s + sVar1;\n      pcVar2 = __s;\n      pcVar11 = __s;\n      if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }\njoined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }\n      *pcVar11 = '\0';\n      sVar1 = strlen(__s);\n    }" ({ "{") (expression_statement "sVar1 = strspn(__s_00," \t");" (assignment_expression "sVar1 = strspn(__s_00," \t")" (identifier "sVar1") (= "=") (call_expression "strspn(__s_00," \t")" (identifier "strspn") (argument_list "(__s_00," \t")" (( "(") (identifier "__s_00") (, ",") (string_literal "" \t"" (" """) (string_content " ") (escape_sequence "\t") (" """)) () ")")))) (; ";")) (expression_statement "__s = __s_00 + sVar1;" (assignment_expression "__s = __s_00 + sVar1" (identifier "__s") (= "=") (binary_expression "__s_00 + sVar1" (identifier "__s_00") (+ "+") (identifier "sVar1"))) (; ";")) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" (identifier "cVar12") (= "=") (pointer_expression "*__s" (* "*") (identifier "__s"))) (; ";")) (if_statement "if (cVar12 == '\0') {\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }" (if "if") (parenthesized_expression "(cVar12 == '\0')" (( "(") (binary_expression "cVar12 == '\0'" (identifier "cVar12") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar6 = 0;\n        goto LAB_0002de50;\n      }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0002de50;" (goto "goto") (statement_identifier "LAB_0002de50") (; ";")) (} "}"))) (expression_statement "sVar1 = strcspn(__s," \t");" (assignment_expression "sVar1 = strcspn(__s," \t")" (identifier "sVar1") (= "=") (call_expression "strcspn(__s," \t")" (identifier "strcspn") (argument_list "(__s," \t")" (( "(") (identifier "__s") (, ",") (string_literal "" \t"" (" """) (string_content " ") (escape_sequence "\t") (" """)) () ")")))) (; ";")) (expression_statement "__s_00 = __s + sVar1;" (assignment_expression "__s_00 = __s + sVar1" (identifier "__s_00") (= "=") (binary_expression "__s + sVar1" (identifier "__s") (+ "+") (identifier "sVar1"))) (; ";")) (expression_statement "pcVar2 = __s;" (assignment_expression "pcVar2 = __s" (identifier "pcVar2") (= "=") (identifier "__s")) (; ";")) (expression_statement "pcVar11 = __s;" (assignment_expression "pcVar11 = __s" (identifier "pcVar11") (= "=") (identifier "__s")) (; ";")) (if_statement "if (*__s_00 == '\0') {\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }\n      else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" (if "if") (parenthesized_expression "(*__s_00 == '\0')" (( "(") (binary_expression "*__s_00 == '\0'" (pointer_expression "*__s_00" (* "*") (identifier "__s_00")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        sVar1 = strlen(__s);\n        if (sVar1 != 0x2f) goto LAB_0002dc40;\n        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");\n        pcVar8 = __s_00;\n        if (__s[sVar1] != '\0') goto LAB_0002dc40;\nLAB_0002dd76:\n        pcVar7 = __s + 1;\n        cVar10 = cVar12;\n        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }\n      }" ({ "{") (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" (identifier "sVar1") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (if_statement "if (sVar1 != 0x2f) goto LAB_0002dc40;" (if "if") (parenthesized_expression "(sVar1 != 0x2f)" (( "(") (binary_expression "sVar1 != 0x2f" (identifier "sVar1") (!= "!=") (number_literal "0x2f")) () ")")) (goto_statement "goto LAB_0002dc40;" (goto "goto") (statement_identifier "LAB_0002dc40") (; ";"))) (expression_statement "sVar1 = strspn(__s,"0123456789abcdefABCDEF:");" (assignment_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:")" (identifier "sVar1") (= "=") (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" (identifier "strspn") (argument_list "(__s,"0123456789abcdefABCDEF:")" (( "(") (identifier "__s") (, ",") (string_literal ""0123456789abcdefABCDEF:"" (" """) (string_content "0123456789abcdefABCDEF:") (" """)) () ")")))) (; ";")) (expression_statement "pcVar8 = __s_00;" (assignment_expression "pcVar8 = __s_00" (identifier "pcVar8") (= "=") (identifier "__s_00")) (; ";")) (if_statement "if (__s[sVar1] != '\0') goto LAB_0002dc40;" (if "if") (parenthesized_expression "(__s[sVar1] != '\0')" (( "(") (binary_expression "__s[sVar1] != '\0'" (subscript_expression "__s[sVar1]" (identifier "__s") ([ "[") (identifier "sVar1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0002dc40;" (goto "goto") (statement_identifier "LAB_0002dc40") (; ";"))) (labeled_statement "LAB_0002dd76:\n        pcVar7 = __s + 1;" (statement_identifier "LAB_0002dd76") (: ":") (expression_statement "pcVar7 = __s + 1;" (assignment_expression "pcVar7 = __s + 1" (identifier "pcVar7") (= "=") (binary_expression "__s + 1" (identifier "__s") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "cVar10 = cVar12;" (assignment_expression "cVar10 = cVar12" (identifier "cVar10") (= "=") (identifier "cVar12")) (; ";")) (while_statement "while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" (while "while") (parenthesized_expression "((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')))" (( "(") (parenthesized_expression "(__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))" (( "(") (comma_expression "__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':')" (assignment_expression "__s_00 = pcVar8" (identifier "__s_00") (= "=") (identifier "pcVar8")) (, ",") (binary_expression "cVar10 != ':' && (*pcVar7 != ':')" (binary_expression "cVar10 != ':'" (identifier "cVar10") (!= "!=") (char_literal "':'" (' "'") (character ":") (' "'"))) (&& "&&") (parenthesized_expression "(*pcVar7 != ':')" (( "(") (binary_expression "*pcVar7 != ':'" (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) (!= "!=") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")")))) () ")")) () ")")) (compound_statement "{\n          if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }\n          cVar10 = pcVar7[2];\n          pcVar7 = pcVar7 + 3;\n        }" ({ "{") (if_statement "if (__s + 0x31 == pcVar7 + 3) {\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" (if "if") (parenthesized_expression "(__s + 0x31 == pcVar7 + 3)" (( "(") (binary_expression "__s + 0x31 == pcVar7 + 3" (binary_expression "__s + 0x31" (identifier "__s") (+ "+") (number_literal "0x31")) (== "==") (binary_expression "pcVar7 + 3" (identifier "pcVar7") (+ "+") (number_literal "3"))) () ")")) (compound_statement "{\n            pcVar8 = __s + 2;\n            goto LAB_0002ddc0;\n          }" ({ "{") (expression_statement "pcVar8 = __s + 2;" (assignment_expression "pcVar8 = __s + 2" (identifier "pcVar8") (= "=") (binary_expression "__s + 2" (identifier "__s") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_0002ddc0;" (goto "goto") (statement_identifier "LAB_0002ddc0") (; ";")) (} "}"))) (expression_statement "cVar10 = pcVar7[2];" (assignment_expression "cVar10 = pcVar7[2]" (identifier "cVar10") (= "=") (subscript_expression "pcVar7[2]" (identifier "pcVar7") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pcVar7 = pcVar7 + 3;" (assignment_expression "pcVar7 = pcVar7 + 3" (identifier "pcVar7") (= "=") (binary_expression "pcVar7 + 3" (identifier "pcVar7") (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" (else "else") (compound_statement "{\n        pcVar8 = __s_00 + 1;\n        *__s_00 = '\0';\n        sVar1 = strlen(__s);\n        cVar12 = *__s;\n        __s_00 = pcVar8;\n        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;\n      }" ({ "{") (expression_statement "pcVar8 = __s_00 + 1;" (assignment_expression "pcVar8 = __s_00 + 1" (identifier "pcVar8") (= "=") (binary_expression "__s_00 + 1" (identifier "__s_00") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*__s_00 = '\0';" (assignment_expression "*__s_00 = '\0'" (pointer_expression "*__s_00" (* "*") (identifier "__s_00")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" (identifier "sVar1") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "cVar12 = *__s;" (assignment_expression "cVar12 = *__s" (identifier "cVar12") (= "=") (pointer_expression "*__s" (* "*") (identifier "__s"))) (; ";")) (expression_statement "__s_00 = pcVar8;" (assignment_expression "__s_00 = pcVar8" (identifier "__s_00") (= "=") (identifier "pcVar8")) (; ";")) (if_statement "if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))\n        goto LAB_0002dd76;" (if "if") (parenthesized_expression "((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))" (( "(") (binary_expression "(sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0')" (parenthesized_expression "(sVar1 == 0x2f)" (( "(") (binary_expression "sVar1 == 0x2f" (identifier "sVar1") (== "==") (number_literal "0x2f")) () ")")) (&& "&&") (parenthesized_expression "(sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0')" (( "(") (comma_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'" (assignment_expression "sVar1 = strspn(__s,"0123456789abcdefABCDEF:")" (identifier "sVar1") (= "=") (call_expression "strspn(__s,"0123456789abcdefABCDEF:")" (identifier "strspn") (argument_list "(__s,"0123456789abcdefABCDEF:")" (( "(") (identifier "__s") (, ",") (string_literal ""0123456789abcdefABCDEF:"" (" """) (string_content "0123456789abcdefABCDEF:") (" """)) () ")")))) (, ",") (binary_expression "__s[sVar1] == '\0'" (subscript_expression "__s[sVar1]" (identifier "__s") ([ "[") (identifier "sVar1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_0002dd76;" (goto "goto") (statement_identifier "LAB_0002dd76") (; ";"))) (} "}")))) (labeled_statement "joined_r0x0002dc32:\n      while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" (statement_identifier "joined_r0x0002dc32") (: ":") (while_statement "while (cVar12 != '\0') {\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" (while "while") (parenthesized_expression "(cVar12 != '\0')" (( "(") (binary_expression "cVar12 != '\0'" (identifier "cVar12") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }\n        cVar12 = pcVar2[1];\n        pcVar2 = pcVar2 + 1;\n      }" ({ "{") (labeled_statement "LAB_0002dc40:\n        if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" (statement_identifier "LAB_0002dc40") (: ":") (if_statement "if ((cVar12 != '\n') && (cVar12 != '\r')) {\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" (if "if") (parenthesized_expression "((cVar12 != '\n') && (cVar12 != '\r'))" (( "(") (binary_expression "(cVar12 != '\n') && (cVar12 != '\r')" (parenthesized_expression "(cVar12 != '\n')" (( "(") (binary_expression "cVar12 != '\n'" (identifier "cVar12") (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(cVar12 != '\r')" (( "(") (binary_expression "cVar12 != '\r'" (identifier "cVar12") (!= "!=") (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          *pcVar11 = cVar12;\n          pcVar11 = pcVar11 + 1;\n        }" ({ "{") (expression_statement "*pcVar11 = cVar12;" (assignment_expression "*pcVar11 = cVar12" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (identifier "cVar12")) (; ";")) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" (identifier "pcVar11") (= "=") (binary_expression "pcVar11 + 1" (identifier "pcVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "cVar12 = pcVar2[1];" (assignment_expression "cVar12 = pcVar2[1]" (identifier "cVar12") (= "=") (subscript_expression "pcVar2[1]" (identifier "pcVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar2 = pcVar2 + 1;" (assignment_expression "pcVar2 = pcVar2 + 1" (identifier "pcVar2") (= "=") (binary_expression "pcVar2 + 1" (identifier "pcVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "sVar1 = strlen(__s);" (assignment_expression "sVar1 = strlen(__s)" (identifier "sVar1") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'))" (( "(") (binary_expression "(((sVar1 & 3) != 0) || (sVar1 < 9)) ||\n            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0')" (parenthesized_expression "(((sVar1 & 3) != 0) || (sVar1 < 9))" (( "(") (binary_expression "((sVar1 & 3) != 0) || (sVar1 < 9)" (parenthesized_expression "((sVar1 & 3) != 0)" (( "(") (binary_expression "(sVar1 & 3) != 0" (parenthesized_expression "(sVar1 & 3)" (( "(") (binary_expression "sVar1 & 3" (identifier "sVar1") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(sVar1 < 9)" (( "(") (binary_expression "sVar1 < 9" (identifier "sVar1") (< "<") (number_literal "9")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0')" (( "(") (comma_expression "sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")\n            , __s[sVar1] != '\0'" (assignment_expression "sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" (identifier "sVar1") (= "=") (call_expression "strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" (identifier "strspn") (argument_list "(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")" (( "(") (identifier "__s") (, ",") (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/="" (" """) (string_content "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=") (" """)) () ")")))) (, ",") (binary_expression "__s[sVar1] != '\0'" (subscript_expression "__s[sVar1]" (identifier "__s") ([ "[") (identifier "sVar1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (; ";")) (expression_statement "iVar3 = FUN_0002ce50(__s,&local_26);" (assignment_expression "iVar3 = FUN_0002ce50(__s,&local_26)" (identifier "iVar3") (= "=") (call_expression "FUN_0002ce50(__s,&local_26)" (identifier "FUN_0002ce50") (argument_list "(__s,&local_26)" (( "(") (identifier "__s") (, ",") (pointer_expression "&local_26" (& "&") (identifier "local_26")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))))" (( "(") (binary_expression "((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)))" (parenthesized_expression "((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)\n           )" (( "(") (binary_expression "(iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)" (parenthesized_expression "(iVar3 < 3)" (( "(") (binary_expression "iVar3 < 3" (identifier "iVar3") (< "<") (number_literal "3")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)" (( "(") (comma_expression "iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4" (assignment_expression "iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3)" (identifier "iVar4") (= "=") (call_expression "FUN_0002ce50(__s + 4,(int)&local_26 + iVar3)" (identifier "FUN_0002ce50") (argument_list "(__s + 4,(int)&local_26 + iVar3)" (( "(") (binary_expression "__s + 4" (identifier "__s") (+ "+") (number_literal "4")) (, ",") (binary_expression "(int)&local_26 + iVar3" (cast_expression "(int)&local_26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_26" (& "&") (identifier "local_26"))) (+ "+") (identifier "iVar3")) () ")")))) (, ",") (binary_expression "iVar4 + iVar3 < 4" (binary_expression "iVar4 + iVar3" (identifier "iVar4") (+ "+") (identifier "iVar3")) (< "<") (number_literal "4"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)))" (( "(") (parenthesized_expression "(uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))" (( "(") (comma_expression "uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18, 0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" (assignment_expression "uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18" (identifier "uVar5") (= "=") (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |\n                          local_26 << 0x18" (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8" (binary_expression "local_26 >> 0x18 | (local_26 & 0xff0000) >> 8" (binary_expression "local_26 >> 0x18" (identifier "local_26") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_26 & 0xff0000) >> 8" (parenthesized_expression "(local_26 & 0xff0000)" (( "(") (binary_expression "local_26 & 0xff0000" (identifier "local_26") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_26 & 0xff00) << 8" (parenthesized_expression "(local_26 & 0xff00)" (( "(") (binary_expression "local_26 & 0xff00" (identifier "local_26") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_26 << 0x18" (identifier "local_26") (<< "<<") (number_literal "0x18")))) (, ",") (binary_expression "0x40 < uVar5 ||\n                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" (binary_expression "0x40 < uVar5" (number_literal "0x40") (< "<") (identifier "uVar5")) (|| "||") (parenthesized_expression "(sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3)" (( "(") (comma_expression "sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3" (assignment_expression "sVar1 = strlen(__s)" (identifier "sVar1") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (, ",") (binary_expression "sVar1 < (uVar5 + 6) / 3" (identifier "sVar1") (< "<") (binary_expression "(uVar5 + 6) / 3" (parenthesized_expression "(uVar5 + 6)" (( "(") (binary_expression "uVar5 + 6" (identifier "uVar5") (+ "+") (number_literal "6")) () ")")) (/ "/") (number_literal "3")))) () ")")))) () ")")) () ")"))) () ")")) (; ";")) (expression_statement "memcpy(param_1,__s,sVar1 + 1);" (call_expression "memcpy(param_1,__s,sVar1 + 1)" (identifier "memcpy") (argument_list "(param_1,__s,sVar1 + 1)" (( "(") (identifier "param_1") (, ",") (identifier "__s") (, ",") (binary_expression "sVar1 + 1" (identifier "sVar1") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0002de50:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }" (statement_identifier "LAB_0002de50") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00066390();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_00066390();\n  }" ({ "{") (expression_statement "FUN_00066390();" (call_expression "FUN_00066390()" (identifier "FUN_00066390") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (labeled_statement "LAB_0002ddc0:\n  if (*pcVar8 != ':') goto joined_r0x0002dc32;" (statement_identifier "LAB_0002ddc0") (: ":") (if_statement "if (*pcVar8 != ':') goto joined_r0x0002dc32;" (if "if") (parenthesized_expression "(*pcVar8 != ':')" (( "(") (binary_expression "*pcVar8 != ':'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (!= "!=") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")")) (goto_statement "goto joined_r0x0002dc32;" (goto "goto") (statement_identifier "joined_r0x0002dc32") (; ";")))) (expression_statement "pcVar8 = pcVar8 + 3;" (assignment_expression "pcVar8 = pcVar8 + 3" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + 3" (identifier "pcVar8") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (pcVar8 == __s + 0x2f) {\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }" (if "if") (parenthesized_expression "(pcVar8 == __s + 0x2f)" (( "(") (binary_expression "pcVar8 == __s + 0x2f" (identifier "pcVar8") (== "==") (binary_expression "__s + 0x2f" (identifier "__s") (+ "+") (number_literal "0x2f"))) () ")")) (compound_statement "{\n    pp_Var9 = __ctype_tolower_loc();\n    iVar3 = 0;\n    while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }\n    param_1[0x2f] = '\0';\n    uVar6 = 1;\n    goto LAB_0002de50;\n  }" ({ "{") (expression_statement "pp_Var9 = __ctype_tolower_loc();" (assignment_expression "pp_Var9 = __ctype_tolower_loc()" (identifier "pp_Var9") (= "=") (call_expression "__ctype_tolower_loc()" (identifier "__ctype_tolower_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      param_1[iVar3] = (char)(*pp_Var9)[cVar12];\n      iVar3 = iVar3 + 1;\n      if (iVar3 == 0x2f) break;\n      cVar12 = __s[iVar3];\n    }" ({ "{") (expression_statement "param_1[iVar3] = (char)(*pp_Var9)[cVar12];" (assignment_expression "param_1[iVar3] = (char)(*pp_Var9)[cVar12]" (subscript_expression "param_1[iVar3]" (identifier "param_1") ([ "[") (identifier "iVar3") (] "]")) (= "=") (cast_expression "(char)(*pp_Var9)[cVar12]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "(*pp_Var9)[cVar12]" (parenthesized_expression "(*pp_Var9)" (( "(") (pointer_expression "*pp_Var9" (* "*") (identifier "pp_Var9")) () ")")) ([ "[") (identifier "cVar12") (] "]")))) (; ";")) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar3 == 0x2f) break;" (if "if") (parenthesized_expression "(iVar3 == 0x2f)" (( "(") (binary_expression "iVar3 == 0x2f" (identifier "iVar3") (== "==") (number_literal "0x2f")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "cVar12 = __s[iVar3];" (assignment_expression "cVar12 = __s[iVar3]" (identifier "cVar12") (= "=") (subscript_expression "__s[iVar3]" (identifier "__s") ([ "[") (identifier "iVar3") (] "]"))) (; ";")) (} "}"))) (expression_statement "param_1[0x2f] = '\0';" (assignment_expression "param_1[0x2f] = '\0'" (subscript_expression "param_1[0x2f]" (identifier "param_1") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0002de50;" (goto "goto") (statement_identifier "LAB_0002de50") (; ";")) (} "}"))) (goto_statement "goto LAB_0002ddc0;" (goto "goto") (statement_identifier "LAB_0002ddc0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int function_1(char *key)

{
  char *var_7;
  int var_19;
  size_t var_4;
  char *var_12;
  int var_14;
  int var_16;
  type_1 var_17;
  char *var_10;
  char *var_21;
  type_2 **pp_Var9;
  char var_9;
  char *var_11;
  char var_5;
  char *var_3;
  int var_1;
  type_3 var_15 [6];
  
  var_19 = *(int *)(var_1 + 0x14);
  var_3 = key;
  do {
    do {
      var_4 = var_2(var_3," \t");
      var_7 = var_3 + var_4;
      var_5 = *var_7;
      if (var_5 == '\0') {
        var_14 = 0;
        goto LAB_0002de50;
      }
      var_4 = var_6(var_7," \t");
      var_3 = var_7 + var_4;
      var_12 = var_7;
      var_11 = var_7;
      if (*var_3 == '\0') {
        var_4 = var_8(var_7);
        if (var_4 != 0x2f) goto LAB_0002dc40;
        var_4 = var_2(var_7,"0123456789abcdefABCDEF:");
        var_21 = var_3;
        if (var_7[var_4] != '\0') goto LAB_0002dc40;
LAB_0002dd76:
        var_10 = var_7 + 1;
        var_9 = var_5;
        while ((var_3 = var_21, var_9 != ':' && (*var_10 != ':'))) {
          if (var_7 + 0x31 == var_10 + 3) {
            var_21 = var_7 + 2;
            goto LAB_0002ddc0;
          }
          var_9 = var_10[2];
          var_10 = var_10 + 3;
        }
      }
      else {
        var_21 = var_3 + 1;
        *var_3 = '\0';
        var_4 = var_8(var_7);
        var_5 = *var_7;
        var_3 = var_21;
        if ((var_4 == 0x2f) && (var_4 = var_2(var_7,"0123456789abcdefABCDEF:"), var_7[var_4] == '\0'))
        goto LAB_0002dd76;
      }
joined_r0x0002dc32:
      while (var_5 != '\0') {
LAB_0002dc40:
        if ((var_5 != '\n') && (var_5 != '\r')) {
          *var_11 = var_5;
          var_11 = var_11 + 1;
        }
        var_5 = var_12[1];
        var_12 = var_12 + 1;
      }
      *var_11 = '\0';
      var_4 = var_8(var_7);
    } while ((((var_4 & 3) != 0) || (var_4 < 9)) ||
            (var_4 = var_2(var_7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")
            , var_7[var_4] != '\0'));
    var_14 = var_13(var_7,var_15);
  } while (((var_14 < 3) || (var_16 = var_13(var_7 + 4,var_15 + var_14), var_16 + var_14 < 4))
          || ((var_17 = (type_1)var_15._0_4_ >> 0x18 | (var_15._0_4_ & 0xff0000) >> 8 |
                       (var_15._0_4_ & 0xff00) << 8 | var_15._0_4_ << 0x18, 0x40 < var_17 ||
              (var_4 = var_8(var_7), var_4 < (var_17 + 6) / 3))));
  var_18(key,var_7,var_4 + 1);
  var_14 = 1;
LAB_0002de50:
  if (var_19 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_20();
  }
  return var_14;
LAB_0002ddc0:
  if (*var_21 != ':') goto joined_r0x0002dc32;
  var_21 = var_21 + 3;
  if (var_21 == var_7 + 0x2f) {
    pp_Var9 = var_22();
    var_14 = 0;
    while( true ) {
      key[var_14] = (char)(*pp_Var9)[var_5];
      var_14 = var_14 + 1;
      if (var_14 == 0x2f) break;
      var_5 = var_7[var_14];
    }
    key[0x2f] = '\0';
    var_14 = 1;
    goto LAB_0002de50;
  }
  goto LAB_0002ddc0;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 MASKED(char *param_1)

{
  char *__s;
  size_t sVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  undefined4 uVar6;
  char *pcVar7;
  char *pcVar8;
  __int32_t **pp_Var9;
  char cVar10;
  char *pcVar11;
  char cVar12;
  char *__s_00;
  int in_GS_OFFSET;
  uint local_26;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2db89;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  __s_00 = param_1;
  do {
    do {
      sVar1 = strspn(__s_00," \t");
      __s = __s_00 + sVar1;
      cVar12 = *__s;
      if (cVar12 == '\0') {
        uVar6 = 0;
        goto LAB_0002de50;
      }
      sVar1 = strcspn(__s," \t");
      __s_00 = __s + sVar1;
      pcVar2 = __s;
      pcVar11 = __s;
      if (*__s_00 == '\0') {
        sVar1 = strlen(__s);
        if (sVar1 != 0x2f) goto LAB_0002dc40;
        sVar1 = strspn(__s,"0123456789abcdefABCDEF:");
        pcVar8 = __s_00;
        if (__s[sVar1] != '\0') goto LAB_0002dc40;
LAB_0002dd76:
        pcVar7 = __s + 1;
        cVar10 = cVar12;
        while ((__s_00 = pcVar8, cVar10 != ':' && (*pcVar7 != ':'))) {
          if (__s + 0x31 == pcVar7 + 3) {
            pcVar8 = __s + 2;
            goto LAB_0002ddc0;
          }
          cVar10 = pcVar7[2];
          pcVar7 = pcVar7 + 3;
        }
      }
      else {
        pcVar8 = __s_00 + 1;
        *__s_00 = '\0';
        sVar1 = strlen(__s);
        cVar12 = *__s;
        __s_00 = pcVar8;
        if ((sVar1 == 0x2f) && (sVar1 = strspn(__s,"0123456789abcdefABCDEF:"), __s[sVar1] == '\0'))
        goto LAB_0002dd76;
      }
joined_r0x0002dc32:
      while (cVar12 != '\0') {
LAB_0002dc40:
        if ((cVar12 != '\n') && (cVar12 != '\r')) {
          *pcVar11 = cVar12;
          pcVar11 = pcVar11 + 1;
        }
        cVar12 = pcVar2[1];
        pcVar2 = pcVar2 + 1;
      }
      *pcVar11 = '\0';
      sVar1 = strlen(__s);
    } while ((((sVar1 & 3) != 0) || (sVar1 < 9)) ||
            (sVar1 = strspn(__s,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/=")
            , __s[sVar1] != '\0'));
    iVar3 = FUN_0002ce50(__s,&local_26);
  } while (((iVar3 < 3) || (iVar4 = FUN_0002ce50(__s + 4,(int)&local_26 + iVar3), iVar4 + iVar3 < 4)
           ) || ((uVar5 = local_26 >> 0x18 | (local_26 & 0xff0000) >> 8 | (local_26 & 0xff00) << 8 |
                          local_26 << 0x18, 0x40 < uVar5 ||
                 (sVar1 = strlen(__s), sVar1 < (uVar5 + 6) / 3))));
  memcpy(param_1,__s,sVar1 + 1);
  uVar6 = 1;
LAB_0002de50:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00066390();
  }
  return uVar6;
LAB_0002ddc0:
  if (*pcVar8 != ':') goto joined_r0x0002dc32;
  pcVar8 = pcVar8 + 3;
  if (pcVar8 == __s + 0x2f) {
    pp_Var9 = __ctype_tolower_loc();
    iVar3 = 0;
    while( true ) {
      param_1[iVar3] = (char)(*pp_Var9)[cVar12];
      iVar3 = iVar3 + 1;
      if (iVar3 == 0x2f) break;
      cVar12 = __s[iVar3];
    }
    param_1[0x2f] = '\0';
    uVar6 = 1;
    goto LAB_0002de50;
  }
  goto LAB_0002ddc0;
}

