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

void load_open_settings(void *sesskey,Conf *conf)

{
  int iVar1;
  char cVar2;
  char *pcVar3;
  Backend *pBVar4;
  int iVar5;
  int iVar6;
  char *pcVar7;
  long value;
  byte *pbVar8;
  byte *pbVar9;
  undefined4 *puVar10;
  char *pcVar11;
  byte *pbVar12;
  int in_GS_OFFSET;
  bool bVar13;
  bool bVar14;
  bool bVar15;
  byte bVar16;
  byte *local_70;
  undefined4 *local_68;
  byte *local_64;
  int c0;
  int c1;
  int c2;
  char buf [20];
  
  bVar16 = 0;
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  conf_set_int(conf,0x2b,0);
  conf_set_str(conf,0x14,"");
  conf_set_str(conf,0x15,"");
  conf_set_str(conf,0x2e,"");
  gpps(sesskey,"HostName","",conf,0);
  gppfile(sesskey,"LogFileName",conf,0x77);
  gppi(sesskey,"LogType",0,conf,0x78);
  gppi(sesskey,"LogFileClash",-1,conf,0x79);
  gppi(sesskey,"LogFlush",1,conf,0x7a);
  gppi(sesskey,"SSHLogOmitPasswords",1,conf,0x7b);
  gppi(sesskey,"SSHLogOmitData",0,conf,0x7c);
  pcVar3 = gpps_raw(sesskey,"Protocol","default");
  conf_set_int(conf,2,default_protocol);
  conf_set_int(conf,1,default_port);
  pBVar4 = backend_from_name(pcVar3);
  if (pBVar4 != (Backend *)0x0) {
    conf_set_int(conf,2,pBVar4->protocol);
    gppi(sesskey,"PortNumber",default_port,conf,1);
  }
  safefree(pcVar3);
  gppi(sesskey,"AddressFamily",0,conf,3);
  iVar5 = platform_default_i("CloseOnExit",1);
  iVar5 = read_setting_i(sesskey,"CloseOnExit",iVar5);
  conf_set_int(conf,4,(iVar5 + 1) % 3);
  gppi(sesskey,"WarnOnClose",1,conf,5);
  iVar5 = platform_default_i("PingInterval",0);
  iVar5 = read_setting_i(sesskey,"PingInterval",iVar5);
  iVar6 = platform_default_i("PingIntervalSecs",0);
  iVar6 = read_setting_i(sesskey,"PingIntervalSecs",iVar6);
  conf_set_int(conf,6,iVar5 * 0x3c + iVar6);
  gppi(sesskey,"TCPNoDelay",1,conf,7);
  gppi(sesskey,"TCPKeepalives",0,conf,8);
  gpps(sesskey,"TerminalType","xterm",conf,0x30);
  gpps(sesskey,"TerminalSpeed","38400,38400",conf,0x31);
  iVar5 = gppmap(sesskey,"TerminalModes",conf,0x32);
  if (iVar5 != 0) {
    local_68 = (undefined4 *)(ttymodes + 8);
    pbVar8 = &DAT_000732e4;
    local_64 = &DAT_000732df;
    do {
      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);
      bVar13 = false;
      bVar15 = pcVar3 == (char *)0x0;
      if (bVar15) {
        iVar5 = 6;
        pbVar9 = pbVar8;
        pbVar12 = (byte *)"IUTF8";
        do {
          if (iVar5 == 0) break;
          iVar5 = iVar5 + -1;
          bVar13 = *pbVar9 < *pbVar12;
          bVar15 = *pbVar9 == *pbVar12;
          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;
          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;
        } while (bVar15);
        pcVar3 = "A";
        if ((!bVar13 && !bVar15) != bVar13) {
          pcVar3 = "N";
        }
        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);
      }
      if (local_64 == (byte *)0x0) goto LAB_00026f8c;
      pbVar9 = (byte *)*local_68;
      local_68 = local_68 + 1;
      pbVar8 = local_64;
      local_64 = pbVar9;
    } while( true );
  }
  pcVar3 = "INTR";
  pcVar7 = "QUIT";
  puVar10 = (undefined4 *)(ttymodes + 8);
  while (conf_set_str_str(conf,0x32,pcVar3,"A"), pcVar7 != (char *)0x0) {
    pcVar3 = pcVar7;
    pcVar7 = (char *)*puVar10;
    puVar10 = puVar10 + 1;
  }
LAB_00026f8c:
  gpps(sesskey,"ProxyExcludeList","",conf,10);
  iVar5 = platform_default_i("ProxyDNS",1);
  iVar5 = read_setting_i(sesskey,"ProxyDNS",iVar5);
  conf_set_int(conf,0xb,(iVar5 + 1) % 3);
  gppi(sesskey,"ProxyLocalhost",0,conf,0xc);
  gppi(sesskey,"ProxyMethod",-1,conf,0xd);
  iVar5 = conf_get_int(conf,0xd);
  if (iVar5 == -1) {
    iVar5 = platform_default_i("ProxyType",0);
    iVar5 = read_setting_i(sesskey,"ProxyType",iVar5);
    if (iVar5 == 0) {
      conf_set_int(conf,0xd,0);
    }
    else if (iVar5 == 1) {
      conf_set_int(conf,0xd,3);
    }
    else if (iVar5 == 3) {
      conf_set_int(conf,0xd,4);
    }
    else if (iVar5 == 4) {
      conf_set_int(conf,0xd,5);
    }
    else {
      iVar5 = platform_default_i("ProxySOCKSVersion",5);
      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);
      if (iVar5 == 5) {
        conf_set_int(conf,0xd,2);
      }
      else {
        conf_set_int(conf,0xd,1);
      }
    }
  }
  gpps(sesskey,"ProxyHost","proxy",conf,0xe);
  gppi(sesskey,"ProxyPort",0x50,conf,0xf);
  gpps(sesskey,"ProxyUsername","",conf,0x10);
  gpps(sesskey,"ProxyPassword","",conf,0x11);
  gpps(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12);
  gppi(sesskey,"ProxyLogToTerm",1,conf,0x13);
  gppmap(sesskey,"Environment",conf,0x33);
  gpps(sesskey,"UserName","",conf,0x34);
  gppi(sesskey,"UserNameFromEnvironment",0,conf,0x35);
  gpps(sesskey,"LocalUserName","",conf,0x36);
  gppi(sesskey,"NoPTY",0,conf,0x16);
  gppi(sesskey,"Compression",0,conf,0x17);
  gppi(sesskey,"TryAgent",1,conf,0x1c);
  gppi(sesskey,"AgentFwd",0,conf,0x1d);
  gppi(sesskey,"ChangeUsername",0,conf,0x1e);
  gppi(sesskey,"GssapiFwd",0,conf,0x28);
  pcVar3 = gpps_raw(sesskey,"Cipher","");
  gprefs_from_str(pcVar3,ciphernames,7,conf,0x1f);
  safefree(pcVar3);
  iVar5 = platform_default_i("BugDHGEx2",0);
  iVar5 = read_setting_i(sesskey,"BugDHGEx2",iVar5);
  pcVar3 = "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1";
  if (iVar5 == 2) {
    pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";
  }
  local_70 = (byte *)gpps_raw(sesskey,"KEX",pcVar3);
  bVar13 = false;
  bVar15 = local_70 == (byte *)0x0;
  if (bVar15) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");
  }
  iVar5 = 0x34;
  pbVar8 = local_70;
  pbVar9 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";
  do {
    if (iVar5 == 0) break;
    iVar5 = iVar5 + -1;
    bVar13 = *pbVar8 < *pbVar9;
    bVar15 = *pbVar8 == *pbVar9;
    pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;
    pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;
  } while (bVar15);
  bVar14 = false;
  bVar13 = (!bVar13 && !bVar15) == bVar13;
  if (bVar13) {
    safefree(local_70);
    local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");
  }
  else {
    iVar5 = 0x34;
    pbVar8 = local_70;
    pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";
    do {
      if (iVar5 == 0) break;
      iVar5 = iVar5 + -1;
      bVar14 = *pbVar8 < *pbVar9;
      bVar13 = *pbVar8 == *pbVar9;
      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;
      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;
    } while (bVar13);
    if ((!bVar14 && !bVar13) == bVar14) {
      safefree(local_70);
      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");
    }
  }
  gprefs_from_str((char *)local_70,kexnames,6,conf,0x18);
  safefree(local_70);
  pcVar3 = gpps_raw(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN");
  gprefs_from_str(pcVar3,hknames,5,conf,0x19);
  safefree(pcVar3);
  gppi(sesskey,"RekeyTime",0x3c,conf,0x1a);
  gpps(sesskey,"RekeyBytes","1G",conf,0x1b);
  iVar5 = platform_default_i("SshProt",3);
  iVar5 = read_setting_i(sesskey,"SshProt",iVar5);
  if (iVar5 == 1) {
    iVar5 = 0;
  }
  else if (iVar5 == 2) {
    iVar5 = 3;
  }
  conf_set_int(conf,0x21,iVar5);
  gpps(sesskey,"LogHost","",conf,9);
  gppi(sesskey,"SSH2DES",0,conf,0x22);
  gppi(sesskey,"SshNoAuth",0,conf,0x23);
  gppi(sesskey,"SshBanner",1,conf,0x24);
  gppi(sesskey,"AuthTIS",0,conf,0x25);
  gppi(sesskey,"AuthKI",1,conf,0x26);
  gppi(sesskey,"AuthGSSAPI",1,conf,0x27);
  iVar5 = ngsslibs;
  pcVar3 = gpps_raw(sesskey,"GSSLibs","");
  gprefs_from_str(pcVar3,(keyvalwhere *)gsslibkeywords,iVar5,conf,0x29);
  safefree(pcVar3);
  gppfile(sesskey,"GSSCustom",conf,0x2a);
  gppi(sesskey,"SshNoShell",0,conf,0x2d);
  gppfile(sesskey,"PublicKeyFile",conf,0x20);
  gpps(sesskey,"RemoteCommand","",conf,0x14);
  gppi(sesskey,"RFCEnviron",0,conf,0x37);
  gppi(sesskey,"PassiveTelnet",0,conf,0x38);
  gppi(sesskey,"BackspaceIsDelete",1,conf,0x3f);
  gppi(sesskey,"RXVTHomeEnd",0,conf,0x40);
  gppi(sesskey,"LinuxFunctionKeys",0,conf,0x41);
  gppi(sesskey,"NoApplicationKeys",0,conf,0x43);
  gppi(sesskey,"NoApplicationCursors",0,conf,0x42);
  gppi(sesskey,"NoMouseReporting",0,conf,0x44);
  gppi(sesskey,"NoRemoteResize",0,conf,0x45);
  gppi(sesskey,"NoAltScreen",0,conf,0x46);
  gppi(sesskey,"NoRemoteWinTitle",0,conf,0x47);
  gppi(sesskey,"NoRemoteClearScroll",0,conf,0x48);
  iVar5 = platform_default_i("NoRemoteQTitle",1);
  iVar5 = read_setting_i(sesskey,"NoRemoteQTitle",iVar5);
  gppi(sesskey,"RemoteQTitleAction",(iVar5 == 0) + 1,conf,0x4b);
  gppi(sesskey,"NoDBackspace",0,conf,0x49);
  gppi(sesskey,"NoRemoteCharset",0,conf,0x4a);
  gppi(sesskey,"ApplicationCursorKeys",0,conf,0x4c);
  gppi(sesskey,"ApplicationKeypad",0,conf,0x4d);
  gppi(sesskey,"NetHackKeypad",0,conf,0x4e);
  gppi(sesskey,"AltF4",1,conf,0x51);
  gppi(sesskey,"AltSpace",0,conf,0x52);
  gppi(sesskey,"AltOnly",0,conf,0x53);
  gppi(sesskey,"ComposeKey",0,conf,0x5b);
  gppi(sesskey,"CtrlAltKeys",1,conf,0x5c);
  gppi(sesskey,"TelnetKey",0,conf,0x4f);
  gppi(sesskey,"TelnetRet",1,conf,0x50);
  gppi(sesskey,"LocalEcho",2,conf,0x54);
  gppi(sesskey,"LocalEdit",2,conf,0x55);
  gpps(sesskey,"Answerback","PuTTY",conf,0x80);
  gppi(sesskey,"AlwaysOnTop",0,conf,0x56);
  gppi(sesskey,"FullScreenOnAltEnter",0,conf,0x57);
  gppi(sesskey,"HideMousePtr",0,conf,0x7d);
  gppi(sesskey,"SunkenEdge",0,conf,0x7e);
  gppi(sesskey,"WindowBorder",1,conf,0x7f);
  gppi(sesskey,"CurType",0,conf,100);
  gppi(sesskey,"BlinkCur",0,conf,0x65);
  gppi(sesskey,"Beep",1,conf,0x66);
  gppi(sesskey,"BeepInd",0,conf,0x67);
  gppfile(sesskey,"BellWaveFile",conf,0x6c);
  gppi(sesskey,"BellOverload",1,conf,0x68);
  gppi(sesskey,"BellOverloadN",5,conf,0x69);
  iVar5 = platform_default_i("BellOverloadT",2000000);
  iVar5 = read_setting_i(sesskey,"BellOverloadT",iVar5);
  conf_set_int(conf,0x6a,iVar5 / 1000);
  iVar5 = platform_default_i("BellOverloadS",5000000);
  iVar5 = read_setting_i(sesskey,"BellOverloadS",iVar5);
  conf_set_int(conf,0x6b,iVar5 / 1000);
  gppi(sesskey,"ScrollbackLines",2000,conf,0x60);
  gppi(sesskey,"DECOriginMode",0,conf,0x61);
  gppi(sesskey,"AutoWrapMode",1,conf,0x62);
  gppi(sesskey,"LFImpliesCR",0,conf,99);
  gppi(sesskey,"CRImpliesLF",0,conf,0xb6);
  gppi(sesskey,"DisableArabicShaping",0,conf,0x82);
  gppi(sesskey,"DisableBidi",0,conf,0x83);
  gppi(sesskey,"WinNameAlways",1,conf,0x72);
  gpps(sesskey,"WinTitle","",conf,0x5f);
  gppi(sesskey,"TermWidth",0x50,conf,0x73);
  gppi(sesskey,"TermHeight",0x18,conf,0x74);
  gppfont(sesskey,"Font",conf,0x75);
  gppi(sesskey,"FontQuality",0,conf,0x76);
  gppi(sesskey,"FontVTMode",4,conf,0x90);
  gppi(sesskey,"UseSystemColours",0,conf,0x86);
  gppi(sesskey,"TryPalette",0,conf,0x87);
  gppi(sesskey,"ANSIColour",1,conf,0x84);
  gppi(sesskey,"Xterm256Colour",1,conf,0x85);
  iVar5 = platform_default_i("BoldAsColour",1);
  pcVar3 = "187,187,187";
  iVar5 = read_setting_i(sesskey,"BoldAsColour",iVar5);
  conf_set_int(conf,0x88,iVar5 + 1);
  iVar5 = 0;
  while( true ) {
    __sprintf_chk(buf,1,0x14,"Colour%d",iVar5);
    pcVar3 = gpps_raw(sesskey,buf,pcVar3);
    iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2);
    if (iVar6 == 3) {
      iVar6 = iVar5 * 3;
      conf_set_int_int(conf,0x89,iVar6,c0);
      conf_set_int_int(conf,0x89,iVar6 + 1,c1);
      conf_set_int_int(conf,0x89,iVar6 + 2,c2);
    }
    iVar5 = iVar5 + 1;
    safefree(pcVar3);
    if (iVar5 == 0x16) break;
    pcVar3 = load_open_settings::lexical_block_12::defaults[iVar5];
  }
  gppi(sesskey,"RawCNP",0,conf,0x8c);
  gppi(sesskey,"PasteRTF",0,conf,0x8d);
  gppi(sesskey,"MouseIsXterm",0,conf,0x8a);
  pcVar3 = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
  gppi(sesskey,"RectSelect",0,conf,0x8b);
  gppi(sesskey,"MouseOverride",1,conf,0x8e);
  local_70 = (byte *)0x20;
LAB_00027ba9:
  __sprintf_chk(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20);
  pcVar7 = gpps_raw(sesskey,buf,pcVar3);
  cVar2 = *pcVar7;
  iVar5 = (int)local_70 + -0x20;
  pcVar3 = pcVar7;
  do {
    pcVar11 = pcVar3;
    if ((cVar2 != ',') && (cVar2 != '\0')) {
      do {
        pcVar11 = pcVar11 + 1;
        cVar2 = *pcVar11;
        if (cVar2 == '\0') break;
      } while (cVar2 != ',');
    }
    if (cVar2 == ',') {
      *pcVar11 = '\0';
      pcVar11 = pcVar11 + 1;
    }
    value = strtol(pcVar3,(char **)0x0,10);
    iVar6 = iVar5 + 1;
    conf_set_int_int(conf,0x8f,iVar5,value);
    if (local_70 == (byte *)iVar6) break;
    cVar2 = *pcVar11;
    iVar5 = iVar6;
    pcVar3 = pcVar11;
  } while( true );
  safefree(pcVar7);
  local_70 = (byte *)((int)local_70 + 0x20);
  if (local_70 == (byte *)0x120) {
    gpps(sesskey,"LineCodePage","",conf,0x91);
    gppi(sesskey,"CJKAmbigWide",0,conf,0x92);
    gppi(sesskey,"UTF8Override",1,conf,0x93);
    gpps(sesskey,"Printer","",conf,0x81);
    gppi(sesskey,"CapsLockCyr",0,conf,0x94);
    gppi(sesskey,"ScrollBar",1,conf,0x6d);
    gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e);
    gppi(sesskey,"ScrollOnKey",0,conf,0x58);
    gppi(sesskey,"ScrollOnDisp",1,conf,0x59);
    gppi(sesskey,"EraseToScrollback",1,conf,0x5a);
    gppi(sesskey,"LockSize",0,conf,0x6f);
    gppi(sesskey,"BCE",1,conf,0x70);
    gppi(sesskey,"BlinkText",0,conf,0x71);
    gppi(sesskey,"X11Forward",0,conf,0x95);
    gpps(sesskey,"X11Display","",conf,0x96);
    gppi(sesskey,"X11AuthType",1,conf,0x97);
    gppfile(sesskey,"X11AuthFile",conf,0x98);
    gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99);
    gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a);
    gppmap(sesskey,"PortForwardings",conf,0x9b);
    iVar5 = platform_default_i("BugIgnore1",0);
    iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5);
    conf_set_int(conf,0x9c,2 - iVar5);
    iVar5 = platform_default_i("BugPlainPW1",0);
    iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5);
    conf_set_int(conf,0x9d,2 - iVar5);
    iVar5 = platform_default_i("BugRSA1",0);
    iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5);
    conf_set_int(conf,0x9e,2 - iVar5);
    iVar5 = platform_default_i("BugIgnore2",0);
    iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5);
    conf_set_int(conf,0xa5,2 - iVar5);
    iVar5 = platform_default_i("BugHMAC2",0);
    iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5);
    conf_set_int(conf,0x9f,2 - iVar5);
    if (iVar5 == 0) {
      iVar5 = platform_default_i("BuggyMAC",0);
      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);
      if (iVar5 == 1) {
        conf_set_int(conf,0x9f,0);
      }
    }
    iVar5 = platform_default_i("BugDeriveKey2",0);
    iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5);
    conf_set_int(conf,0xa0,2 - iVar5);
    iVar5 = platform_default_i("BugRSAPad2",0);
    iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5);
    conf_set_int(conf,0xa1,2 - iVar5);
    iVar5 = platform_default_i("BugPKSessID2",0);
    iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5);
    conf_set_int(conf,0xa2,2 - iVar5);
    iVar5 = platform_default_i("BugRekey2",0);
    iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5);
    conf_set_int(conf,0xa3,2 - iVar5);
    iVar5 = platform_default_i("BugMaxPkt2",0);
    iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5);
    conf_set_int(conf,0xa4,2 - iVar5);
    iVar5 = platform_default_i("BugOldGex2",0);
    iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5);
    conf_set_int(conf,0xa6,2 - iVar5);
    iVar5 = platform_default_i("BugWinadj",0);
    iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5);
    conf_set_int(conf,0xa7,2 - iVar5);
    iVar5 = platform_default_i("BugChanReq",0);
    iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5);
    conf_set_int(conf,0xa8,2 - iVar5);
    conf_set_int(conf,0xa9,0);
    gppi(sesskey,"StampUtmp",1,conf,0xae);
    gppi(sesskey,"LoginShell",1,conf,0xaf);
    gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0);
    gppi(sesskey,"ShadowBold",0,conf,0xb1);
    gppfont(sesskey,"BoldFont",conf,0xb2);
    gppfont(sesskey,"WideFont",conf,0xb3);
    gppfont(sesskey,"WideBoldFont",conf,0xb4);
    gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5);
    gpps(sesskey,"SerialLine","",conf,0x39);
    gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a);
    gppi(sesskey,"SerialDataBits",8,conf,0x3b);
    gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c);
    gppi(sesskey,"SerialParity",0,conf,0x3d);
    gppi(sesskey,"SerialFlowControl",1,conf,0x3e);
    gpps(sesskey,"WindowClass","",conf,0xb7);
    gppi(sesskey,"ConnectionSharing",0,conf,0xaa);
    gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab);
    gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac);
    gppmap(sesskey,"SSHManualHostKeys",conf,0xad);
    if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail_local();
    }
    return;
  }
  pcVar3 = load_open_settings::lexical_block_13::defaults_1[iVar6 >> 5];
  goto LAB_00027ba9;
}



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

void FUN_00026ca0(undefined4 param_1,undefined4 param_2)

{
  char *__nptr;
  char cVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  char *pcVar5;
  long lVar6;
  undefined *puVar7;
  byte *pbVar8;
  undefined *puVar9;
  byte *pbVar10;
  undefined **ppuVar11;
  char *pcVar12;
  byte *pbVar13;
  int in_GS_OFFSET;
  bool bVar14;
  bool bVar15;
  bool bVar16;
  byte bVar17;
  byte *local_70;
  undefined **local_68;
  byte *local_64;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined1 local_34 [20];
  int local_20;
  undefined4 uStack_14;
  
  bVar17 = 0;
  uStack_14 = 0x26ca9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  FUN_00017aa0(param_2,0x2b,0);
  FUN_00017be0(param_2,0x14,&DAT_000712ce);
  FUN_00017be0(param_2,0x15,&DAT_000712ce);
  FUN_00017be0(param_2,0x2e,&DAT_000712ce);
  FUN_00025320(param_2,0);
  FUN_000251c0(0x77);
  FUN_00025220(param_2,0x78);
  FUN_00025220(param_2,0x79);
  FUN_00025220(param_2,0x7a);
  FUN_00025220(param_2,0x7b);
  FUN_00025220(param_2,0x7c);
  uVar2 = FUN_000252c0();
  FUN_00017aa0(param_2,2,DAT_000a9958);
  FUN_00017aa0(param_2,1,DAT_000a9968);
  iVar3 = FUN_000254f0(uVar2);
  if (iVar3 != 0) {
    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));
    FUN_00025220(param_2,1);
  }
  FUN_0001b250(uVar2);
  FUN_00025220(param_2,3);
  uVar2 = FUN_0006a090("CloseOnExit",1);
  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);
  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);
  FUN_00025220(param_2,5);
  uVar2 = FUN_0006a090("PingInterval",0);
  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);
  uVar2 = FUN_0006a090("PingIntervalSecs",0);
  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);
  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);
  FUN_00025220(param_2,7);
  FUN_00025220(param_2,8);
  FUN_00025320(param_2,0x30);
  FUN_00025320(param_2,0x31);
  iVar3 = FUN_00025360(0x32);
  if (iVar3 != 0) {
    local_68 = &PTR_s_ERASE_000a79c8;
    pbVar8 = &DAT_000732e4;
    local_64 = &DAT_000732df;
    do {
      iVar3 = FUN_00017600(param_2,0x32,pbVar8);
      bVar14 = false;
      bVar16 = iVar3 == 0;
      if (bVar16) {
        iVar3 = 6;
        pbVar10 = pbVar8;
        pbVar13 = (byte *)"IUTF8";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar14 = *pbVar10 < *pbVar13;
          bVar16 = *pbVar10 == *pbVar13;
          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;
        } while (bVar16);
        puVar7 = &DAT_00070146;
        if ((!bVar14 && !bVar16) != bVar14) {
          puVar7 = &DAT_00070158;
        }
        FUN_00017c90(param_2,0x32,pbVar8,puVar7);
      }
      if (local_64 == (byte *)0x0) goto LAB_00026f8c;
      pbVar10 = *local_68;
      local_68 = local_68 + 1;
      pbVar8 = local_64;
      local_64 = pbVar10;
    } while( true );
  }
  puVar7 = &DAT_000732e4;
  puVar9 = &DAT_000732df;
  ppuVar11 = &PTR_s_ERASE_000a79c8;
  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {
    puVar7 = puVar9;
    puVar9 = *ppuVar11;
    ppuVar11 = ppuVar11 + 1;
  }
LAB_00026f8c:
  FUN_00025320(param_2,10);
  uVar2 = FUN_0006a090("ProxyDNS",1);
  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);
  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);
  FUN_00025220(param_2,0xc);
  FUN_00025220(param_2,0xd);
  iVar3 = FUN_00017380(param_2,0xd);
  if (iVar3 == -1) {
    uVar2 = FUN_0006a090("ProxyType",0);
    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);
    if (iVar3 == 0) {
      FUN_00017aa0(param_2,0xd,0);
    }
    else if (iVar3 == 1) {
      FUN_00017aa0(param_2,0xd,3);
    }
    else if (iVar3 == 3) {
      FUN_00017aa0(param_2,0xd,4);
    }
    else if (iVar3 == 4) {
      FUN_00017aa0(param_2,0xd,5);
    }
    else {
      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);
      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);
      if (iVar3 == 5) {
        FUN_00017aa0(param_2,0xd,2);
      }
      else {
        FUN_00017aa0(param_2,0xd,1);
      }
    }
  }
  FUN_00025320(param_2,0xe);
  FUN_00025220(param_2,0xf);
  FUN_00025320(param_2,0x10);
  FUN_00025320(param_2,0x11);
  FUN_00025320(param_2,0x12);
  FUN_00025220(param_2,0x13);
  FUN_00025360(0x33);
  FUN_00025320(param_2,0x34);
  FUN_00025220(param_2,0x35);
  FUN_00025320(param_2,0x36);
  FUN_00025220(param_2,0x16);
  FUN_00025220(param_2,0x17);
  FUN_00025220(param_2,0x1c);
  FUN_00025220(param_2,0x1d);
  FUN_00025220(param_2,0x1e);
  FUN_00025220(param_2,0x28);
  uVar2 = FUN_000252c0();
  FUN_00024ee0(param_2,0x1f);
  FUN_0001b250(uVar2);
  uVar2 = FUN_0006a090("BugDHGEx2",0);
  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);
  local_70 = (byte *)FUN_000252c0();
  bVar14 = false;
  bVar16 = local_70 == (byte *)0x0;
  if (bVar16) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");
  }
  iVar3 = 0x34;
  pbVar8 = local_70;
  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar14 = *pbVar8 < *pbVar10;
    bVar16 = *pbVar8 == *pbVar10;
    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;
    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
  } while (bVar16);
  bVar15 = false;
  bVar14 = (!bVar14 && !bVar16) == bVar14;
  if (bVar14) {
    FUN_0001b250(local_70);
    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");
  }
  else {
    iVar3 = 0x34;
    pbVar8 = local_70;
    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar15 = *pbVar8 < *pbVar10;
      bVar14 = *pbVar8 == *pbVar10;
      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;
      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
    } while (bVar14);
    if ((!bVar15 && !bVar14) == bVar15) {
      FUN_0001b250(local_70);
      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");
    }
  }
  FUN_00024ee0(param_2,0x18);
  FUN_0001b250(local_70);
  uVar2 = FUN_000252c0();
  FUN_00024ee0(param_2,0x19);
  FUN_0001b250(uVar2);
  FUN_00025220(param_2,0x1a);
  FUN_00025320(param_2,0x1b);
  uVar2 = FUN_0006a090("SshProt",3);
  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);
  if (iVar3 == 1) {
    iVar3 = 0;
  }
  else if (iVar3 == 2) {
    iVar3 = 3;
  }
  FUN_00017aa0(param_2,0x21,iVar3);
  FUN_00025320(param_2,9);
  FUN_00025220(param_2,0x22);
  FUN_00025220(param_2,0x23);
  FUN_00025220(param_2,0x24);
  FUN_00025220(param_2,0x25);
  FUN_00025220(param_2,0x26);
  FUN_00025220(param_2,0x27);
  uVar2 = FUN_000252c0();
  FUN_00024ee0(param_2,0x29);
  FUN_0001b250(uVar2);
  FUN_000251c0(0x2a);
  FUN_00025220(param_2,0x2d);
  FUN_000251c0(0x20);
  FUN_00025320(param_2,0x14);
  FUN_00025220(param_2,0x37);
  FUN_00025220(param_2,0x38);
  FUN_00025220(param_2,0x3f);
  FUN_00025220(param_2,0x40);
  FUN_00025220(param_2,0x41);
  FUN_00025220(param_2,0x43);
  FUN_00025220(param_2,0x42);
  FUN_00025220(param_2,0x44);
  FUN_00025220(param_2,0x45);
  FUN_00025220(param_2,0x46);
  FUN_00025220(param_2,0x47);
  FUN_00025220(param_2,0x48);
  uVar2 = FUN_0006a090("NoRemoteQTitle",1);
  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);
  FUN_00025220(param_2,0x4b);
  FUN_00025220(param_2,0x49);
  FUN_00025220(param_2,0x4a);
  FUN_00025220(param_2,0x4c);
  FUN_00025220(param_2,0x4d);
  FUN_00025220(param_2,0x4e);
  FUN_00025220(param_2,0x51);
  FUN_00025220(param_2,0x52);
  FUN_00025220(param_2,0x53);
  FUN_00025220(param_2,0x5b);
  FUN_00025220(param_2,0x5c);
  FUN_00025220(param_2,0x4f);
  FUN_00025220(param_2,0x50);
  FUN_00025220(param_2,0x54);
  FUN_00025220(param_2,0x55);
  FUN_00025320(param_2,0x80);
  FUN_00025220(param_2,0x56);
  FUN_00025220(param_2,0x57);
  FUN_00025220(param_2,0x7d);
  FUN_00025220(param_2,0x7e);
  FUN_00025220(param_2,0x7f);
  FUN_00025220(param_2,100);
  FUN_00025220(param_2,0x65);
  FUN_00025220(param_2,0x66);
  FUN_00025220(param_2,0x67);
  FUN_000251c0(0x6c);
  FUN_00025220(param_2,0x68);
  FUN_00025220(param_2,0x69);
  uVar2 = FUN_0006a090("BellOverloadT",2000000);
  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);
  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);
  uVar2 = FUN_0006a090("BellOverloadS",5000000);
  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);
  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);
  FUN_00025220(param_2,0x60);
  FUN_00025220(param_2,0x61);
  FUN_00025220(param_2,0x62);
  FUN_00025220(param_2,99);
  FUN_00025220(param_2,0xb6);
  FUN_00025220(param_2,0x82);
  FUN_00025220(param_2,0x83);
  FUN_00025220(param_2,0x72);
  FUN_00025320(param_2,0x5f);
  FUN_00025220(param_2,0x73);
  FUN_00025220(param_2,0x74);
  FUN_00025260(0x75);
  FUN_00025220(param_2,0x76);
  FUN_00025220(param_2,0x90);
  FUN_00025220(param_2,0x86);
  FUN_00025220(param_2,0x87);
  FUN_00025220(param_2,0x84);
  FUN_00025220(param_2,0x85);
  uVar2 = FUN_0006a090("BoldAsColour",1);
  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);
  FUN_00017aa0(param_2,0x88,iVar3 + 1);
  iVar3 = 0;
  do {
    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);
    uVar2 = FUN_000252c0();
    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);
    if (iVar4 == 3) {
      iVar4 = iVar3 * 3;
      FUN_00017b40(param_2,0x89,iVar4,local_40);
      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);
      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);
    }
    iVar3 = iVar3 + 1;
    FUN_0001b250(uVar2);
  } while (iVar3 != 0x16);
  FUN_00025220(param_2,0x8c);
  FUN_00025220(param_2,0x8d);
  FUN_00025220(param_2,0x8a);
  FUN_00025220(param_2,0x8b);
  FUN_00025220(param_2,0x8e);
  local_70 = (byte *)0x20;
LAB_00027ba9:
  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);
  pcVar5 = (char *)FUN_000252c0();
  cVar1 = *pcVar5;
  iVar3 = (int)local_70 + -0x20;
  __nptr = pcVar5;
  do {
    pcVar12 = __nptr;
    if ((cVar1 != ',') && (cVar1 != '\0')) {
      do {
        pcVar12 = pcVar12 + 1;
        cVar1 = *pcVar12;
        if (cVar1 == '\0') break;
      } while (cVar1 != ',');
    }
    if (cVar1 == ',') {
      *pcVar12 = '\0';
      pcVar12 = pcVar12 + 1;
    }
    lVar6 = strtol(__nptr,(char **)0x0,10);
    FUN_00017b40(param_2,0x8f,iVar3,lVar6);
    if (local_70 == (byte *)(iVar3 + 1)) break;
    cVar1 = *pcVar12;
    iVar3 = iVar3 + 1;
    __nptr = pcVar12;
  } while( true );
  FUN_0001b250(pcVar5);
  local_70 = (byte *)((int)local_70 + 0x20);
  if (local_70 == (byte *)0x120) {
    FUN_00025320(param_2,0x91);
    FUN_00025220(param_2,0x92);
    FUN_00025220(param_2,0x93);
    FUN_00025320(param_2,0x81);
    FUN_00025220(param_2,0x94);
    FUN_00025220(param_2,0x6d);
    FUN_00025220(param_2,0x6e);
    FUN_00025220(param_2,0x58);
    FUN_00025220(param_2,0x59);
    FUN_00025220(param_2,0x5a);
    FUN_00025220(param_2,0x6f);
    FUN_00025220(param_2,0x70);
    FUN_00025220(param_2,0x71);
    FUN_00025220(param_2,0x95);
    FUN_00025320(param_2,0x96);
    FUN_00025220(param_2,0x97);
    FUN_000251c0(0x98);
    FUN_00025220(param_2,0x99);
    FUN_00025220(param_2,0x9a);
    FUN_00025360(0x9b);
    uVar2 = FUN_0006a090("BugIgnore1",0);
    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);
    FUN_00017aa0(param_2,0x9c,2 - iVar3);
    uVar2 = FUN_0006a090("BugPlainPW1",0);
    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);
    FUN_00017aa0(param_2,0x9d,2 - iVar3);
    uVar2 = FUN_0006a090("BugRSA1",0);
    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);
    FUN_00017aa0(param_2,0x9e,2 - iVar3);
    uVar2 = FUN_0006a090("BugIgnore2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);
    FUN_00017aa0(param_2,0xa5,2 - iVar3);
    uVar2 = FUN_0006a090("BugHMAC2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);
    FUN_00017aa0(param_2,0x9f,2 - iVar3);
    if (iVar3 == 0) {
      uVar2 = FUN_0006a090("BuggyMAC",0);
      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);
      if (iVar3 == 1) {
        FUN_00017aa0(param_2,0x9f,0);
      }
    }
    uVar2 = FUN_0006a090("BugDeriveKey2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);
    FUN_00017aa0(param_2,0xa0,2 - iVar3);
    uVar2 = FUN_0006a090("BugRSAPad2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);
    FUN_00017aa0(param_2,0xa1,2 - iVar3);
    uVar2 = FUN_0006a090("BugPKSessID2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);
    FUN_00017aa0(param_2,0xa2,2 - iVar3);
    uVar2 = FUN_0006a090("BugRekey2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);
    FUN_00017aa0(param_2,0xa3,2 - iVar3);
    uVar2 = FUN_0006a090("BugMaxPkt2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);
    FUN_00017aa0(param_2,0xa4,2 - iVar3);
    uVar2 = FUN_0006a090("BugOldGex2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);
    FUN_00017aa0(param_2,0xa6,2 - iVar3);
    uVar2 = FUN_0006a090("BugWinadj",0);
    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);
    FUN_00017aa0(param_2,0xa7,2 - iVar3);
    uVar2 = FUN_0006a090("BugChanReq",0);
    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);
    FUN_00017aa0(param_2,0xa8,2 - iVar3);
    FUN_00017aa0(param_2,0xa9,0);
    FUN_00025220(param_2,0xae);
    FUN_00025220(param_2,0xaf);
    FUN_00025220(param_2,0xb0);
    FUN_00025220(param_2,0xb1);
    FUN_00025260(0xb2);
    FUN_00025260(0xb3);
    FUN_00025260(0xb4);
    FUN_00025220(param_2,0xb5);
    FUN_00025320(param_2,0x39);
    FUN_00025220(param_2,0x3a);
    FUN_00025220(param_2,0x3b);
    FUN_00025220(param_2,0x3c);
    FUN_00025220(param_2,0x3d);
    FUN_00025220(param_2,0x3e);
    FUN_00025320(param_2,0xb7);
    FUN_00025220(param_2,0xaa);
    FUN_00025220(param_2,0xab);
    FUN_00025220(param_2,0xac);
    FUN_00025360(0xad);
    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0006f2a0();
  }
  goto LAB_00027ba9;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00014980
ADD EBX,0x820c7
SUB ESP,0x70
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x60],EAX
XOR EAX,EAX
MOV EBP,dword ptr [ESP + 0x88]
MOV EDI,dword ptr [ESP + 0x84]
PUSH 0x0
PUSH 0x2b
PUSH EBP
LEA ESI,[EBX + 0xfffc855e]
CALL 0x00017aa0
ADD ESP,0xc
PUSH ESI
PUSH 0x14
PUSH EBP
CALL 0x00017be0
ADD ESP,0xc
PUSH ESI
PUSH 0x15
PUSH EBP
CALL 0x00017be0
ADD ESP,0xc
PUSH ESI
PUSH 0x2e
PUSH EBP
CALL 0x00017be0
POP ECX
POP EAX
PUSH 0x0
PUSH EBP
MOV ECX,ESI
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9ce2]
CALL 0x00025320
MOV EAX,EDI
MOV ECX,EBP
LEA EDX,[EBX + 0xfffc9ceb]
MOV dword ptr [ESP],0x77
CALL 0x000251c0
POP EAX
POP EDX
PUSH 0x78
PUSH EBP
MOV EAX,EDI
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9cf7]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x79
PUSH EBP
MOV EAX,EDI
MOV ECX,0xffffffff
LEA EDX,[EBX + 0xfffc9cff]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x7a
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9d0c]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x7b
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9d15]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x7c
PUSH EBP
MOV EAX,EDI
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9d29]
CALL 0x00025220
LEA ECX,[EBX + 0xfffca585]
MOV EAX,EDI
MOV dword ptr [ESP + 0x20],EDI
LEA EDX,[EBX + 0xfffc9d38]
CALL 0x000252c0
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xbe8]
PUSH dword ptr [EAX]
PUSH 0x2
PUSH EBP
CALL 0x00017aa0
LEA EDI,[EBX + 0xbf8]
ADD ESP,0xc
PUSH dword ptr [EDI]
PUSH 0x1
PUSH EBP
CALL 0x00017aa0
MOV dword ptr [ESP],ESI
CALL 0x000254f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00026e0c
SUB ESP,0x4
PUSH dword ptr [EAX + 0x48]
PUSH 0x2
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x1
PUSH EBP
MOV ECX,dword ptr [EDI]
LEA EDX,[EBX + 0xfffc9d41]
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00025220
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x0001b250
POP ECX
POP ESI
PUSH 0x3
PUSH EBP
MOV EDI,dword ptr [ESP + 0x20]
XOR ECX,ECX
LEA ESI,[EBX + 0xfffc9d4c]
LEA EDX,[EBX + 0xfffc9dc4]
MOV EAX,EDI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x1
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH EDI
CALL 0x0006c3d0
MOV EDX,0x55555556
ADD ESP,0xc
LEA ECX,[EAX + 0x1]
MOV EAX,ECX
IMUL EDX
MOV EAX,ECX
SAR EAX,0x1f
SUB EDX,EAX
LEA EAX,[EDX + EDX*0x2]
SUB ECX,EAX
PUSH ECX
PUSH 0x4
PUSH EBP
CALL 0x00017aa0
POP ECX
POP ESI
PUSH 0x5
PUSH EBP
MOV ECX,0x1
MOV EAX,EDI
LEA ESI,[EBX + 0xfffc9d64]
LEA EDX,[EBX + 0xfffc9d58]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x0
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
MOV dword ptr [ESP + 0x1c],EDI
PUSH EDI
CALL 0x0006c3d0
POP ECX
POP EDI
LEA EDI,[EBX + 0xfffc9d71]
PUSH 0x0
MOV ESI,EAX
PUSH EDI
IMUL ESI,ESI,0x3c
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
MOV EDI,dword ptr [ESP + 0x1c]
PUSH EDI
CALL 0x0006c3d0
ADD ESP,0xc
ADD ESI,EAX
PUSH ESI
PUSH 0x6
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x7
PUSH EBP
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9d82]
MOV EAX,EDI
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x8
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9d8d]
MOV EAX,EDI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x30
PUSH EBP
LEA ECX,[EBX + 0xfffca58d]
LEA EDX,[EBX + 0xfffc9d9b]
MOV EAX,EDI
CALL 0x00025320
POP ECX
POP ESI
PUSH 0x31
PUSH EBP
LEA ECX,[EBX + 0xfffca593]
LEA EDX,[EBX + 0xfffc9da8]
MOV EAX,EDI
CALL 0x00025320
MOV ECX,EBP
LEA EDX,[EBX + 0xfffc9db6]
MOV EAX,EDI
MOV dword ptr [ESP],0x32
CALL 0x00025360
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000282d1
LEA EDI,[EBX + 0xffffec58]
LEA ESI,[EBX + 0xfffca56f]
LEA EAX,[EBX + 0xfffca574]
LEA ECX,[EBX + 0xfffc73d6]
JMP 0x00026f77
MOV EDX,dword ptr [EDI]
MOV ECX,dword ptr [ESP + 0xc]
MOV EAX,ESI
ADD EDI,0x4
MOV ESI,EDX
PUSH ECX
MOV dword ptr [ESP + 0x10],ECX
PUSH EAX
PUSH 0x32
PUSH EBP
CALL 0x00017c90
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x00026f6a
SUB ESP,0x8
LEA ECX,[EBX + 0xfffc855e]
LEA ESI,[EBX + 0xfffc9de3]
PUSH 0xa
LEA EDX,[EBX + 0xfffc9dd2]
PUSH EBP
MOV EDI,dword ptr [ESP + 0x20]
MOV EAX,EDI
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x1
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH EDI
CALL 0x0006c3d0
MOV EDX,0x55555556
ADD ESP,0xc
LEA ECX,[EAX + 0x1]
MOV EAX,ECX
IMUL EDX
MOV EAX,ECX
SAR EAX,0x1f
SUB EDX,EAX
LEA EAX,[EDX + EDX*0x2]
SUB ECX,EAX
PUSH ECX
PUSH 0xb
PUSH EBP
CALL 0x00017aa0
POP ECX
POP ESI
PUSH 0xc
PUSH EBP
MOV EAX,EDI
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9dec]
MOV ESI,EDI
CALL 0x00025220
POP EDI
POP EAX
PUSH 0xd
PUSH EBP
MOV ECX,0xffffffff
LEA EDX,[EBX + 0xfffc9dfb]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0xd
PUSH EBP
CALL 0x00017380
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x00028398
SUB ESP,0x8
LEA ECX,[EBX + 0xfffc8bce]
LEA EDX,[EBX + 0xfffc9e07]
PUSH 0xe
PUSH EBP
MOV EDI,dword ptr [ESP + 0x20]
MOV EAX,EDI
CALL 0x00025320
POP EAX
POP EDX
PUSH 0xf
PUSH EBP
MOV ECX,0x50
LEA EDX,[EBX + 0xfffc9e11]
MOV EAX,EDI
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x10
PUSH EBP
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffc9e1b]
MOV EAX,EDI
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x11
PUSH EBP
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffc9e29]
MOV EAX,EDI
CALL 0x00025320
POP ECX
POP ESI
PUSH 0x12
PUSH EBP
LEA ECX,[EBX + 0xfffca5c1]
LEA EDX,[EBX + 0xfffc9e37]
MOV EAX,EDI
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x13
PUSH EBP
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9e4a]
MOV EAX,EDI
CALL 0x00025220
MOV ECX,EBP
LEA EDX,[EBX + 0xfffc9e65]
MOV EAX,EDI
MOV dword ptr [ESP],0x33
CALL 0x00025360
POP ECX
POP ESI
PUSH 0x34
PUSH EBP
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffc9e76]
MOV EAX,EDI
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x35
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9e59]
MOV EAX,EDI
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x36
PUSH EBP
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffc9e71]
MOV EAX,EDI
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x16
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9e7f]
MOV EAX,EDI
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x17
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9e85]
MOV EAX,EDI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x1c
PUSH EBP
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9e91]
MOV EAX,EDI
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x1d
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9e9a]
MOV EAX,EDI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x1e
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9ead]
MOV EAX,EDI
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x28
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9ea3]
MOV EAX,EDI
CALL 0x00025220
LEA ECX,[EBX + 0xfffcaa9c]
LEA EDX,[EBX + 0xfffc9ebc]
MOV EAX,EDI
CALL 0x000252c0
MOV ECX,0x7
MOV ESI,EAX
POP EAX
POP EDX
PUSH 0x1f
PUSH EBP
LEA EDX,[EBX + 0xffffedf0]
MOV EAX,ESI
CALL 0x00024ee0
MOV dword ptr [ESP],ESI
CALL 0x0001b250
POP ECX
POP ESI
LEA ESI,[EBX + 0xfffca5d7]
PUSH 0x0
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH EDI
CALL 0x0006c3d0
ADD ESP,0x10
LEA EDX,[EBX + 0xfffca83c]
LEA ECX,[EBX + 0xfffca878]
CMP EAX,0x2
MOV dword ptr [ESP + 0x18],ECX
MOV EAX,EDI
CMOVZ ECX,EDX
MOV dword ptr [ESP + 0x14],EDX
LEA EDX,[EBX + 0xfffc9ec3]
CALL 0x000252c0
MOV dword ptr [ESP + 0xc],EAX
TEST EAX,EAX
JZ 0x000284b3
LEA EAX,[EBX + 0xfffca8f4]
MOV ESI,dword ptr [ESP + 0xc]
MOV ECX,0x34
MOV EDI,EAX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0002841d
LEA EAX,[EBX + 0xfffca928]
MOV ESI,dword ptr [ESP + 0xc]
MOV ECX,0x34
MOV EDI,EAX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00028376
SUB ESP,0x8
MOV ECX,0x6
LEA EDX,[EBX + 0xffffed90]
PUSH 0x18
PUSH EBP
MOV ESI,dword ptr [ESP + 0x1c]
MOV EAX,ESI
CALL 0x00024ee0
MOV dword ptr [ESP],ESI
CALL 0x0001b250
MOV EDI,dword ptr [ESP + 0x20]
LEA ECX,[EBX + 0xfffca5ed]
LEA EDX,[EBX + 0xfffc9ec7]
MOV EAX,EDI
CALL 0x000252c0
MOV ECX,0x5
MOV ESI,EAX
POP EAX
POP EDX
PUSH 0x19
PUSH EBP
MOV EAX,ESI
LEA EDX,[EBX + 0xffffed30]
CALL 0x00024ee0
MOV dword ptr [ESP],ESI
CALL 0x0001b250
POP ECX
POP ESI
PUSH 0x1a
PUSH EBP
MOV ECX,0x3c
LEA EDX,[EBX + 0xfffc9ecf]
MOV EAX,EDI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x1b
PUSH EBP
LEA EDX,[EBX + 0xfffc9ed9]
LEA ECX,[EBX + 0xfffca608]
MOV EAX,EDI
CALL 0x00025320
POP ECX
POP ESI
LEA ESI,[EBX + 0xfffc9f2f]
PUSH 0x3
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH EDI
CALL 0x0006c3d0
ADD ESP,0x10
CMP EAX,0x1
JZ 0x00028482
CMP EAX,0x2
MOV EDX,0x3
CMOVZ EAX,EDX
SUB ESP,0x4
PUSH EAX
PUSH 0x21
PUSH EBP
CALL 0x00017aa0
POP ECX
POP ESI
PUSH 0x9
PUSH EBP
MOV ESI,dword ptr [ESP + 0x20]
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffc9f37]
MOV EAX,ESI
CALL 0x00025320
POP EDI
POP EAX
PUSH 0x22
PUSH EBP
XOR ECX,ECX
MOV EAX,ESI
LEA EDX,[EBX + 0xfffc9f3f]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x23
PUSH EBP
XOR ECX,ECX
MOV EAX,ESI
LEA EDX,[EBX + 0xfffc9ee4]
CALL 0x00025220
POP ECX
POP EDI
PUSH 0x24
PUSH EBP
MOV EAX,ESI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9eee]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x25
PUSH EBP
XOR ECX,ECX
MOV EAX,ESI
LEA EDX,[EBX + 0xfffc9ef8]
CALL 0x00025220
POP ECX
POP EDI
PUSH 0x26
PUSH EBP
MOV EAX,ESI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9f00]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x27
PUSH EBP
MOV EAX,ESI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9f07]
CALL 0x00025220
LEA EAX,[EBX + 0xfffd6f58]
LEA ECX,[EBX + 0xfffcaa9c]
LEA EDX,[EBX + 0xfffc9f12]
MOV dword ptr [ESP + 0x20],ESI
MOV EDI,dword ptr [EAX]
MOV EAX,ESI
CALL 0x000252c0
POP ECX
LEA EDX,[EBX + 0xfffffd10]
MOV ESI,EAX
POP EAX
PUSH 0x29
MOV ECX,EDI
PUSH EBP
MOV EAX,ESI
CALL 0x00024ee0
MOV dword ptr [ESP],ESI
CALL 0x0001b250
MOV EDI,dword ptr [ESP + 0x20]
MOV ECX,EBP
LEA EDX,[EBX + 0xfffc9f1a]
MOV dword ptr [ESP],0x2a
MOV EAX,EDI
CALL 0x000251c0
POP EAX
POP EDX
PUSH 0x2d
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9f24]
CALL 0x00025220
MOV ECX,EBP
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9f47]
MOV dword ptr [ESP],0x20
CALL 0x000251c0
POP ECX
POP ESI
PUSH 0x14
PUSH EBP
MOV EAX,EDI
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffc9f55]
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x37
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9f63]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x38
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9f6e]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x3f
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffc9f7c]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x40
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9f8e]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x41
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9f9a]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x43
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9fac]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x42
PUSH EBP
MOV EAX,EDI
XOR ECX,ECX
LEA EDX,[EBX + 0xfffc9fbe]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x44
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9fd3]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x45
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9fe4]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x46
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9ff3]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x47
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffc9fff]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x48
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA ESI,[EBX + 0xfffca60b]
LEA EDX,[EBX + 0xfffca010]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x1
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH EDI
CALL 0x0006c3d0
POP ECX
XOR ECX,ECX
POP ESI
TEST EAX,EAX
PUSH 0x4b
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca024]
PUSH EBP
SETZ CL
ADD ECX,0x1
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x49
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca037]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x4a
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca044]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x4c
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca054]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x4d
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca06a]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x4e
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca07c]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x51
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca08a]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x52
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca090]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x53
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca099]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x5b
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca0a1]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x5c
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca0ac]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x4f
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca0b8]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x50
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca0c2]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x54
PUSH EBP
MOV EAX,EDI
MOV ECX,0x2
LEA EDX,[EBX + 0xfffca0cc]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x55
PUSH EBP
MOV EAX,EDI
MOV ECX,0x2
LEA EDX,[EBX + 0xfffca0d6]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x80
PUSH EBP
MOV EAX,EDI
LEA ECX,[EBX + 0xfffca61a]
LEA EDX,[EBX + 0xfffca0e0]
CALL 0x00025320
POP ECX
POP ESI
PUSH 0x56
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca0eb]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x57
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca0f7]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x7d
PUSH EBP
MOV EAX,EDI
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca10c]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x7e
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca119]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x7f
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca124]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x64
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca131]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x65
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca139]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x66
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca142]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x67
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca147]
CALL 0x00025220
MOV ECX,EBP
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca14f]
MOV dword ptr [ESP],0x6c
CALL 0x000251c0
POP EAX
POP EDX
PUSH 0x68
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca15c]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x69
PUSH EBP
MOV ECX,0x5
MOV EAX,EDI
LEA ESI,[EBX + 0xfffca177]
LEA EDX,[EBX + 0xfffca169]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x1e8480
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
MOV ESI,0x10624dd3
MOV dword ptr [ESP + 0x1c],EDI
PUSH EDI
CALL 0x0006c3d0
ADD ESP,0xc
MOV ECX,EAX
IMUL ESI
SAR ECX,0x1f
MOV EAX,EDX
SAR EAX,0x6
SUB EAX,ECX
PUSH EAX
PUSH 0x6a
PUSH EBP
CALL 0x00017aa0
POP ECX
POP EDI
LEA EDI,[EBX + 0xfffca185]
PUSH 0x4c4b40
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
MOV EDI,dword ptr [ESP + 0x1c]
PUSH EDI
CALL 0x0006c3d0
ADD ESP,0xc
MOV ECX,EAX
IMUL ESI
SAR ECX,0x1f
MOV EAX,EDX
SAR EAX,0x6
SUB EAX,ECX
PUSH EAX
PUSH 0x6b
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x60
PUSH EBP
MOV EAX,EDI
MOV ECX,0x7d0
LEA EDX,[EBX + 0xfffca193]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x61
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca1a3]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x62
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca1b1]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x63
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca1be]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0xb6
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca1ca]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x82
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca1d6]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x83
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca1eb]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x72
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca1f7]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x5f
PUSH EBP
MOV EAX,EDI
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffca007]
CALL 0x00025320
POP ECX
POP ESI
PUSH 0x73
PUSH EBP
MOV EAX,EDI
MOV ECX,0x50
LEA EDX,[EBX + 0xfffca205]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x74
PUSH EBP
MOV EAX,EDI
MOV ECX,0x18
LEA EDX,[EBX + 0xfffca20f]
CALL 0x00025220
MOV ECX,EBP
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca490]
MOV dword ptr [ESP],0x75
CALL 0x00025260
POP ECX
POP ESI
PUSH 0x76
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca21a]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x90
PUSH EBP
MOV EAX,EDI
MOV ECX,0x4
LEA EDX,[EBX + 0xfffca226]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x86
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca231]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x87
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca242]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x84
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca24d]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x85
PUSH EBP
LEA EDX,[EBX + 0xfffca258]
MOV EAX,EDI
MOV ECX,0x1
CALL 0x00025220
POP ECX
POP ESI
LEA ESI,[EBX + 0xfffca267]
PUSH 0x1
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
LEA ESI,[EBX + 0xfffca579]
PUSH EDI
CALL 0x0006c3d0
ADD ESP,0xc
ADD EAX,0x1
PUSH EAX
PUSH 0x88
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
LEA EAX,[EBX + 0xfffca274]
XOR EDI,EDI
LEA EDX,[ESP + 0x44]
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[ESP + 0x48]
MOV dword ptr [ESP + 0x18],EDX
LEA EDX,[ESP + 0x40]
MOV dword ptr [ESP + 0x14],EDX
LEA EDX,[ESP + 0x3c]
MOV dword ptr [ESP + 0xc],EDX
LEA EDX,[EBX + 0xfffca27d]
MOV dword ptr [ESP + 0x24],EBP
MOV EBP,EAX
MOV dword ptr [ESP + 0x2c],EAX
MOV dword ptr [ESP + 0x20],EDX
JMP 0x00027a6f
SUB ESP,0xc
ADD EDI,0x1
PUSH ESI
CALL 0x0001b250
ADD ESP,0x10
CMP EDI,0x16
JZ 0x00027b0d
MOV ESI,dword ptr [EBX + EDI*0x4 + 0xffffebf0]
SUB ESP,0xc
PUSH EDI
PUSH dword ptr [ESP + 0x2c]
PUSH 0x14
PUSH 0x1
PUSH EBP
CALL 0x000148b0
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x10]
MOV ECX,ESI
MOV EDX,EBP
CALL 0x000252c0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x24]
MOV ESI,EAX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x38]
PUSH EAX
CALL 0x000144e0
ADD ESP,0x20
CMP EAX,0x3
JNZ 0x00027a50
PUSH dword ptr [ESP + 0x3c]
LEA EAX,[EDI + EDI*0x2]
MOV dword ptr [ESP + 0x2c],EAX
PUSH EAX
PUSH 0x89
PUSH dword ptr [ESP + 0x30]
CALL 0x00017b40
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x3c]
ADD EAX,0x1
PUSH EAX
PUSH 0x89
PUSH dword ptr [ESP + 0x40]
CALL 0x00017b40
ADD ESP,0x20
PUSH dword ptr [ESP + 0x44]
MOV EAX,dword ptr [ESP + 0x2c]
ADD EAX,0x2
PUSH EAX
PUSH 0x89
PUSH dword ptr [ESP + 0x30]
CALL 0x00017b40
ADD ESP,0x10
JMP 0x00027a50
MOV EBP,dword ptr [ESP + 0x24]
SUB ESP,0x8
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca286]
PUSH 0x8c
PUSH EBP
MOV ESI,dword ptr [ESP + 0x20]
MOV EAX,ESI
CALL 0x00025220
POP ECX
POP EDI
PUSH 0x8d
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca28d]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x8a
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca296]
MOV EAX,ESI
CALL 0x00025220
POP ECX
POP EDI
PUSH 0x8b
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca2a3]
MOV EAX,ESI
LEA EDI,[EBX + 0xfffca8b4]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x8e
PUSH EBP
MOV ECX,0x1
MOV EAX,ESI
LEA EDX,[EBX + 0xfffca2ae]
CALL 0x00025220
ADD ESP,0x10
LEA EAX,[EBX + 0xfffca2bc]
MOV ECX,EDI
MOV dword ptr [ESP + 0xc],0x20
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x14],ECX
SUB ESP,0xc
LEA ESI,[EAX + -0x20]
PUSH ESI
PUSH dword ptr [ESP + 0x28]
PUSH 0x14
PUSH 0x1
MOV EDI,dword ptr [ESP + 0x48]
PUSH EDI
CALL 0x000148b0
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,EDI
CALL 0x000252c0
MOV ECX,EAX
MOV dword ptr [ESP + 0x14],EAX
MOVZX EAX,byte ptr [ECX]
CMP AL,0x2c
JZ 0x00027c47
LEA ESI,[ESI]
MOV EDI,ECX
TEST AL,AL
JZ 0x00027c47
LEA ESI,[ESI]
LEA ESI,[ESI]
ADD EDI,0x1
MOVZX EAX,byte ptr [EDI]
TEST AL,AL
JZ 0x00027c0e
CMP AL,0x2c
JNZ 0x00027c00
CMP AL,0x2c
JNZ 0x00027c18
MOV byte ptr [EDI],0x0
ADD EDI,0x1
SUB ESP,0x4
PUSH 0xa
PUSH 0x0
PUSH ECX
CALL 0x000147e0
PUSH EAX
PUSH ESI
ADD ESI,0x1
PUSH 0x8f
PUSH EBP
CALL 0x00017b40
ADD ESP,0x20
CMP dword ptr [ESP + 0xc],ESI
JZ 0x00027c4b
MOV ECX,EDI
MOVZX EAX,byte ptr [ECX]
CMP AL,0x2c
JNZ 0x00027bf0
MOV EDI,ECX
JMP 0x00027c0e
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x0001b250
ADD dword ptr [ESP + 0x1c],0x20
MOV EAX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
CMP EAX,0x120
JZ 0x00027c79
SAR ESI,0x5
MOV ECX,dword ptr [EBX + ESI*0x4 + 0xffffebd0]
JMP 0x00027ba9
SUB ESP,0x8
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffca2cc]
PUSH 0x91
PUSH EBP
MOV EDI,dword ptr [ESP + 0x20]
MOV EAX,EDI
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x92
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca2d9]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x93
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca2e6]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x81
PUSH EBP
MOV EAX,EDI
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffca2f3]
CALL 0x00025320
POP ECX
POP ESI
PUSH 0x94
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca2fb]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x6d
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca307]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x6e
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca311]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x58
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca325]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x59
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca331]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x5a
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca33e]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x6f
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca350]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x70
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca359]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x71
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca35d]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x95
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca367]
CALL 0x00025220
POP ECX
POP ESI
PUSH 0x96
PUSH EBP
MOV EAX,EDI
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffca372]
CALL 0x00025320
POP EAX
POP EDX
PUSH 0x97
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca37d]
CALL 0x00025220
MOV EAX,EDI
MOV ECX,EBP
LEA EDX,[EBX + 0xfffca389]
MOV dword ptr [ESP],0x98
CALL 0x000251c0
POP ECX
POP ESI
PUSH 0x99
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca395]
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x9a
PUSH EBP
XOR ECX,ECX
MOV EAX,EDI
LEA EDX,[EBX + 0xfffca3a8]
CALL 0x00025220
LEA EDX,[EBX + 0xfffca3bc]
MOV ECX,EBP
MOV EAX,EDI
MOV dword ptr [ESP],0x9b
CALL 0x00025360
POP ECX
POP ESI
LEA ESI,[EBX + 0xfffca3cc]
PUSH 0x0
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
MOV ESI,0x2
MOV dword ptr [ESP + 0x1c],EDI
PUSH EDI
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0x9c
PUSH EBP
CALL 0x00017aa0
POP EDI
LEA EDI,[EBX + 0xfffca3d7]
POP EAX
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
LEA EDI,[EBX + 0xfffca3e3]
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0x9d
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0x9e
PUSH EBP
CALL 0x00017aa0
POP ECX
POP EDI
LEA EDI,[EBX + 0xfffca3eb]
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
LEA EDI,[EBX + 0xfffca3f6]
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa5
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
ADD ESP,0xc
SUB ESI,EAX
MOV EDI,EAX
PUSH ESI
PUSH 0x9f
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0002843f
SUB ESP,0x8
LEA ESI,[EBX + 0xfffca3ff]
LEA EDI,[EBX + 0xfffca40d]
PUSH 0x0
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
MOV ESI,0x2
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa0
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa1
PUSH EBP
CALL 0x00017aa0
POP ECX
POP EDI
LEA EDI,[EBX + 0xfffca418]
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
LEA EDI,[EBX + 0xfffca425]
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa2
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa3
PUSH EBP
CALL 0x00017aa0
POP ECX
POP EDI
LEA EDI,[EBX + 0xfffca42f]
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
LEA EDI,[EBX + 0xfffca43a]
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa4
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa6
PUSH EBP
CALL 0x00017aa0
POP ECX
POP EDI
LEA EDI,[EBX + 0xfffca445]
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
LEA EDI,[EBX + 0xfffca44f]
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
MOV EDX,ESI
ADD ESP,0xc
SUB EDX,EAX
PUSH EDX
PUSH 0xa7
PUSH EBP
CALL 0x00017aa0
POP EAX
POP EDX
PUSH 0x0
PUSH EDI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH EDI
MOV EDI,dword ptr [ESP + 0x1c]
PUSH EDI
CALL 0x0006c3d0
ADD ESP,0xc
SUB ESI,EAX
PUSH ESI
PUSH 0xa8
PUSH EBP
CALL 0x00017aa0
ADD ESP,0xc
PUSH 0x0
PUSH 0xa9
PUSH EBP
CALL 0x00017aa0
POP ECX
POP ESI
PUSH 0xae
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca45a]
MOV ESI,EDI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0xaf
PUSH EBP
MOV EAX,EDI
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca464]
CALL 0x00025220
POP ECX
POP EDI
PUSH 0xb0
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca46f]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0xb1
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca495]
MOV EAX,ESI
CALL 0x00025220
MOV ECX,EBP
LEA EDX,[EBX + 0xfffca48c]
MOV EAX,ESI
MOV dword ptr [ESP],0xb2
CALL 0x00025260
MOV ECX,EBP
LEA EDX,[EBX + 0xfffca47f]
MOV EAX,ESI
MOV dword ptr [ESP],0xb3
CALL 0x00025260
MOV ECX,EBP
LEA EDX,[EBX + 0xfffca488]
MOV EAX,ESI
MOV dword ptr [ESP],0xb4
CALL 0x00025260
POP ECX
POP EDI
PUSH 0xb5
PUSH EBP
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca4a0]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x39
PUSH EBP
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffca4b1]
MOV EAX,ESI
CALL 0x00025320
POP ECX
POP EDI
PUSH 0x3a
PUSH EBP
MOV ECX,0x2580
LEA EDX,[EBX + 0xfffca4bc]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x3b
PUSH EBP
MOV ECX,0x8
LEA EDX,[EBX + 0xfffca4c8]
MOV EAX,ESI
CALL 0x00025220
POP ECX
POP EDI
PUSH 0x3c
PUSH EBP
MOV ECX,0x2
LEA EDX,[EBX + 0xfffca4d7]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0x3d
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca4ea]
MOV EAX,ESI
CALL 0x00025220
POP ECX
POP EDI
PUSH 0x3e
PUSH EBP
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca4f7]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0xb7
PUSH EBP
LEA ECX,[EBX + 0xfffc855e]
LEA EDX,[EBX + 0xfffca509]
MOV EAX,ESI
CALL 0x00025320
POP ECX
POP EDI
PUSH 0xaa
PUSH EBP
XOR ECX,ECX
LEA EDX,[EBX + 0xfffca515]
MOV EAX,ESI
CALL 0x00025220
POP EAX
POP EDX
PUSH 0xab
PUSH EBP
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca527]
MOV EAX,ESI
CALL 0x00025220
POP ECX
POP EDI
PUSH 0xac
PUSH EBP
MOV ECX,0x1
LEA EDX,[EBX + 0xfffca541]
MOV EAX,ESI
CALL 0x00025220
MOV ECX,EBP
LEA EDX,[EBX + 0xfffca55d]
MOV EAX,ESI
MOV dword ptr [ESP],0xad
CALL 0x00025360
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x5c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x000284d2
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0xffffec58]
LEA EDX,[EBX + 0xfffca574]
MOV dword ptr [ESP + 0xc],EBP
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[EBX + 0xfffca56f]
MOV EBP,EDX
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0xfffca59f]
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[EBX + 0xfffc73e8]
MOV dword ptr [ESP + 0x20],EAX
JMP 0x00028320
MOV EBP,dword ptr [ESP + 0x18]
TEST EBP,EBP
JZ 0x0002836d
MOV EDX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EDX]
ADD EDX,0x4
MOV dword ptr [ESP + 0x14],EDX
MOV dword ptr [ESP + 0x18],EAX
SUB ESP,0x4
PUSH EBP
PUSH 0x32
PUSH dword ptr [ESP + 0x18]
CALL 0x00017600
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00028307
MOV EDI,dword ptr [ESP + 0x1c]
MOV ECX,0x6
MOV ESI,EBP
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
LEA EAX,[EBX + 0xfffc73d6]
CMOVNZ EAX,dword ptr [ESP + 0x20]
PUSH EAX
PUSH EBP
PUSH 0x32
PUSH dword ptr [ESP + 0x18]
CALL 0x00017c90
ADD ESP,0x10
MOV EBP,dword ptr [ESP + 0x18]
TEST EBP,EBP
JNZ 0x0002830f
MOV EBP,dword ptr [ESP + 0xc]
JMP 0x00026f8c
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x0001b250
POP EDI
PUSH dword ptr [ESP + 0x24]
CALL 0x0001aad0
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
JMP 0x00027258
SUB ESP,0x8
LEA ESI,[EBX + 0xfffca5a5]
PUSH 0x0
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00028489
CMP EAX,0x1
JZ 0x0002849e
CMP EAX,0x3
JZ 0x0002850a
CMP EAX,0x4
JZ 0x000284f5
SUB ESP,0x8
LEA ESI,[EBX + 0xfffca5af]
PUSH 0x5
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
ADD ESP,0x10
CMP EAX,0x5
JZ 0x000284e0
SUB ESP,0x4
PUSH 0x1
PUSH 0xd
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
JMP 0x0002702b
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x0001b250
POP EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x0001aad0
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
JMP 0x00027258
SUB ESP,0x8
LEA ESI,[EBX + 0xfffca620]
PUSH 0x0
PUSH ESI
CALL 0x0006a090
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH dword ptr [ESP + 0x1c]
CALL 0x0006c3d0
ADD ESP,0x10
CMP EAX,0x1
JNZ 0x00027f54
SUB ESP,0x4
PUSH 0x0
PUSH 0x9f
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
JMP 0x00027f54
XOR EAX,EAX
JMP 0x00027315
SUB ESP,0x4
PUSH 0x0
PUSH 0xd
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
JMP 0x0002702b
SUB ESP,0x4
PUSH 0x3
PUSH 0xd
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
JMP 0x0002702b
LEA EAX,[EBX + 0xfffcaab0]
PUSH EAX
LEA EAX,[EBX + 0xfffc9ca5]
PUSH 0x366
PUSH EAX
LEA EAX,[EBX + 0xfffca5e1]
PUSH EAX
CALL 0x00014880
CALL 0x0006f2a0
SUB ESP,0x4
PUSH 0x2
PUSH 0xd
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
JMP 0x0002702b
SUB ESP,0x4
PUSH 0x5
PUSH 0xd
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
JMP 0x0002702b
SUB ESP,0x4
PUSH 0x4
PUSH 0xd
PUSH EBP
CALL 0x00017aa0
ADD ESP,0x10
JMP 0x0002702b
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00026ca0(undefined4 param_1,undefined4 param_2)\n\n{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}\n\n" comment (function_definition "void FUN_00026ca0(undefined4 param_1,undefined4 param_2)\n\n{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}" primitive_type (function_declarator "FUN_00026ca0(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}" { (declaration "char *__nptr;" primitive_type (pointer_declarator "*__nptr" * identifier) ;) (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "byte *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined1 local_34 [20];" type_identifier (array_declarator "local_34 [20]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x26ca9;" (assignment_expression "uStack_14 = 0x26ca9" 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 "FUN_00017aa0(param_2,0x2b,0);" (call_expression "FUN_00017aa0(param_2,0x2b,0)" identifier (argument_list "(param_2,0x2b,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_00017be0(param_2,0x14,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x14,&DAT_000712ce)" identifier (argument_list "(param_2,0x14,&DAT_000712ce)" ( identifier , number_literal , (pointer_expression "&DAT_000712ce" & identifier) ))) ;) (expression_statement "FUN_00017be0(param_2,0x15,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x15,&DAT_000712ce)" identifier (argument_list "(param_2,0x15,&DAT_000712ce)" ( identifier , number_literal , (pointer_expression "&DAT_000712ce" & identifier) ))) ;) (expression_statement "FUN_00017be0(param_2,0x2e,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x2e,&DAT_000712ce)" identifier (argument_list "(param_2,0x2e,&DAT_000712ce)" ( identifier , number_literal , (pointer_expression "&DAT_000712ce" & identifier) ))) ;) (expression_statement "FUN_00025320(param_2,0);" (call_expression "FUN_00025320(param_2,0)" identifier (argument_list "(param_2,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x77);" (call_expression "FUN_000251c0(0x77)" identifier (argument_list "(0x77)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x78);" (call_expression "FUN_00025220(param_2,0x78)" identifier (argument_list "(param_2,0x78)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x79);" (call_expression "FUN_00025220(param_2,0x79)" identifier (argument_list "(param_2,0x79)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7a);" (call_expression "FUN_00025220(param_2,0x7a)" identifier (argument_list "(param_2,0x7a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7b);" (call_expression "FUN_00025220(param_2,0x7b)" identifier (argument_list "(param_2,0x7b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7c);" (call_expression "FUN_00025220(param_2,0x7c)" identifier (argument_list "(param_2,0x7c)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00017aa0(param_2,2,DAT_000a9958);" (call_expression "FUN_00017aa0(param_2,2,DAT_000a9958)" identifier (argument_list "(param_2,2,DAT_000a9958)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00017aa0(param_2,1,DAT_000a9968);" (call_expression "FUN_00017aa0(param_2,1,DAT_000a9968)" identifier (argument_list "(param_2,1,DAT_000a9968)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar3 = FUN_000254f0(uVar2);" (assignment_expression "iVar3 = FUN_000254f0(uVar2)" identifier = (call_expression "FUN_000254f0(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }" { (expression_statement "FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));" (call_expression "FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48))" identifier (argument_list "(param_2,2,*(undefined4 *)(iVar3 + 0x48))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar3 + 0x48)" * (cast_expression "(undefined4 *)(iVar3 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x48)" ( (binary_expression "iVar3 + 0x48" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00025220(param_2,1);" (call_expression "FUN_00025220(param_2,1)" identifier (argument_list "(param_2,1)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "FUN_00025220(param_2,3);" (call_expression "FUN_00025220(param_2,3)" identifier (argument_list "(param_2,3)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("CloseOnExit",1);" (assignment_expression "uVar2 = FUN_0006a090("CloseOnExit",1)" identifier = (call_expression "FUN_0006a090("CloseOnExit",1)" identifier (argument_list "("CloseOnExit",1)" ( (string_literal ""CloseOnExit"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"CloseOnExit",uVar2)" identifier (argument_list "(param_1,"CloseOnExit",uVar2)" ( identifier , (string_literal ""CloseOnExit"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);" (call_expression "FUN_00017aa0(param_2,4,(iVar3 + 1) % 3)" identifier (argument_list "(param_2,4,(iVar3 + 1) % 3)" ( identifier , number_literal , (binary_expression "(iVar3 + 1) % 3" (parenthesized_expression "(iVar3 + 1)" ( (binary_expression "iVar3 + 1" identifier + number_literal) )) % number_literal) ))) ;) (expression_statement "FUN_00025220(param_2,5);" (call_expression "FUN_00025220(param_2,5)" identifier (argument_list "(param_2,5)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("PingInterval",0);" (assignment_expression "uVar2 = FUN_0006a090("PingInterval",0)" identifier = (call_expression "FUN_0006a090("PingInterval",0)" identifier (argument_list "("PingInterval",0)" ( (string_literal ""PingInterval"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"PingInterval",uVar2)" identifier (argument_list "(param_1,"PingInterval",uVar2)" ( identifier , (string_literal ""PingInterval"" " string_content ") , identifier )))) ;) (expression_statement "uVar2 = FUN_0006a090("PingIntervalSecs",0);" (assignment_expression "uVar2 = FUN_0006a090("PingIntervalSecs",0)" identifier = (call_expression "FUN_0006a090("PingIntervalSecs",0)" identifier (argument_list "("PingIntervalSecs",0)" ( (string_literal ""PingIntervalSecs"" " string_content ") , number_literal )))) ;) (expression_statement "iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);" (assignment_expression "iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2)" identifier (argument_list "(param_1,"PingIntervalSecs",uVar2)" ( identifier , (string_literal ""PingIntervalSecs"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);" (call_expression "FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4)" identifier (argument_list "(param_2,6,iVar3 * 0x3c + iVar4)" ( identifier , number_literal , (binary_expression "iVar3 * 0x3c + iVar4" (binary_expression "iVar3 * 0x3c" identifier * number_literal) + identifier) ))) ;) (expression_statement "FUN_00025220(param_2,7);" (call_expression "FUN_00025220(param_2,7)" identifier (argument_list "(param_2,7)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,8);" (call_expression "FUN_00025220(param_2,8)" identifier (argument_list "(param_2,8)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x30);" (call_expression "FUN_00025320(param_2,0x30)" identifier (argument_list "(param_2,0x30)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x31);" (call_expression "FUN_00025320(param_2,0x31)" identifier (argument_list "(param_2,0x31)" ( identifier , number_literal ))) ;) (expression_statement "iVar3 = FUN_00025360(0x32);" (assignment_expression "iVar3 = FUN_00025360(0x32)" identifier = (call_expression "FUN_00025360(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }" { (expression_statement "local_68 = &PTR_s_ERASE_000a79c8;" (assignment_expression "local_68 = &PTR_s_ERASE_000a79c8" identifier = (pointer_expression "&PTR_s_ERASE_000a79c8" & identifier)) ;) (expression_statement "pbVar8 = &DAT_000732e4;" (assignment_expression "pbVar8 = &DAT_000732e4" identifier = (pointer_expression "&DAT_000732e4" & identifier)) ;) (expression_statement "local_64 = &DAT_000732df;" (assignment_expression "local_64 = &DAT_000732df" identifier = (pointer_expression "&DAT_000732df" & identifier)) ;) (do_statement "do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );" do (compound_statement "{\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    }" { (expression_statement "iVar3 = FUN_00017600(param_2,0x32,pbVar8);" (assignment_expression "iVar3 = FUN_00017600(param_2,0x32,pbVar8)" identifier = (call_expression "FUN_00017600(param_2,0x32,pbVar8)" identifier (argument_list "(param_2,0x32,pbVar8)" ( identifier , number_literal , identifier )))) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar16 = iVar3 == 0;" (assignment_expression "bVar16 = iVar3 == 0" identifier = (binary_expression "iVar3 == 0" identifier == number_literal)) ;) (if_statement "if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }" { (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar8;" (assignment_expression "pbVar10 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)"IUTF8";" (assignment_expression "pbVar13 = (byte *)"IUTF8"" identifier = (cast_expression "(byte *)"IUTF8"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""IUTF8"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar10 < *pbVar13;" (assignment_expression "bVar14 = *pbVar10 < *pbVar13" identifier = (binary_expression "*pbVar10 < *pbVar13" (pointer_expression "*pbVar10" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar16 = *pbVar10 == *pbVar13;" (assignment_expression "bVar16 = *pbVar10 == *pbVar13" identifier = (binary_expression "*pbVar10 == *pbVar13" (pointer_expression "*pbVar10" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar16)" ( identifier )) ;) (expression_statement "puVar7 = &DAT_00070146;" (assignment_expression "puVar7 = &DAT_00070146" identifier = (pointer_expression "&DAT_00070146" & identifier)) ;) (if_statement "if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }" if (parenthesized_expression "((!bVar14 && !bVar16) != bVar14)" ( (binary_expression "(!bVar14 && !bVar16) != bVar14" (parenthesized_expression "(!bVar14 && !bVar16)" ( (binary_expression "!bVar14 && !bVar16" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar16" ! identifier)) )) != identifier) )) (compound_statement "{\n          puVar7 = &DAT_00070158;\n        }" { (expression_statement "puVar7 = &DAT_00070158;" (assignment_expression "puVar7 = &DAT_00070158" identifier = (pointer_expression "&DAT_00070158" & identifier)) ;) })) (expression_statement "FUN_00017c90(param_2,0x32,pbVar8,puVar7);" (call_expression "FUN_00017c90(param_2,0x32,pbVar8,puVar7)" identifier (argument_list "(param_2,0x32,pbVar8,puVar7)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (local_64 == (byte *)0x0) goto LAB_00026f8c;" if (parenthesized_expression "(local_64 == (byte *)0x0)" ( (binary_expression "local_64 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026f8c;" goto statement_identifier ;)) (expression_statement "pbVar10 = *local_68;" (assignment_expression "pbVar10 = *local_68" identifier = (pointer_expression "*local_68" * identifier)) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = local_64;" (assignment_expression "pbVar8 = local_64" identifier = identifier) ;) (expression_statement "local_64 = pbVar10;" (assignment_expression "local_64 = pbVar10" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar7 = &DAT_000732e4;" (assignment_expression "puVar7 = &DAT_000732e4" identifier = (pointer_expression "&DAT_000732e4" & identifier)) ;) (expression_statement "puVar9 = &DAT_000732df;" (assignment_expression "puVar9 = &DAT_000732df" identifier = (pointer_expression "&DAT_000732df" & identifier)) ;) (expression_statement "ppuVar11 = &PTR_s_ERASE_000a79c8;" (assignment_expression "ppuVar11 = &PTR_s_ERASE_000a79c8" identifier = (pointer_expression "&PTR_s_ERASE_000a79c8" & identifier)) ;) (while_statement "while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }" while (parenthesized_expression "(FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0)" ( (comma_expression "FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0" (call_expression "FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146)" identifier (argument_list "(param_2,0x32,puVar7,&DAT_00070146)" ( identifier , number_literal , identifier , (pointer_expression "&DAT_00070146" & identifier) ))) , (binary_expression "puVar9 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }" { (expression_statement "puVar7 = puVar9;" (assignment_expression "puVar7 = puVar9" identifier = identifier) ;) (expression_statement "puVar9 = *ppuVar11;" (assignment_expression "puVar9 = *ppuVar11" identifier = (pointer_expression "*ppuVar11" * identifier)) ;) (expression_statement "ppuVar11 = ppuVar11 + 1;" (assignment_expression "ppuVar11 = ppuVar11 + 1" identifier = (binary_expression "ppuVar11 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00026f8c:\n  FUN_00025320(param_2,10);" statement_identifier : (expression_statement "FUN_00025320(param_2,10);" (call_expression "FUN_00025320(param_2,10)" identifier (argument_list "(param_2,10)" ( identifier , number_literal ))) ;)) (expression_statement "uVar2 = FUN_0006a090("ProxyDNS",1);" (assignment_expression "uVar2 = FUN_0006a090("ProxyDNS",1)" identifier = (call_expression "FUN_0006a090("ProxyDNS",1)" identifier (argument_list "("ProxyDNS",1)" ( (string_literal ""ProxyDNS"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"ProxyDNS",uVar2)" identifier (argument_list "(param_1,"ProxyDNS",uVar2)" ( identifier , (string_literal ""ProxyDNS"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);" (call_expression "FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3)" identifier (argument_list "(param_2,0xb,(iVar3 + 1) % 3)" ( identifier , number_literal , (binary_expression "(iVar3 + 1) % 3" (parenthesized_expression "(iVar3 + 1)" ( (binary_expression "iVar3 + 1" identifier + number_literal) )) % number_literal) ))) ;) (expression_statement "FUN_00025220(param_2,0xc);" (call_expression "FUN_00025220(param_2,0xc)" identifier (argument_list "(param_2,0xc)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xd);" (call_expression "FUN_00025220(param_2,0xd)" identifier (argument_list "(param_2,0xd)" ( identifier , number_literal ))) ;) (expression_statement "iVar3 = FUN_00017380(param_2,0xd);" (assignment_expression "iVar3 = FUN_00017380(param_2,0xd)" identifier = (call_expression "FUN_00017380(param_2,0xd)" identifier (argument_list "(param_2,0xd)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }" { (expression_statement "uVar2 = FUN_0006a090("ProxyType",0);" (assignment_expression "uVar2 = FUN_0006a090("ProxyType",0)" identifier = (call_expression "FUN_0006a090("ProxyType",0)" identifier (argument_list "("ProxyType",0)" ( (string_literal ""ProxyType"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"ProxyType",uVar2)" identifier (argument_list "(param_1,"ProxyType",uVar2)" ( identifier , (string_literal ""ProxyType"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,0);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,0);" (call_expression "FUN_00017aa0(param_2,0xd,0)" identifier (argument_list "(param_2,0xd,0)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (if_statement "if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,3);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,3);" (call_expression "FUN_00017aa0(param_2,0xd,3)" identifier (argument_list "(param_2,0xd,3)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (if_statement "if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 3)" ( (binary_expression "iVar3 == 3" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,4);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,4);" (call_expression "FUN_00017aa0(param_2,0xd,4)" identifier (argument_list "(param_2,0xd,4)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (if_statement "if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,5);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,5);" (call_expression "FUN_00017aa0(param_2,0xd,5)" identifier (argument_list "(param_2,0xd,5)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (compound_statement "{\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" { (expression_statement "uVar2 = FUN_0006a090("ProxySOCKSVersion",5);" (assignment_expression "uVar2 = FUN_0006a090("ProxySOCKSVersion",5)" identifier = (call_expression "FUN_0006a090("ProxySOCKSVersion",5)" identifier (argument_list "("ProxySOCKSVersion",5)" ( (string_literal ""ProxySOCKSVersion"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2)" identifier (argument_list "(param_1,"ProxySOCKSVersion",uVar2)" ( identifier , (string_literal ""ProxySOCKSVersion"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }" if (parenthesized_expression "(iVar3 == 5)" ( (binary_expression "iVar3 == 5" identifier == number_literal) )) (compound_statement "{\n        FUN_00017aa0(param_2,0xd,2);\n      }" { (expression_statement "FUN_00017aa0(param_2,0xd,2);" (call_expression "FUN_00017aa0(param_2,0xd,2)" identifier (argument_list "(param_2,0xd,2)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n        FUN_00017aa0(param_2,0xd,1);\n      }" else (compound_statement "{\n        FUN_00017aa0(param_2,0xd,1);\n      }" { (expression_statement "FUN_00017aa0(param_2,0xd,1);" (call_expression "FUN_00017aa0(param_2,0xd,1)" identifier (argument_list "(param_2,0xd,1)" ( identifier , number_literal , number_literal ))) ;) }))) }))))))))) })) (expression_statement "FUN_00025320(param_2,0xe);" (call_expression "FUN_00025320(param_2,0xe)" identifier (argument_list "(param_2,0xe)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xf);" (call_expression "FUN_00025220(param_2,0xf)" identifier (argument_list "(param_2,0xf)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x10);" (call_expression "FUN_00025320(param_2,0x10)" identifier (argument_list "(param_2,0x10)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x11);" (call_expression "FUN_00025320(param_2,0x11)" identifier (argument_list "(param_2,0x11)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x12);" (call_expression "FUN_00025320(param_2,0x12)" identifier (argument_list "(param_2,0x12)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x13);" (call_expression "FUN_00025220(param_2,0x13)" identifier (argument_list "(param_2,0x13)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025360(0x33);" (call_expression "FUN_00025360(0x33)" identifier (argument_list "(0x33)" ( number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x34);" (call_expression "FUN_00025320(param_2,0x34)" identifier (argument_list "(param_2,0x34)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x35);" (call_expression "FUN_00025220(param_2,0x35)" identifier (argument_list "(param_2,0x35)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x36);" (call_expression "FUN_00025320(param_2,0x36)" identifier (argument_list "(param_2,0x36)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x16);" (call_expression "FUN_00025220(param_2,0x16)" identifier (argument_list "(param_2,0x16)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x17);" (call_expression "FUN_00025220(param_2,0x17)" identifier (argument_list "(param_2,0x17)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x1c);" (call_expression "FUN_00025220(param_2,0x1c)" identifier (argument_list "(param_2,0x1c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x1d);" (call_expression "FUN_00025220(param_2,0x1d)" identifier (argument_list "(param_2,0x1d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x1e);" (call_expression "FUN_00025220(param_2,0x1e)" identifier (argument_list "(param_2,0x1e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x28);" (call_expression "FUN_00025220(param_2,0x28)" identifier (argument_list "(param_2,0x28)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00024ee0(param_2,0x1f);" (call_expression "FUN_00024ee0(param_2,0x1f)" identifier (argument_list "(param_2,0x1f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugDHGEx2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugDHGEx2",0)" identifier = (call_expression "FUN_0006a090("BugDHGEx2",0)" identifier (argument_list "("BugDHGEx2",0)" ( (string_literal ""BugDHGEx2"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);" (call_expression "FUN_0006c3d0(param_1,"BugDHGEx2",uVar2)" identifier (argument_list "(param_1,"BugDHGEx2",uVar2)" ( identifier , (string_literal ""BugDHGEx2"" " string_content ") , identifier ))) ;) (expression_statement "local_70 = (byte *)FUN_000252c0();" (assignment_expression "local_70 = (byte *)FUN_000252c0()" identifier = (cast_expression "(byte *)FUN_000252c0()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000252c0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar16 = local_70 == (byte *)0x0;" (assignment_expression "bVar16 = local_70 == (byte *)0x0" identifier = (binary_expression "local_70 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar16) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" { comment (expression_statement "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");" (call_expression "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings")" identifier (argument_list "("raw != NULL","settings.c",0x366,"load_open_settings")" ( (string_literal ""raw != NULL"" " string_content ") , (string_literal ""settings.c"" " string_content ") , number_literal , (string_literal ""load_open_settings"" " string_content ") ))) ;) })) (expression_statement "iVar3 = 0x34;" (assignment_expression "iVar3 = 0x34" identifier = number_literal) ;) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";" (assignment_expression "pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" identifier = (cast_expression "(byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar8 < *pbVar10;" (assignment_expression "bVar14 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar16 = *pbVar8 == *pbVar10;" (assignment_expression "bVar16 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar16)" ( identifier )) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar14 && !bVar16) == bVar14;" (assignment_expression "bVar14 = (!bVar14 && !bVar16) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar16) == bVar14" (parenthesized_expression "(!bVar14 && !bVar16)" ( (binary_expression "!bVar14 && !bVar16" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar16" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }" { (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");" (assignment_expression "local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" identifier = (cast_expression "(byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" identifier (argument_list "("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" ( (string_literal ""ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1"" " string_content ") ))))) ;) }) (else_clause "else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" else (compound_statement "{\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" { (expression_statement "iVar3 = 0x34;" (assignment_expression "iVar3 = 0x34" identifier = number_literal) ;) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";" (assignment_expression "pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" identifier = (cast_expression "(byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar15 = *pbVar8 < *pbVar10;" (assignment_expression "bVar15 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar14 = *pbVar8 == *pbVar10;" (assignment_expression "bVar14 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (if_statement "if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" if (parenthesized_expression "((!bVar15 && !bVar14) == bVar15)" ( (binary_expression "(!bVar15 && !bVar14) == bVar15" (parenthesized_expression "(!bVar15 && !bVar14)" ( (binary_expression "!bVar15 && !bVar14" (unary_expression "!bVar15" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier) )) (compound_statement "{\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" { (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");" (assignment_expression "local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" identifier = (cast_expression "(byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" identifier (argument_list "("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" ( (string_literal ""ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1"" " string_content ") ))))) ;) })) }))) (expression_statement "FUN_00024ee0(param_2,0x18);" (call_expression "FUN_00024ee0(param_2,0x18)" identifier (argument_list "(param_2,0x18)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00024ee0(param_2,0x19);" (call_expression "FUN_00024ee0(param_2,0x19)" identifier (argument_list "(param_2,0x19)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "FUN_00025220(param_2,0x1a);" (call_expression "FUN_00025220(param_2,0x1a)" identifier (argument_list "(param_2,0x1a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x1b);" (call_expression "FUN_00025320(param_2,0x1b)" identifier (argument_list "(param_2,0x1b)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("SshProt",3);" (assignment_expression "uVar2 = FUN_0006a090("SshProt",3)" identifier = (call_expression "FUN_0006a090("SshProt",3)" identifier (argument_list "("SshProt",3)" ( (string_literal ""SshProt"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"SshProt",uVar2)" identifier (argument_list "(param_1,"SshProt",uVar2)" ( identifier , (string_literal ""SshProt"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n    iVar3 = 0;\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else if (iVar3 == 2) {\n    iVar3 = 3;\n  }" else (if_statement "if (iVar3 == 2) {\n    iVar3 = 3;\n  }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n    iVar3 = 3;\n  }" { (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) })))) (expression_statement "FUN_00017aa0(param_2,0x21,iVar3);" (call_expression "FUN_00017aa0(param_2,0x21,iVar3)" identifier (argument_list "(param_2,0x21,iVar3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00025320(param_2,9);" (call_expression "FUN_00025320(param_2,9)" identifier (argument_list "(param_2,9)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x22);" (call_expression "FUN_00025220(param_2,0x22)" identifier (argument_list "(param_2,0x22)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x23);" (call_expression "FUN_00025220(param_2,0x23)" identifier (argument_list "(param_2,0x23)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x24);" (call_expression "FUN_00025220(param_2,0x24)" identifier (argument_list "(param_2,0x24)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x25);" (call_expression "FUN_00025220(param_2,0x25)" identifier (argument_list "(param_2,0x25)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x26);" (call_expression "FUN_00025220(param_2,0x26)" identifier (argument_list "(param_2,0x26)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x27);" (call_expression "FUN_00025220(param_2,0x27)" identifier (argument_list "(param_2,0x27)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00024ee0(param_2,0x29);" (call_expression "FUN_00024ee0(param_2,0x29)" identifier (argument_list "(param_2,0x29)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "FUN_000251c0(0x2a);" (call_expression "FUN_000251c0(0x2a)" identifier (argument_list "(0x2a)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x2d);" (call_expression "FUN_00025220(param_2,0x2d)" identifier (argument_list "(param_2,0x2d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x20);" (call_expression "FUN_000251c0(0x20)" identifier (argument_list "(0x20)" ( number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x14);" (call_expression "FUN_00025320(param_2,0x14)" identifier (argument_list "(param_2,0x14)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x37);" (call_expression "FUN_00025220(param_2,0x37)" identifier (argument_list "(param_2,0x37)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x38);" (call_expression "FUN_00025220(param_2,0x38)" identifier (argument_list "(param_2,0x38)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3f);" (call_expression "FUN_00025220(param_2,0x3f)" identifier (argument_list "(param_2,0x3f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x40);" (call_expression "FUN_00025220(param_2,0x40)" identifier (argument_list "(param_2,0x40)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x41);" (call_expression "FUN_00025220(param_2,0x41)" identifier (argument_list "(param_2,0x41)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x43);" (call_expression "FUN_00025220(param_2,0x43)" identifier (argument_list "(param_2,0x43)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x42);" (call_expression "FUN_00025220(param_2,0x42)" identifier (argument_list "(param_2,0x42)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x44);" (call_expression "FUN_00025220(param_2,0x44)" identifier (argument_list "(param_2,0x44)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x45);" (call_expression "FUN_00025220(param_2,0x45)" identifier (argument_list "(param_2,0x45)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x46);" (call_expression "FUN_00025220(param_2,0x46)" identifier (argument_list "(param_2,0x46)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x47);" (call_expression "FUN_00025220(param_2,0x47)" identifier (argument_list "(param_2,0x47)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x48);" (call_expression "FUN_00025220(param_2,0x48)" identifier (argument_list "(param_2,0x48)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("NoRemoteQTitle",1);" (assignment_expression "uVar2 = FUN_0006a090("NoRemoteQTitle",1)" identifier = (call_expression "FUN_0006a090("NoRemoteQTitle",1)" identifier (argument_list "("NoRemoteQTitle",1)" ( (string_literal ""NoRemoteQTitle"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);" (call_expression "FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2)" identifier (argument_list "(param_1,"NoRemoteQTitle",uVar2)" ( identifier , (string_literal ""NoRemoteQTitle"" " string_content ") , identifier ))) ;) (expression_statement "FUN_00025220(param_2,0x4b);" (call_expression "FUN_00025220(param_2,0x4b)" identifier (argument_list "(param_2,0x4b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x49);" (call_expression "FUN_00025220(param_2,0x49)" identifier (argument_list "(param_2,0x49)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4a);" (call_expression "FUN_00025220(param_2,0x4a)" identifier (argument_list "(param_2,0x4a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4c);" (call_expression "FUN_00025220(param_2,0x4c)" identifier (argument_list "(param_2,0x4c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4d);" (call_expression "FUN_00025220(param_2,0x4d)" identifier (argument_list "(param_2,0x4d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4e);" (call_expression "FUN_00025220(param_2,0x4e)" identifier (argument_list "(param_2,0x4e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x51);" (call_expression "FUN_00025220(param_2,0x51)" identifier (argument_list "(param_2,0x51)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x52);" (call_expression "FUN_00025220(param_2,0x52)" identifier (argument_list "(param_2,0x52)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x53);" (call_expression "FUN_00025220(param_2,0x53)" identifier (argument_list "(param_2,0x53)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x5b);" (call_expression "FUN_00025220(param_2,0x5b)" identifier (argument_list "(param_2,0x5b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x5c);" (call_expression "FUN_00025220(param_2,0x5c)" identifier (argument_list "(param_2,0x5c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4f);" (call_expression "FUN_00025220(param_2,0x4f)" identifier (argument_list "(param_2,0x4f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x50);" (call_expression "FUN_00025220(param_2,0x50)" identifier (argument_list "(param_2,0x50)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x54);" (call_expression "FUN_00025220(param_2,0x54)" identifier (argument_list "(param_2,0x54)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x55);" (call_expression "FUN_00025220(param_2,0x55)" identifier (argument_list "(param_2,0x55)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x80);" (call_expression "FUN_00025320(param_2,0x80)" identifier (argument_list "(param_2,0x80)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x56);" (call_expression "FUN_00025220(param_2,0x56)" identifier (argument_list "(param_2,0x56)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x57);" (call_expression "FUN_00025220(param_2,0x57)" identifier (argument_list "(param_2,0x57)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7d);" (call_expression "FUN_00025220(param_2,0x7d)" identifier (argument_list "(param_2,0x7d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7e);" (call_expression "FUN_00025220(param_2,0x7e)" identifier (argument_list "(param_2,0x7e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7f);" (call_expression "FUN_00025220(param_2,0x7f)" identifier (argument_list "(param_2,0x7f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,100);" (call_expression "FUN_00025220(param_2,100)" identifier (argument_list "(param_2,100)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x65);" (call_expression "FUN_00025220(param_2,0x65)" identifier (argument_list "(param_2,0x65)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x66);" (call_expression "FUN_00025220(param_2,0x66)" identifier (argument_list "(param_2,0x66)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x67);" (call_expression "FUN_00025220(param_2,0x67)" identifier (argument_list "(param_2,0x67)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x6c);" (call_expression "FUN_000251c0(0x6c)" identifier (argument_list "(0x6c)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x68);" (call_expression "FUN_00025220(param_2,0x68)" identifier (argument_list "(param_2,0x68)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x69);" (call_expression "FUN_00025220(param_2,0x69)" identifier (argument_list "(param_2,0x69)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("BellOverloadT",2000000);" (assignment_expression "uVar2 = FUN_0006a090("BellOverloadT",2000000)" identifier = (call_expression "FUN_0006a090("BellOverloadT",2000000)" identifier (argument_list "("BellOverloadT",2000000)" ( (string_literal ""BellOverloadT"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BellOverloadT",uVar2)" identifier (argument_list "(param_1,"BellOverloadT",uVar2)" ( identifier , (string_literal ""BellOverloadT"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x6a,iVar3 / 1000);" (call_expression "FUN_00017aa0(param_2,0x6a,iVar3 / 1000)" identifier (argument_list "(param_2,0x6a,iVar3 / 1000)" ( identifier , number_literal , (binary_expression "iVar3 / 1000" identifier / number_literal) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BellOverloadS",5000000);" (assignment_expression "uVar2 = FUN_0006a090("BellOverloadS",5000000)" identifier = (call_expression "FUN_0006a090("BellOverloadS",5000000)" identifier (argument_list "("BellOverloadS",5000000)" ( (string_literal ""BellOverloadS"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BellOverloadS",uVar2)" identifier (argument_list "(param_1,"BellOverloadS",uVar2)" ( identifier , (string_literal ""BellOverloadS"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x6b,iVar3 / 1000);" (call_expression "FUN_00017aa0(param_2,0x6b,iVar3 / 1000)" identifier (argument_list "(param_2,0x6b,iVar3 / 1000)" ( identifier , number_literal , (binary_expression "iVar3 / 1000" identifier / number_literal) ))) ;) (expression_statement "FUN_00025220(param_2,0x60);" (call_expression "FUN_00025220(param_2,0x60)" identifier (argument_list "(param_2,0x60)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x61);" (call_expression "FUN_00025220(param_2,0x61)" identifier (argument_list "(param_2,0x61)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x62);" (call_expression "FUN_00025220(param_2,0x62)" identifier (argument_list "(param_2,0x62)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,99);" (call_expression "FUN_00025220(param_2,99)" identifier (argument_list "(param_2,99)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb6);" (call_expression "FUN_00025220(param_2,0xb6)" identifier (argument_list "(param_2,0xb6)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x82);" (call_expression "FUN_00025220(param_2,0x82)" identifier (argument_list "(param_2,0x82)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x83);" (call_expression "FUN_00025220(param_2,0x83)" identifier (argument_list "(param_2,0x83)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x72);" (call_expression "FUN_00025220(param_2,0x72)" identifier (argument_list "(param_2,0x72)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x5f);" (call_expression "FUN_00025320(param_2,0x5f)" identifier (argument_list "(param_2,0x5f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x73);" (call_expression "FUN_00025220(param_2,0x73)" identifier (argument_list "(param_2,0x73)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x74);" (call_expression "FUN_00025220(param_2,0x74)" identifier (argument_list "(param_2,0x74)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025260(0x75);" (call_expression "FUN_00025260(0x75)" identifier (argument_list "(0x75)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x76);" (call_expression "FUN_00025220(param_2,0x76)" identifier (argument_list "(param_2,0x76)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x90);" (call_expression "FUN_00025220(param_2,0x90)" identifier (argument_list "(param_2,0x90)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x86);" (call_expression "FUN_00025220(param_2,0x86)" identifier (argument_list "(param_2,0x86)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x87);" (call_expression "FUN_00025220(param_2,0x87)" identifier (argument_list "(param_2,0x87)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x84);" (call_expression "FUN_00025220(param_2,0x84)" identifier (argument_list "(param_2,0x84)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x85);" (call_expression "FUN_00025220(param_2,0x85)" identifier (argument_list "(param_2,0x85)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("BoldAsColour",1);" (assignment_expression "uVar2 = FUN_0006a090("BoldAsColour",1)" identifier = (call_expression "FUN_0006a090("BoldAsColour",1)" identifier (argument_list "("BoldAsColour",1)" ( (string_literal ""BoldAsColour"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BoldAsColour",uVar2)" identifier (argument_list "(param_1,"BoldAsColour",uVar2)" ( identifier , (string_literal ""BoldAsColour"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x88,iVar3 + 1);" (call_expression "FUN_00017aa0(param_2,0x88,iVar3 + 1)" identifier (argument_list "(param_2,0x88,iVar3 + 1)" ( identifier , number_literal , (binary_expression "iVar3 + 1" identifier + number_literal) ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);" do (compound_statement "{\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  }" { (expression_statement "__sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);" (call_expression "__sprintf_chk(local_34,1,0x14,"Colour%d",iVar3)" identifier (argument_list "(local_34,1,0x14,"Colour%d",iVar3)" ( identifier , number_literal , number_literal , (string_literal ""Colour%d"" " string_content ") , identifier ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);" (assignment_expression "iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" identifier = (call_expression "__isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" identifier (argument_list "(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" ( identifier , (pointer_expression "&DAT_00072fed" & identifier) , (pointer_expression "&local_40" & identifier) , (pointer_expression "&local_3c" & identifier) , (pointer_expression "&local_38" & identifier) )))) ;) (if_statement "if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }" if (parenthesized_expression "(iVar4 == 3)" ( (binary_expression "iVar4 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }" { (expression_statement "iVar4 = iVar3 * 3;" (assignment_expression "iVar4 = iVar3 * 3" identifier = (binary_expression "iVar3 * 3" identifier * number_literal)) ;) (expression_statement "FUN_00017b40(param_2,0x89,iVar4,local_40);" (call_expression "FUN_00017b40(param_2,0x89,iVar4,local_40)" identifier (argument_list "(param_2,0x89,iVar4,local_40)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);" (call_expression "FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c)" identifier (argument_list "(param_2,0x89,iVar4 + 1,local_3c)" ( identifier , number_literal , (binary_expression "iVar4 + 1" identifier + number_literal) , identifier ))) ;) (expression_statement "FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);" (call_expression "FUN_00017b40(param_2,0x89,iVar4 + 2,local_38)" identifier (argument_list "(param_2,0x89,iVar4 + 2,local_38)" ( identifier , number_literal , (binary_expression "iVar4 + 2" identifier + number_literal) , identifier ))) ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) }) while (parenthesized_expression "(iVar3 != 0x16)" ( (binary_expression "iVar3 != 0x16" identifier != number_literal) )) ;) (expression_statement "FUN_00025220(param_2,0x8c);" (call_expression "FUN_00025220(param_2,0x8c)" identifier (argument_list "(param_2,0x8c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8d);" (call_expression "FUN_00025220(param_2,0x8d)" identifier (argument_list "(param_2,0x8d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8a);" (call_expression "FUN_00025220(param_2,0x8a)" identifier (argument_list "(param_2,0x8a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8b);" (call_expression "FUN_00025220(param_2,0x8b)" identifier (argument_list "(param_2,0x8b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8e);" (call_expression "FUN_00025220(param_2,0x8e)" identifier (argument_list "(param_2,0x8e)" ( identifier , number_literal ))) ;) (expression_statement "local_70 = (byte *)0x20;" (assignment_expression "local_70 = (byte *)0x20" identifier = (cast_expression "(byte *)0x20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);" statement_identifier : (expression_statement "__sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);" (call_expression "__sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20)" identifier (argument_list "(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20)" ( identifier , number_literal , number_literal , (string_literal ""Wordness%d"" " string_content ") , (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;)) (expression_statement "pcVar5 = (char *)FUN_000252c0();" (assignment_expression "pcVar5 = (char *)FUN_000252c0()" identifier = (cast_expression "(char *)FUN_000252c0()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000252c0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar1 = *pcVar5;" (assignment_expression "cVar1 = *pcVar5" identifier = (pointer_expression "*pcVar5" * identifier)) ;) (expression_statement "iVar3 = (int)local_70 + -0x20;" (assignment_expression "iVar3 = (int)local_70 + -0x20" identifier = (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "__nptr = pcVar5;" (assignment_expression "__nptr = pcVar5" identifier = identifier) ;) (do_statement "do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );" do (compound_statement "{\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  }" { (expression_statement "pcVar12 = __nptr;" (assignment_expression "pcVar12 = __nptr" identifier = identifier) ;) (if_statement "if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }" if (parenthesized_expression "((cVar1 != ',') && (cVar1 != '\0'))" ( (binary_expression "(cVar1 != ',') && (cVar1 != '\0')" (parenthesized_expression "(cVar1 != ',')" ( (binary_expression "cVar1 != ','" identifier != (char_literal "','" ' character ')) )) && (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }" { (do_statement "do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');" do (compound_statement "{\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      }" { (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = *pcVar12;" (assignment_expression "cVar1 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (if_statement "if (cVar1 == '\0') break;" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(cVar1 != ',')" ( (binary_expression "cVar1 != ','" identifier != (char_literal "','" ' character ')) )) ;) })) (if_statement "if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }" if (parenthesized_expression "(cVar1 == ',')" ( (binary_expression "cVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }" { (expression_statement "*pcVar12 = '\0';" (assignment_expression "*pcVar12 = '\0'" (pointer_expression "*pcVar12" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) })) (expression_statement "lVar6 = strtol(__nptr,(char **)0x0,10);" (assignment_expression "lVar6 = strtol(__nptr,(char **)0x0,10)" identifier = (call_expression "strtol(__nptr,(char **)0x0,10)" identifier (argument_list "(__nptr,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "FUN_00017b40(param_2,0x8f,iVar3,lVar6);" (call_expression "FUN_00017b40(param_2,0x8f,iVar3,lVar6)" identifier (argument_list "(param_2,0x8f,iVar3,lVar6)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (local_70 == (byte *)(iVar3 + 1)) break;" if (parenthesized_expression "(local_70 == (byte *)(iVar3 + 1))" ( (binary_expression "local_70 == (byte *)(iVar3 + 1)" identifier == (cast_expression "(byte *)(iVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 1)" ( (binary_expression "iVar3 + 1" identifier + number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "cVar1 = *pcVar12;" (assignment_expression "cVar1 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "__nptr = pcVar12;" (assignment_expression "__nptr = pcVar12" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "FUN_0001b250(pcVar5);" (call_expression "FUN_0001b250(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)((int)local_70 + 0x20);" (assignment_expression "local_70 = (byte *)((int)local_70 + 0x20)" identifier = (cast_expression "(byte *)((int)local_70 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x20)" ( (binary_expression "(int)local_70 + 0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0006f2a0();\n  }" if (parenthesized_expression "(local_70 == (byte *)0x120)" ( (binary_expression "local_70 == (byte *)0x120" identifier == (cast_expression "(byte *)0x120" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0006f2a0();\n  }" { (expression_statement "FUN_00025320(param_2,0x91);" (call_expression "FUN_00025320(param_2,0x91)" identifier (argument_list "(param_2,0x91)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x92);" (call_expression "FUN_00025220(param_2,0x92)" identifier (argument_list "(param_2,0x92)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x93);" (call_expression "FUN_00025220(param_2,0x93)" identifier (argument_list "(param_2,0x93)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x81);" (call_expression "FUN_00025320(param_2,0x81)" identifier (argument_list "(param_2,0x81)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x94);" (call_expression "FUN_00025220(param_2,0x94)" identifier (argument_list "(param_2,0x94)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x6d);" (call_expression "FUN_00025220(param_2,0x6d)" identifier (argument_list "(param_2,0x6d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x6e);" (call_expression "FUN_00025220(param_2,0x6e)" identifier (argument_list "(param_2,0x6e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x58);" (call_expression "FUN_00025220(param_2,0x58)" identifier (argument_list "(param_2,0x58)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x59);" (call_expression "FUN_00025220(param_2,0x59)" identifier (argument_list "(param_2,0x59)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x5a);" (call_expression "FUN_00025220(param_2,0x5a)" identifier (argument_list "(param_2,0x5a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x6f);" (call_expression "FUN_00025220(param_2,0x6f)" identifier (argument_list "(param_2,0x6f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x70);" (call_expression "FUN_00025220(param_2,0x70)" identifier (argument_list "(param_2,0x70)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x71);" (call_expression "FUN_00025220(param_2,0x71)" identifier (argument_list "(param_2,0x71)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x95);" (call_expression "FUN_00025220(param_2,0x95)" identifier (argument_list "(param_2,0x95)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x96);" (call_expression "FUN_00025320(param_2,0x96)" identifier (argument_list "(param_2,0x96)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x97);" (call_expression "FUN_00025220(param_2,0x97)" identifier (argument_list "(param_2,0x97)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x98);" (call_expression "FUN_000251c0(0x98)" identifier (argument_list "(0x98)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x99);" (call_expression "FUN_00025220(param_2,0x99)" identifier (argument_list "(param_2,0x99)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x9a);" (call_expression "FUN_00025220(param_2,0x9a)" identifier (argument_list "(param_2,0x9a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025360(0x9b);" (call_expression "FUN_00025360(0x9b)" identifier (argument_list "(0x9b)" ( number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugIgnore1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugIgnore1",0)" identifier = (call_expression "FUN_0006a090("BugIgnore1",0)" identifier (argument_list "("BugIgnore1",0)" ( (string_literal ""BugIgnore1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugIgnore1",uVar2)" identifier (argument_list "(param_1,"BugIgnore1",uVar2)" ( identifier , (string_literal ""BugIgnore1"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9c,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9c,2 - iVar3)" identifier (argument_list "(param_2,0x9c,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugPlainPW1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugPlainPW1",0)" identifier = (call_expression "FUN_0006a090("BugPlainPW1",0)" identifier (argument_list "("BugPlainPW1",0)" ( (string_literal ""BugPlainPW1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugPlainPW1",uVar2)" identifier (argument_list "(param_1,"BugPlainPW1",uVar2)" ( identifier , (string_literal ""BugPlainPW1"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9d,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9d,2 - iVar3)" identifier (argument_list "(param_2,0x9d,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugRSA1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRSA1",0)" identifier = (call_expression "FUN_0006a090("BugRSA1",0)" identifier (argument_list "("BugRSA1",0)" ( (string_literal ""BugRSA1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugRSA1",uVar2)" identifier (argument_list "(param_1,"BugRSA1",uVar2)" ( identifier , (string_literal ""BugRSA1"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9e,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9e,2 - iVar3)" identifier (argument_list "(param_2,0x9e,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugIgnore2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugIgnore2",0)" identifier = (call_expression "FUN_0006a090("BugIgnore2",0)" identifier (argument_list "("BugIgnore2",0)" ( (string_literal ""BugIgnore2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugIgnore2",uVar2)" identifier (argument_list "(param_1,"BugIgnore2",uVar2)" ( identifier , (string_literal ""BugIgnore2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa5,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa5,2 - iVar3)" identifier (argument_list "(param_2,0xa5,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugHMAC2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugHMAC2",0)" identifier = (call_expression "FUN_0006a090("BugHMAC2",0)" identifier (argument_list "("BugHMAC2",0)" ( (string_literal ""BugHMAC2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugHMAC2",uVar2)" identifier (argument_list "(param_1,"BugHMAC2",uVar2)" ( identifier , (string_literal ""BugHMAC2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9f,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9f,2 - iVar3)" identifier (argument_list "(param_2,0x9f,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (if_statement "if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }" { (expression_statement "uVar2 = FUN_0006a090("BuggyMAC",0);" (assignment_expression "uVar2 = FUN_0006a090("BuggyMAC",0)" identifier = (call_expression "FUN_0006a090("BuggyMAC",0)" identifier (argument_list "("BuggyMAC",0)" ( (string_literal ""BuggyMAC"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BuggyMAC",uVar2)" identifier (argument_list "(param_1,"BuggyMAC",uVar2)" ( identifier , (string_literal ""BuggyMAC"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n        FUN_00017aa0(param_2,0x9f,0);\n      }" { (expression_statement "FUN_00017aa0(param_2,0x9f,0);" (call_expression "FUN_00017aa0(param_2,0x9f,0)" identifier (argument_list "(param_2,0x9f,0)" ( identifier , number_literal , number_literal ))) ;) })) })) (expression_statement "uVar2 = FUN_0006a090("BugDeriveKey2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugDeriveKey2",0)" identifier = (call_expression "FUN_0006a090("BugDeriveKey2",0)" identifier (argument_list "("BugDeriveKey2",0)" ( (string_literal ""BugDeriveKey2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2)" identifier (argument_list "(param_1,"BugDeriveKey2",uVar2)" ( identifier , (string_literal ""BugDeriveKey2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa0,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa0,2 - iVar3)" identifier (argument_list "(param_2,0xa0,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugRSAPad2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRSAPad2",0)" identifier = (call_expression "FUN_0006a090("BugRSAPad2",0)" identifier (argument_list "("BugRSAPad2",0)" ( (string_literal ""BugRSAPad2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugRSAPad2",uVar2)" identifier (argument_list "(param_1,"BugRSAPad2",uVar2)" ( identifier , (string_literal ""BugRSAPad2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa1,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa1,2 - iVar3)" identifier (argument_list "(param_2,0xa1,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugPKSessID2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugPKSessID2",0)" identifier = (call_expression "FUN_0006a090("BugPKSessID2",0)" identifier (argument_list "("BugPKSessID2",0)" ( (string_literal ""BugPKSessID2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugPKSessID2",uVar2)" identifier (argument_list "(param_1,"BugPKSessID2",uVar2)" ( identifier , (string_literal ""BugPKSessID2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa2,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa2,2 - iVar3)" identifier (argument_list "(param_2,0xa2,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugRekey2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRekey2",0)" identifier = (call_expression "FUN_0006a090("BugRekey2",0)" identifier (argument_list "("BugRekey2",0)" ( (string_literal ""BugRekey2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugRekey2",uVar2)" identifier (argument_list "(param_1,"BugRekey2",uVar2)" ( identifier , (string_literal ""BugRekey2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa3,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa3,2 - iVar3)" identifier (argument_list "(param_2,0xa3,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugMaxPkt2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugMaxPkt2",0)" identifier = (call_expression "FUN_0006a090("BugMaxPkt2",0)" identifier (argument_list "("BugMaxPkt2",0)" ( (string_literal ""BugMaxPkt2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2)" identifier (argument_list "(param_1,"BugMaxPkt2",uVar2)" ( identifier , (string_literal ""BugMaxPkt2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa4,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa4,2 - iVar3)" identifier (argument_list "(param_2,0xa4,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugOldGex2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugOldGex2",0)" identifier = (call_expression "FUN_0006a090("BugOldGex2",0)" identifier (argument_list "("BugOldGex2",0)" ( (string_literal ""BugOldGex2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugOldGex2",uVar2)" identifier (argument_list "(param_1,"BugOldGex2",uVar2)" ( identifier , (string_literal ""BugOldGex2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa6,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa6,2 - iVar3)" identifier (argument_list "(param_2,0xa6,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugWinadj",0);" (assignment_expression "uVar2 = FUN_0006a090("BugWinadj",0)" identifier = (call_expression "FUN_0006a090("BugWinadj",0)" identifier (argument_list "("BugWinadj",0)" ( (string_literal ""BugWinadj"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugWinadj",uVar2)" identifier (argument_list "(param_1,"BugWinadj",uVar2)" ( identifier , (string_literal ""BugWinadj"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa7,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa7,2 - iVar3)" identifier (argument_list "(param_2,0xa7,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugChanReq",0);" (assignment_expression "uVar2 = FUN_0006a090("BugChanReq",0)" identifier = (call_expression "FUN_0006a090("BugChanReq",0)" identifier (argument_list "("BugChanReq",0)" ( (string_literal ""BugChanReq"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugChanReq",uVar2)" identifier (argument_list "(param_1,"BugChanReq",uVar2)" ( identifier , (string_literal ""BugChanReq"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa8,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa8,2 - iVar3)" identifier (argument_list "(param_2,0xa8,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "FUN_00017aa0(param_2,0xa9,0);" (call_expression "FUN_00017aa0(param_2,0xa9,0)" identifier (argument_list "(param_2,0xa9,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xae);" (call_expression "FUN_00025220(param_2,0xae)" identifier (argument_list "(param_2,0xae)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xaf);" (call_expression "FUN_00025220(param_2,0xaf)" identifier (argument_list "(param_2,0xaf)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb0);" (call_expression "FUN_00025220(param_2,0xb0)" identifier (argument_list "(param_2,0xb0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb1);" (call_expression "FUN_00025220(param_2,0xb1)" identifier (argument_list "(param_2,0xb1)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025260(0xb2);" (call_expression "FUN_00025260(0xb2)" identifier (argument_list "(0xb2)" ( number_literal ))) ;) (expression_statement "FUN_00025260(0xb3);" (call_expression "FUN_00025260(0xb3)" identifier (argument_list "(0xb3)" ( number_literal ))) ;) (expression_statement "FUN_00025260(0xb4);" (call_expression "FUN_00025260(0xb4)" identifier (argument_list "(0xb4)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb5);" (call_expression "FUN_00025220(param_2,0xb5)" identifier (argument_list "(param_2,0xb5)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x39);" (call_expression "FUN_00025320(param_2,0x39)" identifier (argument_list "(param_2,0x39)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3a);" (call_expression "FUN_00025220(param_2,0x3a)" identifier (argument_list "(param_2,0x3a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3b);" (call_expression "FUN_00025220(param_2,0x3b)" identifier (argument_list "(param_2,0x3b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3c);" (call_expression "FUN_00025220(param_2,0x3c)" identifier (argument_list "(param_2,0x3c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3d);" (call_expression "FUN_00025220(param_2,0x3d)" identifier (argument_list "(param_2,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3e);" (call_expression "FUN_00025220(param_2,0x3e)" identifier (argument_list "(param_2,0x3e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0xb7);" (call_expression "FUN_00025320(param_2,0xb7)" identifier (argument_list "(param_2,0xb7)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xaa);" (call_expression "FUN_00025220(param_2,0xaa)" identifier (argument_list "(param_2,0xaa)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xab);" (call_expression "FUN_00025220(param_2,0xab)" identifier (argument_list "(param_2,0xab)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xac);" (call_expression "FUN_00025220(param_2,0xac)" identifier (argument_list "(param_2,0xac)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025360(0xad);" (call_expression "FUN_00025360(0xad)" identifier (argument_list "(0xad)" ( number_literal ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_0006f2a0();" (call_expression "FUN_0006f2a0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_00027ba9;" 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\nvoid load_open_settings(void *sesskey,Conf *conf)\n\n{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  Backend *pBVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  long value;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  char *pcVar11;\n  byte *pbVar12;\n  int in_GS_OFFSET;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  byte bVar16;\n  byte *local_70;\n  undefined4 *local_68;\n  byte *local_64;\n  int c0;\n  int c1;\n  int c2;\n  char buf [20];\n  \n  bVar16 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  conf_set_int(conf,0x2b,0);\n  conf_set_str(conf,0x14,"");\n  conf_set_str(conf,0x15,"");\n  conf_set_str(conf,0x2e,"");\n  gpps(sesskey,"HostName","",conf,0);\n  gppfile(sesskey,"LogFileName",conf,0x77);\n  gppi(sesskey,"LogType",0,conf,0x78);\n  gppi(sesskey,"LogFileClash",-1,conf,0x79);\n  gppi(sesskey,"LogFlush",1,conf,0x7a);\n  gppi(sesskey,"SSHLogOmitPasswords",1,conf,0x7b);\n  gppi(sesskey,"SSHLogOmitData",0,conf,0x7c);\n  pcVar3 = gpps_raw(sesskey,"Protocol","default");\n  conf_set_int(conf,2,default_protocol);\n  conf_set_int(conf,1,default_port);\n  pBVar4 = backend_from_name(pcVar3);\n  if (pBVar4 != (Backend *)0x0) {\n    conf_set_int(conf,2,pBVar4->protocol);\n    gppi(sesskey,"PortNumber",default_port,conf,1);\n  }\n  safefree(pcVar3);\n  gppi(sesskey,"AddressFamily",0,conf,3);\n  iVar5 = platform_default_i("CloseOnExit",1);\n  iVar5 = read_setting_i(sesskey,"CloseOnExit",iVar5);\n  conf_set_int(conf,4,(iVar5 + 1) % 3);\n  gppi(sesskey,"WarnOnClose",1,conf,5);\n  iVar5 = platform_default_i("PingInterval",0);\n  iVar5 = read_setting_i(sesskey,"PingInterval",iVar5);\n  iVar6 = platform_default_i("PingIntervalSecs",0);\n  iVar6 = read_setting_i(sesskey,"PingIntervalSecs",iVar6);\n  conf_set_int(conf,6,iVar5 * 0x3c + iVar6);\n  gppi(sesskey,"TCPNoDelay",1,conf,7);\n  gppi(sesskey,"TCPKeepalives",0,conf,8);\n  gpps(sesskey,"TerminalType","xterm",conf,0x30);\n  gpps(sesskey,"TerminalSpeed","38400,38400",conf,0x31);\n  iVar5 = gppmap(sesskey,"TerminalModes",conf,0x32);\n  if (iVar5 != 0) {\n    local_68 = (undefined4 *)(ttymodes + 8);\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);\n      bVar13 = false;\n      bVar15 = pcVar3 == (char *)0x0;\n      if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar9 = (byte *)*local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar9;\n    } while( true );\n  }\n  pcVar3 = "INTR";\n  pcVar7 = "QUIT";\n  puVar10 = (undefined4 *)(ttymodes + 8);\n  while (conf_set_str_str(conf,0x32,pcVar3,"A"), pcVar7 != (char *)0x0) {\n    pcVar3 = pcVar7;\n    pcVar7 = (char *)*puVar10;\n    puVar10 = puVar10 + 1;\n  }\nLAB_00026f8c:\n  gpps(sesskey,"ProxyExcludeList","",conf,10);\n  iVar5 = platform_default_i("ProxyDNS",1);\n  iVar5 = read_setting_i(sesskey,"ProxyDNS",iVar5);\n  conf_set_int(conf,0xb,(iVar5 + 1) % 3);\n  gppi(sesskey,"ProxyLocalhost",0,conf,0xc);\n  gppi(sesskey,"ProxyMethod",-1,conf,0xd);\n  iVar5 = conf_get_int(conf,0xd);\n  if (iVar5 == -1) {\n    iVar5 = platform_default_i("ProxyType",0);\n    iVar5 = read_setting_i(sesskey,"ProxyType",iVar5);\n    if (iVar5 == 0) {\n      conf_set_int(conf,0xd,0);\n    }\n    else if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }\n  }\n  gpps(sesskey,"ProxyHost","proxy",conf,0xe);\n  gppi(sesskey,"ProxyPort",0x50,conf,0xf);\n  gpps(sesskey,"ProxyUsername","",conf,0x10);\n  gpps(sesskey,"ProxyPassword","",conf,0x11);\n  gpps(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12);\n  gppi(sesskey,"ProxyLogToTerm",1,conf,0x13);\n  gppmap(sesskey,"Environment",conf,0x33);\n  gpps(sesskey,"UserName","",conf,0x34);\n  gppi(sesskey,"UserNameFromEnvironment",0,conf,0x35);\n  gpps(sesskey,"LocalUserName","",conf,0x36);\n  gppi(sesskey,"NoPTY",0,conf,0x16);\n  gppi(sesskey,"Compression",0,conf,0x17);\n  gppi(sesskey,"TryAgent",1,conf,0x1c);\n  gppi(sesskey,"AgentFwd",0,conf,0x1d);\n  gppi(sesskey,"ChangeUsername",0,conf,0x1e);\n  gppi(sesskey,"GssapiFwd",0,conf,0x28);\n  pcVar3 = gpps_raw(sesskey,"Cipher","");\n  gprefs_from_str(pcVar3,ciphernames,7,conf,0x1f);\n  safefree(pcVar3);\n  iVar5 = platform_default_i("BugDHGEx2",0);\n  iVar5 = read_setting_i(sesskey,"BugDHGEx2",iVar5);\n  pcVar3 = "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1";\n  if (iVar5 == 2) {\n    pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";\n  }\n  local_70 = (byte *)gpps_raw(sesskey,"KEX",pcVar3);\n  bVar13 = false;\n  bVar15 = local_70 == (byte *)0x0;\n  if (bVar15) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar5 = 0x34;\n  pbVar8 = local_70;\n  pbVar9 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar5 == 0) break;\n    iVar5 = iVar5 + -1;\n    bVar13 = *pbVar8 < *pbVar9;\n    bVar15 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n  } while (bVar15);\n  bVar14 = false;\n  bVar13 = (!bVar13 && !bVar15) == bVar13;\n  if (bVar13) {\n    safefree(local_70);\n    local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar5 = 0x34;\n    pbVar8 = local_70;\n    pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    } while (bVar13);\n    if ((!bVar14 && !bVar13) == bVar14) {\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  gprefs_from_str((char *)local_70,kexnames,6,conf,0x18);\n  safefree(local_70);\n  pcVar3 = gpps_raw(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN");\n  gprefs_from_str(pcVar3,hknames,5,conf,0x19);\n  safefree(pcVar3);\n  gppi(sesskey,"RekeyTime",0x3c,conf,0x1a);\n  gpps(sesskey,"RekeyBytes","1G",conf,0x1b);\n  iVar5 = platform_default_i("SshProt",3);\n  iVar5 = read_setting_i(sesskey,"SshProt",iVar5);\n  if (iVar5 == 1) {\n    iVar5 = 0;\n  }\n  else if (iVar5 == 2) {\n    iVar5 = 3;\n  }\n  conf_set_int(conf,0x21,iVar5);\n  gpps(sesskey,"LogHost","",conf,9);\n  gppi(sesskey,"SSH2DES",0,conf,0x22);\n  gppi(sesskey,"SshNoAuth",0,conf,0x23);\n  gppi(sesskey,"SshBanner",1,conf,0x24);\n  gppi(sesskey,"AuthTIS",0,conf,0x25);\n  gppi(sesskey,"AuthKI",1,conf,0x26);\n  gppi(sesskey,"AuthGSSAPI",1,conf,0x27);\n  iVar5 = ngsslibs;\n  pcVar3 = gpps_raw(sesskey,"GSSLibs","");\n  gprefs_from_str(pcVar3,(keyvalwhere *)gsslibkeywords,iVar5,conf,0x29);\n  safefree(pcVar3);\n  gppfile(sesskey,"GSSCustom",conf,0x2a);\n  gppi(sesskey,"SshNoShell",0,conf,0x2d);\n  gppfile(sesskey,"PublicKeyFile",conf,0x20);\n  gpps(sesskey,"RemoteCommand","",conf,0x14);\n  gppi(sesskey,"RFCEnviron",0,conf,0x37);\n  gppi(sesskey,"PassiveTelnet",0,conf,0x38);\n  gppi(sesskey,"BackspaceIsDelete",1,conf,0x3f);\n  gppi(sesskey,"RXVTHomeEnd",0,conf,0x40);\n  gppi(sesskey,"LinuxFunctionKeys",0,conf,0x41);\n  gppi(sesskey,"NoApplicationKeys",0,conf,0x43);\n  gppi(sesskey,"NoApplicationCursors",0,conf,0x42);\n  gppi(sesskey,"NoMouseReporting",0,conf,0x44);\n  gppi(sesskey,"NoRemoteResize",0,conf,0x45);\n  gppi(sesskey,"NoAltScreen",0,conf,0x46);\n  gppi(sesskey,"NoRemoteWinTitle",0,conf,0x47);\n  gppi(sesskey,"NoRemoteClearScroll",0,conf,0x48);\n  iVar5 = platform_default_i("NoRemoteQTitle",1);\n  iVar5 = read_setting_i(sesskey,"NoRemoteQTitle",iVar5);\n  gppi(sesskey,"RemoteQTitleAction",(iVar5 == 0) + 1,conf,0x4b);\n  gppi(sesskey,"NoDBackspace",0,conf,0x49);\n  gppi(sesskey,"NoRemoteCharset",0,conf,0x4a);\n  gppi(sesskey,"ApplicationCursorKeys",0,conf,0x4c);\n  gppi(sesskey,"ApplicationKeypad",0,conf,0x4d);\n  gppi(sesskey,"NetHackKeypad",0,conf,0x4e);\n  gppi(sesskey,"AltF4",1,conf,0x51);\n  gppi(sesskey,"AltSpace",0,conf,0x52);\n  gppi(sesskey,"AltOnly",0,conf,0x53);\n  gppi(sesskey,"ComposeKey",0,conf,0x5b);\n  gppi(sesskey,"CtrlAltKeys",1,conf,0x5c);\n  gppi(sesskey,"TelnetKey",0,conf,0x4f);\n  gppi(sesskey,"TelnetRet",1,conf,0x50);\n  gppi(sesskey,"LocalEcho",2,conf,0x54);\n  gppi(sesskey,"LocalEdit",2,conf,0x55);\n  gpps(sesskey,"Answerback","PuTTY",conf,0x80);\n  gppi(sesskey,"AlwaysOnTop",0,conf,0x56);\n  gppi(sesskey,"FullScreenOnAltEnter",0,conf,0x57);\n  gppi(sesskey,"HideMousePtr",0,conf,0x7d);\n  gppi(sesskey,"SunkenEdge",0,conf,0x7e);\n  gppi(sesskey,"WindowBorder",1,conf,0x7f);\n  gppi(sesskey,"CurType",0,conf,100);\n  gppi(sesskey,"BlinkCur",0,conf,0x65);\n  gppi(sesskey,"Beep",1,conf,0x66);\n  gppi(sesskey,"BeepInd",0,conf,0x67);\n  gppfile(sesskey,"BellWaveFile",conf,0x6c);\n  gppi(sesskey,"BellOverload",1,conf,0x68);\n  gppi(sesskey,"BellOverloadN",5,conf,0x69);\n  iVar5 = platform_default_i("BellOverloadT",2000000);\n  iVar5 = read_setting_i(sesskey,"BellOverloadT",iVar5);\n  conf_set_int(conf,0x6a,iVar5 / 1000);\n  iVar5 = platform_default_i("BellOverloadS",5000000);\n  iVar5 = read_setting_i(sesskey,"BellOverloadS",iVar5);\n  conf_set_int(conf,0x6b,iVar5 / 1000);\n  gppi(sesskey,"ScrollbackLines",2000,conf,0x60);\n  gppi(sesskey,"DECOriginMode",0,conf,0x61);\n  gppi(sesskey,"AutoWrapMode",1,conf,0x62);\n  gppi(sesskey,"LFImpliesCR",0,conf,99);\n  gppi(sesskey,"CRImpliesLF",0,conf,0xb6);\n  gppi(sesskey,"DisableArabicShaping",0,conf,0x82);\n  gppi(sesskey,"DisableBidi",0,conf,0x83);\n  gppi(sesskey,"WinNameAlways",1,conf,0x72);\n  gpps(sesskey,"WinTitle","",conf,0x5f);\n  gppi(sesskey,"TermWidth",0x50,conf,0x73);\n  gppi(sesskey,"TermHeight",0x18,conf,0x74);\n  gppfont(sesskey,"Font",conf,0x75);\n  gppi(sesskey,"FontQuality",0,conf,0x76);\n  gppi(sesskey,"FontVTMode",4,conf,0x90);\n  gppi(sesskey,"UseSystemColours",0,conf,0x86);\n  gppi(sesskey,"TryPalette",0,conf,0x87);\n  gppi(sesskey,"ANSIColour",1,conf,0x84);\n  gppi(sesskey,"Xterm256Colour",1,conf,0x85);\n  iVar5 = platform_default_i("BoldAsColour",1);\n  pcVar3 = "187,187,187";\n  iVar5 = read_setting_i(sesskey,"BoldAsColour",iVar5);\n  conf_set_int(conf,0x88,iVar5 + 1);\n  iVar5 = 0;\n  while( true ) {\n    __sprintf_chk(buf,1,0x14,"Colour%d",iVar5);\n    pcVar3 = gpps_raw(sesskey,buf,pcVar3);\n    iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2);\n    if (iVar6 == 3) {\n      iVar6 = iVar5 * 3;\n      conf_set_int_int(conf,0x89,iVar6,c0);\n      conf_set_int_int(conf,0x89,iVar6 + 1,c1);\n      conf_set_int_int(conf,0x89,iVar6 + 2,c2);\n    }\n    iVar5 = iVar5 + 1;\n    safefree(pcVar3);\n    if (iVar5 == 0x16) break;\n    pcVar3 = load_open_settings::lexical_block_12::defaults[iVar5];\n  }\n  gppi(sesskey,"RawCNP",0,conf,0x8c);\n  gppi(sesskey,"PasteRTF",0,conf,0x8d);\n  gppi(sesskey,"MouseIsXterm",0,conf,0x8a);\n  pcVar3 = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";\n  gppi(sesskey,"RectSelect",0,conf,0x8b);\n  gppi(sesskey,"MouseOverride",1,conf,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar7 = gpps_raw(sesskey,buf,pcVar3);\n  cVar2 = *pcVar7;\n  iVar5 = (int)local_70 + -0x20;\n  pcVar3 = pcVar7;\n  do {\n    pcVar11 = pcVar3;\n    if ((cVar2 != ',') && (cVar2 != '\0')) {\n      do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');\n    }\n    if (cVar2 == ',') {\n      *pcVar11 = '\0';\n      pcVar11 = pcVar11 + 1;\n    }\n    value = strtol(pcVar3,(char **)0x0,10);\n    iVar6 = iVar5 + 1;\n    conf_set_int_int(conf,0x8f,iVar5,value);\n    if (local_70 == (byte *)iVar6) break;\n    cVar2 = *pcVar11;\n    iVar5 = iVar6;\n    pcVar3 = pcVar11;\n  } while( true );\n  safefree(pcVar7);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    gpps(sesskey,"LineCodePage","",conf,0x91);\n    gppi(sesskey,"CJKAmbigWide",0,conf,0x92);\n    gppi(sesskey,"UTF8Override",1,conf,0x93);\n    gpps(sesskey,"Printer","",conf,0x81);\n    gppi(sesskey,"CapsLockCyr",0,conf,0x94);\n    gppi(sesskey,"ScrollBar",1,conf,0x6d);\n    gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e);\n    gppi(sesskey,"ScrollOnKey",0,conf,0x58);\n    gppi(sesskey,"ScrollOnDisp",1,conf,0x59);\n    gppi(sesskey,"EraseToScrollback",1,conf,0x5a);\n    gppi(sesskey,"LockSize",0,conf,0x6f);\n    gppi(sesskey,"BCE",1,conf,0x70);\n    gppi(sesskey,"BlinkText",0,conf,0x71);\n    gppi(sesskey,"X11Forward",0,conf,0x95);\n    gpps(sesskey,"X11Display","",conf,0x96);\n    gppi(sesskey,"X11AuthType",1,conf,0x97);\n    gppfile(sesskey,"X11AuthFile",conf,0x98);\n    gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99);\n    gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a);\n    gppmap(sesskey,"PortForwardings",conf,0x9b);\n    iVar5 = platform_default_i("BugIgnore1",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5);\n    conf_set_int(conf,0x9c,2 - iVar5);\n    iVar5 = platform_default_i("BugPlainPW1",0);\n    iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5);\n    conf_set_int(conf,0x9d,2 - iVar5);\n    iVar5 = platform_default_i("BugRSA1",0);\n    iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5);\n    conf_set_int(conf,0x9e,2 - iVar5);\n    iVar5 = platform_default_i("BugIgnore2",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5);\n    conf_set_int(conf,0xa5,2 - iVar5);\n    iVar5 = platform_default_i("BugHMAC2",0);\n    iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5);\n    conf_set_int(conf,0x9f,2 - iVar5);\n    if (iVar5 == 0) {\n      iVar5 = platform_default_i("BuggyMAC",0);\n      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);\n      if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }\n    }\n    iVar5 = platform_default_i("BugDeriveKey2",0);\n    iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5);\n    conf_set_int(conf,0xa0,2 - iVar5);\n    iVar5 = platform_default_i("BugRSAPad2",0);\n    iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5);\n    conf_set_int(conf,0xa1,2 - iVar5);\n    iVar5 = platform_default_i("BugPKSessID2",0);\n    iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5);\n    conf_set_int(conf,0xa2,2 - iVar5);\n    iVar5 = platform_default_i("BugRekey2",0);\n    iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5);\n    conf_set_int(conf,0xa3,2 - iVar5);\n    iVar5 = platform_default_i("BugMaxPkt2",0);\n    iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5);\n    conf_set_int(conf,0xa4,2 - iVar5);\n    iVar5 = platform_default_i("BugOldGex2",0);\n    iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5);\n    conf_set_int(conf,0xa6,2 - iVar5);\n    iVar5 = platform_default_i("BugWinadj",0);\n    iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5);\n    conf_set_int(conf,0xa7,2 - iVar5);\n    iVar5 = platform_default_i("BugChanReq",0);\n    iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5);\n    conf_set_int(conf,0xa8,2 - iVar5);\n    conf_set_int(conf,0xa9,0);\n    gppi(sesskey,"StampUtmp",1,conf,0xae);\n    gppi(sesskey,"LoginShell",1,conf,0xaf);\n    gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0);\n    gppi(sesskey,"ShadowBold",0,conf,0xb1);\n    gppfont(sesskey,"BoldFont",conf,0xb2);\n    gppfont(sesskey,"WideFont",conf,0xb3);\n    gppfont(sesskey,"WideBoldFont",conf,0xb4);\n    gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5);\n    gpps(sesskey,"SerialLine","",conf,0x39);\n    gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a);\n    gppi(sesskey,"SerialDataBits",8,conf,0x3b);\n    gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c);\n    gppi(sesskey,"SerialParity",0,conf,0x3d);\n    gppi(sesskey,"SerialFlowControl",1,conf,0x3e);\n    gpps(sesskey,"WindowClass","",conf,0xb7);\n    gppi(sesskey,"ConnectionSharing",0,conf,0xaa);\n    gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab);\n    gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac);\n    gppmap(sesskey,"SSHManualHostKeys",conf,0xad);\n    if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  pcVar3 = load_open_settings::lexical_block_13::defaults_1[iVar6 >> 5];\n  goto LAB_00027ba9;\n}\n\n" comment comment (function_definition "void load_open_settings(void *sesskey,Conf *conf)\n\n{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  Backend *pBVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  long value;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  char *pcVar11;\n  byte *pbVar12;\n  int in_GS_OFFSET;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  byte bVar16;\n  byte *local_70;\n  undefined4 *local_68;\n  byte *local_64;\n  int c0;\n  int c1;\n  int c2;\n  char buf [20];\n  \n  bVar16 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  conf_set_int(conf,0x2b,0);\n  conf_set_str(conf,0x14,"");\n  conf_set_str(conf,0x15,"");\n  conf_set_str(conf,0x2e,"");\n  gpps(sesskey,"HostName","",conf,0);\n  gppfile(sesskey,"LogFileName",conf,0x77);\n  gppi(sesskey,"LogType",0,conf,0x78);\n  gppi(sesskey,"LogFileClash",-1,conf,0x79);\n  gppi(sesskey,"LogFlush",1,conf,0x7a);\n  gppi(sesskey,"SSHLogOmitPasswords",1,conf,0x7b);\n  gppi(sesskey,"SSHLogOmitData",0,conf,0x7c);\n  pcVar3 = gpps_raw(sesskey,"Protocol","default");\n  conf_set_int(conf,2,default_protocol);\n  conf_set_int(conf,1,default_port);\n  pBVar4 = backend_from_name(pcVar3);\n  if (pBVar4 != (Backend *)0x0) {\n    conf_set_int(conf,2,pBVar4->protocol);\n    gppi(sesskey,"PortNumber",default_port,conf,1);\n  }\n  safefree(pcVar3);\n  gppi(sesskey,"AddressFamily",0,conf,3);\n  iVar5 = platform_default_i("CloseOnExit",1);\n  iVar5 = read_setting_i(sesskey,"CloseOnExit",iVar5);\n  conf_set_int(conf,4,(iVar5 + 1) % 3);\n  gppi(sesskey,"WarnOnClose",1,conf,5);\n  iVar5 = platform_default_i("PingInterval",0);\n  iVar5 = read_setting_i(sesskey,"PingInterval",iVar5);\n  iVar6 = platform_default_i("PingIntervalSecs",0);\n  iVar6 = read_setting_i(sesskey,"PingIntervalSecs",iVar6);\n  conf_set_int(conf,6,iVar5 * 0x3c + iVar6);\n  gppi(sesskey,"TCPNoDelay",1,conf,7);\n  gppi(sesskey,"TCPKeepalives",0,conf,8);\n  gpps(sesskey,"TerminalType","xterm",conf,0x30);\n  gpps(sesskey,"TerminalSpeed","38400,38400",conf,0x31);\n  iVar5 = gppmap(sesskey,"TerminalModes",conf,0x32);\n  if (iVar5 != 0) {\n    local_68 = (undefined4 *)(ttymodes + 8);\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);\n      bVar13 = false;\n      bVar15 = pcVar3 == (char *)0x0;\n      if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar9 = (byte *)*local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar9;\n    } while( true );\n  }\n  pcVar3 = "INTR";\n  pcVar7 = "QUIT";\n  puVar10 = (undefined4 *)(ttymodes + 8);\n  while (conf_set_str_str(conf,0x32,pcVar3,"A"), pcVar7 != (char *)0x0) {\n    pcVar3 = pcVar7;\n    pcVar7 = (char *)*puVar10;\n    puVar10 = puVar10 + 1;\n  }\nLAB_00026f8c:\n  gpps(sesskey,"ProxyExcludeList","",conf,10);\n  iVar5 = platform_default_i("ProxyDNS",1);\n  iVar5 = read_setting_i(sesskey,"ProxyDNS",iVar5);\n  conf_set_int(conf,0xb,(iVar5 + 1) % 3);\n  gppi(sesskey,"ProxyLocalhost",0,conf,0xc);\n  gppi(sesskey,"ProxyMethod",-1,conf,0xd);\n  iVar5 = conf_get_int(conf,0xd);\n  if (iVar5 == -1) {\n    iVar5 = platform_default_i("ProxyType",0);\n    iVar5 = read_setting_i(sesskey,"ProxyType",iVar5);\n    if (iVar5 == 0) {\n      conf_set_int(conf,0xd,0);\n    }\n    else if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }\n  }\n  gpps(sesskey,"ProxyHost","proxy",conf,0xe);\n  gppi(sesskey,"ProxyPort",0x50,conf,0xf);\n  gpps(sesskey,"ProxyUsername","",conf,0x10);\n  gpps(sesskey,"ProxyPassword","",conf,0x11);\n  gpps(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12);\n  gppi(sesskey,"ProxyLogToTerm",1,conf,0x13);\n  gppmap(sesskey,"Environment",conf,0x33);\n  gpps(sesskey,"UserName","",conf,0x34);\n  gppi(sesskey,"UserNameFromEnvironment",0,conf,0x35);\n  gpps(sesskey,"LocalUserName","",conf,0x36);\n  gppi(sesskey,"NoPTY",0,conf,0x16);\n  gppi(sesskey,"Compression",0,conf,0x17);\n  gppi(sesskey,"TryAgent",1,conf,0x1c);\n  gppi(sesskey,"AgentFwd",0,conf,0x1d);\n  gppi(sesskey,"ChangeUsername",0,conf,0x1e);\n  gppi(sesskey,"GssapiFwd",0,conf,0x28);\n  pcVar3 = gpps_raw(sesskey,"Cipher","");\n  gprefs_from_str(pcVar3,ciphernames,7,conf,0x1f);\n  safefree(pcVar3);\n  iVar5 = platform_default_i("BugDHGEx2",0);\n  iVar5 = read_setting_i(sesskey,"BugDHGEx2",iVar5);\n  pcVar3 = "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1";\n  if (iVar5 == 2) {\n    pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";\n  }\n  local_70 = (byte *)gpps_raw(sesskey,"KEX",pcVar3);\n  bVar13 = false;\n  bVar15 = local_70 == (byte *)0x0;\n  if (bVar15) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar5 = 0x34;\n  pbVar8 = local_70;\n  pbVar9 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar5 == 0) break;\n    iVar5 = iVar5 + -1;\n    bVar13 = *pbVar8 < *pbVar9;\n    bVar15 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n  } while (bVar15);\n  bVar14 = false;\n  bVar13 = (!bVar13 && !bVar15) == bVar13;\n  if (bVar13) {\n    safefree(local_70);\n    local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar5 = 0x34;\n    pbVar8 = local_70;\n    pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    } while (bVar13);\n    if ((!bVar14 && !bVar13) == bVar14) {\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  gprefs_from_str((char *)local_70,kexnames,6,conf,0x18);\n  safefree(local_70);\n  pcVar3 = gpps_raw(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN");\n  gprefs_from_str(pcVar3,hknames,5,conf,0x19);\n  safefree(pcVar3);\n  gppi(sesskey,"RekeyTime",0x3c,conf,0x1a);\n  gpps(sesskey,"RekeyBytes","1G",conf,0x1b);\n  iVar5 = platform_default_i("SshProt",3);\n  iVar5 = read_setting_i(sesskey,"SshProt",iVar5);\n  if (iVar5 == 1) {\n    iVar5 = 0;\n  }\n  else if (iVar5 == 2) {\n    iVar5 = 3;\n  }\n  conf_set_int(conf,0x21,iVar5);\n  gpps(sesskey,"LogHost","",conf,9);\n  gppi(sesskey,"SSH2DES",0,conf,0x22);\n  gppi(sesskey,"SshNoAuth",0,conf,0x23);\n  gppi(sesskey,"SshBanner",1,conf,0x24);\n  gppi(sesskey,"AuthTIS",0,conf,0x25);\n  gppi(sesskey,"AuthKI",1,conf,0x26);\n  gppi(sesskey,"AuthGSSAPI",1,conf,0x27);\n  iVar5 = ngsslibs;\n  pcVar3 = gpps_raw(sesskey,"GSSLibs","");\n  gprefs_from_str(pcVar3,(keyvalwhere *)gsslibkeywords,iVar5,conf,0x29);\n  safefree(pcVar3);\n  gppfile(sesskey,"GSSCustom",conf,0x2a);\n  gppi(sesskey,"SshNoShell",0,conf,0x2d);\n  gppfile(sesskey,"PublicKeyFile",conf,0x20);\n  gpps(sesskey,"RemoteCommand","",conf,0x14);\n  gppi(sesskey,"RFCEnviron",0,conf,0x37);\n  gppi(sesskey,"PassiveTelnet",0,conf,0x38);\n  gppi(sesskey,"BackspaceIsDelete",1,conf,0x3f);\n  gppi(sesskey,"RXVTHomeEnd",0,conf,0x40);\n  gppi(sesskey,"LinuxFunctionKeys",0,conf,0x41);\n  gppi(sesskey,"NoApplicationKeys",0,conf,0x43);\n  gppi(sesskey,"NoApplicationCursors",0,conf,0x42);\n  gppi(sesskey,"NoMouseReporting",0,conf,0x44);\n  gppi(sesskey,"NoRemoteResize",0,conf,0x45);\n  gppi(sesskey,"NoAltScreen",0,conf,0x46);\n  gppi(sesskey,"NoRemoteWinTitle",0,conf,0x47);\n  gppi(sesskey,"NoRemoteClearScroll",0,conf,0x48);\n  iVar5 = platform_default_i("NoRemoteQTitle",1);\n  iVar5 = read_setting_i(sesskey,"NoRemoteQTitle",iVar5);\n  gppi(sesskey,"RemoteQTitleAction",(iVar5 == 0) + 1,conf,0x4b);\n  gppi(sesskey,"NoDBackspace",0,conf,0x49);\n  gppi(sesskey,"NoRemoteCharset",0,conf,0x4a);\n  gppi(sesskey,"ApplicationCursorKeys",0,conf,0x4c);\n  gppi(sesskey,"ApplicationKeypad",0,conf,0x4d);\n  gppi(sesskey,"NetHackKeypad",0,conf,0x4e);\n  gppi(sesskey,"AltF4",1,conf,0x51);\n  gppi(sesskey,"AltSpace",0,conf,0x52);\n  gppi(sesskey,"AltOnly",0,conf,0x53);\n  gppi(sesskey,"ComposeKey",0,conf,0x5b);\n  gppi(sesskey,"CtrlAltKeys",1,conf,0x5c);\n  gppi(sesskey,"TelnetKey",0,conf,0x4f);\n  gppi(sesskey,"TelnetRet",1,conf,0x50);\n  gppi(sesskey,"LocalEcho",2,conf,0x54);\n  gppi(sesskey,"LocalEdit",2,conf,0x55);\n  gpps(sesskey,"Answerback","PuTTY",conf,0x80);\n  gppi(sesskey,"AlwaysOnTop",0,conf,0x56);\n  gppi(sesskey,"FullScreenOnAltEnter",0,conf,0x57);\n  gppi(sesskey,"HideMousePtr",0,conf,0x7d);\n  gppi(sesskey,"SunkenEdge",0,conf,0x7e);\n  gppi(sesskey,"WindowBorder",1,conf,0x7f);\n  gppi(sesskey,"CurType",0,conf,100);\n  gppi(sesskey,"BlinkCur",0,conf,0x65);\n  gppi(sesskey,"Beep",1,conf,0x66);\n  gppi(sesskey,"BeepInd",0,conf,0x67);\n  gppfile(sesskey,"BellWaveFile",conf,0x6c);\n  gppi(sesskey,"BellOverload",1,conf,0x68);\n  gppi(sesskey,"BellOverloadN",5,conf,0x69);\n  iVar5 = platform_default_i("BellOverloadT",2000000);\n  iVar5 = read_setting_i(sesskey,"BellOverloadT",iVar5);\n  conf_set_int(conf,0x6a,iVar5 / 1000);\n  iVar5 = platform_default_i("BellOverloadS",5000000);\n  iVar5 = read_setting_i(sesskey,"BellOverloadS",iVar5);\n  conf_set_int(conf,0x6b,iVar5 / 1000);\n  gppi(sesskey,"ScrollbackLines",2000,conf,0x60);\n  gppi(sesskey,"DECOriginMode",0,conf,0x61);\n  gppi(sesskey,"AutoWrapMode",1,conf,0x62);\n  gppi(sesskey,"LFImpliesCR",0,conf,99);\n  gppi(sesskey,"CRImpliesLF",0,conf,0xb6);\n  gppi(sesskey,"DisableArabicShaping",0,conf,0x82);\n  gppi(sesskey,"DisableBidi",0,conf,0x83);\n  gppi(sesskey,"WinNameAlways",1,conf,0x72);\n  gpps(sesskey,"WinTitle","",conf,0x5f);\n  gppi(sesskey,"TermWidth",0x50,conf,0x73);\n  gppi(sesskey,"TermHeight",0x18,conf,0x74);\n  gppfont(sesskey,"Font",conf,0x75);\n  gppi(sesskey,"FontQuality",0,conf,0x76);\n  gppi(sesskey,"FontVTMode",4,conf,0x90);\n  gppi(sesskey,"UseSystemColours",0,conf,0x86);\n  gppi(sesskey,"TryPalette",0,conf,0x87);\n  gppi(sesskey,"ANSIColour",1,conf,0x84);\n  gppi(sesskey,"Xterm256Colour",1,conf,0x85);\n  iVar5 = platform_default_i("BoldAsColour",1);\n  pcVar3 = "187,187,187";\n  iVar5 = read_setting_i(sesskey,"BoldAsColour",iVar5);\n  conf_set_int(conf,0x88,iVar5 + 1);\n  iVar5 = 0;\n  while( true ) {\n    __sprintf_chk(buf,1,0x14,"Colour%d",iVar5);\n    pcVar3 = gpps_raw(sesskey,buf,pcVar3);\n    iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2);\n    if (iVar6 == 3) {\n      iVar6 = iVar5 * 3;\n      conf_set_int_int(conf,0x89,iVar6,c0);\n      conf_set_int_int(conf,0x89,iVar6 + 1,c1);\n      conf_set_int_int(conf,0x89,iVar6 + 2,c2);\n    }\n    iVar5 = iVar5 + 1;\n    safefree(pcVar3);\n    if (iVar5 == 0x16) break;\n    pcVar3 = load_open_settings::lexical_block_12::defaults[iVar5];\n  }\n  gppi(sesskey,"RawCNP",0,conf,0x8c);\n  gppi(sesskey,"PasteRTF",0,conf,0x8d);\n  gppi(sesskey,"MouseIsXterm",0,conf,0x8a);\n  pcVar3 = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";\n  gppi(sesskey,"RectSelect",0,conf,0x8b);\n  gppi(sesskey,"MouseOverride",1,conf,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar7 = gpps_raw(sesskey,buf,pcVar3);\n  cVar2 = *pcVar7;\n  iVar5 = (int)local_70 + -0x20;\n  pcVar3 = pcVar7;\n  do {\n    pcVar11 = pcVar3;\n    if ((cVar2 != ',') && (cVar2 != '\0')) {\n      do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');\n    }\n    if (cVar2 == ',') {\n      *pcVar11 = '\0';\n      pcVar11 = pcVar11 + 1;\n    }\n    value = strtol(pcVar3,(char **)0x0,10);\n    iVar6 = iVar5 + 1;\n    conf_set_int_int(conf,0x8f,iVar5,value);\n    if (local_70 == (byte *)iVar6) break;\n    cVar2 = *pcVar11;\n    iVar5 = iVar6;\n    pcVar3 = pcVar11;\n  } while( true );\n  safefree(pcVar7);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    gpps(sesskey,"LineCodePage","",conf,0x91);\n    gppi(sesskey,"CJKAmbigWide",0,conf,0x92);\n    gppi(sesskey,"UTF8Override",1,conf,0x93);\n    gpps(sesskey,"Printer","",conf,0x81);\n    gppi(sesskey,"CapsLockCyr",0,conf,0x94);\n    gppi(sesskey,"ScrollBar",1,conf,0x6d);\n    gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e);\n    gppi(sesskey,"ScrollOnKey",0,conf,0x58);\n    gppi(sesskey,"ScrollOnDisp",1,conf,0x59);\n    gppi(sesskey,"EraseToScrollback",1,conf,0x5a);\n    gppi(sesskey,"LockSize",0,conf,0x6f);\n    gppi(sesskey,"BCE",1,conf,0x70);\n    gppi(sesskey,"BlinkText",0,conf,0x71);\n    gppi(sesskey,"X11Forward",0,conf,0x95);\n    gpps(sesskey,"X11Display","",conf,0x96);\n    gppi(sesskey,"X11AuthType",1,conf,0x97);\n    gppfile(sesskey,"X11AuthFile",conf,0x98);\n    gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99);\n    gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a);\n    gppmap(sesskey,"PortForwardings",conf,0x9b);\n    iVar5 = platform_default_i("BugIgnore1",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5);\n    conf_set_int(conf,0x9c,2 - iVar5);\n    iVar5 = platform_default_i("BugPlainPW1",0);\n    iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5);\n    conf_set_int(conf,0x9d,2 - iVar5);\n    iVar5 = platform_default_i("BugRSA1",0);\n    iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5);\n    conf_set_int(conf,0x9e,2 - iVar5);\n    iVar5 = platform_default_i("BugIgnore2",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5);\n    conf_set_int(conf,0xa5,2 - iVar5);\n    iVar5 = platform_default_i("BugHMAC2",0);\n    iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5);\n    conf_set_int(conf,0x9f,2 - iVar5);\n    if (iVar5 == 0) {\n      iVar5 = platform_default_i("BuggyMAC",0);\n      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);\n      if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }\n    }\n    iVar5 = platform_default_i("BugDeriveKey2",0);\n    iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5);\n    conf_set_int(conf,0xa0,2 - iVar5);\n    iVar5 = platform_default_i("BugRSAPad2",0);\n    iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5);\n    conf_set_int(conf,0xa1,2 - iVar5);\n    iVar5 = platform_default_i("BugPKSessID2",0);\n    iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5);\n    conf_set_int(conf,0xa2,2 - iVar5);\n    iVar5 = platform_default_i("BugRekey2",0);\n    iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5);\n    conf_set_int(conf,0xa3,2 - iVar5);\n    iVar5 = platform_default_i("BugMaxPkt2",0);\n    iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5);\n    conf_set_int(conf,0xa4,2 - iVar5);\n    iVar5 = platform_default_i("BugOldGex2",0);\n    iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5);\n    conf_set_int(conf,0xa6,2 - iVar5);\n    iVar5 = platform_default_i("BugWinadj",0);\n    iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5);\n    conf_set_int(conf,0xa7,2 - iVar5);\n    iVar5 = platform_default_i("BugChanReq",0);\n    iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5);\n    conf_set_int(conf,0xa8,2 - iVar5);\n    conf_set_int(conf,0xa9,0);\n    gppi(sesskey,"StampUtmp",1,conf,0xae);\n    gppi(sesskey,"LoginShell",1,conf,0xaf);\n    gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0);\n    gppi(sesskey,"ShadowBold",0,conf,0xb1);\n    gppfont(sesskey,"BoldFont",conf,0xb2);\n    gppfont(sesskey,"WideFont",conf,0xb3);\n    gppfont(sesskey,"WideBoldFont",conf,0xb4);\n    gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5);\n    gpps(sesskey,"SerialLine","",conf,0x39);\n    gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a);\n    gppi(sesskey,"SerialDataBits",8,conf,0x3b);\n    gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c);\n    gppi(sesskey,"SerialParity",0,conf,0x3d);\n    gppi(sesskey,"SerialFlowControl",1,conf,0x3e);\n    gpps(sesskey,"WindowClass","",conf,0xb7);\n    gppi(sesskey,"ConnectionSharing",0,conf,0xaa);\n    gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab);\n    gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac);\n    gppmap(sesskey,"SSHManualHostKeys",conf,0xad);\n    if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  pcVar3 = load_open_settings::lexical_block_13::defaults_1[iVar6 >> 5];\n  goto LAB_00027ba9;\n}" primitive_type (function_declarator "load_open_settings(void *sesskey,Conf *conf)" identifier (parameter_list "(void *sesskey,Conf *conf)" ( (parameter_declaration "void *sesskey" primitive_type (pointer_declarator "*sesskey" * identifier)) , (parameter_declaration "Conf *conf" type_identifier (pointer_declarator "*conf" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  char *pcVar3;\n  Backend *pBVar4;\n  int iVar5;\n  int iVar6;\n  char *pcVar7;\n  long value;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  char *pcVar11;\n  byte *pbVar12;\n  int in_GS_OFFSET;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  byte bVar16;\n  byte *local_70;\n  undefined4 *local_68;\n  byte *local_64;\n  int c0;\n  int c1;\n  int c2;\n  char buf [20];\n  \n  bVar16 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  conf_set_int(conf,0x2b,0);\n  conf_set_str(conf,0x14,"");\n  conf_set_str(conf,0x15,"");\n  conf_set_str(conf,0x2e,"");\n  gpps(sesskey,"HostName","",conf,0);\n  gppfile(sesskey,"LogFileName",conf,0x77);\n  gppi(sesskey,"LogType",0,conf,0x78);\n  gppi(sesskey,"LogFileClash",-1,conf,0x79);\n  gppi(sesskey,"LogFlush",1,conf,0x7a);\n  gppi(sesskey,"SSHLogOmitPasswords",1,conf,0x7b);\n  gppi(sesskey,"SSHLogOmitData",0,conf,0x7c);\n  pcVar3 = gpps_raw(sesskey,"Protocol","default");\n  conf_set_int(conf,2,default_protocol);\n  conf_set_int(conf,1,default_port);\n  pBVar4 = backend_from_name(pcVar3);\n  if (pBVar4 != (Backend *)0x0) {\n    conf_set_int(conf,2,pBVar4->protocol);\n    gppi(sesskey,"PortNumber",default_port,conf,1);\n  }\n  safefree(pcVar3);\n  gppi(sesskey,"AddressFamily",0,conf,3);\n  iVar5 = platform_default_i("CloseOnExit",1);\n  iVar5 = read_setting_i(sesskey,"CloseOnExit",iVar5);\n  conf_set_int(conf,4,(iVar5 + 1) % 3);\n  gppi(sesskey,"WarnOnClose",1,conf,5);\n  iVar5 = platform_default_i("PingInterval",0);\n  iVar5 = read_setting_i(sesskey,"PingInterval",iVar5);\n  iVar6 = platform_default_i("PingIntervalSecs",0);\n  iVar6 = read_setting_i(sesskey,"PingIntervalSecs",iVar6);\n  conf_set_int(conf,6,iVar5 * 0x3c + iVar6);\n  gppi(sesskey,"TCPNoDelay",1,conf,7);\n  gppi(sesskey,"TCPKeepalives",0,conf,8);\n  gpps(sesskey,"TerminalType","xterm",conf,0x30);\n  gpps(sesskey,"TerminalSpeed","38400,38400",conf,0x31);\n  iVar5 = gppmap(sesskey,"TerminalModes",conf,0x32);\n  if (iVar5 != 0) {\n    local_68 = (undefined4 *)(ttymodes + 8);\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);\n      bVar13 = false;\n      bVar15 = pcVar3 == (char *)0x0;\n      if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar9 = (byte *)*local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar9;\n    } while( true );\n  }\n  pcVar3 = "INTR";\n  pcVar7 = "QUIT";\n  puVar10 = (undefined4 *)(ttymodes + 8);\n  while (conf_set_str_str(conf,0x32,pcVar3,"A"), pcVar7 != (char *)0x0) {\n    pcVar3 = pcVar7;\n    pcVar7 = (char *)*puVar10;\n    puVar10 = puVar10 + 1;\n  }\nLAB_00026f8c:\n  gpps(sesskey,"ProxyExcludeList","",conf,10);\n  iVar5 = platform_default_i("ProxyDNS",1);\n  iVar5 = read_setting_i(sesskey,"ProxyDNS",iVar5);\n  conf_set_int(conf,0xb,(iVar5 + 1) % 3);\n  gppi(sesskey,"ProxyLocalhost",0,conf,0xc);\n  gppi(sesskey,"ProxyMethod",-1,conf,0xd);\n  iVar5 = conf_get_int(conf,0xd);\n  if (iVar5 == -1) {\n    iVar5 = platform_default_i("ProxyType",0);\n    iVar5 = read_setting_i(sesskey,"ProxyType",iVar5);\n    if (iVar5 == 0) {\n      conf_set_int(conf,0xd,0);\n    }\n    else if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }\n  }\n  gpps(sesskey,"ProxyHost","proxy",conf,0xe);\n  gppi(sesskey,"ProxyPort",0x50,conf,0xf);\n  gpps(sesskey,"ProxyUsername","",conf,0x10);\n  gpps(sesskey,"ProxyPassword","",conf,0x11);\n  gpps(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12);\n  gppi(sesskey,"ProxyLogToTerm",1,conf,0x13);\n  gppmap(sesskey,"Environment",conf,0x33);\n  gpps(sesskey,"UserName","",conf,0x34);\n  gppi(sesskey,"UserNameFromEnvironment",0,conf,0x35);\n  gpps(sesskey,"LocalUserName","",conf,0x36);\n  gppi(sesskey,"NoPTY",0,conf,0x16);\n  gppi(sesskey,"Compression",0,conf,0x17);\n  gppi(sesskey,"TryAgent",1,conf,0x1c);\n  gppi(sesskey,"AgentFwd",0,conf,0x1d);\n  gppi(sesskey,"ChangeUsername",0,conf,0x1e);\n  gppi(sesskey,"GssapiFwd",0,conf,0x28);\n  pcVar3 = gpps_raw(sesskey,"Cipher","");\n  gprefs_from_str(pcVar3,ciphernames,7,conf,0x1f);\n  safefree(pcVar3);\n  iVar5 = platform_default_i("BugDHGEx2",0);\n  iVar5 = read_setting_i(sesskey,"BugDHGEx2",iVar5);\n  pcVar3 = "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1";\n  if (iVar5 == 2) {\n    pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";\n  }\n  local_70 = (byte *)gpps_raw(sesskey,"KEX",pcVar3);\n  bVar13 = false;\n  bVar15 = local_70 == (byte *)0x0;\n  if (bVar15) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar5 = 0x34;\n  pbVar8 = local_70;\n  pbVar9 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar5 == 0) break;\n    iVar5 = iVar5 + -1;\n    bVar13 = *pbVar8 < *pbVar9;\n    bVar15 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n  } while (bVar15);\n  bVar14 = false;\n  bVar13 = (!bVar13 && !bVar15) == bVar13;\n  if (bVar13) {\n    safefree(local_70);\n    local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar5 = 0x34;\n    pbVar8 = local_70;\n    pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    } while (bVar13);\n    if ((!bVar14 && !bVar13) == bVar14) {\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  gprefs_from_str((char *)local_70,kexnames,6,conf,0x18);\n  safefree(local_70);\n  pcVar3 = gpps_raw(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN");\n  gprefs_from_str(pcVar3,hknames,5,conf,0x19);\n  safefree(pcVar3);\n  gppi(sesskey,"RekeyTime",0x3c,conf,0x1a);\n  gpps(sesskey,"RekeyBytes","1G",conf,0x1b);\n  iVar5 = platform_default_i("SshProt",3);\n  iVar5 = read_setting_i(sesskey,"SshProt",iVar5);\n  if (iVar5 == 1) {\n    iVar5 = 0;\n  }\n  else if (iVar5 == 2) {\n    iVar5 = 3;\n  }\n  conf_set_int(conf,0x21,iVar5);\n  gpps(sesskey,"LogHost","",conf,9);\n  gppi(sesskey,"SSH2DES",0,conf,0x22);\n  gppi(sesskey,"SshNoAuth",0,conf,0x23);\n  gppi(sesskey,"SshBanner",1,conf,0x24);\n  gppi(sesskey,"AuthTIS",0,conf,0x25);\n  gppi(sesskey,"AuthKI",1,conf,0x26);\n  gppi(sesskey,"AuthGSSAPI",1,conf,0x27);\n  iVar5 = ngsslibs;\n  pcVar3 = gpps_raw(sesskey,"GSSLibs","");\n  gprefs_from_str(pcVar3,(keyvalwhere *)gsslibkeywords,iVar5,conf,0x29);\n  safefree(pcVar3);\n  gppfile(sesskey,"GSSCustom",conf,0x2a);\n  gppi(sesskey,"SshNoShell",0,conf,0x2d);\n  gppfile(sesskey,"PublicKeyFile",conf,0x20);\n  gpps(sesskey,"RemoteCommand","",conf,0x14);\n  gppi(sesskey,"RFCEnviron",0,conf,0x37);\n  gppi(sesskey,"PassiveTelnet",0,conf,0x38);\n  gppi(sesskey,"BackspaceIsDelete",1,conf,0x3f);\n  gppi(sesskey,"RXVTHomeEnd",0,conf,0x40);\n  gppi(sesskey,"LinuxFunctionKeys",0,conf,0x41);\n  gppi(sesskey,"NoApplicationKeys",0,conf,0x43);\n  gppi(sesskey,"NoApplicationCursors",0,conf,0x42);\n  gppi(sesskey,"NoMouseReporting",0,conf,0x44);\n  gppi(sesskey,"NoRemoteResize",0,conf,0x45);\n  gppi(sesskey,"NoAltScreen",0,conf,0x46);\n  gppi(sesskey,"NoRemoteWinTitle",0,conf,0x47);\n  gppi(sesskey,"NoRemoteClearScroll",0,conf,0x48);\n  iVar5 = platform_default_i("NoRemoteQTitle",1);\n  iVar5 = read_setting_i(sesskey,"NoRemoteQTitle",iVar5);\n  gppi(sesskey,"RemoteQTitleAction",(iVar5 == 0) + 1,conf,0x4b);\n  gppi(sesskey,"NoDBackspace",0,conf,0x49);\n  gppi(sesskey,"NoRemoteCharset",0,conf,0x4a);\n  gppi(sesskey,"ApplicationCursorKeys",0,conf,0x4c);\n  gppi(sesskey,"ApplicationKeypad",0,conf,0x4d);\n  gppi(sesskey,"NetHackKeypad",0,conf,0x4e);\n  gppi(sesskey,"AltF4",1,conf,0x51);\n  gppi(sesskey,"AltSpace",0,conf,0x52);\n  gppi(sesskey,"AltOnly",0,conf,0x53);\n  gppi(sesskey,"ComposeKey",0,conf,0x5b);\n  gppi(sesskey,"CtrlAltKeys",1,conf,0x5c);\n  gppi(sesskey,"TelnetKey",0,conf,0x4f);\n  gppi(sesskey,"TelnetRet",1,conf,0x50);\n  gppi(sesskey,"LocalEcho",2,conf,0x54);\n  gppi(sesskey,"LocalEdit",2,conf,0x55);\n  gpps(sesskey,"Answerback","PuTTY",conf,0x80);\n  gppi(sesskey,"AlwaysOnTop",0,conf,0x56);\n  gppi(sesskey,"FullScreenOnAltEnter",0,conf,0x57);\n  gppi(sesskey,"HideMousePtr",0,conf,0x7d);\n  gppi(sesskey,"SunkenEdge",0,conf,0x7e);\n  gppi(sesskey,"WindowBorder",1,conf,0x7f);\n  gppi(sesskey,"CurType",0,conf,100);\n  gppi(sesskey,"BlinkCur",0,conf,0x65);\n  gppi(sesskey,"Beep",1,conf,0x66);\n  gppi(sesskey,"BeepInd",0,conf,0x67);\n  gppfile(sesskey,"BellWaveFile",conf,0x6c);\n  gppi(sesskey,"BellOverload",1,conf,0x68);\n  gppi(sesskey,"BellOverloadN",5,conf,0x69);\n  iVar5 = platform_default_i("BellOverloadT",2000000);\n  iVar5 = read_setting_i(sesskey,"BellOverloadT",iVar5);\n  conf_set_int(conf,0x6a,iVar5 / 1000);\n  iVar5 = platform_default_i("BellOverloadS",5000000);\n  iVar5 = read_setting_i(sesskey,"BellOverloadS",iVar5);\n  conf_set_int(conf,0x6b,iVar5 / 1000);\n  gppi(sesskey,"ScrollbackLines",2000,conf,0x60);\n  gppi(sesskey,"DECOriginMode",0,conf,0x61);\n  gppi(sesskey,"AutoWrapMode",1,conf,0x62);\n  gppi(sesskey,"LFImpliesCR",0,conf,99);\n  gppi(sesskey,"CRImpliesLF",0,conf,0xb6);\n  gppi(sesskey,"DisableArabicShaping",0,conf,0x82);\n  gppi(sesskey,"DisableBidi",0,conf,0x83);\n  gppi(sesskey,"WinNameAlways",1,conf,0x72);\n  gpps(sesskey,"WinTitle","",conf,0x5f);\n  gppi(sesskey,"TermWidth",0x50,conf,0x73);\n  gppi(sesskey,"TermHeight",0x18,conf,0x74);\n  gppfont(sesskey,"Font",conf,0x75);\n  gppi(sesskey,"FontQuality",0,conf,0x76);\n  gppi(sesskey,"FontVTMode",4,conf,0x90);\n  gppi(sesskey,"UseSystemColours",0,conf,0x86);\n  gppi(sesskey,"TryPalette",0,conf,0x87);\n  gppi(sesskey,"ANSIColour",1,conf,0x84);\n  gppi(sesskey,"Xterm256Colour",1,conf,0x85);\n  iVar5 = platform_default_i("BoldAsColour",1);\n  pcVar3 = "187,187,187";\n  iVar5 = read_setting_i(sesskey,"BoldAsColour",iVar5);\n  conf_set_int(conf,0x88,iVar5 + 1);\n  iVar5 = 0;\n  while( true ) {\n    __sprintf_chk(buf,1,0x14,"Colour%d",iVar5);\n    pcVar3 = gpps_raw(sesskey,buf,pcVar3);\n    iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2);\n    if (iVar6 == 3) {\n      iVar6 = iVar5 * 3;\n      conf_set_int_int(conf,0x89,iVar6,c0);\n      conf_set_int_int(conf,0x89,iVar6 + 1,c1);\n      conf_set_int_int(conf,0x89,iVar6 + 2,c2);\n    }\n    iVar5 = iVar5 + 1;\n    safefree(pcVar3);\n    if (iVar5 == 0x16) break;\n    pcVar3 = load_open_settings::lexical_block_12::defaults[iVar5];\n  }\n  gppi(sesskey,"RawCNP",0,conf,0x8c);\n  gppi(sesskey,"PasteRTF",0,conf,0x8d);\n  gppi(sesskey,"MouseIsXterm",0,conf,0x8a);\n  pcVar3 = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";\n  gppi(sesskey,"RectSelect",0,conf,0x8b);\n  gppi(sesskey,"MouseOverride",1,conf,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar7 = gpps_raw(sesskey,buf,pcVar3);\n  cVar2 = *pcVar7;\n  iVar5 = (int)local_70 + -0x20;\n  pcVar3 = pcVar7;\n  do {\n    pcVar11 = pcVar3;\n    if ((cVar2 != ',') && (cVar2 != '\0')) {\n      do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');\n    }\n    if (cVar2 == ',') {\n      *pcVar11 = '\0';\n      pcVar11 = pcVar11 + 1;\n    }\n    value = strtol(pcVar3,(char **)0x0,10);\n    iVar6 = iVar5 + 1;\n    conf_set_int_int(conf,0x8f,iVar5,value);\n    if (local_70 == (byte *)iVar6) break;\n    cVar2 = *pcVar11;\n    iVar5 = iVar6;\n    pcVar3 = pcVar11;\n  } while( true );\n  safefree(pcVar7);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    gpps(sesskey,"LineCodePage","",conf,0x91);\n    gppi(sesskey,"CJKAmbigWide",0,conf,0x92);\n    gppi(sesskey,"UTF8Override",1,conf,0x93);\n    gpps(sesskey,"Printer","",conf,0x81);\n    gppi(sesskey,"CapsLockCyr",0,conf,0x94);\n    gppi(sesskey,"ScrollBar",1,conf,0x6d);\n    gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e);\n    gppi(sesskey,"ScrollOnKey",0,conf,0x58);\n    gppi(sesskey,"ScrollOnDisp",1,conf,0x59);\n    gppi(sesskey,"EraseToScrollback",1,conf,0x5a);\n    gppi(sesskey,"LockSize",0,conf,0x6f);\n    gppi(sesskey,"BCE",1,conf,0x70);\n    gppi(sesskey,"BlinkText",0,conf,0x71);\n    gppi(sesskey,"X11Forward",0,conf,0x95);\n    gpps(sesskey,"X11Display","",conf,0x96);\n    gppi(sesskey,"X11AuthType",1,conf,0x97);\n    gppfile(sesskey,"X11AuthFile",conf,0x98);\n    gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99);\n    gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a);\n    gppmap(sesskey,"PortForwardings",conf,0x9b);\n    iVar5 = platform_default_i("BugIgnore1",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5);\n    conf_set_int(conf,0x9c,2 - iVar5);\n    iVar5 = platform_default_i("BugPlainPW1",0);\n    iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5);\n    conf_set_int(conf,0x9d,2 - iVar5);\n    iVar5 = platform_default_i("BugRSA1",0);\n    iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5);\n    conf_set_int(conf,0x9e,2 - iVar5);\n    iVar5 = platform_default_i("BugIgnore2",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5);\n    conf_set_int(conf,0xa5,2 - iVar5);\n    iVar5 = platform_default_i("BugHMAC2",0);\n    iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5);\n    conf_set_int(conf,0x9f,2 - iVar5);\n    if (iVar5 == 0) {\n      iVar5 = platform_default_i("BuggyMAC",0);\n      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);\n      if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }\n    }\n    iVar5 = platform_default_i("BugDeriveKey2",0);\n    iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5);\n    conf_set_int(conf,0xa0,2 - iVar5);\n    iVar5 = platform_default_i("BugRSAPad2",0);\n    iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5);\n    conf_set_int(conf,0xa1,2 - iVar5);\n    iVar5 = platform_default_i("BugPKSessID2",0);\n    iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5);\n    conf_set_int(conf,0xa2,2 - iVar5);\n    iVar5 = platform_default_i("BugRekey2",0);\n    iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5);\n    conf_set_int(conf,0xa3,2 - iVar5);\n    iVar5 = platform_default_i("BugMaxPkt2",0);\n    iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5);\n    conf_set_int(conf,0xa4,2 - iVar5);\n    iVar5 = platform_default_i("BugOldGex2",0);\n    iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5);\n    conf_set_int(conf,0xa6,2 - iVar5);\n    iVar5 = platform_default_i("BugWinadj",0);\n    iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5);\n    conf_set_int(conf,0xa7,2 - iVar5);\n    iVar5 = platform_default_i("BugChanReq",0);\n    iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5);\n    conf_set_int(conf,0xa8,2 - iVar5);\n    conf_set_int(conf,0xa9,0);\n    gppi(sesskey,"StampUtmp",1,conf,0xae);\n    gppi(sesskey,"LoginShell",1,conf,0xaf);\n    gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0);\n    gppi(sesskey,"ShadowBold",0,conf,0xb1);\n    gppfont(sesskey,"BoldFont",conf,0xb2);\n    gppfont(sesskey,"WideFont",conf,0xb3);\n    gppfont(sesskey,"WideBoldFont",conf,0xb4);\n    gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5);\n    gpps(sesskey,"SerialLine","",conf,0x39);\n    gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a);\n    gppi(sesskey,"SerialDataBits",8,conf,0x3b);\n    gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c);\n    gppi(sesskey,"SerialParity",0,conf,0x3d);\n    gppi(sesskey,"SerialFlowControl",1,conf,0x3e);\n    gpps(sesskey,"WindowClass","",conf,0xb7);\n    gppi(sesskey,"ConnectionSharing",0,conf,0xaa);\n    gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab);\n    gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac);\n    gppmap(sesskey,"SSHManualHostKeys",conf,0xad);\n    if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  pcVar3 = load_open_settings::lexical_block_13::defaults_1[iVar6 >> 5];\n  goto LAB_00027ba9;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "Backend *pBVar4;" type_identifier (pointer_declarator "*pBVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "long value;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "byte *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined4 *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "byte *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "int c0;" primitive_type identifier ;) (declaration "int c1;" primitive_type identifier ;) (declaration "int c2;" primitive_type identifier ;) (declaration "char buf [20];" primitive_type (array_declarator "buf [20]" identifier [ number_literal ]) ;) (expression_statement "bVar16 = 0;" (assignment_expression "bVar16 = 0" 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 "conf_set_int(conf,0x2b,0);" (call_expression "conf_set_int(conf,0x2b,0)" identifier (argument_list "(conf,0x2b,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "conf_set_str(conf,0x14,"");" (call_expression "conf_set_str(conf,0x14,"")" identifier (argument_list "(conf,0x14,"")" ( identifier , number_literal , (string_literal """" " ") ))) ;) (expression_statement "conf_set_str(conf,0x15,"");" (call_expression "conf_set_str(conf,0x15,"")" identifier (argument_list "(conf,0x15,"")" ( identifier , number_literal , (string_literal """" " ") ))) ;) (expression_statement "conf_set_str(conf,0x2e,"");" (call_expression "conf_set_str(conf,0x2e,"")" identifier (argument_list "(conf,0x2e,"")" ( identifier , number_literal , (string_literal """" " ") ))) ;) (expression_statement "gpps(sesskey,"HostName","",conf,0);" (call_expression "gpps(sesskey,"HostName","",conf,0)" identifier (argument_list "(sesskey,"HostName","",conf,0)" ( identifier , (string_literal ""HostName"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppfile(sesskey,"LogFileName",conf,0x77);" (call_expression "gppfile(sesskey,"LogFileName",conf,0x77)" identifier (argument_list "(sesskey,"LogFileName",conf,0x77)" ( identifier , (string_literal ""LogFileName"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LogType",0,conf,0x78);" (call_expression "gppi(sesskey,"LogType",0,conf,0x78)" identifier (argument_list "(sesskey,"LogType",0,conf,0x78)" ( identifier , (string_literal ""LogType"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LogFileClash",-1,conf,0x79);" (call_expression "gppi(sesskey,"LogFileClash",-1,conf,0x79)" identifier (argument_list "(sesskey,"LogFileClash",-1,conf,0x79)" ( identifier , (string_literal ""LogFileClash"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LogFlush",1,conf,0x7a);" (call_expression "gppi(sesskey,"LogFlush",1,conf,0x7a)" identifier (argument_list "(sesskey,"LogFlush",1,conf,0x7a)" ( identifier , (string_literal ""LogFlush"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SSHLogOmitPasswords",1,conf,0x7b);" (call_expression "gppi(sesskey,"SSHLogOmitPasswords",1,conf,0x7b)" identifier (argument_list "(sesskey,"SSHLogOmitPasswords",1,conf,0x7b)" ( identifier , (string_literal ""SSHLogOmitPasswords"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SSHLogOmitData",0,conf,0x7c);" (call_expression "gppi(sesskey,"SSHLogOmitData",0,conf,0x7c)" identifier (argument_list "(sesskey,"SSHLogOmitData",0,conf,0x7c)" ( identifier , (string_literal ""SSHLogOmitData"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "pcVar3 = gpps_raw(sesskey,"Protocol","default");" (assignment_expression "pcVar3 = gpps_raw(sesskey,"Protocol","default")" identifier = (call_expression "gpps_raw(sesskey,"Protocol","default")" identifier (argument_list "(sesskey,"Protocol","default")" ( identifier , (string_literal ""Protocol"" " string_content ") , (string_literal ""default"" " string_content ") )))) ;) (expression_statement "conf_set_int(conf,2,default_protocol);" (call_expression "conf_set_int(conf,2,default_protocol)" identifier (argument_list "(conf,2,default_protocol)" ( identifier , number_literal , identifier ))) ;) (expression_statement "conf_set_int(conf,1,default_port);" (call_expression "conf_set_int(conf,1,default_port)" identifier (argument_list "(conf,1,default_port)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pBVar4 = backend_from_name(pcVar3);" (assignment_expression "pBVar4 = backend_from_name(pcVar3)" identifier = (call_expression "backend_from_name(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier )))) ;) (if_statement "if (pBVar4 != (Backend *)0x0) {\n    conf_set_int(conf,2,pBVar4->protocol);\n    gppi(sesskey,"PortNumber",default_port,conf,1);\n  }" if (parenthesized_expression "(pBVar4 != (Backend *)0x0)" ( (binary_expression "pBVar4 != (Backend *)0x0" identifier != (cast_expression "(Backend *)0x0" ( (type_descriptor "Backend *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    conf_set_int(conf,2,pBVar4->protocol);\n    gppi(sesskey,"PortNumber",default_port,conf,1);\n  }" { (expression_statement "conf_set_int(conf,2,pBVar4->protocol);" (call_expression "conf_set_int(conf,2,pBVar4->protocol)" identifier (argument_list "(conf,2,pBVar4->protocol)" ( identifier , number_literal , (field_expression "pBVar4->protocol" identifier -> field_identifier) ))) ;) (expression_statement "gppi(sesskey,"PortNumber",default_port,conf,1);" (call_expression "gppi(sesskey,"PortNumber",default_port,conf,1)" identifier (argument_list "(sesskey,"PortNumber",default_port,conf,1)" ( identifier , (string_literal ""PortNumber"" " string_content ") , identifier , identifier , number_literal ))) ;) })) (expression_statement "safefree(pcVar3);" (call_expression "safefree(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "gppi(sesskey,"AddressFamily",0,conf,3);" (call_expression "gppi(sesskey,"AddressFamily",0,conf,3)" identifier (argument_list "(sesskey,"AddressFamily",0,conf,3)" ( identifier , (string_literal ""AddressFamily"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = platform_default_i("CloseOnExit",1);" (assignment_expression "iVar5 = platform_default_i("CloseOnExit",1)" identifier = (call_expression "platform_default_i("CloseOnExit",1)" identifier (argument_list "("CloseOnExit",1)" ( (string_literal ""CloseOnExit"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"CloseOnExit",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"CloseOnExit",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"CloseOnExit",iVar5)" identifier (argument_list "(sesskey,"CloseOnExit",iVar5)" ( identifier , (string_literal ""CloseOnExit"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,4,(iVar5 + 1) % 3);" (call_expression "conf_set_int(conf,4,(iVar5 + 1) % 3)" identifier (argument_list "(conf,4,(iVar5 + 1) % 3)" ( identifier , number_literal , (binary_expression "(iVar5 + 1) % 3" (parenthesized_expression "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )) % number_literal) ))) ;) (expression_statement "gppi(sesskey,"WarnOnClose",1,conf,5);" (call_expression "gppi(sesskey,"WarnOnClose",1,conf,5)" identifier (argument_list "(sesskey,"WarnOnClose",1,conf,5)" ( identifier , (string_literal ""WarnOnClose"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = platform_default_i("PingInterval",0);" (assignment_expression "iVar5 = platform_default_i("PingInterval",0)" identifier = (call_expression "platform_default_i("PingInterval",0)" identifier (argument_list "("PingInterval",0)" ( (string_literal ""PingInterval"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"PingInterval",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"PingInterval",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"PingInterval",iVar5)" identifier (argument_list "(sesskey,"PingInterval",iVar5)" ( identifier , (string_literal ""PingInterval"" " string_content ") , identifier )))) ;) (expression_statement "iVar6 = platform_default_i("PingIntervalSecs",0);" (assignment_expression "iVar6 = platform_default_i("PingIntervalSecs",0)" identifier = (call_expression "platform_default_i("PingIntervalSecs",0)" identifier (argument_list "("PingIntervalSecs",0)" ( (string_literal ""PingIntervalSecs"" " string_content ") , number_literal )))) ;) (expression_statement "iVar6 = read_setting_i(sesskey,"PingIntervalSecs",iVar6);" (assignment_expression "iVar6 = read_setting_i(sesskey,"PingIntervalSecs",iVar6)" identifier = (call_expression "read_setting_i(sesskey,"PingIntervalSecs",iVar6)" identifier (argument_list "(sesskey,"PingIntervalSecs",iVar6)" ( identifier , (string_literal ""PingIntervalSecs"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,6,iVar5 * 0x3c + iVar6);" (call_expression "conf_set_int(conf,6,iVar5 * 0x3c + iVar6)" identifier (argument_list "(conf,6,iVar5 * 0x3c + iVar6)" ( identifier , number_literal , (binary_expression "iVar5 * 0x3c + iVar6" (binary_expression "iVar5 * 0x3c" identifier * number_literal) + identifier) ))) ;) (expression_statement "gppi(sesskey,"TCPNoDelay",1,conf,7);" (call_expression "gppi(sesskey,"TCPNoDelay",1,conf,7)" identifier (argument_list "(sesskey,"TCPNoDelay",1,conf,7)" ( identifier , (string_literal ""TCPNoDelay"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"TCPKeepalives",0,conf,8);" (call_expression "gppi(sesskey,"TCPKeepalives",0,conf,8)" identifier (argument_list "(sesskey,"TCPKeepalives",0,conf,8)" ( identifier , (string_literal ""TCPKeepalives"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"TerminalType","xterm",conf,0x30);" (call_expression "gpps(sesskey,"TerminalType","xterm",conf,0x30)" identifier (argument_list "(sesskey,"TerminalType","xterm",conf,0x30)" ( identifier , (string_literal ""TerminalType"" " string_content ") , (string_literal ""xterm"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"TerminalSpeed","38400,38400",conf,0x31);" (call_expression "gpps(sesskey,"TerminalSpeed","38400,38400",conf,0x31)" identifier (argument_list "(sesskey,"TerminalSpeed","38400,38400",conf,0x31)" ( identifier , (string_literal ""TerminalSpeed"" " string_content ") , (string_literal ""38400,38400"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "iVar5 = gppmap(sesskey,"TerminalModes",conf,0x32);" (assignment_expression "iVar5 = gppmap(sesskey,"TerminalModes",conf,0x32)" identifier = (call_expression "gppmap(sesskey,"TerminalModes",conf,0x32)" identifier (argument_list "(sesskey,"TerminalModes",conf,0x32)" ( identifier , (string_literal ""TerminalModes"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar5 != 0) {\n    local_68 = (undefined4 *)(ttymodes + 8);\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);\n      bVar13 = false;\n      bVar15 = pcVar3 == (char *)0x0;\n      if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar9 = (byte *)*local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar9;\n    } while( true );\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    local_68 = (undefined4 *)(ttymodes + 8);\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);\n      bVar13 = false;\n      bVar15 = pcVar3 == (char *)0x0;\n      if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar9 = (byte *)*local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar9;\n    } while( true );\n  }" { (expression_statement "local_68 = (undefined4 *)(ttymodes + 8);" (assignment_expression "local_68 = (undefined4 *)(ttymodes + 8)" identifier = (cast_expression "(undefined4 *)(ttymodes + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ttymodes + 8)" ( (binary_expression "ttymodes + 8" identifier + number_literal) )))) ;) (expression_statement "pbVar8 = &DAT_000732e4;" (assignment_expression "pbVar8 = &DAT_000732e4" identifier = (pointer_expression "&DAT_000732e4" & identifier)) ;) (expression_statement "local_64 = &DAT_000732df;" (assignment_expression "local_64 = &DAT_000732df" identifier = (pointer_expression "&DAT_000732df" & identifier)) ;) (do_statement "do {\n      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);\n      bVar13 = false;\n      bVar15 = pcVar3 == (char *)0x0;\n      if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar9 = (byte *)*local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar9;\n    } while( true );" do (compound_statement "{\n      pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);\n      bVar13 = false;\n      bVar15 = pcVar3 == (char *)0x0;\n      if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar9 = (byte *)*local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar9;\n    }" { (expression_statement "pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8);" (assignment_expression "pcVar3 = conf_get_str_str_opt(conf,0x32,(char *)pbVar8)" identifier = (call_expression "conf_get_str_str_opt(conf,0x32,(char *)pbVar8)" identifier (argument_list "(conf,0x32,(char *)pbVar8)" ( identifier , number_literal , (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar15 = pcVar3 == (char *)0x0;" (assignment_expression "bVar15 = pcVar3 == (char *)0x0" identifier = (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar15) {\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n        iVar5 = 6;\n        pbVar9 = pbVar8;\n        pbVar12 = (byte *)"IUTF8";\n        do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);\n        pcVar3 = "A";\n        if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }\n        conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);\n      }" { (expression_statement "iVar5 = 6;" (assignment_expression "iVar5 = 6" identifier = number_literal) ;) (expression_statement "pbVar9 = pbVar8;" (assignment_expression "pbVar9 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar12 = (byte *)"IUTF8";" (assignment_expression "pbVar12 = (byte *)"IUTF8"" identifier = (cast_expression "(byte *)"IUTF8"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""IUTF8"" " string_content "))) ;) (do_statement "do {\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        } while (bVar15);" do (compound_statement "{\n          if (iVar5 == 0) break;\n          iVar5 = iVar5 + -1;\n          bVar13 = *pbVar9 < *pbVar12;\n          bVar15 = *pbVar9 == *pbVar12;\n          pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n          pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;\n        }" { (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar12;" (assignment_expression "bVar13 = *pbVar9 < *pbVar12" identifier = (binary_expression "*pbVar9 < *pbVar12" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar9 == *pbVar12;" (assignment_expression "bVar15 = *pbVar9 == *pbVar12" identifier = (binary_expression "*pbVar9 == *pbVar12" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar16 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar16 * -2" identifier + (binary_expression "(uint)bVar16 * -2" (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar16 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar16 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar16 * -2" identifier + (binary_expression "(uint)bVar16 * -2" (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "pcVar3 = "A";" (assignment_expression "pcVar3 = "A"" identifier = (string_literal ""A"" " string_content ")) ;) (if_statement "if ((!bVar13 && !bVar15) != bVar13) {\n          pcVar3 = "N";\n        }" if (parenthesized_expression "((!bVar13 && !bVar15) != bVar13)" ( (binary_expression "(!bVar13 && !bVar15) != bVar13" (parenthesized_expression "(!bVar13 && !bVar15)" ( (binary_expression "!bVar13 && !bVar15" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) != identifier) )) (compound_statement "{\n          pcVar3 = "N";\n        }" { (expression_statement "pcVar3 = "N";" (assignment_expression "pcVar3 = "N"" identifier = (string_literal ""N"" " string_content ")) ;) })) (expression_statement "conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3);" (call_expression "conf_set_str_str(conf,0x32,(char *)pbVar8,pcVar3)" identifier (argument_list "(conf,0x32,(char *)pbVar8,pcVar3)" ( identifier , number_literal , (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) })) (if_statement "if (local_64 == (byte *)0x0) goto LAB_00026f8c;" if (parenthesized_expression "(local_64 == (byte *)0x0)" ( (binary_expression "local_64 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026f8c;" goto statement_identifier ;)) (expression_statement "pbVar9 = (byte *)*local_68;" (assignment_expression "pbVar9 = (byte *)*local_68" identifier = (cast_expression "(byte *)*local_68" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_68" * identifier))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = local_64;" (assignment_expression "pbVar8 = local_64" identifier = identifier) ;) (expression_statement "local_64 = pbVar9;" (assignment_expression "local_64 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar3 = "INTR";" (assignment_expression "pcVar3 = "INTR"" identifier = (string_literal ""INTR"" " string_content ")) ;) (expression_statement "pcVar7 = "QUIT";" (assignment_expression "pcVar7 = "QUIT"" identifier = (string_literal ""QUIT"" " string_content ")) ;) (expression_statement "puVar10 = (undefined4 *)(ttymodes + 8);" (assignment_expression "puVar10 = (undefined4 *)(ttymodes + 8)" identifier = (cast_expression "(undefined4 *)(ttymodes + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ttymodes + 8)" ( (binary_expression "ttymodes + 8" identifier + number_literal) )))) ;) (while_statement "while (conf_set_str_str(conf,0x32,pcVar3,"A"), pcVar7 != (char *)0x0) {\n    pcVar3 = pcVar7;\n    pcVar7 = (char *)*puVar10;\n    puVar10 = puVar10 + 1;\n  }" while (parenthesized_expression "(conf_set_str_str(conf,0x32,pcVar3,"A"), pcVar7 != (char *)0x0)" ( (comma_expression "conf_set_str_str(conf,0x32,pcVar3,"A"), pcVar7 != (char *)0x0" (call_expression "conf_set_str_str(conf,0x32,pcVar3,"A")" identifier (argument_list "(conf,0x32,pcVar3,"A")" ( identifier , number_literal , identifier , (string_literal ""A"" " string_content ") ))) , (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    pcVar3 = pcVar7;\n    pcVar7 = (char *)*puVar10;\n    puVar10 = puVar10 + 1;\n  }" { (expression_statement "pcVar3 = pcVar7;" (assignment_expression "pcVar3 = pcVar7" identifier = identifier) ;) (expression_statement "pcVar7 = (char *)*puVar10;" (assignment_expression "pcVar7 = (char *)*puVar10" identifier = (cast_expression "(char *)*puVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00026f8c:\n  gpps(sesskey,"ProxyExcludeList","",conf,10);" statement_identifier : (expression_statement "gpps(sesskey,"ProxyExcludeList","",conf,10);" (call_expression "gpps(sesskey,"ProxyExcludeList","",conf,10)" identifier (argument_list "(sesskey,"ProxyExcludeList","",conf,10)" ( identifier , (string_literal ""ProxyExcludeList"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;)) (expression_statement "iVar5 = platform_default_i("ProxyDNS",1);" (assignment_expression "iVar5 = platform_default_i("ProxyDNS",1)" identifier = (call_expression "platform_default_i("ProxyDNS",1)" identifier (argument_list "("ProxyDNS",1)" ( (string_literal ""ProxyDNS"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"ProxyDNS",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"ProxyDNS",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"ProxyDNS",iVar5)" identifier (argument_list "(sesskey,"ProxyDNS",iVar5)" ( identifier , (string_literal ""ProxyDNS"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xb,(iVar5 + 1) % 3);" (call_expression "conf_set_int(conf,0xb,(iVar5 + 1) % 3)" identifier (argument_list "(conf,0xb,(iVar5 + 1) % 3)" ( identifier , number_literal , (binary_expression "(iVar5 + 1) % 3" (parenthesized_expression "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )) % number_literal) ))) ;) (expression_statement "gppi(sesskey,"ProxyLocalhost",0,conf,0xc);" (call_expression "gppi(sesskey,"ProxyLocalhost",0,conf,0xc)" identifier (argument_list "(sesskey,"ProxyLocalhost",0,conf,0xc)" ( identifier , (string_literal ""ProxyLocalhost"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ProxyMethod",-1,conf,0xd);" (call_expression "gppi(sesskey,"ProxyMethod",-1,conf,0xd)" identifier (argument_list "(sesskey,"ProxyMethod",-1,conf,0xd)" ( identifier , (string_literal ""ProxyMethod"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = conf_get_int(conf,0xd);" (assignment_expression "iVar5 = conf_get_int(conf,0xd)" identifier = (call_expression "conf_get_int(conf,0xd)" identifier (argument_list "(conf,0xd)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 == -1) {\n    iVar5 = platform_default_i("ProxyType",0);\n    iVar5 = read_setting_i(sesskey,"ProxyType",iVar5);\n    if (iVar5 == 0) {\n      conf_set_int(conf,0xd,0);\n    }\n    else if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }\n  }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n    iVar5 = platform_default_i("ProxyType",0);\n    iVar5 = read_setting_i(sesskey,"ProxyType",iVar5);\n    if (iVar5 == 0) {\n      conf_set_int(conf,0xd,0);\n    }\n    else if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }\n  }" { (expression_statement "iVar5 = platform_default_i("ProxyType",0);" (assignment_expression "iVar5 = platform_default_i("ProxyType",0)" identifier = (call_expression "platform_default_i("ProxyType",0)" identifier (argument_list "("ProxyType",0)" ( (string_literal ""ProxyType"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"ProxyType",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"ProxyType",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"ProxyType",iVar5)" identifier (argument_list "(sesskey,"ProxyType",iVar5)" ( identifier , (string_literal ""ProxyType"" " string_content ") , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      conf_set_int(conf,0xd,0);\n    }\n    else if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      conf_set_int(conf,0xd,0);\n    }" { (expression_statement "conf_set_int(conf,0xd,0);" (call_expression "conf_set_int(conf,0xd,0)" identifier (argument_list "(conf,0xd,0)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" else (if_statement "if (iVar5 == 1) {\n      conf_set_int(conf,0xd,3);\n    }\n    else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n      conf_set_int(conf,0xd,3);\n    }" { (expression_statement "conf_set_int(conf,0xd,3);" (call_expression "conf_set_int(conf,0xd,3)" identifier (argument_list "(conf,0xd,3)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" else (if_statement "if (iVar5 == 3) {\n      conf_set_int(conf,0xd,4);\n    }\n    else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar5 == 3)" ( (binary_expression "iVar5 == 3" identifier == number_literal) )) (compound_statement "{\n      conf_set_int(conf,0xd,4);\n    }" { (expression_statement "conf_set_int(conf,0xd,4);" (call_expression "conf_set_int(conf,0xd,4)" identifier (argument_list "(conf,0xd,4)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" else (if_statement "if (iVar5 == 4) {\n      conf_set_int(conf,0xd,5);\n    }\n    else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) (compound_statement "{\n      conf_set_int(conf,0xd,5);\n    }" { (expression_statement "conf_set_int(conf,0xd,5);" (call_expression "conf_set_int(conf,0xd,5)" identifier (argument_list "(conf,0xd,5)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" else (compound_statement "{\n      iVar5 = platform_default_i("ProxySOCKSVersion",5);\n      iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);\n      if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }\n    }" { (expression_statement "iVar5 = platform_default_i("ProxySOCKSVersion",5);" (assignment_expression "iVar5 = platform_default_i("ProxySOCKSVersion",5)" identifier = (call_expression "platform_default_i("ProxySOCKSVersion",5)" identifier (argument_list "("ProxySOCKSVersion",5)" ( (string_literal ""ProxySOCKSVersion"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"ProxySOCKSVersion",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"ProxySOCKSVersion",iVar5)" identifier (argument_list "(sesskey,"ProxySOCKSVersion",iVar5)" ( identifier , (string_literal ""ProxySOCKSVersion"" " string_content ") , identifier )))) ;) (if_statement "if (iVar5 == 5) {\n        conf_set_int(conf,0xd,2);\n      }\n      else {\n        conf_set_int(conf,0xd,1);\n      }" if (parenthesized_expression "(iVar5 == 5)" ( (binary_expression "iVar5 == 5" identifier == number_literal) )) (compound_statement "{\n        conf_set_int(conf,0xd,2);\n      }" { (expression_statement "conf_set_int(conf,0xd,2);" (call_expression "conf_set_int(conf,0xd,2)" identifier (argument_list "(conf,0xd,2)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n        conf_set_int(conf,0xd,1);\n      }" else (compound_statement "{\n        conf_set_int(conf,0xd,1);\n      }" { (expression_statement "conf_set_int(conf,0xd,1);" (call_expression "conf_set_int(conf,0xd,1)" identifier (argument_list "(conf,0xd,1)" ( identifier , number_literal , number_literal ))) ;) }))) }))))))))) })) (expression_statement "gpps(sesskey,"ProxyHost","proxy",conf,0xe);" (call_expression "gpps(sesskey,"ProxyHost","proxy",conf,0xe)" identifier (argument_list "(sesskey,"ProxyHost","proxy",conf,0xe)" ( identifier , (string_literal ""ProxyHost"" " string_content ") , (string_literal ""proxy"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ProxyPort",0x50,conf,0xf);" (call_expression "gppi(sesskey,"ProxyPort",0x50,conf,0xf)" identifier (argument_list "(sesskey,"ProxyPort",0x50,conf,0xf)" ( identifier , (string_literal ""ProxyPort"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"ProxyUsername","",conf,0x10);" (call_expression "gpps(sesskey,"ProxyUsername","",conf,0x10)" identifier (argument_list "(sesskey,"ProxyUsername","",conf,0x10)" ( identifier , (string_literal ""ProxyUsername"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"ProxyPassword","",conf,0x11);" (call_expression "gpps(sesskey,"ProxyPassword","",conf,0x11)" identifier (argument_list "(sesskey,"ProxyPassword","",conf,0x11)" ( identifier , (string_literal ""ProxyPassword"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12);" (call_expression "gpps(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12)" identifier (argument_list "(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12)" ( identifier , (string_literal ""ProxyTelnetCommand"" " string_content ") , (string_literal ""connect %host %port\\n"" " string_content escape_sequence string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ProxyLogToTerm",1,conf,0x13);" (call_expression "gppi(sesskey,"ProxyLogToTerm",1,conf,0x13)" identifier (argument_list "(sesskey,"ProxyLogToTerm",1,conf,0x13)" ( identifier , (string_literal ""ProxyLogToTerm"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppmap(sesskey,"Environment",conf,0x33);" (call_expression "gppmap(sesskey,"Environment",conf,0x33)" identifier (argument_list "(sesskey,"Environment",conf,0x33)" ( identifier , (string_literal ""Environment"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"UserName","",conf,0x34);" (call_expression "gpps(sesskey,"UserName","",conf,0x34)" identifier (argument_list "(sesskey,"UserName","",conf,0x34)" ( identifier , (string_literal ""UserName"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"UserNameFromEnvironment",0,conf,0x35);" (call_expression "gppi(sesskey,"UserNameFromEnvironment",0,conf,0x35)" identifier (argument_list "(sesskey,"UserNameFromEnvironment",0,conf,0x35)" ( identifier , (string_literal ""UserNameFromEnvironment"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"LocalUserName","",conf,0x36);" (call_expression "gpps(sesskey,"LocalUserName","",conf,0x36)" identifier (argument_list "(sesskey,"LocalUserName","",conf,0x36)" ( identifier , (string_literal ""LocalUserName"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoPTY",0,conf,0x16);" (call_expression "gppi(sesskey,"NoPTY",0,conf,0x16)" identifier (argument_list "(sesskey,"NoPTY",0,conf,0x16)" ( identifier , (string_literal ""NoPTY"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"Compression",0,conf,0x17);" (call_expression "gppi(sesskey,"Compression",0,conf,0x17)" identifier (argument_list "(sesskey,"Compression",0,conf,0x17)" ( identifier , (string_literal ""Compression"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"TryAgent",1,conf,0x1c);" (call_expression "gppi(sesskey,"TryAgent",1,conf,0x1c)" identifier (argument_list "(sesskey,"TryAgent",1,conf,0x1c)" ( identifier , (string_literal ""TryAgent"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AgentFwd",0,conf,0x1d);" (call_expression "gppi(sesskey,"AgentFwd",0,conf,0x1d)" identifier (argument_list "(sesskey,"AgentFwd",0,conf,0x1d)" ( identifier , (string_literal ""AgentFwd"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ChangeUsername",0,conf,0x1e);" (call_expression "gppi(sesskey,"ChangeUsername",0,conf,0x1e)" identifier (argument_list "(sesskey,"ChangeUsername",0,conf,0x1e)" ( identifier , (string_literal ""ChangeUsername"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"GssapiFwd",0,conf,0x28);" (call_expression "gppi(sesskey,"GssapiFwd",0,conf,0x28)" identifier (argument_list "(sesskey,"GssapiFwd",0,conf,0x28)" ( identifier , (string_literal ""GssapiFwd"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "pcVar3 = gpps_raw(sesskey,"Cipher","");" (assignment_expression "pcVar3 = gpps_raw(sesskey,"Cipher","")" identifier = (call_expression "gpps_raw(sesskey,"Cipher","")" identifier (argument_list "(sesskey,"Cipher","")" ( identifier , (string_literal ""Cipher"" " string_content ") , (string_literal """" " ") )))) ;) (expression_statement "gprefs_from_str(pcVar3,ciphernames,7,conf,0x1f);" (call_expression "gprefs_from_str(pcVar3,ciphernames,7,conf,0x1f)" identifier (argument_list "(pcVar3,ciphernames,7,conf,0x1f)" ( identifier , identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "safefree(pcVar3);" (call_expression "safefree(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "iVar5 = platform_default_i("BugDHGEx2",0);" (assignment_expression "iVar5 = platform_default_i("BugDHGEx2",0)" identifier = (call_expression "platform_default_i("BugDHGEx2",0)" identifier (argument_list "("BugDHGEx2",0)" ( (string_literal ""BugDHGEx2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugDHGEx2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugDHGEx2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugDHGEx2",iVar5)" identifier (argument_list "(sesskey,"BugDHGEx2",iVar5)" ( identifier , (string_literal ""BugDHGEx2"" " string_content ") , identifier )))) ;) (expression_statement "pcVar3 = "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1";" (assignment_expression "pcVar3 = "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1"" identifier = (string_literal ""ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1"" " string_content ")) ;) (if_statement "if (iVar5 == 2) {\n    pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";\n  }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n    pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";\n  }" { (expression_statement "pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";" (assignment_expression "pcVar3 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1"" identifier = (string_literal ""ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1"" " string_content ")) ;) })) (expression_statement "local_70 = (byte *)gpps_raw(sesskey,"KEX",pcVar3);" (assignment_expression "local_70 = (byte *)gpps_raw(sesskey,"KEX",pcVar3)" identifier = (cast_expression "(byte *)gpps_raw(sesskey,"KEX",pcVar3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "gpps_raw(sesskey,"KEX",pcVar3)" identifier (argument_list "(sesskey,"KEX",pcVar3)" ( identifier , (string_literal ""KEX"" " string_content ") , identifier ))))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar15 = local_70 == (byte *)0x0;" (assignment_expression "bVar15 = local_70 == (byte *)0x0" identifier = (binary_expression "local_70 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar15) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" { comment (expression_statement "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");" (call_expression "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings")" identifier (argument_list "("raw != NULL","settings.c",0x366,"load_open_settings")" ( (string_literal ""raw != NULL"" " string_content ") , (string_literal ""settings.c"" " string_content ") , number_literal , (string_literal ""load_open_settings"" " string_content ") ))) ;) })) (expression_statement "iVar5 = 0x34;" (assignment_expression "iVar5 = 0x34" identifier = number_literal) ;) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";" (assignment_expression "pbVar9 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" identifier = (cast_expression "(byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" " string_content "))) ;) (do_statement "do {\n    if (iVar5 == 0) break;\n    iVar5 = iVar5 + -1;\n    bVar13 = *pbVar8 < *pbVar9;\n    bVar15 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n  } while (bVar15);" do (compound_statement "{\n    if (iVar5 == 0) break;\n    iVar5 = iVar5 + -1;\n    bVar13 = *pbVar8 < *pbVar9;\n    bVar15 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n  }" { (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar9;" (assignment_expression "bVar13 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar15 = *pbVar8 == *pbVar9;" (assignment_expression "bVar15 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar16 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar16 * -2" identifier + (binary_expression "(uint)bVar16 * -2" (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar16 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar16 * -2" identifier + (binary_expression "(uint)bVar16 * -2" (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar13 && !bVar15) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar15) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar15) == bVar13" (parenthesized_expression "(!bVar13 && !bVar15)" ( (binary_expression "!bVar13 && !bVar15" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) {\n    safefree(local_70);\n    local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar5 = 0x34;\n    pbVar8 = local_70;\n    pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    } while (bVar13);\n    if ((!bVar14 && !bVar13) == bVar14) {\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n    safefree(local_70);\n    local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }" { (expression_statement "safefree(local_70);" (call_expression "safefree(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");" (assignment_expression "local_70 = (byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" identifier = (cast_expression "(byte *)dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dupstr("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" identifier (argument_list "("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" ( (string_literal ""ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1"" " string_content ") ))))) ;) }) (else_clause "else {\n    iVar5 = 0x34;\n    pbVar8 = local_70;\n    pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    } while (bVar13);\n    if ((!bVar14 && !bVar13) == bVar14) {\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" else (compound_statement "{\n    iVar5 = 0x34;\n    pbVar8 = local_70;\n    pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    } while (bVar13);\n    if ((!bVar14 && !bVar13) == bVar14) {\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" { (expression_statement "iVar5 = 0x34;" (assignment_expression "iVar5 = 0x34" identifier = number_literal) ;) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";" (assignment_expression "pbVar9 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" identifier = (cast_expression "(byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" " string_content "))) ;) (do_statement "do {\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    } while (bVar13);" do (compound_statement "{\n      if (iVar5 == 0) break;\n      iVar5 = iVar5 + -1;\n      bVar14 = *pbVar8 < *pbVar9;\n      bVar13 = *pbVar8 == *pbVar9;\n      pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;\n      pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;\n    }" { (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar8 < *pbVar9;" (assignment_expression "bVar14 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar13 = *pbVar8 == *pbVar9;" (assignment_expression "bVar13 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar16 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar16 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar16 * -2" identifier + (binary_expression "(uint)bVar16 * -2" (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar16 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar16 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar16 * -2" identifier + (binary_expression "(uint)bVar16 * -2" (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (if_statement "if ((!bVar14 && !bVar13) == bVar14) {\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" if (parenthesized_expression "((!bVar14 && !bVar13) == bVar14)" ( (binary_expression "(!bVar14 && !bVar13) == bVar14" (parenthesized_expression "(!bVar14 && !bVar13)" ( (binary_expression "!bVar14 && !bVar13" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier) )) (compound_statement "{\n      safefree(local_70);\n      local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" { (expression_statement "safefree(local_70);" (call_expression "safefree(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");" (assignment_expression "local_70 = (byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" identifier = (cast_expression "(byte *)dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dupstr("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" identifier (argument_list "("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" ( (string_literal ""ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1"" " string_content ") ))))) ;) })) }))) (expression_statement "gprefs_from_str((char *)local_70,kexnames,6,conf,0x18);" (call_expression "gprefs_from_str((char *)local_70,kexnames,6,conf,0x18)" identifier (argument_list "((char *)local_70,kexnames,6,conf,0x18)" ( (cast_expression "(char *)local_70" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "safefree(local_70);" (call_expression "safefree(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "pcVar3 = gpps_raw(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN");" (assignment_expression "pcVar3 = gpps_raw(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN")" identifier = (call_expression "gpps_raw(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN")" identifier (argument_list "(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN")" ( identifier , (string_literal ""HostKey"" " string_content ") , (string_literal ""ed25519,ecdsa,rsa,dsa,WARN"" " string_content ") )))) ;) (expression_statement "gprefs_from_str(pcVar3,hknames,5,conf,0x19);" (call_expression "gprefs_from_str(pcVar3,hknames,5,conf,0x19)" identifier (argument_list "(pcVar3,hknames,5,conf,0x19)" ( identifier , identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "safefree(pcVar3);" (call_expression "safefree(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "gppi(sesskey,"RekeyTime",0x3c,conf,0x1a);" (call_expression "gppi(sesskey,"RekeyTime",0x3c,conf,0x1a)" identifier (argument_list "(sesskey,"RekeyTime",0x3c,conf,0x1a)" ( identifier , (string_literal ""RekeyTime"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"RekeyBytes","1G",conf,0x1b);" (call_expression "gpps(sesskey,"RekeyBytes","1G",conf,0x1b)" identifier (argument_list "(sesskey,"RekeyBytes","1G",conf,0x1b)" ( identifier , (string_literal ""RekeyBytes"" " string_content ") , (string_literal ""1G"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "iVar5 = platform_default_i("SshProt",3);" (assignment_expression "iVar5 = platform_default_i("SshProt",3)" identifier = (call_expression "platform_default_i("SshProt",3)" identifier (argument_list "("SshProt",3)" ( (string_literal ""SshProt"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"SshProt",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"SshProt",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"SshProt",iVar5)" identifier (argument_list "(sesskey,"SshProt",iVar5)" ( identifier , (string_literal ""SshProt"" " string_content ") , identifier )))) ;) (if_statement "if (iVar5 == 1) {\n    iVar5 = 0;\n  }\n  else if (iVar5 == 2) {\n    iVar5 = 3;\n  }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n    iVar5 = 0;\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else if (iVar5 == 2) {\n    iVar5 = 3;\n  }" else (if_statement "if (iVar5 == 2) {\n    iVar5 = 3;\n  }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n    iVar5 = 3;\n  }" { (expression_statement "iVar5 = 3;" (assignment_expression "iVar5 = 3" identifier = number_literal) ;) })))) (expression_statement "conf_set_int(conf,0x21,iVar5);" (call_expression "conf_set_int(conf,0x21,iVar5)" identifier (argument_list "(conf,0x21,iVar5)" ( identifier , number_literal , identifier ))) ;) (expression_statement "gpps(sesskey,"LogHost","",conf,9);" (call_expression "gpps(sesskey,"LogHost","",conf,9)" identifier (argument_list "(sesskey,"LogHost","",conf,9)" ( identifier , (string_literal ""LogHost"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SSH2DES",0,conf,0x22);" (call_expression "gppi(sesskey,"SSH2DES",0,conf,0x22)" identifier (argument_list "(sesskey,"SSH2DES",0,conf,0x22)" ( identifier , (string_literal ""SSH2DES"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SshNoAuth",0,conf,0x23);" (call_expression "gppi(sesskey,"SshNoAuth",0,conf,0x23)" identifier (argument_list "(sesskey,"SshNoAuth",0,conf,0x23)" ( identifier , (string_literal ""SshNoAuth"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SshBanner",1,conf,0x24);" (call_expression "gppi(sesskey,"SshBanner",1,conf,0x24)" identifier (argument_list "(sesskey,"SshBanner",1,conf,0x24)" ( identifier , (string_literal ""SshBanner"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AuthTIS",0,conf,0x25);" (call_expression "gppi(sesskey,"AuthTIS",0,conf,0x25)" identifier (argument_list "(sesskey,"AuthTIS",0,conf,0x25)" ( identifier , (string_literal ""AuthTIS"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AuthKI",1,conf,0x26);" (call_expression "gppi(sesskey,"AuthKI",1,conf,0x26)" identifier (argument_list "(sesskey,"AuthKI",1,conf,0x26)" ( identifier , (string_literal ""AuthKI"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AuthGSSAPI",1,conf,0x27);" (call_expression "gppi(sesskey,"AuthGSSAPI",1,conf,0x27)" identifier (argument_list "(sesskey,"AuthGSSAPI",1,conf,0x27)" ( identifier , (string_literal ""AuthGSSAPI"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = ngsslibs;" (assignment_expression "iVar5 = ngsslibs" identifier = identifier) ;) (expression_statement "pcVar3 = gpps_raw(sesskey,"GSSLibs","");" (assignment_expression "pcVar3 = gpps_raw(sesskey,"GSSLibs","")" identifier = (call_expression "gpps_raw(sesskey,"GSSLibs","")" identifier (argument_list "(sesskey,"GSSLibs","")" ( identifier , (string_literal ""GSSLibs"" " string_content ") , (string_literal """" " ") )))) ;) (expression_statement "gprefs_from_str(pcVar3,(keyvalwhere *)gsslibkeywords,iVar5,conf,0x29);" (call_expression "gprefs_from_str(pcVar3,(keyvalwhere *)gsslibkeywords,iVar5,conf,0x29)" identifier (argument_list "(pcVar3,(keyvalwhere *)gsslibkeywords,iVar5,conf,0x29)" ( identifier , (cast_expression "(keyvalwhere *)gsslibkeywords" ( (type_descriptor "keyvalwhere *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "safefree(pcVar3);" (call_expression "safefree(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "gppfile(sesskey,"GSSCustom",conf,0x2a);" (call_expression "gppfile(sesskey,"GSSCustom",conf,0x2a)" identifier (argument_list "(sesskey,"GSSCustom",conf,0x2a)" ( identifier , (string_literal ""GSSCustom"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SshNoShell",0,conf,0x2d);" (call_expression "gppi(sesskey,"SshNoShell",0,conf,0x2d)" identifier (argument_list "(sesskey,"SshNoShell",0,conf,0x2d)" ( identifier , (string_literal ""SshNoShell"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppfile(sesskey,"PublicKeyFile",conf,0x20);" (call_expression "gppfile(sesskey,"PublicKeyFile",conf,0x20)" identifier (argument_list "(sesskey,"PublicKeyFile",conf,0x20)" ( identifier , (string_literal ""PublicKeyFile"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"RemoteCommand","",conf,0x14);" (call_expression "gpps(sesskey,"RemoteCommand","",conf,0x14)" identifier (argument_list "(sesskey,"RemoteCommand","",conf,0x14)" ( identifier , (string_literal ""RemoteCommand"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"RFCEnviron",0,conf,0x37);" (call_expression "gppi(sesskey,"RFCEnviron",0,conf,0x37)" identifier (argument_list "(sesskey,"RFCEnviron",0,conf,0x37)" ( identifier , (string_literal ""RFCEnviron"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"PassiveTelnet",0,conf,0x38);" (call_expression "gppi(sesskey,"PassiveTelnet",0,conf,0x38)" identifier (argument_list "(sesskey,"PassiveTelnet",0,conf,0x38)" ( identifier , (string_literal ""PassiveTelnet"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"BackspaceIsDelete",1,conf,0x3f);" (call_expression "gppi(sesskey,"BackspaceIsDelete",1,conf,0x3f)" identifier (argument_list "(sesskey,"BackspaceIsDelete",1,conf,0x3f)" ( identifier , (string_literal ""BackspaceIsDelete"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"RXVTHomeEnd",0,conf,0x40);" (call_expression "gppi(sesskey,"RXVTHomeEnd",0,conf,0x40)" identifier (argument_list "(sesskey,"RXVTHomeEnd",0,conf,0x40)" ( identifier , (string_literal ""RXVTHomeEnd"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LinuxFunctionKeys",0,conf,0x41);" (call_expression "gppi(sesskey,"LinuxFunctionKeys",0,conf,0x41)" identifier (argument_list "(sesskey,"LinuxFunctionKeys",0,conf,0x41)" ( identifier , (string_literal ""LinuxFunctionKeys"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoApplicationKeys",0,conf,0x43);" (call_expression "gppi(sesskey,"NoApplicationKeys",0,conf,0x43)" identifier (argument_list "(sesskey,"NoApplicationKeys",0,conf,0x43)" ( identifier , (string_literal ""NoApplicationKeys"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoApplicationCursors",0,conf,0x42);" (call_expression "gppi(sesskey,"NoApplicationCursors",0,conf,0x42)" identifier (argument_list "(sesskey,"NoApplicationCursors",0,conf,0x42)" ( identifier , (string_literal ""NoApplicationCursors"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoMouseReporting",0,conf,0x44);" (call_expression "gppi(sesskey,"NoMouseReporting",0,conf,0x44)" identifier (argument_list "(sesskey,"NoMouseReporting",0,conf,0x44)" ( identifier , (string_literal ""NoMouseReporting"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoRemoteResize",0,conf,0x45);" (call_expression "gppi(sesskey,"NoRemoteResize",0,conf,0x45)" identifier (argument_list "(sesskey,"NoRemoteResize",0,conf,0x45)" ( identifier , (string_literal ""NoRemoteResize"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoAltScreen",0,conf,0x46);" (call_expression "gppi(sesskey,"NoAltScreen",0,conf,0x46)" identifier (argument_list "(sesskey,"NoAltScreen",0,conf,0x46)" ( identifier , (string_literal ""NoAltScreen"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoRemoteWinTitle",0,conf,0x47);" (call_expression "gppi(sesskey,"NoRemoteWinTitle",0,conf,0x47)" identifier (argument_list "(sesskey,"NoRemoteWinTitle",0,conf,0x47)" ( identifier , (string_literal ""NoRemoteWinTitle"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoRemoteClearScroll",0,conf,0x48);" (call_expression "gppi(sesskey,"NoRemoteClearScroll",0,conf,0x48)" identifier (argument_list "(sesskey,"NoRemoteClearScroll",0,conf,0x48)" ( identifier , (string_literal ""NoRemoteClearScroll"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = platform_default_i("NoRemoteQTitle",1);" (assignment_expression "iVar5 = platform_default_i("NoRemoteQTitle",1)" identifier = (call_expression "platform_default_i("NoRemoteQTitle",1)" identifier (argument_list "("NoRemoteQTitle",1)" ( (string_literal ""NoRemoteQTitle"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"NoRemoteQTitle",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"NoRemoteQTitle",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"NoRemoteQTitle",iVar5)" identifier (argument_list "(sesskey,"NoRemoteQTitle",iVar5)" ( identifier , (string_literal ""NoRemoteQTitle"" " string_content ") , identifier )))) ;) (expression_statement "gppi(sesskey,"RemoteQTitleAction",(iVar5 == 0) + 1,conf,0x4b);" (call_expression "gppi(sesskey,"RemoteQTitleAction",(iVar5 == 0) + 1,conf,0x4b)" identifier (argument_list "(sesskey,"RemoteQTitleAction",(iVar5 == 0) + 1,conf,0x4b)" ( identifier , (string_literal ""RemoteQTitleAction"" " string_content ") , (binary_expression "(iVar5 == 0) + 1" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) + number_literal) , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoDBackspace",0,conf,0x49);" (call_expression "gppi(sesskey,"NoDBackspace",0,conf,0x49)" identifier (argument_list "(sesskey,"NoDBackspace",0,conf,0x49)" ( identifier , (string_literal ""NoDBackspace"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NoRemoteCharset",0,conf,0x4a);" (call_expression "gppi(sesskey,"NoRemoteCharset",0,conf,0x4a)" identifier (argument_list "(sesskey,"NoRemoteCharset",0,conf,0x4a)" ( identifier , (string_literal ""NoRemoteCharset"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ApplicationCursorKeys",0,conf,0x4c);" (call_expression "gppi(sesskey,"ApplicationCursorKeys",0,conf,0x4c)" identifier (argument_list "(sesskey,"ApplicationCursorKeys",0,conf,0x4c)" ( identifier , (string_literal ""ApplicationCursorKeys"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ApplicationKeypad",0,conf,0x4d);" (call_expression "gppi(sesskey,"ApplicationKeypad",0,conf,0x4d)" identifier (argument_list "(sesskey,"ApplicationKeypad",0,conf,0x4d)" ( identifier , (string_literal ""ApplicationKeypad"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"NetHackKeypad",0,conf,0x4e);" (call_expression "gppi(sesskey,"NetHackKeypad",0,conf,0x4e)" identifier (argument_list "(sesskey,"NetHackKeypad",0,conf,0x4e)" ( identifier , (string_literal ""NetHackKeypad"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AltF4",1,conf,0x51);" (call_expression "gppi(sesskey,"AltF4",1,conf,0x51)" identifier (argument_list "(sesskey,"AltF4",1,conf,0x51)" ( identifier , (string_literal ""AltF4"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AltSpace",0,conf,0x52);" (call_expression "gppi(sesskey,"AltSpace",0,conf,0x52)" identifier (argument_list "(sesskey,"AltSpace",0,conf,0x52)" ( identifier , (string_literal ""AltSpace"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AltOnly",0,conf,0x53);" (call_expression "gppi(sesskey,"AltOnly",0,conf,0x53)" identifier (argument_list "(sesskey,"AltOnly",0,conf,0x53)" ( identifier , (string_literal ""AltOnly"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ComposeKey",0,conf,0x5b);" (call_expression "gppi(sesskey,"ComposeKey",0,conf,0x5b)" identifier (argument_list "(sesskey,"ComposeKey",0,conf,0x5b)" ( identifier , (string_literal ""ComposeKey"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"CtrlAltKeys",1,conf,0x5c);" (call_expression "gppi(sesskey,"CtrlAltKeys",1,conf,0x5c)" identifier (argument_list "(sesskey,"CtrlAltKeys",1,conf,0x5c)" ( identifier , (string_literal ""CtrlAltKeys"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"TelnetKey",0,conf,0x4f);" (call_expression "gppi(sesskey,"TelnetKey",0,conf,0x4f)" identifier (argument_list "(sesskey,"TelnetKey",0,conf,0x4f)" ( identifier , (string_literal ""TelnetKey"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"TelnetRet",1,conf,0x50);" (call_expression "gppi(sesskey,"TelnetRet",1,conf,0x50)" identifier (argument_list "(sesskey,"TelnetRet",1,conf,0x50)" ( identifier , (string_literal ""TelnetRet"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LocalEcho",2,conf,0x54);" (call_expression "gppi(sesskey,"LocalEcho",2,conf,0x54)" identifier (argument_list "(sesskey,"LocalEcho",2,conf,0x54)" ( identifier , (string_literal ""LocalEcho"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LocalEdit",2,conf,0x55);" (call_expression "gppi(sesskey,"LocalEdit",2,conf,0x55)" identifier (argument_list "(sesskey,"LocalEdit",2,conf,0x55)" ( identifier , (string_literal ""LocalEdit"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"Answerback","PuTTY",conf,0x80);" (call_expression "gpps(sesskey,"Answerback","PuTTY",conf,0x80)" identifier (argument_list "(sesskey,"Answerback","PuTTY",conf,0x80)" ( identifier , (string_literal ""Answerback"" " string_content ") , (string_literal ""PuTTY"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AlwaysOnTop",0,conf,0x56);" (call_expression "gppi(sesskey,"AlwaysOnTop",0,conf,0x56)" identifier (argument_list "(sesskey,"AlwaysOnTop",0,conf,0x56)" ( identifier , (string_literal ""AlwaysOnTop"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"FullScreenOnAltEnter",0,conf,0x57);" (call_expression "gppi(sesskey,"FullScreenOnAltEnter",0,conf,0x57)" identifier (argument_list "(sesskey,"FullScreenOnAltEnter",0,conf,0x57)" ( identifier , (string_literal ""FullScreenOnAltEnter"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"HideMousePtr",0,conf,0x7d);" (call_expression "gppi(sesskey,"HideMousePtr",0,conf,0x7d)" identifier (argument_list "(sesskey,"HideMousePtr",0,conf,0x7d)" ( identifier , (string_literal ""HideMousePtr"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SunkenEdge",0,conf,0x7e);" (call_expression "gppi(sesskey,"SunkenEdge",0,conf,0x7e)" identifier (argument_list "(sesskey,"SunkenEdge",0,conf,0x7e)" ( identifier , (string_literal ""SunkenEdge"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"WindowBorder",1,conf,0x7f);" (call_expression "gppi(sesskey,"WindowBorder",1,conf,0x7f)" identifier (argument_list "(sesskey,"WindowBorder",1,conf,0x7f)" ( identifier , (string_literal ""WindowBorder"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"CurType",0,conf,100);" (call_expression "gppi(sesskey,"CurType",0,conf,100)" identifier (argument_list "(sesskey,"CurType",0,conf,100)" ( identifier , (string_literal ""CurType"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"BlinkCur",0,conf,0x65);" (call_expression "gppi(sesskey,"BlinkCur",0,conf,0x65)" identifier (argument_list "(sesskey,"BlinkCur",0,conf,0x65)" ( identifier , (string_literal ""BlinkCur"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"Beep",1,conf,0x66);" (call_expression "gppi(sesskey,"Beep",1,conf,0x66)" identifier (argument_list "(sesskey,"Beep",1,conf,0x66)" ( identifier , (string_literal ""Beep"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"BeepInd",0,conf,0x67);" (call_expression "gppi(sesskey,"BeepInd",0,conf,0x67)" identifier (argument_list "(sesskey,"BeepInd",0,conf,0x67)" ( identifier , (string_literal ""BeepInd"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppfile(sesskey,"BellWaveFile",conf,0x6c);" (call_expression "gppfile(sesskey,"BellWaveFile",conf,0x6c)" identifier (argument_list "(sesskey,"BellWaveFile",conf,0x6c)" ( identifier , (string_literal ""BellWaveFile"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"BellOverload",1,conf,0x68);" (call_expression "gppi(sesskey,"BellOverload",1,conf,0x68)" identifier (argument_list "(sesskey,"BellOverload",1,conf,0x68)" ( identifier , (string_literal ""BellOverload"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"BellOverloadN",5,conf,0x69);" (call_expression "gppi(sesskey,"BellOverloadN",5,conf,0x69)" identifier (argument_list "(sesskey,"BellOverloadN",5,conf,0x69)" ( identifier , (string_literal ""BellOverloadN"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = platform_default_i("BellOverloadT",2000000);" (assignment_expression "iVar5 = platform_default_i("BellOverloadT",2000000)" identifier = (call_expression "platform_default_i("BellOverloadT",2000000)" identifier (argument_list "("BellOverloadT",2000000)" ( (string_literal ""BellOverloadT"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BellOverloadT",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BellOverloadT",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BellOverloadT",iVar5)" identifier (argument_list "(sesskey,"BellOverloadT",iVar5)" ( identifier , (string_literal ""BellOverloadT"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0x6a,iVar5 / 1000);" (call_expression "conf_set_int(conf,0x6a,iVar5 / 1000)" identifier (argument_list "(conf,0x6a,iVar5 / 1000)" ( identifier , number_literal , (binary_expression "iVar5 / 1000" identifier / number_literal) ))) ;) (expression_statement "iVar5 = platform_default_i("BellOverloadS",5000000);" (assignment_expression "iVar5 = platform_default_i("BellOverloadS",5000000)" identifier = (call_expression "platform_default_i("BellOverloadS",5000000)" identifier (argument_list "("BellOverloadS",5000000)" ( (string_literal ""BellOverloadS"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BellOverloadS",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BellOverloadS",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BellOverloadS",iVar5)" identifier (argument_list "(sesskey,"BellOverloadS",iVar5)" ( identifier , (string_literal ""BellOverloadS"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0x6b,iVar5 / 1000);" (call_expression "conf_set_int(conf,0x6b,iVar5 / 1000)" identifier (argument_list "(conf,0x6b,iVar5 / 1000)" ( identifier , number_literal , (binary_expression "iVar5 / 1000" identifier / number_literal) ))) ;) (expression_statement "gppi(sesskey,"ScrollbackLines",2000,conf,0x60);" (call_expression "gppi(sesskey,"ScrollbackLines",2000,conf,0x60)" identifier (argument_list "(sesskey,"ScrollbackLines",2000,conf,0x60)" ( identifier , (string_literal ""ScrollbackLines"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"DECOriginMode",0,conf,0x61);" (call_expression "gppi(sesskey,"DECOriginMode",0,conf,0x61)" identifier (argument_list "(sesskey,"DECOriginMode",0,conf,0x61)" ( identifier , (string_literal ""DECOriginMode"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"AutoWrapMode",1,conf,0x62);" (call_expression "gppi(sesskey,"AutoWrapMode",1,conf,0x62)" identifier (argument_list "(sesskey,"AutoWrapMode",1,conf,0x62)" ( identifier , (string_literal ""AutoWrapMode"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LFImpliesCR",0,conf,99);" (call_expression "gppi(sesskey,"LFImpliesCR",0,conf,99)" identifier (argument_list "(sesskey,"LFImpliesCR",0,conf,99)" ( identifier , (string_literal ""LFImpliesCR"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"CRImpliesLF",0,conf,0xb6);" (call_expression "gppi(sesskey,"CRImpliesLF",0,conf,0xb6)" identifier (argument_list "(sesskey,"CRImpliesLF",0,conf,0xb6)" ( identifier , (string_literal ""CRImpliesLF"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"DisableArabicShaping",0,conf,0x82);" (call_expression "gppi(sesskey,"DisableArabicShaping",0,conf,0x82)" identifier (argument_list "(sesskey,"DisableArabicShaping",0,conf,0x82)" ( identifier , (string_literal ""DisableArabicShaping"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"DisableBidi",0,conf,0x83);" (call_expression "gppi(sesskey,"DisableBidi",0,conf,0x83)" identifier (argument_list "(sesskey,"DisableBidi",0,conf,0x83)" ( identifier , (string_literal ""DisableBidi"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"WinNameAlways",1,conf,0x72);" (call_expression "gppi(sesskey,"WinNameAlways",1,conf,0x72)" identifier (argument_list "(sesskey,"WinNameAlways",1,conf,0x72)" ( identifier , (string_literal ""WinNameAlways"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"WinTitle","",conf,0x5f);" (call_expression "gpps(sesskey,"WinTitle","",conf,0x5f)" identifier (argument_list "(sesskey,"WinTitle","",conf,0x5f)" ( identifier , (string_literal ""WinTitle"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"TermWidth",0x50,conf,0x73);" (call_expression "gppi(sesskey,"TermWidth",0x50,conf,0x73)" identifier (argument_list "(sesskey,"TermWidth",0x50,conf,0x73)" ( identifier , (string_literal ""TermWidth"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"TermHeight",0x18,conf,0x74);" (call_expression "gppi(sesskey,"TermHeight",0x18,conf,0x74)" identifier (argument_list "(sesskey,"TermHeight",0x18,conf,0x74)" ( identifier , (string_literal ""TermHeight"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppfont(sesskey,"Font",conf,0x75);" (call_expression "gppfont(sesskey,"Font",conf,0x75)" identifier (argument_list "(sesskey,"Font",conf,0x75)" ( identifier , (string_literal ""Font"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"FontQuality",0,conf,0x76);" (call_expression "gppi(sesskey,"FontQuality",0,conf,0x76)" identifier (argument_list "(sesskey,"FontQuality",0,conf,0x76)" ( identifier , (string_literal ""FontQuality"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"FontVTMode",4,conf,0x90);" (call_expression "gppi(sesskey,"FontVTMode",4,conf,0x90)" identifier (argument_list "(sesskey,"FontVTMode",4,conf,0x90)" ( identifier , (string_literal ""FontVTMode"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"UseSystemColours",0,conf,0x86);" (call_expression "gppi(sesskey,"UseSystemColours",0,conf,0x86)" identifier (argument_list "(sesskey,"UseSystemColours",0,conf,0x86)" ( identifier , (string_literal ""UseSystemColours"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"TryPalette",0,conf,0x87);" (call_expression "gppi(sesskey,"TryPalette",0,conf,0x87)" identifier (argument_list "(sesskey,"TryPalette",0,conf,0x87)" ( identifier , (string_literal ""TryPalette"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ANSIColour",1,conf,0x84);" (call_expression "gppi(sesskey,"ANSIColour",1,conf,0x84)" identifier (argument_list "(sesskey,"ANSIColour",1,conf,0x84)" ( identifier , (string_literal ""ANSIColour"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"Xterm256Colour",1,conf,0x85);" (call_expression "gppi(sesskey,"Xterm256Colour",1,conf,0x85)" identifier (argument_list "(sesskey,"Xterm256Colour",1,conf,0x85)" ( identifier , (string_literal ""Xterm256Colour"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = platform_default_i("BoldAsColour",1);" (assignment_expression "iVar5 = platform_default_i("BoldAsColour",1)" identifier = (call_expression "platform_default_i("BoldAsColour",1)" identifier (argument_list "("BoldAsColour",1)" ( (string_literal ""BoldAsColour"" " string_content ") , number_literal )))) ;) (expression_statement "pcVar3 = "187,187,187";" (assignment_expression "pcVar3 = "187,187,187"" identifier = (string_literal ""187,187,187"" " string_content ")) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BoldAsColour",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BoldAsColour",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BoldAsColour",iVar5)" identifier (argument_list "(sesskey,"BoldAsColour",iVar5)" ( identifier , (string_literal ""BoldAsColour"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0x88,iVar5 + 1);" (call_expression "conf_set_int(conf,0x88,iVar5 + 1)" identifier (argument_list "(conf,0x88,iVar5 + 1)" ( identifier , number_literal , (binary_expression "iVar5 + 1" identifier + number_literal) ))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n    __sprintf_chk(buf,1,0x14,"Colour%d",iVar5);\n    pcVar3 = gpps_raw(sesskey,buf,pcVar3);\n    iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2);\n    if (iVar6 == 3) {\n      iVar6 = iVar5 * 3;\n      conf_set_int_int(conf,0x89,iVar6,c0);\n      conf_set_int_int(conf,0x89,iVar6 + 1,c1);\n      conf_set_int_int(conf,0x89,iVar6 + 2,c2);\n    }\n    iVar5 = iVar5 + 1;\n    safefree(pcVar3);\n    if (iVar5 == 0x16) break;\n    pcVar3 = load_open_settings::lexical_block_12::defaults[iVar5];\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    __sprintf_chk(buf,1,0x14,"Colour%d",iVar5);\n    pcVar3 = gpps_raw(sesskey,buf,pcVar3);\n    iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2);\n    if (iVar6 == 3) {\n      iVar6 = iVar5 * 3;\n      conf_set_int_int(conf,0x89,iVar6,c0);\n      conf_set_int_int(conf,0x89,iVar6 + 1,c1);\n      conf_set_int_int(conf,0x89,iVar6 + 2,c2);\n    }\n    iVar5 = iVar5 + 1;\n    safefree(pcVar3);\n    if (iVar5 == 0x16) break;\n    pcVar3 = load_open_settings::lexical_block_12::defaults[iVar5];\n  }" { (expression_statement "__sprintf_chk(buf,1,0x14,"Colour%d",iVar5);" (call_expression "__sprintf_chk(buf,1,0x14,"Colour%d",iVar5)" identifier (argument_list "(buf,1,0x14,"Colour%d",iVar5)" ( identifier , number_literal , number_literal , (string_literal ""Colour%d"" " string_content ") , identifier ))) ;) (expression_statement "pcVar3 = gpps_raw(sesskey,buf,pcVar3);" (assignment_expression "pcVar3 = gpps_raw(sesskey,buf,pcVar3)" identifier = (call_expression "gpps_raw(sesskey,buf,pcVar3)" identifier (argument_list "(sesskey,buf,pcVar3)" ( identifier , identifier , identifier )))) ;) (expression_statement "iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2);" (assignment_expression "iVar6 = __isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2)" identifier = (call_expression "__isoc99_sscanf(pcVar3,&DAT_00072fed,&c0,&c1,&c2)" identifier (argument_list "(pcVar3,&DAT_00072fed,&c0,&c1,&c2)" ( identifier , (pointer_expression "&DAT_00072fed" & identifier) , (pointer_expression "&c0" & identifier) , (pointer_expression "&c1" & identifier) , (pointer_expression "&c2" & identifier) )))) ;) (if_statement "if (iVar6 == 3) {\n      iVar6 = iVar5 * 3;\n      conf_set_int_int(conf,0x89,iVar6,c0);\n      conf_set_int_int(conf,0x89,iVar6 + 1,c1);\n      conf_set_int_int(conf,0x89,iVar6 + 2,c2);\n    }" if (parenthesized_expression "(iVar6 == 3)" ( (binary_expression "iVar6 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar6 = iVar5 * 3;\n      conf_set_int_int(conf,0x89,iVar6,c0);\n      conf_set_int_int(conf,0x89,iVar6 + 1,c1);\n      conf_set_int_int(conf,0x89,iVar6 + 2,c2);\n    }" { (expression_statement "iVar6 = iVar5 * 3;" (assignment_expression "iVar6 = iVar5 * 3" identifier = (binary_expression "iVar5 * 3" identifier * number_literal)) ;) (expression_statement "conf_set_int_int(conf,0x89,iVar6,c0);" (call_expression "conf_set_int_int(conf,0x89,iVar6,c0)" identifier (argument_list "(conf,0x89,iVar6,c0)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "conf_set_int_int(conf,0x89,iVar6 + 1,c1);" (call_expression "conf_set_int_int(conf,0x89,iVar6 + 1,c1)" identifier (argument_list "(conf,0x89,iVar6 + 1,c1)" ( identifier , number_literal , (binary_expression "iVar6 + 1" identifier + number_literal) , identifier ))) ;) (expression_statement "conf_set_int_int(conf,0x89,iVar6 + 2,c2);" (call_expression "conf_set_int_int(conf,0x89,iVar6 + 2,c2)" identifier (argument_list "(conf,0x89,iVar6 + 2,c2)" ( identifier , number_literal , (binary_expression "iVar6 + 2" identifier + number_literal) , identifier ))) ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "safefree(pcVar3);" (call_expression "safefree(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (if_statement "if (iVar5 == 0x16) break;" if (parenthesized_expression "(iVar5 == 0x16)" ( (binary_expression "iVar5 == 0x16" identifier == number_literal) )) (break_statement "break;" break ;)) (ERROR "pcVar3 = load_open_settings::" (assignment_expression "pcVar3 = load_open_settings" identifier = identifier) : :) (labeled_statement "lexical_block_12::defaults[iVar5];" statement_identifier : (ERROR ":" :) (expression_statement "defaults[iVar5];" (subscript_expression "defaults[iVar5]" identifier [ identifier ]) ;)) })) (expression_statement "gppi(sesskey,"RawCNP",0,conf,0x8c);" (call_expression "gppi(sesskey,"RawCNP",0,conf,0x8c)" identifier (argument_list "(sesskey,"RawCNP",0,conf,0x8c)" ( identifier , (string_literal ""RawCNP"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"PasteRTF",0,conf,0x8d);" (call_expression "gppi(sesskey,"PasteRTF",0,conf,0x8d)" identifier (argument_list "(sesskey,"PasteRTF",0,conf,0x8d)" ( identifier , (string_literal ""PasteRTF"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"MouseIsXterm",0,conf,0x8a);" (call_expression "gppi(sesskey,"MouseIsXterm",0,conf,0x8a)" identifier (argument_list "(sesskey,"MouseIsXterm",0,conf,0x8a)" ( identifier , (string_literal ""MouseIsXterm"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "pcVar3 = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";" (assignment_expression "pcVar3 = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"" identifier = (string_literal ""0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"" " string_content ")) ;) (expression_statement "gppi(sesskey,"RectSelect",0,conf,0x8b);" (call_expression "gppi(sesskey,"RectSelect",0,conf,0x8b)" identifier (argument_list "(sesskey,"RectSelect",0,conf,0x8b)" ( identifier , (string_literal ""RectSelect"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"MouseOverride",1,conf,0x8e);" (call_expression "gppi(sesskey,"MouseOverride",1,conf,0x8e)" identifier (argument_list "(sesskey,"MouseOverride",1,conf,0x8e)" ( identifier , (string_literal ""MouseOverride"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "local_70 = (byte *)0x20;" (assignment_expression "local_70 = (byte *)0x20" identifier = (cast_expression "(byte *)0x20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00027ba9:\n  __sprintf_chk(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20);" statement_identifier : (expression_statement "__sprintf_chk(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20);" (call_expression "__sprintf_chk(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20)" identifier (argument_list "(buf,1,0x14,"Wordness%d",(int)local_70 + -0x20)" ( identifier , number_literal , number_literal , (string_literal ""Wordness%d"" " string_content ") , (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;)) (expression_statement "pcVar7 = gpps_raw(sesskey,buf,pcVar3);" (assignment_expression "pcVar7 = gpps_raw(sesskey,buf,pcVar3)" identifier = (call_expression "gpps_raw(sesskey,buf,pcVar3)" identifier (argument_list "(sesskey,buf,pcVar3)" ( identifier , identifier , identifier )))) ;) (expression_statement "cVar2 = *pcVar7;" (assignment_expression "cVar2 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "iVar5 = (int)local_70 + -0x20;" (assignment_expression "iVar5 = (int)local_70 + -0x20" identifier = (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "pcVar3 = pcVar7;" (assignment_expression "pcVar3 = pcVar7" identifier = identifier) ;) (do_statement "do {\n    pcVar11 = pcVar3;\n    if ((cVar2 != ',') && (cVar2 != '\0')) {\n      do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');\n    }\n    if (cVar2 == ',') {\n      *pcVar11 = '\0';\n      pcVar11 = pcVar11 + 1;\n    }\n    value = strtol(pcVar3,(char **)0x0,10);\n    iVar6 = iVar5 + 1;\n    conf_set_int_int(conf,0x8f,iVar5,value);\n    if (local_70 == (byte *)iVar6) break;\n    cVar2 = *pcVar11;\n    iVar5 = iVar6;\n    pcVar3 = pcVar11;\n  } while( true );" do (compound_statement "{\n    pcVar11 = pcVar3;\n    if ((cVar2 != ',') && (cVar2 != '\0')) {\n      do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');\n    }\n    if (cVar2 == ',') {\n      *pcVar11 = '\0';\n      pcVar11 = pcVar11 + 1;\n    }\n    value = strtol(pcVar3,(char **)0x0,10);\n    iVar6 = iVar5 + 1;\n    conf_set_int_int(conf,0x8f,iVar5,value);\n    if (local_70 == (byte *)iVar6) break;\n    cVar2 = *pcVar11;\n    iVar5 = iVar6;\n    pcVar3 = pcVar11;\n  }" { (expression_statement "pcVar11 = pcVar3;" (assignment_expression "pcVar11 = pcVar3" identifier = identifier) ;) (if_statement "if ((cVar2 != ',') && (cVar2 != '\0')) {\n      do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');\n    }" if (parenthesized_expression "((cVar2 != ',') && (cVar2 != '\0'))" ( (binary_expression "(cVar2 != ',') && (cVar2 != '\0')" (parenthesized_expression "(cVar2 != ',')" ( (binary_expression "cVar2 != ','" identifier != (char_literal "','" ' character ')) )) && (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');\n    }" { (do_statement "do {\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      } while (cVar2 != ',');" do (compound_statement "{\n        pcVar11 = pcVar11 + 1;\n        cVar2 = *pcVar11;\n        if (cVar2 == '\0') break;\n      }" { (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar11;" (assignment_expression "cVar2 = *pcVar11" identifier = (pointer_expression "*pcVar11" * identifier)) ;) (if_statement "if (cVar2 == '\0') break;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(cVar2 != ',')" ( (binary_expression "cVar2 != ','" identifier != (char_literal "','" ' character ')) )) ;) })) (if_statement "if (cVar2 == ',') {\n      *pcVar11 = '\0';\n      pcVar11 = pcVar11 + 1;\n    }" if (parenthesized_expression "(cVar2 == ',')" ( (binary_expression "cVar2 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n      *pcVar11 = '\0';\n      pcVar11 = pcVar11 + 1;\n    }" { (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) })) (expression_statement "value = strtol(pcVar3,(char **)0x0,10);" (assignment_expression "value = strtol(pcVar3,(char **)0x0,10)" identifier = (call_expression "strtol(pcVar3,(char **)0x0,10)" identifier (argument_list "(pcVar3,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "iVar6 = iVar5 + 1;" (assignment_expression "iVar6 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "conf_set_int_int(conf,0x8f,iVar5,value);" (call_expression "conf_set_int_int(conf,0x8f,iVar5,value)" identifier (argument_list "(conf,0x8f,iVar5,value)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (local_70 == (byte *)iVar6) break;" if (parenthesized_expression "(local_70 == (byte *)iVar6)" ( (binary_expression "local_70 == (byte *)iVar6" identifier == (cast_expression "(byte *)iVar6" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "cVar2 = *pcVar11;" (assignment_expression "cVar2 = *pcVar11" identifier = (pointer_expression "*pcVar11" * identifier)) ;) (expression_statement "iVar5 = iVar6;" (assignment_expression "iVar5 = iVar6" identifier = identifier) ;) (expression_statement "pcVar3 = pcVar11;" (assignment_expression "pcVar3 = pcVar11" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "safefree(pcVar7);" (call_expression "safefree(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)((int)local_70 + 0x20);" (assignment_expression "local_70 = (byte *)((int)local_70 + 0x20)" identifier = (cast_expression "(byte *)((int)local_70 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x20)" ( (binary_expression "(int)local_70 + 0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (local_70 == (byte *)0x120) {\n    gpps(sesskey,"LineCodePage","",conf,0x91);\n    gppi(sesskey,"CJKAmbigWide",0,conf,0x92);\n    gppi(sesskey,"UTF8Override",1,conf,0x93);\n    gpps(sesskey,"Printer","",conf,0x81);\n    gppi(sesskey,"CapsLockCyr",0,conf,0x94);\n    gppi(sesskey,"ScrollBar",1,conf,0x6d);\n    gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e);\n    gppi(sesskey,"ScrollOnKey",0,conf,0x58);\n    gppi(sesskey,"ScrollOnDisp",1,conf,0x59);\n    gppi(sesskey,"EraseToScrollback",1,conf,0x5a);\n    gppi(sesskey,"LockSize",0,conf,0x6f);\n    gppi(sesskey,"BCE",1,conf,0x70);\n    gppi(sesskey,"BlinkText",0,conf,0x71);\n    gppi(sesskey,"X11Forward",0,conf,0x95);\n    gpps(sesskey,"X11Display","",conf,0x96);\n    gppi(sesskey,"X11AuthType",1,conf,0x97);\n    gppfile(sesskey,"X11AuthFile",conf,0x98);\n    gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99);\n    gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a);\n    gppmap(sesskey,"PortForwardings",conf,0x9b);\n    iVar5 = platform_default_i("BugIgnore1",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5);\n    conf_set_int(conf,0x9c,2 - iVar5);\n    iVar5 = platform_default_i("BugPlainPW1",0);\n    iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5);\n    conf_set_int(conf,0x9d,2 - iVar5);\n    iVar5 = platform_default_i("BugRSA1",0);\n    iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5);\n    conf_set_int(conf,0x9e,2 - iVar5);\n    iVar5 = platform_default_i("BugIgnore2",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5);\n    conf_set_int(conf,0xa5,2 - iVar5);\n    iVar5 = platform_default_i("BugHMAC2",0);\n    iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5);\n    conf_set_int(conf,0x9f,2 - iVar5);\n    if (iVar5 == 0) {\n      iVar5 = platform_default_i("BuggyMAC",0);\n      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);\n      if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }\n    }\n    iVar5 = platform_default_i("BugDeriveKey2",0);\n    iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5);\n    conf_set_int(conf,0xa0,2 - iVar5);\n    iVar5 = platform_default_i("BugRSAPad2",0);\n    iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5);\n    conf_set_int(conf,0xa1,2 - iVar5);\n    iVar5 = platform_default_i("BugPKSessID2",0);\n    iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5);\n    conf_set_int(conf,0xa2,2 - iVar5);\n    iVar5 = platform_default_i("BugRekey2",0);\n    iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5);\n    conf_set_int(conf,0xa3,2 - iVar5);\n    iVar5 = platform_default_i("BugMaxPkt2",0);\n    iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5);\n    conf_set_int(conf,0xa4,2 - iVar5);\n    iVar5 = platform_default_i("BugOldGex2",0);\n    iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5);\n    conf_set_int(conf,0xa6,2 - iVar5);\n    iVar5 = platform_default_i("BugWinadj",0);\n    iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5);\n    conf_set_int(conf,0xa7,2 - iVar5);\n    iVar5 = platform_default_i("BugChanReq",0);\n    iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5);\n    conf_set_int(conf,0xa8,2 - iVar5);\n    conf_set_int(conf,0xa9,0);\n    gppi(sesskey,"StampUtmp",1,conf,0xae);\n    gppi(sesskey,"LoginShell",1,conf,0xaf);\n    gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0);\n    gppi(sesskey,"ShadowBold",0,conf,0xb1);\n    gppfont(sesskey,"BoldFont",conf,0xb2);\n    gppfont(sesskey,"WideFont",conf,0xb3);\n    gppfont(sesskey,"WideBoldFont",conf,0xb4);\n    gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5);\n    gpps(sesskey,"SerialLine","",conf,0x39);\n    gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a);\n    gppi(sesskey,"SerialDataBits",8,conf,0x3b);\n    gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c);\n    gppi(sesskey,"SerialParity",0,conf,0x3d);\n    gppi(sesskey,"SerialFlowControl",1,conf,0x3e);\n    gpps(sesskey,"WindowClass","",conf,0xb7);\n    gppi(sesskey,"ConnectionSharing",0,conf,0xaa);\n    gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab);\n    gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac);\n    gppmap(sesskey,"SSHManualHostKeys",conf,0xad);\n    if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }" if (parenthesized_expression "(local_70 == (byte *)0x120)" ( (binary_expression "local_70 == (byte *)0x120" identifier == (cast_expression "(byte *)0x120" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    gpps(sesskey,"LineCodePage","",conf,0x91);\n    gppi(sesskey,"CJKAmbigWide",0,conf,0x92);\n    gppi(sesskey,"UTF8Override",1,conf,0x93);\n    gpps(sesskey,"Printer","",conf,0x81);\n    gppi(sesskey,"CapsLockCyr",0,conf,0x94);\n    gppi(sesskey,"ScrollBar",1,conf,0x6d);\n    gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e);\n    gppi(sesskey,"ScrollOnKey",0,conf,0x58);\n    gppi(sesskey,"ScrollOnDisp",1,conf,0x59);\n    gppi(sesskey,"EraseToScrollback",1,conf,0x5a);\n    gppi(sesskey,"LockSize",0,conf,0x6f);\n    gppi(sesskey,"BCE",1,conf,0x70);\n    gppi(sesskey,"BlinkText",0,conf,0x71);\n    gppi(sesskey,"X11Forward",0,conf,0x95);\n    gpps(sesskey,"X11Display","",conf,0x96);\n    gppi(sesskey,"X11AuthType",1,conf,0x97);\n    gppfile(sesskey,"X11AuthFile",conf,0x98);\n    gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99);\n    gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a);\n    gppmap(sesskey,"PortForwardings",conf,0x9b);\n    iVar5 = platform_default_i("BugIgnore1",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5);\n    conf_set_int(conf,0x9c,2 - iVar5);\n    iVar5 = platform_default_i("BugPlainPW1",0);\n    iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5);\n    conf_set_int(conf,0x9d,2 - iVar5);\n    iVar5 = platform_default_i("BugRSA1",0);\n    iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5);\n    conf_set_int(conf,0x9e,2 - iVar5);\n    iVar5 = platform_default_i("BugIgnore2",0);\n    iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5);\n    conf_set_int(conf,0xa5,2 - iVar5);\n    iVar5 = platform_default_i("BugHMAC2",0);\n    iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5);\n    conf_set_int(conf,0x9f,2 - iVar5);\n    if (iVar5 == 0) {\n      iVar5 = platform_default_i("BuggyMAC",0);\n      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);\n      if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }\n    }\n    iVar5 = platform_default_i("BugDeriveKey2",0);\n    iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5);\n    conf_set_int(conf,0xa0,2 - iVar5);\n    iVar5 = platform_default_i("BugRSAPad2",0);\n    iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5);\n    conf_set_int(conf,0xa1,2 - iVar5);\n    iVar5 = platform_default_i("BugPKSessID2",0);\n    iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5);\n    conf_set_int(conf,0xa2,2 - iVar5);\n    iVar5 = platform_default_i("BugRekey2",0);\n    iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5);\n    conf_set_int(conf,0xa3,2 - iVar5);\n    iVar5 = platform_default_i("BugMaxPkt2",0);\n    iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5);\n    conf_set_int(conf,0xa4,2 - iVar5);\n    iVar5 = platform_default_i("BugOldGex2",0);\n    iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5);\n    conf_set_int(conf,0xa6,2 - iVar5);\n    iVar5 = platform_default_i("BugWinadj",0);\n    iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5);\n    conf_set_int(conf,0xa7,2 - iVar5);\n    iVar5 = platform_default_i("BugChanReq",0);\n    iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5);\n    conf_set_int(conf,0xa8,2 - iVar5);\n    conf_set_int(conf,0xa9,0);\n    gppi(sesskey,"StampUtmp",1,conf,0xae);\n    gppi(sesskey,"LoginShell",1,conf,0xaf);\n    gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0);\n    gppi(sesskey,"ShadowBold",0,conf,0xb1);\n    gppfont(sesskey,"BoldFont",conf,0xb2);\n    gppfont(sesskey,"WideFont",conf,0xb3);\n    gppfont(sesskey,"WideBoldFont",conf,0xb4);\n    gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5);\n    gpps(sesskey,"SerialLine","",conf,0x39);\n    gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a);\n    gppi(sesskey,"SerialDataBits",8,conf,0x3b);\n    gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c);\n    gppi(sesskey,"SerialParity",0,conf,0x3d);\n    gppi(sesskey,"SerialFlowControl",1,conf,0x3e);\n    gpps(sesskey,"WindowClass","",conf,0xb7);\n    gppi(sesskey,"ConnectionSharing",0,conf,0xaa);\n    gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab);\n    gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac);\n    gppmap(sesskey,"SSHManualHostKeys",conf,0xad);\n    if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }" { (expression_statement "gpps(sesskey,"LineCodePage","",conf,0x91);" (call_expression "gpps(sesskey,"LineCodePage","",conf,0x91)" identifier (argument_list "(sesskey,"LineCodePage","",conf,0x91)" ( identifier , (string_literal ""LineCodePage"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"CJKAmbigWide",0,conf,0x92);" (call_expression "gppi(sesskey,"CJKAmbigWide",0,conf,0x92)" identifier (argument_list "(sesskey,"CJKAmbigWide",0,conf,0x92)" ( identifier , (string_literal ""CJKAmbigWide"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"UTF8Override",1,conf,0x93);" (call_expression "gppi(sesskey,"UTF8Override",1,conf,0x93)" identifier (argument_list "(sesskey,"UTF8Override",1,conf,0x93)" ( identifier , (string_literal ""UTF8Override"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"Printer","",conf,0x81);" (call_expression "gpps(sesskey,"Printer","",conf,0x81)" identifier (argument_list "(sesskey,"Printer","",conf,0x81)" ( identifier , (string_literal ""Printer"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"CapsLockCyr",0,conf,0x94);" (call_expression "gppi(sesskey,"CapsLockCyr",0,conf,0x94)" identifier (argument_list "(sesskey,"CapsLockCyr",0,conf,0x94)" ( identifier , (string_literal ""CapsLockCyr"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ScrollBar",1,conf,0x6d);" (call_expression "gppi(sesskey,"ScrollBar",1,conf,0x6d)" identifier (argument_list "(sesskey,"ScrollBar",1,conf,0x6d)" ( identifier , (string_literal ""ScrollBar"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e);" (call_expression "gppi(sesskey,"ScrollBarFullScreen",0,conf,0x6e)" identifier (argument_list "(sesskey,"ScrollBarFullScreen",0,conf,0x6e)" ( identifier , (string_literal ""ScrollBarFullScreen"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ScrollOnKey",0,conf,0x58);" (call_expression "gppi(sesskey,"ScrollOnKey",0,conf,0x58)" identifier (argument_list "(sesskey,"ScrollOnKey",0,conf,0x58)" ( identifier , (string_literal ""ScrollOnKey"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ScrollOnDisp",1,conf,0x59);" (call_expression "gppi(sesskey,"ScrollOnDisp",1,conf,0x59)" identifier (argument_list "(sesskey,"ScrollOnDisp",1,conf,0x59)" ( identifier , (string_literal ""ScrollOnDisp"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"EraseToScrollback",1,conf,0x5a);" (call_expression "gppi(sesskey,"EraseToScrollback",1,conf,0x5a)" identifier (argument_list "(sesskey,"EraseToScrollback",1,conf,0x5a)" ( identifier , (string_literal ""EraseToScrollback"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LockSize",0,conf,0x6f);" (call_expression "gppi(sesskey,"LockSize",0,conf,0x6f)" identifier (argument_list "(sesskey,"LockSize",0,conf,0x6f)" ( identifier , (string_literal ""LockSize"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"BCE",1,conf,0x70);" (call_expression "gppi(sesskey,"BCE",1,conf,0x70)" identifier (argument_list "(sesskey,"BCE",1,conf,0x70)" ( identifier , (string_literal ""BCE"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"BlinkText",0,conf,0x71);" (call_expression "gppi(sesskey,"BlinkText",0,conf,0x71)" identifier (argument_list "(sesskey,"BlinkText",0,conf,0x71)" ( identifier , (string_literal ""BlinkText"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"X11Forward",0,conf,0x95);" (call_expression "gppi(sesskey,"X11Forward",0,conf,0x95)" identifier (argument_list "(sesskey,"X11Forward",0,conf,0x95)" ( identifier , (string_literal ""X11Forward"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"X11Display","",conf,0x96);" (call_expression "gpps(sesskey,"X11Display","",conf,0x96)" identifier (argument_list "(sesskey,"X11Display","",conf,0x96)" ( identifier , (string_literal ""X11Display"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"X11AuthType",1,conf,0x97);" (call_expression "gppi(sesskey,"X11AuthType",1,conf,0x97)" identifier (argument_list "(sesskey,"X11AuthType",1,conf,0x97)" ( identifier , (string_literal ""X11AuthType"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppfile(sesskey,"X11AuthFile",conf,0x98);" (call_expression "gppfile(sesskey,"X11AuthFile",conf,0x98)" identifier (argument_list "(sesskey,"X11AuthFile",conf,0x98)" ( identifier , (string_literal ""X11AuthFile"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99);" (call_expression "gppi(sesskey,"LocalPortAcceptAll",0,conf,0x99)" identifier (argument_list "(sesskey,"LocalPortAcceptAll",0,conf,0x99)" ( identifier , (string_literal ""LocalPortAcceptAll"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a);" (call_expression "gppi(sesskey,"RemotePortAcceptAll",0,conf,0x9a)" identifier (argument_list "(sesskey,"RemotePortAcceptAll",0,conf,0x9a)" ( identifier , (string_literal ""RemotePortAcceptAll"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppmap(sesskey,"PortForwardings",conf,0x9b);" (call_expression "gppmap(sesskey,"PortForwardings",conf,0x9b)" identifier (argument_list "(sesskey,"PortForwardings",conf,0x9b)" ( identifier , (string_literal ""PortForwardings"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "iVar5 = platform_default_i("BugIgnore1",0);" (assignment_expression "iVar5 = platform_default_i("BugIgnore1",0)" identifier = (call_expression "platform_default_i("BugIgnore1",0)" identifier (argument_list "("BugIgnore1",0)" ( (string_literal ""BugIgnore1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugIgnore1",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugIgnore1",iVar5)" identifier (argument_list "(sesskey,"BugIgnore1",iVar5)" ( identifier , (string_literal ""BugIgnore1"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0x9c,2 - iVar5);" (call_expression "conf_set_int(conf,0x9c,2 - iVar5)" identifier (argument_list "(conf,0x9c,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugPlainPW1",0);" (assignment_expression "iVar5 = platform_default_i("BugPlainPW1",0)" identifier = (call_expression "platform_default_i("BugPlainPW1",0)" identifier (argument_list "("BugPlainPW1",0)" ( (string_literal ""BugPlainPW1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugPlainPW1",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugPlainPW1",iVar5)" identifier (argument_list "(sesskey,"BugPlainPW1",iVar5)" ( identifier , (string_literal ""BugPlainPW1"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0x9d,2 - iVar5);" (call_expression "conf_set_int(conf,0x9d,2 - iVar5)" identifier (argument_list "(conf,0x9d,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugRSA1",0);" (assignment_expression "iVar5 = platform_default_i("BugRSA1",0)" identifier = (call_expression "platform_default_i("BugRSA1",0)" identifier (argument_list "("BugRSA1",0)" ( (string_literal ""BugRSA1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugRSA1",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugRSA1",iVar5)" identifier (argument_list "(sesskey,"BugRSA1",iVar5)" ( identifier , (string_literal ""BugRSA1"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0x9e,2 - iVar5);" (call_expression "conf_set_int(conf,0x9e,2 - iVar5)" identifier (argument_list "(conf,0x9e,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugIgnore2",0);" (assignment_expression "iVar5 = platform_default_i("BugIgnore2",0)" identifier = (call_expression "platform_default_i("BugIgnore2",0)" identifier (argument_list "("BugIgnore2",0)" ( (string_literal ""BugIgnore2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugIgnore2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugIgnore2",iVar5)" identifier (argument_list "(sesskey,"BugIgnore2",iVar5)" ( identifier , (string_literal ""BugIgnore2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa5,2 - iVar5);" (call_expression "conf_set_int(conf,0xa5,2 - iVar5)" identifier (argument_list "(conf,0xa5,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugHMAC2",0);" (assignment_expression "iVar5 = platform_default_i("BugHMAC2",0)" identifier = (call_expression "platform_default_i("BugHMAC2",0)" identifier (argument_list "("BugHMAC2",0)" ( (string_literal ""BugHMAC2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugHMAC2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugHMAC2",iVar5)" identifier (argument_list "(sesskey,"BugHMAC2",iVar5)" ( identifier , (string_literal ""BugHMAC2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0x9f,2 - iVar5);" (call_expression "conf_set_int(conf,0x9f,2 - iVar5)" identifier (argument_list "(conf,0x9f,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (if_statement "if (iVar5 == 0) {\n      iVar5 = platform_default_i("BuggyMAC",0);\n      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);\n      if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar5 = platform_default_i("BuggyMAC",0);\n      iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);\n      if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }\n    }" { (expression_statement "iVar5 = platform_default_i("BuggyMAC",0);" (assignment_expression "iVar5 = platform_default_i("BuggyMAC",0)" identifier = (call_expression "platform_default_i("BuggyMAC",0)" identifier (argument_list "("BuggyMAC",0)" ( (string_literal ""BuggyMAC"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BuggyMAC",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BuggyMAC",iVar5)" identifier (argument_list "(sesskey,"BuggyMAC",iVar5)" ( identifier , (string_literal ""BuggyMAC"" " string_content ") , identifier )))) ;) (if_statement "if (iVar5 == 1) {\n        conf_set_int(conf,0x9f,0);\n      }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        conf_set_int(conf,0x9f,0);\n      }" { (expression_statement "conf_set_int(conf,0x9f,0);" (call_expression "conf_set_int(conf,0x9f,0)" identifier (argument_list "(conf,0x9f,0)" ( identifier , number_literal , number_literal ))) ;) })) })) (expression_statement "iVar5 = platform_default_i("BugDeriveKey2",0);" (assignment_expression "iVar5 = platform_default_i("BugDeriveKey2",0)" identifier = (call_expression "platform_default_i("BugDeriveKey2",0)" identifier (argument_list "("BugDeriveKey2",0)" ( (string_literal ""BugDeriveKey2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugDeriveKey2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugDeriveKey2",iVar5)" identifier (argument_list "(sesskey,"BugDeriveKey2",iVar5)" ( identifier , (string_literal ""BugDeriveKey2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa0,2 - iVar5);" (call_expression "conf_set_int(conf,0xa0,2 - iVar5)" identifier (argument_list "(conf,0xa0,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugRSAPad2",0);" (assignment_expression "iVar5 = platform_default_i("BugRSAPad2",0)" identifier = (call_expression "platform_default_i("BugRSAPad2",0)" identifier (argument_list "("BugRSAPad2",0)" ( (string_literal ""BugRSAPad2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugRSAPad2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugRSAPad2",iVar5)" identifier (argument_list "(sesskey,"BugRSAPad2",iVar5)" ( identifier , (string_literal ""BugRSAPad2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa1,2 - iVar5);" (call_expression "conf_set_int(conf,0xa1,2 - iVar5)" identifier (argument_list "(conf,0xa1,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugPKSessID2",0);" (assignment_expression "iVar5 = platform_default_i("BugPKSessID2",0)" identifier = (call_expression "platform_default_i("BugPKSessID2",0)" identifier (argument_list "("BugPKSessID2",0)" ( (string_literal ""BugPKSessID2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugPKSessID2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugPKSessID2",iVar5)" identifier (argument_list "(sesskey,"BugPKSessID2",iVar5)" ( identifier , (string_literal ""BugPKSessID2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa2,2 - iVar5);" (call_expression "conf_set_int(conf,0xa2,2 - iVar5)" identifier (argument_list "(conf,0xa2,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugRekey2",0);" (assignment_expression "iVar5 = platform_default_i("BugRekey2",0)" identifier = (call_expression "platform_default_i("BugRekey2",0)" identifier (argument_list "("BugRekey2",0)" ( (string_literal ""BugRekey2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugRekey2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugRekey2",iVar5)" identifier (argument_list "(sesskey,"BugRekey2",iVar5)" ( identifier , (string_literal ""BugRekey2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa3,2 - iVar5);" (call_expression "conf_set_int(conf,0xa3,2 - iVar5)" identifier (argument_list "(conf,0xa3,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugMaxPkt2",0);" (assignment_expression "iVar5 = platform_default_i("BugMaxPkt2",0)" identifier = (call_expression "platform_default_i("BugMaxPkt2",0)" identifier (argument_list "("BugMaxPkt2",0)" ( (string_literal ""BugMaxPkt2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugMaxPkt2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugMaxPkt2",iVar5)" identifier (argument_list "(sesskey,"BugMaxPkt2",iVar5)" ( identifier , (string_literal ""BugMaxPkt2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa4,2 - iVar5);" (call_expression "conf_set_int(conf,0xa4,2 - iVar5)" identifier (argument_list "(conf,0xa4,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugOldGex2",0);" (assignment_expression "iVar5 = platform_default_i("BugOldGex2",0)" identifier = (call_expression "platform_default_i("BugOldGex2",0)" identifier (argument_list "("BugOldGex2",0)" ( (string_literal ""BugOldGex2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugOldGex2",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugOldGex2",iVar5)" identifier (argument_list "(sesskey,"BugOldGex2",iVar5)" ( identifier , (string_literal ""BugOldGex2"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa6,2 - iVar5);" (call_expression "conf_set_int(conf,0xa6,2 - iVar5)" identifier (argument_list "(conf,0xa6,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugWinadj",0);" (assignment_expression "iVar5 = platform_default_i("BugWinadj",0)" identifier = (call_expression "platform_default_i("BugWinadj",0)" identifier (argument_list "("BugWinadj",0)" ( (string_literal ""BugWinadj"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugWinadj",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugWinadj",iVar5)" identifier (argument_list "(sesskey,"BugWinadj",iVar5)" ( identifier , (string_literal ""BugWinadj"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa7,2 - iVar5);" (call_expression "conf_set_int(conf,0xa7,2 - iVar5)" identifier (argument_list "(conf,0xa7,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "iVar5 = platform_default_i("BugChanReq",0);" (assignment_expression "iVar5 = platform_default_i("BugChanReq",0)" identifier = (call_expression "platform_default_i("BugChanReq",0)" identifier (argument_list "("BugChanReq",0)" ( (string_literal ""BugChanReq"" " string_content ") , number_literal )))) ;) (expression_statement "iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5);" (assignment_expression "iVar5 = read_setting_i(sesskey,"BugChanReq",iVar5)" identifier = (call_expression "read_setting_i(sesskey,"BugChanReq",iVar5)" identifier (argument_list "(sesskey,"BugChanReq",iVar5)" ( identifier , (string_literal ""BugChanReq"" " string_content ") , identifier )))) ;) (expression_statement "conf_set_int(conf,0xa8,2 - iVar5);" (call_expression "conf_set_int(conf,0xa8,2 - iVar5)" identifier (argument_list "(conf,0xa8,2 - iVar5)" ( identifier , number_literal , (binary_expression "2 - iVar5" number_literal - identifier) ))) ;) (expression_statement "conf_set_int(conf,0xa9,0);" (call_expression "conf_set_int(conf,0xa9,0)" identifier (argument_list "(conf,0xa9,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "gppi(sesskey,"StampUtmp",1,conf,0xae);" (call_expression "gppi(sesskey,"StampUtmp",1,conf,0xae)" identifier (argument_list "(sesskey,"StampUtmp",1,conf,0xae)" ( identifier , (string_literal ""StampUtmp"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"LoginShell",1,conf,0xaf);" (call_expression "gppi(sesskey,"LoginShell",1,conf,0xaf)" identifier (argument_list "(sesskey,"LoginShell",1,conf,0xaf)" ( identifier , (string_literal ""LoginShell"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0);" (call_expression "gppi(sesskey,"ScrollbarOnLeft",0,conf,0xb0)" identifier (argument_list "(sesskey,"ScrollbarOnLeft",0,conf,0xb0)" ( identifier , (string_literal ""ScrollbarOnLeft"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ShadowBold",0,conf,0xb1);" (call_expression "gppi(sesskey,"ShadowBold",0,conf,0xb1)" identifier (argument_list "(sesskey,"ShadowBold",0,conf,0xb1)" ( identifier , (string_literal ""ShadowBold"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppfont(sesskey,"BoldFont",conf,0xb2);" (call_expression "gppfont(sesskey,"BoldFont",conf,0xb2)" identifier (argument_list "(sesskey,"BoldFont",conf,0xb2)" ( identifier , (string_literal ""BoldFont"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppfont(sesskey,"WideFont",conf,0xb3);" (call_expression "gppfont(sesskey,"WideFont",conf,0xb3)" identifier (argument_list "(sesskey,"WideFont",conf,0xb3)" ( identifier , (string_literal ""WideFont"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppfont(sesskey,"WideBoldFont",conf,0xb4);" (call_expression "gppfont(sesskey,"WideBoldFont",conf,0xb4)" identifier (argument_list "(sesskey,"WideBoldFont",conf,0xb4)" ( identifier , (string_literal ""WideBoldFont"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5);" (call_expression "gppi(sesskey,"ShadowBoldOffset",1,conf,0xb5)" identifier (argument_list "(sesskey,"ShadowBoldOffset",1,conf,0xb5)" ( identifier , (string_literal ""ShadowBoldOffset"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"SerialLine","",conf,0x39);" (call_expression "gpps(sesskey,"SerialLine","",conf,0x39)" identifier (argument_list "(sesskey,"SerialLine","",conf,0x39)" ( identifier , (string_literal ""SerialLine"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a);" (call_expression "gppi(sesskey,"SerialSpeed",0x2580,conf,0x3a)" identifier (argument_list "(sesskey,"SerialSpeed",0x2580,conf,0x3a)" ( identifier , (string_literal ""SerialSpeed"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SerialDataBits",8,conf,0x3b);" (call_expression "gppi(sesskey,"SerialDataBits",8,conf,0x3b)" identifier (argument_list "(sesskey,"SerialDataBits",8,conf,0x3b)" ( identifier , (string_literal ""SerialDataBits"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c);" (call_expression "gppi(sesskey,"SerialStopHalfbits",2,conf,0x3c)" identifier (argument_list "(sesskey,"SerialStopHalfbits",2,conf,0x3c)" ( identifier , (string_literal ""SerialStopHalfbits"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SerialParity",0,conf,0x3d);" (call_expression "gppi(sesskey,"SerialParity",0,conf,0x3d)" identifier (argument_list "(sesskey,"SerialParity",0,conf,0x3d)" ( identifier , (string_literal ""SerialParity"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"SerialFlowControl",1,conf,0x3e);" (call_expression "gppi(sesskey,"SerialFlowControl",1,conf,0x3e)" identifier (argument_list "(sesskey,"SerialFlowControl",1,conf,0x3e)" ( identifier , (string_literal ""SerialFlowControl"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gpps(sesskey,"WindowClass","",conf,0xb7);" (call_expression "gpps(sesskey,"WindowClass","",conf,0xb7)" identifier (argument_list "(sesskey,"WindowClass","",conf,0xb7)" ( identifier , (string_literal ""WindowClass"" " string_content ") , (string_literal """" " ") , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ConnectionSharing",0,conf,0xaa);" (call_expression "gppi(sesskey,"ConnectionSharing",0,conf,0xaa)" identifier (argument_list "(sesskey,"ConnectionSharing",0,conf,0xaa)" ( identifier , (string_literal ""ConnectionSharing"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab);" (call_expression "gppi(sesskey,"ConnectionSharingUpstream",1,conf,0xab)" identifier (argument_list "(sesskey,"ConnectionSharingUpstream",1,conf,0xab)" ( identifier , (string_literal ""ConnectionSharingUpstream"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac);" (call_expression "gppi(sesskey,"ConnectionSharingDownstream",1,conf,0xac)" identifier (argument_list "(sesskey,"ConnectionSharingDownstream",1,conf,0xac)" ( identifier , (string_literal ""ConnectionSharingDownstream"" " string_content ") , number_literal , identifier , number_literal ))) ;) (expression_statement "gppmap(sesskey,"SSHManualHostKeys",conf,0xad);" (call_expression "gppmap(sesskey,"SSHManualHostKeys",conf,0xad)" identifier (argument_list "(sesskey,"SSHManualHostKeys",conf,0xad)" ( identifier , (string_literal ""SSHManualHostKeys"" " string_content ") , identifier , number_literal ))) ;) (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;" return ;) })) (ERROR "pcVar3 = load_open_settings::" (assignment_expression "pcVar3 = load_open_settings" identifier = identifier) : :) (labeled_statement "lexical_block_13::defaults_1[iVar6 >> 5];" statement_identifier : (ERROR ":" :) (expression_statement "defaults_1[iVar6 >> 5];" (subscript_expression "defaults_1[iVar6 >> 5]" identifier [ (binary_expression "iVar6 >> 5" identifier >> number_literal) ]) ;)) (goto_statement "goto LAB_00027ba9;" goto statement_identifier ;) })))
(translation_unit "void FUN_00026ca0(undefined4 param_1,undefined4 param_2)\n\n{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}\n\n" (function_definition "void FUN_00026ca0(undefined4 param_1,undefined4 param_2)\n\n{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}" primitive_type (function_declarator "FUN_00026ca0(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}" { (declaration "char *__nptr;" primitive_type (pointer_declarator "*__nptr" * identifier) ;) (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "byte *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined1 local_34 [20];" type_identifier (array_declarator "local_34 [20]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x26ca9;" (assignment_expression "uStack_14 = 0x26ca9" 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 "FUN_00017aa0(param_2,0x2b,0);" (call_expression "FUN_00017aa0(param_2,0x2b,0)" identifier (argument_list "(param_2,0x2b,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_00017be0(param_2,0x14,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x14,&DAT_000712ce)" identifier (argument_list "(param_2,0x14,&DAT_000712ce)" ( identifier , number_literal , (pointer_expression "&DAT_000712ce" & identifier) ))) ;) (expression_statement "FUN_00017be0(param_2,0x15,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x15,&DAT_000712ce)" identifier (argument_list "(param_2,0x15,&DAT_000712ce)" ( identifier , number_literal , (pointer_expression "&DAT_000712ce" & identifier) ))) ;) (expression_statement "FUN_00017be0(param_2,0x2e,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x2e,&DAT_000712ce)" identifier (argument_list "(param_2,0x2e,&DAT_000712ce)" ( identifier , number_literal , (pointer_expression "&DAT_000712ce" & identifier) ))) ;) (expression_statement "FUN_00025320(param_2,0);" (call_expression "FUN_00025320(param_2,0)" identifier (argument_list "(param_2,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x77);" (call_expression "FUN_000251c0(0x77)" identifier (argument_list "(0x77)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x78);" (call_expression "FUN_00025220(param_2,0x78)" identifier (argument_list "(param_2,0x78)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x79);" (call_expression "FUN_00025220(param_2,0x79)" identifier (argument_list "(param_2,0x79)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7a);" (call_expression "FUN_00025220(param_2,0x7a)" identifier (argument_list "(param_2,0x7a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7b);" (call_expression "FUN_00025220(param_2,0x7b)" identifier (argument_list "(param_2,0x7b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7c);" (call_expression "FUN_00025220(param_2,0x7c)" identifier (argument_list "(param_2,0x7c)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00017aa0(param_2,2,DAT_000a9958);" (call_expression "FUN_00017aa0(param_2,2,DAT_000a9958)" identifier (argument_list "(param_2,2,DAT_000a9958)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00017aa0(param_2,1,DAT_000a9968);" (call_expression "FUN_00017aa0(param_2,1,DAT_000a9968)" identifier (argument_list "(param_2,1,DAT_000a9968)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar3 = FUN_000254f0(uVar2);" (assignment_expression "iVar3 = FUN_000254f0(uVar2)" identifier = (call_expression "FUN_000254f0(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }" { (expression_statement "FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));" (call_expression "FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48))" identifier (argument_list "(param_2,2,*(undefined4 *)(iVar3 + 0x48))" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(iVar3 + 0x48)" * (cast_expression "(undefined4 *)(iVar3 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x48)" ( (binary_expression "iVar3 + 0x48" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00025220(param_2,1);" (call_expression "FUN_00025220(param_2,1)" identifier (argument_list "(param_2,1)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "FUN_00025220(param_2,3);" (call_expression "FUN_00025220(param_2,3)" identifier (argument_list "(param_2,3)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("CloseOnExit",1);" (assignment_expression "uVar2 = FUN_0006a090("CloseOnExit",1)" identifier = (call_expression "FUN_0006a090("CloseOnExit",1)" identifier (argument_list "("CloseOnExit",1)" ( (string_literal ""CloseOnExit"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"CloseOnExit",uVar2)" identifier (argument_list "(param_1,"CloseOnExit",uVar2)" ( identifier , (string_literal ""CloseOnExit"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);" (call_expression "FUN_00017aa0(param_2,4,(iVar3 + 1) % 3)" identifier (argument_list "(param_2,4,(iVar3 + 1) % 3)" ( identifier , number_literal , (binary_expression "(iVar3 + 1) % 3" (parenthesized_expression "(iVar3 + 1)" ( (binary_expression "iVar3 + 1" identifier + number_literal) )) % number_literal) ))) ;) (expression_statement "FUN_00025220(param_2,5);" (call_expression "FUN_00025220(param_2,5)" identifier (argument_list "(param_2,5)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("PingInterval",0);" (assignment_expression "uVar2 = FUN_0006a090("PingInterval",0)" identifier = (call_expression "FUN_0006a090("PingInterval",0)" identifier (argument_list "("PingInterval",0)" ( (string_literal ""PingInterval"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"PingInterval",uVar2)" identifier (argument_list "(param_1,"PingInterval",uVar2)" ( identifier , (string_literal ""PingInterval"" " string_content ") , identifier )))) ;) (expression_statement "uVar2 = FUN_0006a090("PingIntervalSecs",0);" (assignment_expression "uVar2 = FUN_0006a090("PingIntervalSecs",0)" identifier = (call_expression "FUN_0006a090("PingIntervalSecs",0)" identifier (argument_list "("PingIntervalSecs",0)" ( (string_literal ""PingIntervalSecs"" " string_content ") , number_literal )))) ;) (expression_statement "iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);" (assignment_expression "iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2)" identifier (argument_list "(param_1,"PingIntervalSecs",uVar2)" ( identifier , (string_literal ""PingIntervalSecs"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);" (call_expression "FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4)" identifier (argument_list "(param_2,6,iVar3 * 0x3c + iVar4)" ( identifier , number_literal , (binary_expression "iVar3 * 0x3c + iVar4" (binary_expression "iVar3 * 0x3c" identifier * number_literal) + identifier) ))) ;) (expression_statement "FUN_00025220(param_2,7);" (call_expression "FUN_00025220(param_2,7)" identifier (argument_list "(param_2,7)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,8);" (call_expression "FUN_00025220(param_2,8)" identifier (argument_list "(param_2,8)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x30);" (call_expression "FUN_00025320(param_2,0x30)" identifier (argument_list "(param_2,0x30)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x31);" (call_expression "FUN_00025320(param_2,0x31)" identifier (argument_list "(param_2,0x31)" ( identifier , number_literal ))) ;) (expression_statement "iVar3 = FUN_00025360(0x32);" (assignment_expression "iVar3 = FUN_00025360(0x32)" identifier = (call_expression "FUN_00025360(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }" { (expression_statement "local_68 = &PTR_s_ERASE_000a79c8;" (assignment_expression "local_68 = &PTR_s_ERASE_000a79c8" identifier = (pointer_expression "&PTR_s_ERASE_000a79c8" & identifier)) ;) (expression_statement "pbVar8 = &DAT_000732e4;" (assignment_expression "pbVar8 = &DAT_000732e4" identifier = (pointer_expression "&DAT_000732e4" & identifier)) ;) (expression_statement "local_64 = &DAT_000732df;" (assignment_expression "local_64 = &DAT_000732df" identifier = (pointer_expression "&DAT_000732df" & identifier)) ;) (do_statement "do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );" do (compound_statement "{\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    }" { (expression_statement "iVar3 = FUN_00017600(param_2,0x32,pbVar8);" (assignment_expression "iVar3 = FUN_00017600(param_2,0x32,pbVar8)" identifier = (call_expression "FUN_00017600(param_2,0x32,pbVar8)" identifier (argument_list "(param_2,0x32,pbVar8)" ( identifier , number_literal , identifier )))) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar16 = iVar3 == 0;" (assignment_expression "bVar16 = iVar3 == 0" identifier = (binary_expression "iVar3 == 0" identifier == number_literal)) ;) (if_statement "if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }" { (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar8;" (assignment_expression "pbVar10 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar13 = (byte *)"IUTF8";" (assignment_expression "pbVar13 = (byte *)"IUTF8"" identifier = (cast_expression "(byte *)"IUTF8"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""IUTF8"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar10 < *pbVar13;" (assignment_expression "bVar14 = *pbVar10 < *pbVar13" identifier = (binary_expression "*pbVar10 < *pbVar13" (pointer_expression "*pbVar10" * identifier) < (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "bVar16 = *pbVar10 == *pbVar13;" (assignment_expression "bVar16 = *pbVar10 == *pbVar13" identifier = (binary_expression "*pbVar10 == *pbVar13" (pointer_expression "*pbVar10" * identifier) == (pointer_expression "*pbVar13" * identifier))) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar13 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar16)" ( identifier )) ;) (expression_statement "puVar7 = &DAT_00070146;" (assignment_expression "puVar7 = &DAT_00070146" identifier = (pointer_expression "&DAT_00070146" & identifier)) ;) (if_statement "if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }" if (parenthesized_expression "((!bVar14 && !bVar16) != bVar14)" ( (binary_expression "(!bVar14 && !bVar16) != bVar14" (parenthesized_expression "(!bVar14 && !bVar16)" ( (binary_expression "!bVar14 && !bVar16" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar16" ! identifier)) )) != identifier) )) (compound_statement "{\n          puVar7 = &DAT_00070158;\n        }" { (expression_statement "puVar7 = &DAT_00070158;" (assignment_expression "puVar7 = &DAT_00070158" identifier = (pointer_expression "&DAT_00070158" & identifier)) ;) })) (expression_statement "FUN_00017c90(param_2,0x32,pbVar8,puVar7);" (call_expression "FUN_00017c90(param_2,0x32,pbVar8,puVar7)" identifier (argument_list "(param_2,0x32,pbVar8,puVar7)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (local_64 == (byte *)0x0) goto LAB_00026f8c;" if (parenthesized_expression "(local_64 == (byte *)0x0)" ( (binary_expression "local_64 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026f8c;" goto statement_identifier ;)) (expression_statement "pbVar10 = *local_68;" (assignment_expression "pbVar10 = *local_68" identifier = (pointer_expression "*local_68" * identifier)) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = local_64;" (assignment_expression "pbVar8 = local_64" identifier = identifier) ;) (expression_statement "local_64 = pbVar10;" (assignment_expression "local_64 = pbVar10" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar7 = &DAT_000732e4;" (assignment_expression "puVar7 = &DAT_000732e4" identifier = (pointer_expression "&DAT_000732e4" & identifier)) ;) (expression_statement "puVar9 = &DAT_000732df;" (assignment_expression "puVar9 = &DAT_000732df" identifier = (pointer_expression "&DAT_000732df" & identifier)) ;) (expression_statement "ppuVar11 = &PTR_s_ERASE_000a79c8;" (assignment_expression "ppuVar11 = &PTR_s_ERASE_000a79c8" identifier = (pointer_expression "&PTR_s_ERASE_000a79c8" & identifier)) ;) (while_statement "while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }" while (parenthesized_expression "(FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0)" ( (comma_expression "FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0" (call_expression "FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146)" identifier (argument_list "(param_2,0x32,puVar7,&DAT_00070146)" ( identifier , number_literal , identifier , (pointer_expression "&DAT_00070146" & identifier) ))) , (binary_expression "puVar9 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }" { (expression_statement "puVar7 = puVar9;" (assignment_expression "puVar7 = puVar9" identifier = identifier) ;) (expression_statement "puVar9 = *ppuVar11;" (assignment_expression "puVar9 = *ppuVar11" identifier = (pointer_expression "*ppuVar11" * identifier)) ;) (expression_statement "ppuVar11 = ppuVar11 + 1;" (assignment_expression "ppuVar11 = ppuVar11 + 1" identifier = (binary_expression "ppuVar11 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00026f8c:\n  FUN_00025320(param_2,10);" statement_identifier : (expression_statement "FUN_00025320(param_2,10);" (call_expression "FUN_00025320(param_2,10)" identifier (argument_list "(param_2,10)" ( identifier , number_literal ))) ;)) (expression_statement "uVar2 = FUN_0006a090("ProxyDNS",1);" (assignment_expression "uVar2 = FUN_0006a090("ProxyDNS",1)" identifier = (call_expression "FUN_0006a090("ProxyDNS",1)" identifier (argument_list "("ProxyDNS",1)" ( (string_literal ""ProxyDNS"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"ProxyDNS",uVar2)" identifier (argument_list "(param_1,"ProxyDNS",uVar2)" ( identifier , (string_literal ""ProxyDNS"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);" (call_expression "FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3)" identifier (argument_list "(param_2,0xb,(iVar3 + 1) % 3)" ( identifier , number_literal , (binary_expression "(iVar3 + 1) % 3" (parenthesized_expression "(iVar3 + 1)" ( (binary_expression "iVar3 + 1" identifier + number_literal) )) % number_literal) ))) ;) (expression_statement "FUN_00025220(param_2,0xc);" (call_expression "FUN_00025220(param_2,0xc)" identifier (argument_list "(param_2,0xc)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xd);" (call_expression "FUN_00025220(param_2,0xd)" identifier (argument_list "(param_2,0xd)" ( identifier , number_literal ))) ;) (expression_statement "iVar3 = FUN_00017380(param_2,0xd);" (assignment_expression "iVar3 = FUN_00017380(param_2,0xd)" identifier = (call_expression "FUN_00017380(param_2,0xd)" identifier (argument_list "(param_2,0xd)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }" { (expression_statement "uVar2 = FUN_0006a090("ProxyType",0);" (assignment_expression "uVar2 = FUN_0006a090("ProxyType",0)" identifier = (call_expression "FUN_0006a090("ProxyType",0)" identifier (argument_list "("ProxyType",0)" ( (string_literal ""ProxyType"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"ProxyType",uVar2)" identifier (argument_list "(param_1,"ProxyType",uVar2)" ( identifier , (string_literal ""ProxyType"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,0);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,0);" (call_expression "FUN_00017aa0(param_2,0xd,0)" identifier (argument_list "(param_2,0xd,0)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (if_statement "if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,3);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,3);" (call_expression "FUN_00017aa0(param_2,0xd,3)" identifier (argument_list "(param_2,0xd,3)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (if_statement "if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 3)" ( (binary_expression "iVar3 == 3" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,4);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,4);" (call_expression "FUN_00017aa0(param_2,0xd,4)" identifier (argument_list "(param_2,0xd,4)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (if_statement "if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" if (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,5);\n    }" { (expression_statement "FUN_00017aa0(param_2,0xd,5);" (call_expression "FUN_00017aa0(param_2,0xd,5)" identifier (argument_list "(param_2,0xd,5)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" else (compound_statement "{\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" { (expression_statement "uVar2 = FUN_0006a090("ProxySOCKSVersion",5);" (assignment_expression "uVar2 = FUN_0006a090("ProxySOCKSVersion",5)" identifier = (call_expression "FUN_0006a090("ProxySOCKSVersion",5)" identifier (argument_list "("ProxySOCKSVersion",5)" ( (string_literal ""ProxySOCKSVersion"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2)" identifier (argument_list "(param_1,"ProxySOCKSVersion",uVar2)" ( identifier , (string_literal ""ProxySOCKSVersion"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }" if (parenthesized_expression "(iVar3 == 5)" ( (binary_expression "iVar3 == 5" identifier == number_literal) )) (compound_statement "{\n        FUN_00017aa0(param_2,0xd,2);\n      }" { (expression_statement "FUN_00017aa0(param_2,0xd,2);" (call_expression "FUN_00017aa0(param_2,0xd,2)" identifier (argument_list "(param_2,0xd,2)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n        FUN_00017aa0(param_2,0xd,1);\n      }" else (compound_statement "{\n        FUN_00017aa0(param_2,0xd,1);\n      }" { (expression_statement "FUN_00017aa0(param_2,0xd,1);" (call_expression "FUN_00017aa0(param_2,0xd,1)" identifier (argument_list "(param_2,0xd,1)" ( identifier , number_literal , number_literal ))) ;) }))) }))))))))) })) (expression_statement "FUN_00025320(param_2,0xe);" (call_expression "FUN_00025320(param_2,0xe)" identifier (argument_list "(param_2,0xe)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xf);" (call_expression "FUN_00025220(param_2,0xf)" identifier (argument_list "(param_2,0xf)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x10);" (call_expression "FUN_00025320(param_2,0x10)" identifier (argument_list "(param_2,0x10)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x11);" (call_expression "FUN_00025320(param_2,0x11)" identifier (argument_list "(param_2,0x11)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x12);" (call_expression "FUN_00025320(param_2,0x12)" identifier (argument_list "(param_2,0x12)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x13);" (call_expression "FUN_00025220(param_2,0x13)" identifier (argument_list "(param_2,0x13)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025360(0x33);" (call_expression "FUN_00025360(0x33)" identifier (argument_list "(0x33)" ( number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x34);" (call_expression "FUN_00025320(param_2,0x34)" identifier (argument_list "(param_2,0x34)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x35);" (call_expression "FUN_00025220(param_2,0x35)" identifier (argument_list "(param_2,0x35)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x36);" (call_expression "FUN_00025320(param_2,0x36)" identifier (argument_list "(param_2,0x36)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x16);" (call_expression "FUN_00025220(param_2,0x16)" identifier (argument_list "(param_2,0x16)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x17);" (call_expression "FUN_00025220(param_2,0x17)" identifier (argument_list "(param_2,0x17)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x1c);" (call_expression "FUN_00025220(param_2,0x1c)" identifier (argument_list "(param_2,0x1c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x1d);" (call_expression "FUN_00025220(param_2,0x1d)" identifier (argument_list "(param_2,0x1d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x1e);" (call_expression "FUN_00025220(param_2,0x1e)" identifier (argument_list "(param_2,0x1e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x28);" (call_expression "FUN_00025220(param_2,0x28)" identifier (argument_list "(param_2,0x28)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00024ee0(param_2,0x1f);" (call_expression "FUN_00024ee0(param_2,0x1f)" identifier (argument_list "(param_2,0x1f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugDHGEx2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugDHGEx2",0)" identifier = (call_expression "FUN_0006a090("BugDHGEx2",0)" identifier (argument_list "("BugDHGEx2",0)" ( (string_literal ""BugDHGEx2"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);" (call_expression "FUN_0006c3d0(param_1,"BugDHGEx2",uVar2)" identifier (argument_list "(param_1,"BugDHGEx2",uVar2)" ( identifier , (string_literal ""BugDHGEx2"" " string_content ") , identifier ))) ;) (expression_statement "local_70 = (byte *)FUN_000252c0();" (assignment_expression "local_70 = (byte *)FUN_000252c0()" identifier = (cast_expression "(byte *)FUN_000252c0()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000252c0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar16 = local_70 == (byte *)0x0;" (assignment_expression "bVar16 = local_70 == (byte *)0x0" identifier = (binary_expression "local_70 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar16) {\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" { (expression_statement "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");" (call_expression "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings")" identifier (argument_list "("raw != NULL","settings.c",0x366,"load_open_settings")" ( (string_literal ""raw != NULL"" " string_content ") , (string_literal ""settings.c"" " string_content ") , number_literal , (string_literal ""load_open_settings"" " string_content ") ))) ;) })) (expression_statement "iVar3 = 0x34;" (assignment_expression "iVar3 = 0x34" identifier = number_literal) ;) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";" (assignment_expression "pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" identifier = (cast_expression "(byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" " string_content "))) ;) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);" do (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar8 < *pbVar10;" (assignment_expression "bVar14 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar16 = *pbVar8 == *pbVar10;" (assignment_expression "bVar16 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar16)" ( identifier )) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar14 && !bVar16) == bVar14;" (assignment_expression "bVar14 = (!bVar14 && !bVar16) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar16) == bVar14" (parenthesized_expression "(!bVar14 && !bVar16)" ( (binary_expression "!bVar14 && !bVar16" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar16" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }" { (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");" (assignment_expression "local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" identifier = (cast_expression "(byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" identifier (argument_list "("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" ( (string_literal ""ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1"" " string_content ") ))))) ;) }) (else_clause "else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" else (compound_statement "{\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" { (expression_statement "iVar3 = 0x34;" (assignment_expression "iVar3 = 0x34" identifier = number_literal) ;) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";" (assignment_expression "pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" identifier = (cast_expression "(byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" " string_content "))) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar15 = *pbVar8 < *pbVar10;" (assignment_expression "bVar15 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar14 = *pbVar8 == *pbVar10;" (assignment_expression "bVar14 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (if_statement "if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" if (parenthesized_expression "((!bVar15 && !bVar14) == bVar15)" ( (binary_expression "(!bVar15 && !bVar14) == bVar15" (parenthesized_expression "(!bVar15 && !bVar14)" ( (binary_expression "!bVar15 && !bVar14" (unary_expression "!bVar15" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier) )) (compound_statement "{\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" { (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");" (assignment_expression "local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" identifier = (cast_expression "(byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" identifier (argument_list "("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" ( (string_literal ""ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1"" " string_content ") ))))) ;) })) }))) (expression_statement "FUN_00024ee0(param_2,0x18);" (call_expression "FUN_00024ee0(param_2,0x18)" identifier (argument_list "(param_2,0x18)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" identifier (argument_list "(local_70)" ( identifier ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00024ee0(param_2,0x19);" (call_expression "FUN_00024ee0(param_2,0x19)" identifier (argument_list "(param_2,0x19)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "FUN_00025220(param_2,0x1a);" (call_expression "FUN_00025220(param_2,0x1a)" identifier (argument_list "(param_2,0x1a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x1b);" (call_expression "FUN_00025320(param_2,0x1b)" identifier (argument_list "(param_2,0x1b)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("SshProt",3);" (assignment_expression "uVar2 = FUN_0006a090("SshProt",3)" identifier = (call_expression "FUN_0006a090("SshProt",3)" identifier (argument_list "("SshProt",3)" ( (string_literal ""SshProt"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"SshProt",uVar2)" identifier (argument_list "(param_1,"SshProt",uVar2)" ( identifier , (string_literal ""SshProt"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n    iVar3 = 0;\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else if (iVar3 == 2) {\n    iVar3 = 3;\n  }" else (if_statement "if (iVar3 == 2) {\n    iVar3 = 3;\n  }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n    iVar3 = 3;\n  }" { (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) })))) (expression_statement "FUN_00017aa0(param_2,0x21,iVar3);" (call_expression "FUN_00017aa0(param_2,0x21,iVar3)" identifier (argument_list "(param_2,0x21,iVar3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00025320(param_2,9);" (call_expression "FUN_00025320(param_2,9)" identifier (argument_list "(param_2,9)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x22);" (call_expression "FUN_00025220(param_2,0x22)" identifier (argument_list "(param_2,0x22)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x23);" (call_expression "FUN_00025220(param_2,0x23)" identifier (argument_list "(param_2,0x23)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x24);" (call_expression "FUN_00025220(param_2,0x24)" identifier (argument_list "(param_2,0x24)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x25);" (call_expression "FUN_00025220(param_2,0x25)" identifier (argument_list "(param_2,0x25)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x26);" (call_expression "FUN_00025220(param_2,0x26)" identifier (argument_list "(param_2,0x26)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x27);" (call_expression "FUN_00025220(param_2,0x27)" identifier (argument_list "(param_2,0x27)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00024ee0(param_2,0x29);" (call_expression "FUN_00024ee0(param_2,0x29)" identifier (argument_list "(param_2,0x29)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "FUN_000251c0(0x2a);" (call_expression "FUN_000251c0(0x2a)" identifier (argument_list "(0x2a)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x2d);" (call_expression "FUN_00025220(param_2,0x2d)" identifier (argument_list "(param_2,0x2d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x20);" (call_expression "FUN_000251c0(0x20)" identifier (argument_list "(0x20)" ( number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x14);" (call_expression "FUN_00025320(param_2,0x14)" identifier (argument_list "(param_2,0x14)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x37);" (call_expression "FUN_00025220(param_2,0x37)" identifier (argument_list "(param_2,0x37)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x38);" (call_expression "FUN_00025220(param_2,0x38)" identifier (argument_list "(param_2,0x38)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3f);" (call_expression "FUN_00025220(param_2,0x3f)" identifier (argument_list "(param_2,0x3f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x40);" (call_expression "FUN_00025220(param_2,0x40)" identifier (argument_list "(param_2,0x40)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x41);" (call_expression "FUN_00025220(param_2,0x41)" identifier (argument_list "(param_2,0x41)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x43);" (call_expression "FUN_00025220(param_2,0x43)" identifier (argument_list "(param_2,0x43)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x42);" (call_expression "FUN_00025220(param_2,0x42)" identifier (argument_list "(param_2,0x42)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x44);" (call_expression "FUN_00025220(param_2,0x44)" identifier (argument_list "(param_2,0x44)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x45);" (call_expression "FUN_00025220(param_2,0x45)" identifier (argument_list "(param_2,0x45)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x46);" (call_expression "FUN_00025220(param_2,0x46)" identifier (argument_list "(param_2,0x46)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x47);" (call_expression "FUN_00025220(param_2,0x47)" identifier (argument_list "(param_2,0x47)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x48);" (call_expression "FUN_00025220(param_2,0x48)" identifier (argument_list "(param_2,0x48)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("NoRemoteQTitle",1);" (assignment_expression "uVar2 = FUN_0006a090("NoRemoteQTitle",1)" identifier = (call_expression "FUN_0006a090("NoRemoteQTitle",1)" identifier (argument_list "("NoRemoteQTitle",1)" ( (string_literal ""NoRemoteQTitle"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);" (call_expression "FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2)" identifier (argument_list "(param_1,"NoRemoteQTitle",uVar2)" ( identifier , (string_literal ""NoRemoteQTitle"" " string_content ") , identifier ))) ;) (expression_statement "FUN_00025220(param_2,0x4b);" (call_expression "FUN_00025220(param_2,0x4b)" identifier (argument_list "(param_2,0x4b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x49);" (call_expression "FUN_00025220(param_2,0x49)" identifier (argument_list "(param_2,0x49)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4a);" (call_expression "FUN_00025220(param_2,0x4a)" identifier (argument_list "(param_2,0x4a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4c);" (call_expression "FUN_00025220(param_2,0x4c)" identifier (argument_list "(param_2,0x4c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4d);" (call_expression "FUN_00025220(param_2,0x4d)" identifier (argument_list "(param_2,0x4d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4e);" (call_expression "FUN_00025220(param_2,0x4e)" identifier (argument_list "(param_2,0x4e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x51);" (call_expression "FUN_00025220(param_2,0x51)" identifier (argument_list "(param_2,0x51)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x52);" (call_expression "FUN_00025220(param_2,0x52)" identifier (argument_list "(param_2,0x52)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x53);" (call_expression "FUN_00025220(param_2,0x53)" identifier (argument_list "(param_2,0x53)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x5b);" (call_expression "FUN_00025220(param_2,0x5b)" identifier (argument_list "(param_2,0x5b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x5c);" (call_expression "FUN_00025220(param_2,0x5c)" identifier (argument_list "(param_2,0x5c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x4f);" (call_expression "FUN_00025220(param_2,0x4f)" identifier (argument_list "(param_2,0x4f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x50);" (call_expression "FUN_00025220(param_2,0x50)" identifier (argument_list "(param_2,0x50)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x54);" (call_expression "FUN_00025220(param_2,0x54)" identifier (argument_list "(param_2,0x54)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x55);" (call_expression "FUN_00025220(param_2,0x55)" identifier (argument_list "(param_2,0x55)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x80);" (call_expression "FUN_00025320(param_2,0x80)" identifier (argument_list "(param_2,0x80)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x56);" (call_expression "FUN_00025220(param_2,0x56)" identifier (argument_list "(param_2,0x56)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x57);" (call_expression "FUN_00025220(param_2,0x57)" identifier (argument_list "(param_2,0x57)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7d);" (call_expression "FUN_00025220(param_2,0x7d)" identifier (argument_list "(param_2,0x7d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7e);" (call_expression "FUN_00025220(param_2,0x7e)" identifier (argument_list "(param_2,0x7e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x7f);" (call_expression "FUN_00025220(param_2,0x7f)" identifier (argument_list "(param_2,0x7f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,100);" (call_expression "FUN_00025220(param_2,100)" identifier (argument_list "(param_2,100)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x65);" (call_expression "FUN_00025220(param_2,0x65)" identifier (argument_list "(param_2,0x65)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x66);" (call_expression "FUN_00025220(param_2,0x66)" identifier (argument_list "(param_2,0x66)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x67);" (call_expression "FUN_00025220(param_2,0x67)" identifier (argument_list "(param_2,0x67)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x6c);" (call_expression "FUN_000251c0(0x6c)" identifier (argument_list "(0x6c)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x68);" (call_expression "FUN_00025220(param_2,0x68)" identifier (argument_list "(param_2,0x68)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x69);" (call_expression "FUN_00025220(param_2,0x69)" identifier (argument_list "(param_2,0x69)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("BellOverloadT",2000000);" (assignment_expression "uVar2 = FUN_0006a090("BellOverloadT",2000000)" identifier = (call_expression "FUN_0006a090("BellOverloadT",2000000)" identifier (argument_list "("BellOverloadT",2000000)" ( (string_literal ""BellOverloadT"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BellOverloadT",uVar2)" identifier (argument_list "(param_1,"BellOverloadT",uVar2)" ( identifier , (string_literal ""BellOverloadT"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x6a,iVar3 / 1000);" (call_expression "FUN_00017aa0(param_2,0x6a,iVar3 / 1000)" identifier (argument_list "(param_2,0x6a,iVar3 / 1000)" ( identifier , number_literal , (binary_expression "iVar3 / 1000" identifier / number_literal) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BellOverloadS",5000000);" (assignment_expression "uVar2 = FUN_0006a090("BellOverloadS",5000000)" identifier = (call_expression "FUN_0006a090("BellOverloadS",5000000)" identifier (argument_list "("BellOverloadS",5000000)" ( (string_literal ""BellOverloadS"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BellOverloadS",uVar2)" identifier (argument_list "(param_1,"BellOverloadS",uVar2)" ( identifier , (string_literal ""BellOverloadS"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x6b,iVar3 / 1000);" (call_expression "FUN_00017aa0(param_2,0x6b,iVar3 / 1000)" identifier (argument_list "(param_2,0x6b,iVar3 / 1000)" ( identifier , number_literal , (binary_expression "iVar3 / 1000" identifier / number_literal) ))) ;) (expression_statement "FUN_00025220(param_2,0x60);" (call_expression "FUN_00025220(param_2,0x60)" identifier (argument_list "(param_2,0x60)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x61);" (call_expression "FUN_00025220(param_2,0x61)" identifier (argument_list "(param_2,0x61)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x62);" (call_expression "FUN_00025220(param_2,0x62)" identifier (argument_list "(param_2,0x62)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,99);" (call_expression "FUN_00025220(param_2,99)" identifier (argument_list "(param_2,99)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb6);" (call_expression "FUN_00025220(param_2,0xb6)" identifier (argument_list "(param_2,0xb6)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x82);" (call_expression "FUN_00025220(param_2,0x82)" identifier (argument_list "(param_2,0x82)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x83);" (call_expression "FUN_00025220(param_2,0x83)" identifier (argument_list "(param_2,0x83)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x72);" (call_expression "FUN_00025220(param_2,0x72)" identifier (argument_list "(param_2,0x72)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x5f);" (call_expression "FUN_00025320(param_2,0x5f)" identifier (argument_list "(param_2,0x5f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x73);" (call_expression "FUN_00025220(param_2,0x73)" identifier (argument_list "(param_2,0x73)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x74);" (call_expression "FUN_00025220(param_2,0x74)" identifier (argument_list "(param_2,0x74)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025260(0x75);" (call_expression "FUN_00025260(0x75)" identifier (argument_list "(0x75)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x76);" (call_expression "FUN_00025220(param_2,0x76)" identifier (argument_list "(param_2,0x76)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x90);" (call_expression "FUN_00025220(param_2,0x90)" identifier (argument_list "(param_2,0x90)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x86);" (call_expression "FUN_00025220(param_2,0x86)" identifier (argument_list "(param_2,0x86)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x87);" (call_expression "FUN_00025220(param_2,0x87)" identifier (argument_list "(param_2,0x87)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x84);" (call_expression "FUN_00025220(param_2,0x84)" identifier (argument_list "(param_2,0x84)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x85);" (call_expression "FUN_00025220(param_2,0x85)" identifier (argument_list "(param_2,0x85)" ( identifier , number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("BoldAsColour",1);" (assignment_expression "uVar2 = FUN_0006a090("BoldAsColour",1)" identifier = (call_expression "FUN_0006a090("BoldAsColour",1)" identifier (argument_list "("BoldAsColour",1)" ( (string_literal ""BoldAsColour"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BoldAsColour",uVar2)" identifier (argument_list "(param_1,"BoldAsColour",uVar2)" ( identifier , (string_literal ""BoldAsColour"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x88,iVar3 + 1);" (call_expression "FUN_00017aa0(param_2,0x88,iVar3 + 1)" identifier (argument_list "(param_2,0x88,iVar3 + 1)" ( identifier , number_literal , (binary_expression "iVar3 + 1" identifier + number_literal) ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);" do (compound_statement "{\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  }" { (expression_statement "__sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);" (call_expression "__sprintf_chk(local_34,1,0x14,"Colour%d",iVar3)" identifier (argument_list "(local_34,1,0x14,"Colour%d",iVar3)" ( identifier , number_literal , number_literal , (string_literal ""Colour%d"" " string_content ") , identifier ))) ;) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" identifier = (call_expression "FUN_000252c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);" (assignment_expression "iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" identifier = (call_expression "__isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" identifier (argument_list "(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" ( identifier , (pointer_expression "&DAT_00072fed" & identifier) , (pointer_expression "&local_40" & identifier) , (pointer_expression "&local_3c" & identifier) , (pointer_expression "&local_38" & identifier) )))) ;) (if_statement "if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }" if (parenthesized_expression "(iVar4 == 3)" ( (binary_expression "iVar4 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }" { (expression_statement "iVar4 = iVar3 * 3;" (assignment_expression "iVar4 = iVar3 * 3" identifier = (binary_expression "iVar3 * 3" identifier * number_literal)) ;) (expression_statement "FUN_00017b40(param_2,0x89,iVar4,local_40);" (call_expression "FUN_00017b40(param_2,0x89,iVar4,local_40)" identifier (argument_list "(param_2,0x89,iVar4,local_40)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);" (call_expression "FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c)" identifier (argument_list "(param_2,0x89,iVar4 + 1,local_3c)" ( identifier , number_literal , (binary_expression "iVar4 + 1" identifier + number_literal) , identifier ))) ;) (expression_statement "FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);" (call_expression "FUN_00017b40(param_2,0x89,iVar4 + 2,local_38)" identifier (argument_list "(param_2,0x89,iVar4 + 2,local_38)" ( identifier , number_literal , (binary_expression "iVar4 + 2" identifier + number_literal) , identifier ))) ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) }) while (parenthesized_expression "(iVar3 != 0x16)" ( (binary_expression "iVar3 != 0x16" identifier != number_literal) )) ;) (expression_statement "FUN_00025220(param_2,0x8c);" (call_expression "FUN_00025220(param_2,0x8c)" identifier (argument_list "(param_2,0x8c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8d);" (call_expression "FUN_00025220(param_2,0x8d)" identifier (argument_list "(param_2,0x8d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8a);" (call_expression "FUN_00025220(param_2,0x8a)" identifier (argument_list "(param_2,0x8a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8b);" (call_expression "FUN_00025220(param_2,0x8b)" identifier (argument_list "(param_2,0x8b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x8e);" (call_expression "FUN_00025220(param_2,0x8e)" identifier (argument_list "(param_2,0x8e)" ( identifier , number_literal ))) ;) (expression_statement "local_70 = (byte *)0x20;" (assignment_expression "local_70 = (byte *)0x20" identifier = (cast_expression "(byte *)0x20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);" statement_identifier : (expression_statement "__sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);" (call_expression "__sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20)" identifier (argument_list "(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20)" ( identifier , number_literal , number_literal , (string_literal ""Wordness%d"" " string_content ") , (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;)) (expression_statement "pcVar5 = (char *)FUN_000252c0();" (assignment_expression "pcVar5 = (char *)FUN_000252c0()" identifier = (cast_expression "(char *)FUN_000252c0()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000252c0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "cVar1 = *pcVar5;" (assignment_expression "cVar1 = *pcVar5" identifier = (pointer_expression "*pcVar5" * identifier)) ;) (expression_statement "iVar3 = (int)local_70 + -0x20;" (assignment_expression "iVar3 = (int)local_70 + -0x20" identifier = (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "__nptr = pcVar5;" (assignment_expression "__nptr = pcVar5" identifier = identifier) ;) (do_statement "do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );" do (compound_statement "{\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  }" { (expression_statement "pcVar12 = __nptr;" (assignment_expression "pcVar12 = __nptr" identifier = identifier) ;) (if_statement "if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }" if (parenthesized_expression "((cVar1 != ',') && (cVar1 != '\0'))" ( (binary_expression "(cVar1 != ',') && (cVar1 != '\0')" (parenthesized_expression "(cVar1 != ',')" ( (binary_expression "cVar1 != ','" identifier != (char_literal "','" ' character ')) )) && (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }" { (do_statement "do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');" do (compound_statement "{\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      }" { (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = *pcVar12;" (assignment_expression "cVar1 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (if_statement "if (cVar1 == '\0') break;" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(cVar1 != ',')" ( (binary_expression "cVar1 != ','" identifier != (char_literal "','" ' character ')) )) ;) })) (if_statement "if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }" if (parenthesized_expression "(cVar1 == ',')" ( (binary_expression "cVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }" { (expression_statement "*pcVar12 = '\0';" (assignment_expression "*pcVar12 = '\0'" (pointer_expression "*pcVar12" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) })) (expression_statement "lVar6 = strtol(__nptr,(char **)0x0,10);" (assignment_expression "lVar6 = strtol(__nptr,(char **)0x0,10)" identifier = (call_expression "strtol(__nptr,(char **)0x0,10)" identifier (argument_list "(__nptr,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "FUN_00017b40(param_2,0x8f,iVar3,lVar6);" (call_expression "FUN_00017b40(param_2,0x8f,iVar3,lVar6)" identifier (argument_list "(param_2,0x8f,iVar3,lVar6)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (local_70 == (byte *)(iVar3 + 1)) break;" if (parenthesized_expression "(local_70 == (byte *)(iVar3 + 1))" ( (binary_expression "local_70 == (byte *)(iVar3 + 1)" identifier == (cast_expression "(byte *)(iVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 1)" ( (binary_expression "iVar3 + 1" identifier + number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "cVar1 = *pcVar12;" (assignment_expression "cVar1 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "__nptr = pcVar12;" (assignment_expression "__nptr = pcVar12" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (expression_statement "FUN_0001b250(pcVar5);" (call_expression "FUN_0001b250(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "local_70 = (byte *)((int)local_70 + 0x20);" (assignment_expression "local_70 = (byte *)((int)local_70 + 0x20)" identifier = (cast_expression "(byte *)((int)local_70 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x20)" ( (binary_expression "(int)local_70 + 0x20" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }" if (parenthesized_expression "(local_70 == (byte *)0x120)" ( (binary_expression "local_70 == (byte *)0x120" identifier == (cast_expression "(byte *)0x120" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }" { (expression_statement "FUN_00025320(param_2,0x91);" (call_expression "FUN_00025320(param_2,0x91)" identifier (argument_list "(param_2,0x91)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x92);" (call_expression "FUN_00025220(param_2,0x92)" identifier (argument_list "(param_2,0x92)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x93);" (call_expression "FUN_00025220(param_2,0x93)" identifier (argument_list "(param_2,0x93)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x81);" (call_expression "FUN_00025320(param_2,0x81)" identifier (argument_list "(param_2,0x81)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x94);" (call_expression "FUN_00025220(param_2,0x94)" identifier (argument_list "(param_2,0x94)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x6d);" (call_expression "FUN_00025220(param_2,0x6d)" identifier (argument_list "(param_2,0x6d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x6e);" (call_expression "FUN_00025220(param_2,0x6e)" identifier (argument_list "(param_2,0x6e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x58);" (call_expression "FUN_00025220(param_2,0x58)" identifier (argument_list "(param_2,0x58)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x59);" (call_expression "FUN_00025220(param_2,0x59)" identifier (argument_list "(param_2,0x59)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x5a);" (call_expression "FUN_00025220(param_2,0x5a)" identifier (argument_list "(param_2,0x5a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x6f);" (call_expression "FUN_00025220(param_2,0x6f)" identifier (argument_list "(param_2,0x6f)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x70);" (call_expression "FUN_00025220(param_2,0x70)" identifier (argument_list "(param_2,0x70)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x71);" (call_expression "FUN_00025220(param_2,0x71)" identifier (argument_list "(param_2,0x71)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x95);" (call_expression "FUN_00025220(param_2,0x95)" identifier (argument_list "(param_2,0x95)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x96);" (call_expression "FUN_00025320(param_2,0x96)" identifier (argument_list "(param_2,0x96)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x97);" (call_expression "FUN_00025220(param_2,0x97)" identifier (argument_list "(param_2,0x97)" ( identifier , number_literal ))) ;) (expression_statement "FUN_000251c0(0x98);" (call_expression "FUN_000251c0(0x98)" identifier (argument_list "(0x98)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x99);" (call_expression "FUN_00025220(param_2,0x99)" identifier (argument_list "(param_2,0x99)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x9a);" (call_expression "FUN_00025220(param_2,0x9a)" identifier (argument_list "(param_2,0x9a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025360(0x9b);" (call_expression "FUN_00025360(0x9b)" identifier (argument_list "(0x9b)" ( number_literal ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugIgnore1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugIgnore1",0)" identifier = (call_expression "FUN_0006a090("BugIgnore1",0)" identifier (argument_list "("BugIgnore1",0)" ( (string_literal ""BugIgnore1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugIgnore1",uVar2)" identifier (argument_list "(param_1,"BugIgnore1",uVar2)" ( identifier , (string_literal ""BugIgnore1"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9c,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9c,2 - iVar3)" identifier (argument_list "(param_2,0x9c,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugPlainPW1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugPlainPW1",0)" identifier = (call_expression "FUN_0006a090("BugPlainPW1",0)" identifier (argument_list "("BugPlainPW1",0)" ( (string_literal ""BugPlainPW1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugPlainPW1",uVar2)" identifier (argument_list "(param_1,"BugPlainPW1",uVar2)" ( identifier , (string_literal ""BugPlainPW1"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9d,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9d,2 - iVar3)" identifier (argument_list "(param_2,0x9d,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugRSA1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRSA1",0)" identifier = (call_expression "FUN_0006a090("BugRSA1",0)" identifier (argument_list "("BugRSA1",0)" ( (string_literal ""BugRSA1"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugRSA1",uVar2)" identifier (argument_list "(param_1,"BugRSA1",uVar2)" ( identifier , (string_literal ""BugRSA1"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9e,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9e,2 - iVar3)" identifier (argument_list "(param_2,0x9e,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugIgnore2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugIgnore2",0)" identifier = (call_expression "FUN_0006a090("BugIgnore2",0)" identifier (argument_list "("BugIgnore2",0)" ( (string_literal ""BugIgnore2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugIgnore2",uVar2)" identifier (argument_list "(param_1,"BugIgnore2",uVar2)" ( identifier , (string_literal ""BugIgnore2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa5,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa5,2 - iVar3)" identifier (argument_list "(param_2,0xa5,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugHMAC2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugHMAC2",0)" identifier = (call_expression "FUN_0006a090("BugHMAC2",0)" identifier (argument_list "("BugHMAC2",0)" ( (string_literal ""BugHMAC2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugHMAC2",uVar2)" identifier (argument_list "(param_1,"BugHMAC2",uVar2)" ( identifier , (string_literal ""BugHMAC2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0x9f,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9f,2 - iVar3)" identifier (argument_list "(param_2,0x9f,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (if_statement "if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }" { (expression_statement "uVar2 = FUN_0006a090("BuggyMAC",0);" (assignment_expression "uVar2 = FUN_0006a090("BuggyMAC",0)" identifier = (call_expression "FUN_0006a090("BuggyMAC",0)" identifier (argument_list "("BuggyMAC",0)" ( (string_literal ""BuggyMAC"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BuggyMAC",uVar2)" identifier (argument_list "(param_1,"BuggyMAC",uVar2)" ( identifier , (string_literal ""BuggyMAC"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n        FUN_00017aa0(param_2,0x9f,0);\n      }" { (expression_statement "FUN_00017aa0(param_2,0x9f,0);" (call_expression "FUN_00017aa0(param_2,0x9f,0)" identifier (argument_list "(param_2,0x9f,0)" ( identifier , number_literal , number_literal ))) ;) })) })) (expression_statement "uVar2 = FUN_0006a090("BugDeriveKey2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugDeriveKey2",0)" identifier = (call_expression "FUN_0006a090("BugDeriveKey2",0)" identifier (argument_list "("BugDeriveKey2",0)" ( (string_literal ""BugDeriveKey2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2)" identifier (argument_list "(param_1,"BugDeriveKey2",uVar2)" ( identifier , (string_literal ""BugDeriveKey2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa0,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa0,2 - iVar3)" identifier (argument_list "(param_2,0xa0,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugRSAPad2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRSAPad2",0)" identifier = (call_expression "FUN_0006a090("BugRSAPad2",0)" identifier (argument_list "("BugRSAPad2",0)" ( (string_literal ""BugRSAPad2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugRSAPad2",uVar2)" identifier (argument_list "(param_1,"BugRSAPad2",uVar2)" ( identifier , (string_literal ""BugRSAPad2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa1,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa1,2 - iVar3)" identifier (argument_list "(param_2,0xa1,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugPKSessID2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugPKSessID2",0)" identifier = (call_expression "FUN_0006a090("BugPKSessID2",0)" identifier (argument_list "("BugPKSessID2",0)" ( (string_literal ""BugPKSessID2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugPKSessID2",uVar2)" identifier (argument_list "(param_1,"BugPKSessID2",uVar2)" ( identifier , (string_literal ""BugPKSessID2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa2,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa2,2 - iVar3)" identifier (argument_list "(param_2,0xa2,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugRekey2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRekey2",0)" identifier = (call_expression "FUN_0006a090("BugRekey2",0)" identifier (argument_list "("BugRekey2",0)" ( (string_literal ""BugRekey2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugRekey2",uVar2)" identifier (argument_list "(param_1,"BugRekey2",uVar2)" ( identifier , (string_literal ""BugRekey2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa3,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa3,2 - iVar3)" identifier (argument_list "(param_2,0xa3,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugMaxPkt2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugMaxPkt2",0)" identifier = (call_expression "FUN_0006a090("BugMaxPkt2",0)" identifier (argument_list "("BugMaxPkt2",0)" ( (string_literal ""BugMaxPkt2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2)" identifier (argument_list "(param_1,"BugMaxPkt2",uVar2)" ( identifier , (string_literal ""BugMaxPkt2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa4,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa4,2 - iVar3)" identifier (argument_list "(param_2,0xa4,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugOldGex2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugOldGex2",0)" identifier = (call_expression "FUN_0006a090("BugOldGex2",0)" identifier (argument_list "("BugOldGex2",0)" ( (string_literal ""BugOldGex2"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugOldGex2",uVar2)" identifier (argument_list "(param_1,"BugOldGex2",uVar2)" ( identifier , (string_literal ""BugOldGex2"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa6,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa6,2 - iVar3)" identifier (argument_list "(param_2,0xa6,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugWinadj",0);" (assignment_expression "uVar2 = FUN_0006a090("BugWinadj",0)" identifier = (call_expression "FUN_0006a090("BugWinadj",0)" identifier (argument_list "("BugWinadj",0)" ( (string_literal ""BugWinadj"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugWinadj",uVar2)" identifier (argument_list "(param_1,"BugWinadj",uVar2)" ( identifier , (string_literal ""BugWinadj"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa7,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa7,2 - iVar3)" identifier (argument_list "(param_2,0xa7,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "uVar2 = FUN_0006a090("BugChanReq",0);" (assignment_expression "uVar2 = FUN_0006a090("BugChanReq",0)" identifier = (call_expression "FUN_0006a090("BugChanReq",0)" identifier (argument_list "("BugChanReq",0)" ( (string_literal ""BugChanReq"" " string_content ") , number_literal )))) ;) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2)" identifier = (call_expression "FUN_0006c3d0(param_1,"BugChanReq",uVar2)" identifier (argument_list "(param_1,"BugChanReq",uVar2)" ( identifier , (string_literal ""BugChanReq"" " string_content ") , identifier )))) ;) (expression_statement "FUN_00017aa0(param_2,0xa8,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa8,2 - iVar3)" identifier (argument_list "(param_2,0xa8,2 - iVar3)" ( identifier , number_literal , (binary_expression "2 - iVar3" number_literal - identifier) ))) ;) (expression_statement "FUN_00017aa0(param_2,0xa9,0);" (call_expression "FUN_00017aa0(param_2,0xa9,0)" identifier (argument_list "(param_2,0xa9,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xae);" (call_expression "FUN_00025220(param_2,0xae)" identifier (argument_list "(param_2,0xae)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xaf);" (call_expression "FUN_00025220(param_2,0xaf)" identifier (argument_list "(param_2,0xaf)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb0);" (call_expression "FUN_00025220(param_2,0xb0)" identifier (argument_list "(param_2,0xb0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb1);" (call_expression "FUN_00025220(param_2,0xb1)" identifier (argument_list "(param_2,0xb1)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025260(0xb2);" (call_expression "FUN_00025260(0xb2)" identifier (argument_list "(0xb2)" ( number_literal ))) ;) (expression_statement "FUN_00025260(0xb3);" (call_expression "FUN_00025260(0xb3)" identifier (argument_list "(0xb3)" ( number_literal ))) ;) (expression_statement "FUN_00025260(0xb4);" (call_expression "FUN_00025260(0xb4)" identifier (argument_list "(0xb4)" ( number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xb5);" (call_expression "FUN_00025220(param_2,0xb5)" identifier (argument_list "(param_2,0xb5)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0x39);" (call_expression "FUN_00025320(param_2,0x39)" identifier (argument_list "(param_2,0x39)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3a);" (call_expression "FUN_00025220(param_2,0x3a)" identifier (argument_list "(param_2,0x3a)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3b);" (call_expression "FUN_00025220(param_2,0x3b)" identifier (argument_list "(param_2,0x3b)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3c);" (call_expression "FUN_00025220(param_2,0x3c)" identifier (argument_list "(param_2,0x3c)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3d);" (call_expression "FUN_00025220(param_2,0x3d)" identifier (argument_list "(param_2,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0x3e);" (call_expression "FUN_00025220(param_2,0x3e)" identifier (argument_list "(param_2,0x3e)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025320(param_2,0xb7);" (call_expression "FUN_00025320(param_2,0xb7)" identifier (argument_list "(param_2,0xb7)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xaa);" (call_expression "FUN_00025220(param_2,0xaa)" identifier (argument_list "(param_2,0xaa)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xab);" (call_expression "FUN_00025220(param_2,0xab)" identifier (argument_list "(param_2,0xab)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025220(param_2,0xac);" (call_expression "FUN_00025220(param_2,0xac)" identifier (argument_list "(param_2,0xac)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00025360(0xad);" (call_expression "FUN_00025360(0xad)" identifier (argument_list "(0xad)" ( number_literal ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0006f2a0();" (call_expression "FUN_0006f2a0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_00027ba9;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) % LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (binary_expression IDENT * LIT) + IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (while_statement while (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (pointer_expression & IDENT) ))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) % LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) }))) }))))))))) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT / LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT / LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (string_literal " string_content ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression LIT - IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (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 { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_00026ca0(undefined4 param_1,undefined4 param_2)\n\n{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}" (primitive_type "void") (function_declarator "FUN_00026ca0(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00026ca0") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  char *__nptr;\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  char *pcVar5;\n  long lVar6;\n  undefined *puVar7;\n  byte *pbVar8;\n  undefined *puVar9;\n  byte *pbVar10;\n  undefined **ppuVar11;\n  char *pcVar12;\n  byte *pbVar13;\n  int in_GS_OFFSET;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte *local_70;\n  undefined **local_68;\n  byte *local_64;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined1 local_34 [20];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar17 = 0;\n  uStack_14 = 0x26ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00017aa0(param_2,0x2b,0);\n  FUN_00017be0(param_2,0x14,&DAT_000712ce);\n  FUN_00017be0(param_2,0x15,&DAT_000712ce);\n  FUN_00017be0(param_2,0x2e,&DAT_000712ce);\n  FUN_00025320(param_2,0);\n  FUN_000251c0(0x77);\n  FUN_00025220(param_2,0x78);\n  FUN_00025220(param_2,0x79);\n  FUN_00025220(param_2,0x7a);\n  FUN_00025220(param_2,0x7b);\n  FUN_00025220(param_2,0x7c);\n  uVar2 = FUN_000252c0();\n  FUN_00017aa0(param_2,2,DAT_000a9958);\n  FUN_00017aa0(param_2,1,DAT_000a9968);\n  iVar3 = FUN_000254f0(uVar2);\n  if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,3);\n  uVar2 = FUN_0006a090("CloseOnExit",1);\n  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);\n  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,5);\n  uVar2 = FUN_0006a090("PingInterval",0);\n  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);\n  uVar2 = FUN_0006a090("PingIntervalSecs",0);\n  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);\n  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);\n  FUN_00025220(param_2,7);\n  FUN_00025220(param_2,8);\n  FUN_00025320(param_2,0x30);\n  FUN_00025320(param_2,0x31);\n  iVar3 = FUN_00025360(0x32);\n  if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }\n  puVar7 = &DAT_000732e4;\n  puVar9 = &DAT_000732df;\n  ppuVar11 = &PTR_s_ERASE_000a79c8;\n  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }\nLAB_00026f8c:\n  FUN_00025320(param_2,10);\n  uVar2 = FUN_0006a090("ProxyDNS",1);\n  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);\n  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);\n  FUN_00025220(param_2,0xc);\n  FUN_00025220(param_2,0xd);\n  iVar3 = FUN_00017380(param_2,0xd);\n  if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }\n  FUN_00025320(param_2,0xe);\n  FUN_00025220(param_2,0xf);\n  FUN_00025320(param_2,0x10);\n  FUN_00025320(param_2,0x11);\n  FUN_00025320(param_2,0x12);\n  FUN_00025220(param_2,0x13);\n  FUN_00025360(0x33);\n  FUN_00025320(param_2,0x34);\n  FUN_00025220(param_2,0x35);\n  FUN_00025320(param_2,0x36);\n  FUN_00025220(param_2,0x16);\n  FUN_00025220(param_2,0x17);\n  FUN_00025220(param_2,0x1c);\n  FUN_00025220(param_2,0x1d);\n  FUN_00025220(param_2,0x1e);\n  FUN_00025220(param_2,0x28);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x1f);\n  FUN_0001b250(uVar2);\n  uVar2 = FUN_0006a090("BugDHGEx2",0);\n  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);\n  local_70 = (byte *)FUN_000252c0();\n  bVar14 = false;\n  bVar16 = local_70 == (byte *)0x0;\n  if (bVar16) {\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }\n  iVar3 = 0x34;\n  pbVar8 = local_70;\n  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";\n  do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);\n  bVar15 = false;\n  bVar14 = (!bVar14 && !bVar16) == bVar14;\n  if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }\n  FUN_00024ee0(param_2,0x18);\n  FUN_0001b250(local_70);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x19);\n  FUN_0001b250(uVar2);\n  FUN_00025220(param_2,0x1a);\n  FUN_00025320(param_2,0x1b);\n  uVar2 = FUN_0006a090("SshProt",3);\n  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);\n  if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }\n  FUN_00017aa0(param_2,0x21,iVar3);\n  FUN_00025320(param_2,9);\n  FUN_00025220(param_2,0x22);\n  FUN_00025220(param_2,0x23);\n  FUN_00025220(param_2,0x24);\n  FUN_00025220(param_2,0x25);\n  FUN_00025220(param_2,0x26);\n  FUN_00025220(param_2,0x27);\n  uVar2 = FUN_000252c0();\n  FUN_00024ee0(param_2,0x29);\n  FUN_0001b250(uVar2);\n  FUN_000251c0(0x2a);\n  FUN_00025220(param_2,0x2d);\n  FUN_000251c0(0x20);\n  FUN_00025320(param_2,0x14);\n  FUN_00025220(param_2,0x37);\n  FUN_00025220(param_2,0x38);\n  FUN_00025220(param_2,0x3f);\n  FUN_00025220(param_2,0x40);\n  FUN_00025220(param_2,0x41);\n  FUN_00025220(param_2,0x43);\n  FUN_00025220(param_2,0x42);\n  FUN_00025220(param_2,0x44);\n  FUN_00025220(param_2,0x45);\n  FUN_00025220(param_2,0x46);\n  FUN_00025220(param_2,0x47);\n  FUN_00025220(param_2,0x48);\n  uVar2 = FUN_0006a090("NoRemoteQTitle",1);\n  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);\n  FUN_00025220(param_2,0x4b);\n  FUN_00025220(param_2,0x49);\n  FUN_00025220(param_2,0x4a);\n  FUN_00025220(param_2,0x4c);\n  FUN_00025220(param_2,0x4d);\n  FUN_00025220(param_2,0x4e);\n  FUN_00025220(param_2,0x51);\n  FUN_00025220(param_2,0x52);\n  FUN_00025220(param_2,0x53);\n  FUN_00025220(param_2,0x5b);\n  FUN_00025220(param_2,0x5c);\n  FUN_00025220(param_2,0x4f);\n  FUN_00025220(param_2,0x50);\n  FUN_00025220(param_2,0x54);\n  FUN_00025220(param_2,0x55);\n  FUN_00025320(param_2,0x80);\n  FUN_00025220(param_2,0x56);\n  FUN_00025220(param_2,0x57);\n  FUN_00025220(param_2,0x7d);\n  FUN_00025220(param_2,0x7e);\n  FUN_00025220(param_2,0x7f);\n  FUN_00025220(param_2,100);\n  FUN_00025220(param_2,0x65);\n  FUN_00025220(param_2,0x66);\n  FUN_00025220(param_2,0x67);\n  FUN_000251c0(0x6c);\n  FUN_00025220(param_2,0x68);\n  FUN_00025220(param_2,0x69);\n  uVar2 = FUN_0006a090("BellOverloadT",2000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);\n  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);\n  uVar2 = FUN_0006a090("BellOverloadS",5000000);\n  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);\n  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);\n  FUN_00025220(param_2,0x60);\n  FUN_00025220(param_2,0x61);\n  FUN_00025220(param_2,0x62);\n  FUN_00025220(param_2,99);\n  FUN_00025220(param_2,0xb6);\n  FUN_00025220(param_2,0x82);\n  FUN_00025220(param_2,0x83);\n  FUN_00025220(param_2,0x72);\n  FUN_00025320(param_2,0x5f);\n  FUN_00025220(param_2,0x73);\n  FUN_00025220(param_2,0x74);\n  FUN_00025260(0x75);\n  FUN_00025220(param_2,0x76);\n  FUN_00025220(param_2,0x90);\n  FUN_00025220(param_2,0x86);\n  FUN_00025220(param_2,0x87);\n  FUN_00025220(param_2,0x84);\n  FUN_00025220(param_2,0x85);\n  uVar2 = FUN_0006a090("BoldAsColour",1);\n  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);\n  FUN_00017aa0(param_2,0x88,iVar3 + 1);\n  iVar3 = 0;\n  do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);\n  FUN_00025220(param_2,0x8c);\n  FUN_00025220(param_2,0x8d);\n  FUN_00025220(param_2,0x8a);\n  FUN_00025220(param_2,0x8b);\n  FUN_00025220(param_2,0x8e);\n  local_70 = (byte *)0x20;\nLAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);\n  pcVar5 = (char *)FUN_000252c0();\n  cVar1 = *pcVar5;\n  iVar3 = (int)local_70 + -0x20;\n  __nptr = pcVar5;\n  do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );\n  FUN_0001b250(pcVar5);\n  local_70 = (byte *)((int)local_70 + 0x20);\n  if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }\n  goto LAB_00027ba9;\n}" ({ "{") (declaration "char *__nptr;" (primitive_type "char") (pointer_declarator "*__nptr" (* "*") (identifier "__nptr")) (; ";")) (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "undefined **ppuVar11;" (type_identifier "undefined") (pointer_declarator "**ppuVar11" (* "*") (pointer_declarator "*ppuVar11" (* "*") (identifier "ppuVar11"))) (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "byte *pbVar13;" (type_identifier "byte") (pointer_declarator "*pbVar13" (* "*") (identifier "pbVar13")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "bool bVar15;" (primitive_type "bool") (identifier "bVar15") (; ";")) (declaration "bool bVar16;" (primitive_type "bool") (identifier "bVar16") (; ";")) (declaration "byte bVar17;" (type_identifier "byte") (identifier "bVar17") (; ";")) (declaration "byte *local_70;" (type_identifier "byte") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "undefined **local_68;" (type_identifier "undefined") (pointer_declarator "**local_68" (* "*") (pointer_declarator "*local_68" (* "*") (identifier "local_68"))) (; ";")) (declaration "byte *local_64;" (type_identifier "byte") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined1 local_34 [20];" (type_identifier "undefined1") (array_declarator "local_34 [20]" (identifier "local_34") ([ "[") (number_literal "20") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" (identifier "bVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x26ca9;" (assignment_expression "uStack_14 = 0x26ca9" (identifier "uStack_14") (= "=") (number_literal "0x26ca9")) (; ";")) (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 "FUN_00017aa0(param_2,0x2b,0);" (call_expression "FUN_00017aa0(param_2,0x2b,0)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x2b,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0x2b") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00017be0(param_2,0x14,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x14,&DAT_000712ce)" (identifier "FUN_00017be0") (argument_list "(param_2,0x14,&DAT_000712ce)" (( "(") (identifier "param_2") (, ",") (number_literal "0x14") (, ",") (pointer_expression "&DAT_000712ce" (& "&") (identifier "DAT_000712ce")) () ")"))) (; ";")) (expression_statement "FUN_00017be0(param_2,0x15,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x15,&DAT_000712ce)" (identifier "FUN_00017be0") (argument_list "(param_2,0x15,&DAT_000712ce)" (( "(") (identifier "param_2") (, ",") (number_literal "0x15") (, ",") (pointer_expression "&DAT_000712ce" (& "&") (identifier "DAT_000712ce")) () ")"))) (; ";")) (expression_statement "FUN_00017be0(param_2,0x2e,&DAT_000712ce);" (call_expression "FUN_00017be0(param_2,0x2e,&DAT_000712ce)" (identifier "FUN_00017be0") (argument_list "(param_2,0x2e,&DAT_000712ce)" (( "(") (identifier "param_2") (, ",") (number_literal "0x2e") (, ",") (pointer_expression "&DAT_000712ce" (& "&") (identifier "DAT_000712ce")) () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0);" (call_expression "FUN_00025320(param_2,0)" (identifier "FUN_00025320") (argument_list "(param_2,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_000251c0(0x77);" (call_expression "FUN_000251c0(0x77)" (identifier "FUN_000251c0") (argument_list "(0x77)" (( "(") (number_literal "0x77") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x78);" (call_expression "FUN_00025220(param_2,0x78)" (identifier "FUN_00025220") (argument_list "(param_2,0x78)" (( "(") (identifier "param_2") (, ",") (number_literal "0x78") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x79);" (call_expression "FUN_00025220(param_2,0x79)" (identifier "FUN_00025220") (argument_list "(param_2,0x79)" (( "(") (identifier "param_2") (, ",") (number_literal "0x79") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x7a);" (call_expression "FUN_00025220(param_2,0x7a)" (identifier "FUN_00025220") (argument_list "(param_2,0x7a)" (( "(") (identifier "param_2") (, ",") (number_literal "0x7a") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x7b);" (call_expression "FUN_00025220(param_2,0x7b)" (identifier "FUN_00025220") (argument_list "(param_2,0x7b)" (( "(") (identifier "param_2") (, ",") (number_literal "0x7b") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x7c);" (call_expression "FUN_00025220(param_2,0x7c)" (identifier "FUN_00025220") (argument_list "(param_2,0x7c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x7c") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" (identifier "uVar2") (= "=") (call_expression "FUN_000252c0()" (identifier "FUN_000252c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,2,DAT_000a9958);" (call_expression "FUN_00017aa0(param_2,2,DAT_000a9958)" (identifier "FUN_00017aa0") (argument_list "(param_2,2,DAT_000a9958)" (( "(") (identifier "param_2") (, ",") (number_literal "2") (, ",") (identifier "DAT_000a9958") () ")"))) (; ";")) (expression_statement "FUN_00017aa0(param_2,1,DAT_000a9968);" (call_expression "FUN_00017aa0(param_2,1,DAT_000a9968)" (identifier "FUN_00017aa0") (argument_list "(param_2,1,DAT_000a9968)" (( "(") (identifier "param_2") (, ",") (number_literal "1") (, ",") (identifier "DAT_000a9968") () ")"))) (; ";")) (expression_statement "iVar3 = FUN_000254f0(uVar2);" (assignment_expression "iVar3 = FUN_000254f0(uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_000254f0(uVar2)" (identifier "FUN_000254f0") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));\n    FUN_00025220(param_2,1);\n  }" ({ "{") (expression_statement "FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));" (call_expression "FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48))" (identifier "FUN_00017aa0") (argument_list "(param_2,2,*(undefined4 *)(iVar3 + 0x48))" (( "(") (identifier "param_2") (, ",") (number_literal "2") (, ",") (pointer_expression "*(undefined4 *)(iVar3 + 0x48)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x48)" (( "(") (binary_expression "iVar3 + 0x48" (identifier "iVar3") (+ "+") (number_literal "0x48")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,1);" (call_expression "FUN_00025220(param_2,1)" (identifier "FUN_00025220") (argument_list "(param_2,1)" (( "(") (identifier "param_2") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" (identifier "FUN_0001b250") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,3);" (call_expression "FUN_00025220(param_2,3)" (identifier "FUN_00025220") (argument_list "(param_2,3)" (( "(") (identifier "param_2") (, ",") (number_literal "3") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("CloseOnExit",1);" (assignment_expression "uVar2 = FUN_0006a090("CloseOnExit",1)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("CloseOnExit",1)" (identifier "FUN_0006a090") (argument_list "("CloseOnExit",1)" (( "(") (string_literal ""CloseOnExit"" (" """) (string_content "CloseOnExit") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"CloseOnExit",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"CloseOnExit",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""CloseOnExit"" (" """) (string_content "CloseOnExit") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);" (call_expression "FUN_00017aa0(param_2,4,(iVar3 + 1) % 3)" (identifier "FUN_00017aa0") (argument_list "(param_2,4,(iVar3 + 1) % 3)" (( "(") (identifier "param_2") (, ",") (number_literal "4") (, ",") (binary_expression "(iVar3 + 1) % 3" (parenthesized_expression "(iVar3 + 1)" (( "(") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1")) () ")")) (% "%") (number_literal "3")) () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,5);" (call_expression "FUN_00025220(param_2,5)" (identifier "FUN_00025220") (argument_list "(param_2,5)" (( "(") (identifier "param_2") (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("PingInterval",0);" (assignment_expression "uVar2 = FUN_0006a090("PingInterval",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("PingInterval",0)" (identifier "FUN_0006a090") (argument_list "("PingInterval",0)" (( "(") (string_literal ""PingInterval"" (" """) (string_content "PingInterval") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"PingInterval",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"PingInterval",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""PingInterval"" (" """) (string_content "PingInterval") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("PingIntervalSecs",0);" (assignment_expression "uVar2 = FUN_0006a090("PingIntervalSecs",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("PingIntervalSecs",0)" (identifier "FUN_0006a090") (argument_list "("PingIntervalSecs",0)" (( "(") (string_literal ""PingIntervalSecs"" (" """) (string_content "PingIntervalSecs") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);" (assignment_expression "iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2)" (identifier "iVar4") (= "=") (call_expression "FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"PingIntervalSecs",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""PingIntervalSecs"" (" """) (string_content "PingIntervalSecs") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);" (call_expression "FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4)" (identifier "FUN_00017aa0") (argument_list "(param_2,6,iVar3 * 0x3c + iVar4)" (( "(") (identifier "param_2") (, ",") (number_literal "6") (, ",") (binary_expression "iVar3 * 0x3c + iVar4" (binary_expression "iVar3 * 0x3c" (identifier "iVar3") (* "*") (number_literal "0x3c")) (+ "+") (identifier "iVar4")) () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,7);" (call_expression "FUN_00025220(param_2,7)" (identifier "FUN_00025220") (argument_list "(param_2,7)" (( "(") (identifier "param_2") (, ",") (number_literal "7") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,8);" (call_expression "FUN_00025220(param_2,8)" (identifier "FUN_00025220") (argument_list "(param_2,8)" (( "(") (identifier "param_2") (, ",") (number_literal "8") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x30);" (call_expression "FUN_00025320(param_2,0x30)" (identifier "FUN_00025320") (argument_list "(param_2,0x30)" (( "(") (identifier "param_2") (, ",") (number_literal "0x30") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x31);" (call_expression "FUN_00025320(param_2,0x31)" (identifier "FUN_00025320") (argument_list "(param_2,0x31)" (( "(") (identifier "param_2") (, ",") (number_literal "0x31") () ")"))) (; ";")) (expression_statement "iVar3 = FUN_00025360(0x32);" (assignment_expression "iVar3 = FUN_00025360(0x32)" (identifier "iVar3") (= "=") (call_expression "FUN_00025360(0x32)" (identifier "FUN_00025360") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_68 = &PTR_s_ERASE_000a79c8;\n    pbVar8 = &DAT_000732e4;\n    local_64 = &DAT_000732df;\n    do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );\n  }" ({ "{") (expression_statement "local_68 = &PTR_s_ERASE_000a79c8;" (assignment_expression "local_68 = &PTR_s_ERASE_000a79c8" (identifier "local_68") (= "=") (pointer_expression "&PTR_s_ERASE_000a79c8" (& "&") (identifier "PTR_s_ERASE_000a79c8"))) (; ";")) (expression_statement "pbVar8 = &DAT_000732e4;" (assignment_expression "pbVar8 = &DAT_000732e4" (identifier "pbVar8") (= "=") (pointer_expression "&DAT_000732e4" (& "&") (identifier "DAT_000732e4"))) (; ";")) (expression_statement "local_64 = &DAT_000732df;" (assignment_expression "local_64 = &DAT_000732df" (identifier "local_64") (= "=") (pointer_expression "&DAT_000732df" (& "&") (identifier "DAT_000732df"))) (; ";")) (do_statement "do {\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    } while( true );" (do "do") (compound_statement "{\n      iVar3 = FUN_00017600(param_2,0x32,pbVar8);\n      bVar14 = false;\n      bVar16 = iVar3 == 0;\n      if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }\n      if (local_64 == (byte *)0x0) goto LAB_00026f8c;\n      pbVar10 = *local_68;\n      local_68 = local_68 + 1;\n      pbVar8 = local_64;\n      local_64 = pbVar10;\n    }" ({ "{") (expression_statement "iVar3 = FUN_00017600(param_2,0x32,pbVar8);" (assignment_expression "iVar3 = FUN_00017600(param_2,0x32,pbVar8)" (identifier "iVar3") (= "=") (call_expression "FUN_00017600(param_2,0x32,pbVar8)" (identifier "FUN_00017600") (argument_list "(param_2,0x32,pbVar8)" (( "(") (identifier "param_2") (, ",") (number_literal "0x32") (, ",") (identifier "pbVar8") () ")")))) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar16 = iVar3 == 0;" (assignment_expression "bVar16 = iVar3 == 0" (identifier "bVar16") (= "=") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar16) {\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }" (if "if") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (compound_statement "{\n        iVar3 = 6;\n        pbVar10 = pbVar8;\n        pbVar13 = (byte *)"IUTF8";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);\n        puVar7 = &DAT_00070146;\n        if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }\n        FUN_00017c90(param_2,0x32,pbVar8,puVar7);\n      }" ({ "{") (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" (identifier "iVar3") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar10 = pbVar8;" (assignment_expression "pbVar10 = pbVar8" (identifier "pbVar10") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "pbVar13 = (byte *)"IUTF8";" (assignment_expression "pbVar13 = (byte *)"IUTF8"" (identifier "pbVar13") (= "=") (cast_expression "(byte *)"IUTF8"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""IUTF8"" (" """) (string_content "IUTF8") (" """)))) (; ";")) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        } while (bVar16);" (do "do") (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar14 = *pbVar10 < *pbVar13;\n          bVar16 = *pbVar10 == *pbVar13;\n          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar14 = *pbVar10 < *pbVar13;" (assignment_expression "bVar14 = *pbVar10 < *pbVar13" (identifier "bVar14") (= "=") (binary_expression "*pbVar10 < *pbVar13" (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")) (< "<") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "bVar16 = *pbVar10 == *pbVar13;" (assignment_expression "bVar16 = *pbVar10 == *pbVar13" (identifier "bVar16") (= "=") (binary_expression "*pbVar10 == *pbVar13" (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")) (== "==") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar13 + (uint)bVar17 * -2" (identifier "pbVar13") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (; ";")) (expression_statement "puVar7 = &DAT_00070146;" (assignment_expression "puVar7 = &DAT_00070146" (identifier "puVar7") (= "=") (pointer_expression "&DAT_00070146" (& "&") (identifier "DAT_00070146"))) (; ";")) (if_statement "if ((!bVar14 && !bVar16) != bVar14) {\n          puVar7 = &DAT_00070158;\n        }" (if "if") (parenthesized_expression "((!bVar14 && !bVar16) != bVar14)" (( "(") (binary_expression "(!bVar14 && !bVar16) != bVar14" (parenthesized_expression "(!bVar14 && !bVar16)" (( "(") (binary_expression "!bVar14 && !bVar16" (unary_expression "!bVar14" (! "!") (identifier "bVar14")) (&& "&&") (unary_expression "!bVar16" (! "!") (identifier "bVar16"))) () ")")) (!= "!=") (identifier "bVar14")) () ")")) (compound_statement "{\n          puVar7 = &DAT_00070158;\n        }" ({ "{") (expression_statement "puVar7 = &DAT_00070158;" (assignment_expression "puVar7 = &DAT_00070158" (identifier "puVar7") (= "=") (pointer_expression "&DAT_00070158" (& "&") (identifier "DAT_00070158"))) (; ";")) (} "}"))) (expression_statement "FUN_00017c90(param_2,0x32,pbVar8,puVar7);" (call_expression "FUN_00017c90(param_2,0x32,pbVar8,puVar7)" (identifier "FUN_00017c90") (argument_list "(param_2,0x32,pbVar8,puVar7)" (( "(") (identifier "param_2") (, ",") (number_literal "0x32") (, ",") (identifier "pbVar8") (, ",") (identifier "puVar7") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_64 == (byte *)0x0) goto LAB_00026f8c;" (if "if") (parenthesized_expression "(local_64 == (byte *)0x0)" (( "(") (binary_expression "local_64 == (byte *)0x0" (identifier "local_64") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00026f8c;" (goto "goto") (statement_identifier "LAB_00026f8c") (; ";"))) (expression_statement "pbVar10 = *local_68;" (assignment_expression "pbVar10 = *local_68" (identifier "pbVar10") (= "=") (pointer_expression "*local_68" (* "*") (identifier "local_68"))) (; ";")) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" (identifier "local_68") (= "=") (binary_expression "local_68 + 1" (identifier "local_68") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = local_64;" (assignment_expression "pbVar8 = local_64" (identifier "pbVar8") (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_64 = pbVar10;" (assignment_expression "local_64 = pbVar10" (identifier "local_64") (= "=") (identifier "pbVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "puVar7 = &DAT_000732e4;" (assignment_expression "puVar7 = &DAT_000732e4" (identifier "puVar7") (= "=") (pointer_expression "&DAT_000732e4" (& "&") (identifier "DAT_000732e4"))) (; ";")) (expression_statement "puVar9 = &DAT_000732df;" (assignment_expression "puVar9 = &DAT_000732df" (identifier "puVar9") (= "=") (pointer_expression "&DAT_000732df" (& "&") (identifier "DAT_000732df"))) (; ";")) (expression_statement "ppuVar11 = &PTR_s_ERASE_000a79c8;" (assignment_expression "ppuVar11 = &PTR_s_ERASE_000a79c8" (identifier "ppuVar11") (= "=") (pointer_expression "&PTR_s_ERASE_000a79c8" (& "&") (identifier "PTR_s_ERASE_000a79c8"))) (; ";")) (while_statement "while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }" (while "while") (parenthesized_expression "(FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0)" (( "(") (comma_expression "FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0" (call_expression "FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146)" (identifier "FUN_00017c90") (argument_list "(param_2,0x32,puVar7,&DAT_00070146)" (( "(") (identifier "param_2") (, ",") (number_literal "0x32") (, ",") (identifier "puVar7") (, ",") (pointer_expression "&DAT_00070146" (& "&") (identifier "DAT_00070146")) () ")"))) (, ",") (binary_expression "puVar9 != (undefined *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n    puVar7 = puVar9;\n    puVar9 = *ppuVar11;\n    ppuVar11 = ppuVar11 + 1;\n  }" ({ "{") (expression_statement "puVar7 = puVar9;" (assignment_expression "puVar7 = puVar9" (identifier "puVar7") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "puVar9 = *ppuVar11;" (assignment_expression "puVar9 = *ppuVar11" (identifier "puVar9") (= "=") (pointer_expression "*ppuVar11" (* "*") (identifier "ppuVar11"))) (; ";")) (expression_statement "ppuVar11 = ppuVar11 + 1;" (assignment_expression "ppuVar11 = ppuVar11 + 1" (identifier "ppuVar11") (= "=") (binary_expression "ppuVar11 + 1" (identifier "ppuVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_00026f8c:\n  FUN_00025320(param_2,10);" (statement_identifier "LAB_00026f8c") (: ":") (expression_statement "FUN_00025320(param_2,10);" (call_expression "FUN_00025320(param_2,10)" (identifier "FUN_00025320") (argument_list "(param_2,10)" (( "(") (identifier "param_2") (, ",") (number_literal "10") () ")"))) (; ";"))) (expression_statement "uVar2 = FUN_0006a090("ProxyDNS",1);" (assignment_expression "uVar2 = FUN_0006a090("ProxyDNS",1)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("ProxyDNS",1)" (identifier "FUN_0006a090") (argument_list "("ProxyDNS",1)" (( "(") (string_literal ""ProxyDNS"" (" """) (string_content "ProxyDNS") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"ProxyDNS",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"ProxyDNS",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""ProxyDNS"" (" """) (string_content "ProxyDNS") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);" (call_expression "FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xb,(iVar3 + 1) % 3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xb") (, ",") (binary_expression "(iVar3 + 1) % 3" (parenthesized_expression "(iVar3 + 1)" (( "(") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1")) () ")")) (% "%") (number_literal "3")) () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xc);" (call_expression "FUN_00025220(param_2,0xc)" (identifier "FUN_00025220") (argument_list "(param_2,0xc)" (( "(") (identifier "param_2") (, ",") (number_literal "0xc") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xd);" (call_expression "FUN_00025220(param_2,0xd)" (identifier "FUN_00025220") (argument_list "(param_2,0xd)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") () ")"))) (; ";")) (expression_statement "iVar3 = FUN_00017380(param_2,0xd);" (assignment_expression "iVar3 = FUN_00017380(param_2,0xd)" (identifier "iVar3") (= "=") (call_expression "FUN_00017380(param_2,0xd)" (identifier "FUN_00017380") (argument_list "(param_2,0xd)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") () ")")))) (; ";")) (if_statement "if (iVar3 == -1) {\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    uVar2 = FUN_0006a090("ProxyType",0);\n    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);\n    if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }\n  }" ({ "{") (expression_statement "uVar2 = FUN_0006a090("ProxyType",0);" (assignment_expression "uVar2 = FUN_0006a090("ProxyType",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("ProxyType",0)" (identifier "FUN_0006a090") (argument_list "("ProxyType",0)" (( "(") (string_literal ""ProxyType"" (" """) (string_content "ProxyType") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"ProxyType",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"ProxyType",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""ProxyType"" (" """) (string_content "ProxyType") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      FUN_00017aa0(param_2,0xd,0);\n    }\n    else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,0);\n    }" ({ "{") (expression_statement "FUN_00017aa0(param_2,0xd,0);" (call_expression "FUN_00017aa0(param_2,0xd,0)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xd,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (else "else") (if_statement "if (iVar3 == 1) {\n      FUN_00017aa0(param_2,0xd,3);\n    }\n    else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 1)" (( "(") (binary_expression "iVar3 == 1" (identifier "iVar3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,3);\n    }" ({ "{") (expression_statement "FUN_00017aa0(param_2,0xd,3);" (call_expression "FUN_00017aa0(param_2,0xd,3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xd,3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") (, ",") (number_literal "3") () ")"))) (; ";")) (} "}")) (else_clause "else if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (else "else") (if_statement "if (iVar3 == 3) {\n      FUN_00017aa0(param_2,0xd,4);\n    }\n    else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 3)" (( "(") (binary_expression "iVar3 == 3" (identifier "iVar3") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,4);\n    }" ({ "{") (expression_statement "FUN_00017aa0(param_2,0xd,4);" (call_expression "FUN_00017aa0(param_2,0xd,4)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xd,4)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") (, ",") (number_literal "4") () ")"))) (; ";")) (} "}")) (else_clause "else if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (else "else") (if_statement "if (iVar3 == 4) {\n      FUN_00017aa0(param_2,0xd,5);\n    }\n    else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 4)" (( "(") (binary_expression "iVar3 == 4" (identifier "iVar3") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      FUN_00017aa0(param_2,0xd,5);\n    }" ({ "{") (expression_statement "FUN_00017aa0(param_2,0xd,5);" (call_expression "FUN_00017aa0(param_2,0xd,5)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xd,5)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") (, ",") (number_literal "5") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" (else "else") (compound_statement "{\n      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);\n      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);\n      if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }\n    }" ({ "{") (expression_statement "uVar2 = FUN_0006a090("ProxySOCKSVersion",5);" (assignment_expression "uVar2 = FUN_0006a090("ProxySOCKSVersion",5)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("ProxySOCKSVersion",5)" (identifier "FUN_0006a090") (argument_list "("ProxySOCKSVersion",5)" (( "(") (string_literal ""ProxySOCKSVersion"" (" """) (string_content "ProxySOCKSVersion") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"ProxySOCKSVersion",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""ProxySOCKSVersion"" (" """) (string_content "ProxySOCKSVersion") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (iVar3 == 5) {\n        FUN_00017aa0(param_2,0xd,2);\n      }\n      else {\n        FUN_00017aa0(param_2,0xd,1);\n      }" (if "if") (parenthesized_expression "(iVar3 == 5)" (( "(") (binary_expression "iVar3 == 5" (identifier "iVar3") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n        FUN_00017aa0(param_2,0xd,2);\n      }" ({ "{") (expression_statement "FUN_00017aa0(param_2,0xd,2);" (call_expression "FUN_00017aa0(param_2,0xd,2)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xd,2)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") (, ",") (number_literal "2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_00017aa0(param_2,0xd,1);\n      }" (else "else") (compound_statement "{\n        FUN_00017aa0(param_2,0xd,1);\n      }" ({ "{") (expression_statement "FUN_00017aa0(param_2,0xd,1);" (call_expression "FUN_00017aa0(param_2,0xd,1)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xd,1)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}")))) (} "}")))))))))) (} "}"))) (expression_statement "FUN_00025320(param_2,0xe);" (call_expression "FUN_00025320(param_2,0xe)" (identifier "FUN_00025320") (argument_list "(param_2,0xe)" (( "(") (identifier "param_2") (, ",") (number_literal "0xe") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xf);" (call_expression "FUN_00025220(param_2,0xf)" (identifier "FUN_00025220") (argument_list "(param_2,0xf)" (( "(") (identifier "param_2") (, ",") (number_literal "0xf") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x10);" (call_expression "FUN_00025320(param_2,0x10)" (identifier "FUN_00025320") (argument_list "(param_2,0x10)" (( "(") (identifier "param_2") (, ",") (number_literal "0x10") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x11);" (call_expression "FUN_00025320(param_2,0x11)" (identifier "FUN_00025320") (argument_list "(param_2,0x11)" (( "(") (identifier "param_2") (, ",") (number_literal "0x11") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x12);" (call_expression "FUN_00025320(param_2,0x12)" (identifier "FUN_00025320") (argument_list "(param_2,0x12)" (( "(") (identifier "param_2") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x13);" (call_expression "FUN_00025220(param_2,0x13)" (identifier "FUN_00025220") (argument_list "(param_2,0x13)" (( "(") (identifier "param_2") (, ",") (number_literal "0x13") () ")"))) (; ";")) (expression_statement "FUN_00025360(0x33);" (call_expression "FUN_00025360(0x33)" (identifier "FUN_00025360") (argument_list "(0x33)" (( "(") (number_literal "0x33") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x34);" (call_expression "FUN_00025320(param_2,0x34)" (identifier "FUN_00025320") (argument_list "(param_2,0x34)" (( "(") (identifier "param_2") (, ",") (number_literal "0x34") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x35);" (call_expression "FUN_00025220(param_2,0x35)" (identifier "FUN_00025220") (argument_list "(param_2,0x35)" (( "(") (identifier "param_2") (, ",") (number_literal "0x35") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x36);" (call_expression "FUN_00025320(param_2,0x36)" (identifier "FUN_00025320") (argument_list "(param_2,0x36)" (( "(") (identifier "param_2") (, ",") (number_literal "0x36") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x16);" (call_expression "FUN_00025220(param_2,0x16)" (identifier "FUN_00025220") (argument_list "(param_2,0x16)" (( "(") (identifier "param_2") (, ",") (number_literal "0x16") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x17);" (call_expression "FUN_00025220(param_2,0x17)" (identifier "FUN_00025220") (argument_list "(param_2,0x17)" (( "(") (identifier "param_2") (, ",") (number_literal "0x17") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x1c);" (call_expression "FUN_00025220(param_2,0x1c)" (identifier "FUN_00025220") (argument_list "(param_2,0x1c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x1c") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x1d);" (call_expression "FUN_00025220(param_2,0x1d)" (identifier "FUN_00025220") (argument_list "(param_2,0x1d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x1d") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x1e);" (call_expression "FUN_00025220(param_2,0x1e)" (identifier "FUN_00025220") (argument_list "(param_2,0x1e)" (( "(") (identifier "param_2") (, ",") (number_literal "0x1e") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x28);" (call_expression "FUN_00025220(param_2,0x28)" (identifier "FUN_00025220") (argument_list "(param_2,0x28)" (( "(") (identifier "param_2") (, ",") (number_literal "0x28") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" (identifier "uVar2") (= "=") (call_expression "FUN_000252c0()" (identifier "FUN_000252c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00024ee0(param_2,0x1f);" (call_expression "FUN_00024ee0(param_2,0x1f)" (identifier "FUN_00024ee0") (argument_list "(param_2,0x1f)" (( "(") (identifier "param_2") (, ",") (number_literal "0x1f") () ")"))) (; ";")) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" (identifier "FUN_0001b250") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugDHGEx2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugDHGEx2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugDHGEx2",0)" (identifier "FUN_0006a090") (argument_list "("BugDHGEx2",0)" (( "(") (string_literal ""BugDHGEx2"" (" """) (string_content "BugDHGEx2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);" (call_expression "FUN_0006c3d0(param_1,"BugDHGEx2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugDHGEx2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugDHGEx2"" (" """) (string_content "BugDHGEx2") (" """)) (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "local_70 = (byte *)FUN_000252c0();" (assignment_expression "local_70 = (byte *)FUN_000252c0()" (identifier "local_70") (= "=") (cast_expression "(byte *)FUN_000252c0()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000252c0()" (identifier "FUN_000252c0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar16 = local_70 == (byte *)0x0;" (assignment_expression "bVar16 = local_70 == (byte *)0x0" (identifier "bVar16") (= "=") (binary_expression "local_70 == (byte *)0x0" (identifier "local_70") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (bVar16) {\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" (if "if") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (compound_statement "{\n                    \n    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");\n  }" ({ "{") (expression_statement "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");" (call_expression "__assert_fail("raw != NULL","settings.c",0x366,"load_open_settings")" (identifier "__assert_fail") (argument_list "("raw != NULL","settings.c",0x366,"load_open_settings")" (( "(") (string_literal ""raw != NULL"" (" """) (string_content "raw != NULL") (" """)) (, ",") (string_literal ""settings.c"" (" """) (string_content "settings.c") (" """)) (, ",") (number_literal "0x366") (, ",") (string_literal ""load_open_settings"" (" """) (string_content "load_open_settings") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = 0x34;" (assignment_expression "iVar3 = 0x34" (identifier "iVar3") (= "=") (number_literal "0x34")) (; ";")) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" (identifier "pbVar8") (= "=") (identifier "local_70")) (; ";")) (expression_statement "pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";" (assignment_expression "pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1"" (" """) (string_content "dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1") (" """)))) (; ";")) (do_statement "do {\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  } while (bVar16);" (do "do") (compound_statement "{\n    if (iVar3 == 0) break;\n    iVar3 = iVar3 + -1;\n    bVar14 = *pbVar8 < *pbVar10;\n    bVar16 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n  }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar14 = *pbVar8 < *pbVar10;" (assignment_expression "bVar14 = *pbVar8 < *pbVar10" (identifier "bVar14") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar16 = *pbVar8 == *pbVar10;" (assignment_expression "bVar16 = *pbVar8 == *pbVar10" (identifier "bVar16") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar17 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")")) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "bVar14 = (!bVar14 && !bVar16) == bVar14;" (assignment_expression "bVar14 = (!bVar14 && !bVar16) == bVar14" (identifier "bVar14") (= "=") (binary_expression "(!bVar14 && !bVar16) == bVar14" (parenthesized_expression "(!bVar14 && !bVar16)" (( "(") (binary_expression "!bVar14 && !bVar16" (unary_expression "!bVar14" (! "!") (identifier "bVar14")) (&& "&&") (unary_expression "!bVar16" (! "!") (identifier "bVar16"))) () ")")) (== "==") (identifier "bVar14"))) (; ";")) (if_statement "if (bVar14) {\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }\n  else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" (if "if") (parenthesized_expression "(bVar14)" (( "(") (identifier "bVar14") () ")")) (compound_statement "{\n    FUN_0001b250(local_70);\n    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");\n  }" ({ "{") (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" (identifier "FUN_0001b250") (argument_list "(local_70)" (( "(") (identifier "local_70") () ")"))) (; ";")) (expression_statement "local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");" (assignment_expression "local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" (identifier "local_70") (= "=") (cast_expression "(byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" (identifier "FUN_0001aad0") (argument_list "("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1")" (( "(") (string_literal ""ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1"" (" """) (string_content "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1") (" """)) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" (else "else") (compound_statement "{\n    iVar3 = 0x34;\n    pbVar8 = local_70;\n    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);\n    if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }\n  }" ({ "{") (expression_statement "iVar3 = 0x34;" (assignment_expression "iVar3 = 0x34" (identifier "iVar3") (= "=") (number_literal "0x34")) (; ";")) (expression_statement "pbVar8 = local_70;" (assignment_expression "pbVar8 = local_70" (identifier "pbVar8") (= "=") (identifier "local_70")) (; ";")) (expression_statement "pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";" (assignment_expression "pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"" (" """) (string_content "dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN") (" """)))) (; ";")) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    } while (bVar14);" (do "do") (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar15 = *pbVar8 < *pbVar10;\n      bVar14 = *pbVar8 == *pbVar10;\n      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar3 == 0) break;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar15 = *pbVar8 < *pbVar10;" (assignment_expression "bVar15 = *pbVar8 < *pbVar10" (identifier "bVar15") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar14 = *pbVar8 == *pbVar10;" (assignment_expression "bVar14 = *pbVar8 == *pbVar10" (identifier "bVar14") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar17 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar14)" (( "(") (identifier "bVar14") () ")")) (; ";")) (if_statement "if ((!bVar15 && !bVar14) == bVar15) {\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" (if "if") (parenthesized_expression "((!bVar15 && !bVar14) == bVar15)" (( "(") (binary_expression "(!bVar15 && !bVar14) == bVar15" (parenthesized_expression "(!bVar15 && !bVar14)" (( "(") (binary_expression "!bVar15 && !bVar14" (unary_expression "!bVar15" (! "!") (identifier "bVar15")) (&& "&&") (unary_expression "!bVar14" (! "!") (identifier "bVar14"))) () ")")) (== "==") (identifier "bVar15")) () ")")) (compound_statement "{\n      FUN_0001b250(local_70);\n      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");\n    }" ({ "{") (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" (identifier "FUN_0001b250") (argument_list "(local_70)" (( "(") (identifier "local_70") () ")"))) (; ";")) (expression_statement "local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");" (assignment_expression "local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" (identifier "local_70") (= "=") (cast_expression "(byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" (identifier "FUN_0001aad0") (argument_list "("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1")" (( "(") (string_literal ""ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1"" (" """) (string_content "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1") (" """)) () ")"))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_00024ee0(param_2,0x18);" (call_expression "FUN_00024ee0(param_2,0x18)" (identifier "FUN_00024ee0") (argument_list "(param_2,0x18)" (( "(") (identifier "param_2") (, ",") (number_literal "0x18") () ")"))) (; ";")) (expression_statement "FUN_0001b250(local_70);" (call_expression "FUN_0001b250(local_70)" (identifier "FUN_0001b250") (argument_list "(local_70)" (( "(") (identifier "local_70") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" (identifier "uVar2") (= "=") (call_expression "FUN_000252c0()" (identifier "FUN_000252c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00024ee0(param_2,0x19);" (call_expression "FUN_00024ee0(param_2,0x19)" (identifier "FUN_00024ee0") (argument_list "(param_2,0x19)" (( "(") (identifier "param_2") (, ",") (number_literal "0x19") () ")"))) (; ";")) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" (identifier "FUN_0001b250") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x1a);" (call_expression "FUN_00025220(param_2,0x1a)" (identifier "FUN_00025220") (argument_list "(param_2,0x1a)" (( "(") (identifier "param_2") (, ",") (number_literal "0x1a") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x1b);" (call_expression "FUN_00025320(param_2,0x1b)" (identifier "FUN_00025320") (argument_list "(param_2,0x1b)" (( "(") (identifier "param_2") (, ",") (number_literal "0x1b") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("SshProt",3);" (assignment_expression "uVar2 = FUN_0006a090("SshProt",3)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("SshProt",3)" (identifier "FUN_0006a090") (argument_list "("SshProt",3)" (( "(") (string_literal ""SshProt"" (" """) (string_content "SshProt") (" """)) (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"SshProt",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"SshProt",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""SshProt"" (" """) (string_content "SshProt") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (iVar3 == 1) {\n    iVar3 = 0;\n  }\n  else if (iVar3 == 2) {\n    iVar3 = 3;\n  }" (if "if") (parenthesized_expression "(iVar3 == 1)" (( "(") (binary_expression "iVar3 == 1" (identifier "iVar3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    iVar3 = 0;\n  }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (iVar3 == 2) {\n    iVar3 = 3;\n  }" (else "else") (if_statement "if (iVar3 == 2) {\n    iVar3 = 3;\n  }" (if "if") (parenthesized_expression "(iVar3 == 2)" (( "(") (binary_expression "iVar3 == 2" (identifier "iVar3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    iVar3 = 3;\n  }" ({ "{") (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";")) (} "}"))))) (expression_statement "FUN_00017aa0(param_2,0x21,iVar3);" (call_expression "FUN_00017aa0(param_2,0x21,iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x21,iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0x21") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,9);" (call_expression "FUN_00025320(param_2,9)" (identifier "FUN_00025320") (argument_list "(param_2,9)" (( "(") (identifier "param_2") (, ",") (number_literal "9") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x22);" (call_expression "FUN_00025220(param_2,0x22)" (identifier "FUN_00025220") (argument_list "(param_2,0x22)" (( "(") (identifier "param_2") (, ",") (number_literal "0x22") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x23);" (call_expression "FUN_00025220(param_2,0x23)" (identifier "FUN_00025220") (argument_list "(param_2,0x23)" (( "(") (identifier "param_2") (, ",") (number_literal "0x23") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x24);" (call_expression "FUN_00025220(param_2,0x24)" (identifier "FUN_00025220") (argument_list "(param_2,0x24)" (( "(") (identifier "param_2") (, ",") (number_literal "0x24") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x25);" (call_expression "FUN_00025220(param_2,0x25)" (identifier "FUN_00025220") (argument_list "(param_2,0x25)" (( "(") (identifier "param_2") (, ",") (number_literal "0x25") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x26);" (call_expression "FUN_00025220(param_2,0x26)" (identifier "FUN_00025220") (argument_list "(param_2,0x26)" (( "(") (identifier "param_2") (, ",") (number_literal "0x26") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x27);" (call_expression "FUN_00025220(param_2,0x27)" (identifier "FUN_00025220") (argument_list "(param_2,0x27)" (( "(") (identifier "param_2") (, ",") (number_literal "0x27") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" (identifier "uVar2") (= "=") (call_expression "FUN_000252c0()" (identifier "FUN_000252c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00024ee0(param_2,0x29);" (call_expression "FUN_00024ee0(param_2,0x29)" (identifier "FUN_00024ee0") (argument_list "(param_2,0x29)" (( "(") (identifier "param_2") (, ",") (number_literal "0x29") () ")"))) (; ";")) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" (identifier "FUN_0001b250") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_000251c0(0x2a);" (call_expression "FUN_000251c0(0x2a)" (identifier "FUN_000251c0") (argument_list "(0x2a)" (( "(") (number_literal "0x2a") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x2d);" (call_expression "FUN_00025220(param_2,0x2d)" (identifier "FUN_00025220") (argument_list "(param_2,0x2d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x2d") () ")"))) (; ";")) (expression_statement "FUN_000251c0(0x20);" (call_expression "FUN_000251c0(0x20)" (identifier "FUN_000251c0") (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x14);" (call_expression "FUN_00025320(param_2,0x14)" (identifier "FUN_00025320") (argument_list "(param_2,0x14)" (( "(") (identifier "param_2") (, ",") (number_literal "0x14") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x37);" (call_expression "FUN_00025220(param_2,0x37)" (identifier "FUN_00025220") (argument_list "(param_2,0x37)" (( "(") (identifier "param_2") (, ",") (number_literal "0x37") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x38);" (call_expression "FUN_00025220(param_2,0x38)" (identifier "FUN_00025220") (argument_list "(param_2,0x38)" (( "(") (identifier "param_2") (, ",") (number_literal "0x38") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x3f);" (call_expression "FUN_00025220(param_2,0x3f)" (identifier "FUN_00025220") (argument_list "(param_2,0x3f)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3f") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x40);" (call_expression "FUN_00025220(param_2,0x40)" (identifier "FUN_00025220") (argument_list "(param_2,0x40)" (( "(") (identifier "param_2") (, ",") (number_literal "0x40") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x41);" (call_expression "FUN_00025220(param_2,0x41)" (identifier "FUN_00025220") (argument_list "(param_2,0x41)" (( "(") (identifier "param_2") (, ",") (number_literal "0x41") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x43);" (call_expression "FUN_00025220(param_2,0x43)" (identifier "FUN_00025220") (argument_list "(param_2,0x43)" (( "(") (identifier "param_2") (, ",") (number_literal "0x43") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x42);" (call_expression "FUN_00025220(param_2,0x42)" (identifier "FUN_00025220") (argument_list "(param_2,0x42)" (( "(") (identifier "param_2") (, ",") (number_literal "0x42") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x44);" (call_expression "FUN_00025220(param_2,0x44)" (identifier "FUN_00025220") (argument_list "(param_2,0x44)" (( "(") (identifier "param_2") (, ",") (number_literal "0x44") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x45);" (call_expression "FUN_00025220(param_2,0x45)" (identifier "FUN_00025220") (argument_list "(param_2,0x45)" (( "(") (identifier "param_2") (, ",") (number_literal "0x45") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x46);" (call_expression "FUN_00025220(param_2,0x46)" (identifier "FUN_00025220") (argument_list "(param_2,0x46)" (( "(") (identifier "param_2") (, ",") (number_literal "0x46") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x47);" (call_expression "FUN_00025220(param_2,0x47)" (identifier "FUN_00025220") (argument_list "(param_2,0x47)" (( "(") (identifier "param_2") (, ",") (number_literal "0x47") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x48);" (call_expression "FUN_00025220(param_2,0x48)" (identifier "FUN_00025220") (argument_list "(param_2,0x48)" (( "(") (identifier "param_2") (, ",") (number_literal "0x48") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("NoRemoteQTitle",1);" (assignment_expression "uVar2 = FUN_0006a090("NoRemoteQTitle",1)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("NoRemoteQTitle",1)" (identifier "FUN_0006a090") (argument_list "("NoRemoteQTitle",1)" (( "(") (string_literal ""NoRemoteQTitle"" (" """) (string_content "NoRemoteQTitle") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);" (call_expression "FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"NoRemoteQTitle",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""NoRemoteQTitle"" (" """) (string_content "NoRemoteQTitle") (" """)) (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x4b);" (call_expression "FUN_00025220(param_2,0x4b)" (identifier "FUN_00025220") (argument_list "(param_2,0x4b)" (( "(") (identifier "param_2") (, ",") (number_literal "0x4b") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x49);" (call_expression "FUN_00025220(param_2,0x49)" (identifier "FUN_00025220") (argument_list "(param_2,0x49)" (( "(") (identifier "param_2") (, ",") (number_literal "0x49") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x4a);" (call_expression "FUN_00025220(param_2,0x4a)" (identifier "FUN_00025220") (argument_list "(param_2,0x4a)" (( "(") (identifier "param_2") (, ",") (number_literal "0x4a") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x4c);" (call_expression "FUN_00025220(param_2,0x4c)" (identifier "FUN_00025220") (argument_list "(param_2,0x4c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x4c") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x4d);" (call_expression "FUN_00025220(param_2,0x4d)" (identifier "FUN_00025220") (argument_list "(param_2,0x4d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x4d") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x4e);" (call_expression "FUN_00025220(param_2,0x4e)" (identifier "FUN_00025220") (argument_list "(param_2,0x4e)" (( "(") (identifier "param_2") (, ",") (number_literal "0x4e") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x51);" (call_expression "FUN_00025220(param_2,0x51)" (identifier "FUN_00025220") (argument_list "(param_2,0x51)" (( "(") (identifier "param_2") (, ",") (number_literal "0x51") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x52);" (call_expression "FUN_00025220(param_2,0x52)" (identifier "FUN_00025220") (argument_list "(param_2,0x52)" (( "(") (identifier "param_2") (, ",") (number_literal "0x52") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x53);" (call_expression "FUN_00025220(param_2,0x53)" (identifier "FUN_00025220") (argument_list "(param_2,0x53)" (( "(") (identifier "param_2") (, ",") (number_literal "0x53") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x5b);" (call_expression "FUN_00025220(param_2,0x5b)" (identifier "FUN_00025220") (argument_list "(param_2,0x5b)" (( "(") (identifier "param_2") (, ",") (number_literal "0x5b") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x5c);" (call_expression "FUN_00025220(param_2,0x5c)" (identifier "FUN_00025220") (argument_list "(param_2,0x5c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x5c") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x4f);" (call_expression "FUN_00025220(param_2,0x4f)" (identifier "FUN_00025220") (argument_list "(param_2,0x4f)" (( "(") (identifier "param_2") (, ",") (number_literal "0x4f") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x50);" (call_expression "FUN_00025220(param_2,0x50)" (identifier "FUN_00025220") (argument_list "(param_2,0x50)" (( "(") (identifier "param_2") (, ",") (number_literal "0x50") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x54);" (call_expression "FUN_00025220(param_2,0x54)" (identifier "FUN_00025220") (argument_list "(param_2,0x54)" (( "(") (identifier "param_2") (, ",") (number_literal "0x54") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x55);" (call_expression "FUN_00025220(param_2,0x55)" (identifier "FUN_00025220") (argument_list "(param_2,0x55)" (( "(") (identifier "param_2") (, ",") (number_literal "0x55") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x80);" (call_expression "FUN_00025320(param_2,0x80)" (identifier "FUN_00025320") (argument_list "(param_2,0x80)" (( "(") (identifier "param_2") (, ",") (number_literal "0x80") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x56);" (call_expression "FUN_00025220(param_2,0x56)" (identifier "FUN_00025220") (argument_list "(param_2,0x56)" (( "(") (identifier "param_2") (, ",") (number_literal "0x56") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x57);" (call_expression "FUN_00025220(param_2,0x57)" (identifier "FUN_00025220") (argument_list "(param_2,0x57)" (( "(") (identifier "param_2") (, ",") (number_literal "0x57") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x7d);" (call_expression "FUN_00025220(param_2,0x7d)" (identifier "FUN_00025220") (argument_list "(param_2,0x7d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x7d") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x7e);" (call_expression "FUN_00025220(param_2,0x7e)" (identifier "FUN_00025220") (argument_list "(param_2,0x7e)" (( "(") (identifier "param_2") (, ",") (number_literal "0x7e") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x7f);" (call_expression "FUN_00025220(param_2,0x7f)" (identifier "FUN_00025220") (argument_list "(param_2,0x7f)" (( "(") (identifier "param_2") (, ",") (number_literal "0x7f") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,100);" (call_expression "FUN_00025220(param_2,100)" (identifier "FUN_00025220") (argument_list "(param_2,100)" (( "(") (identifier "param_2") (, ",") (number_literal "100") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x65);" (call_expression "FUN_00025220(param_2,0x65)" (identifier "FUN_00025220") (argument_list "(param_2,0x65)" (( "(") (identifier "param_2") (, ",") (number_literal "0x65") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x66);" (call_expression "FUN_00025220(param_2,0x66)" (identifier "FUN_00025220") (argument_list "(param_2,0x66)" (( "(") (identifier "param_2") (, ",") (number_literal "0x66") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x67);" (call_expression "FUN_00025220(param_2,0x67)" (identifier "FUN_00025220") (argument_list "(param_2,0x67)" (( "(") (identifier "param_2") (, ",") (number_literal "0x67") () ")"))) (; ";")) (expression_statement "FUN_000251c0(0x6c);" (call_expression "FUN_000251c0(0x6c)" (identifier "FUN_000251c0") (argument_list "(0x6c)" (( "(") (number_literal "0x6c") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x68);" (call_expression "FUN_00025220(param_2,0x68)" (identifier "FUN_00025220") (argument_list "(param_2,0x68)" (( "(") (identifier "param_2") (, ",") (number_literal "0x68") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x69);" (call_expression "FUN_00025220(param_2,0x69)" (identifier "FUN_00025220") (argument_list "(param_2,0x69)" (( "(") (identifier "param_2") (, ",") (number_literal "0x69") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BellOverloadT",2000000);" (assignment_expression "uVar2 = FUN_0006a090("BellOverloadT",2000000)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BellOverloadT",2000000)" (identifier "FUN_0006a090") (argument_list "("BellOverloadT",2000000)" (( "(") (string_literal ""BellOverloadT"" (" """) (string_content "BellOverloadT") (" """)) (, ",") (number_literal "2000000") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BellOverloadT",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BellOverloadT",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BellOverloadT"" (" """) (string_content "BellOverloadT") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0x6a,iVar3 / 1000);" (call_expression "FUN_00017aa0(param_2,0x6a,iVar3 / 1000)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x6a,iVar3 / 1000)" (( "(") (identifier "param_2") (, ",") (number_literal "0x6a") (, ",") (binary_expression "iVar3 / 1000" (identifier "iVar3") (/ "/") (number_literal "1000")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BellOverloadS",5000000);" (assignment_expression "uVar2 = FUN_0006a090("BellOverloadS",5000000)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BellOverloadS",5000000)" (identifier "FUN_0006a090") (argument_list "("BellOverloadS",5000000)" (( "(") (string_literal ""BellOverloadS"" (" """) (string_content "BellOverloadS") (" """)) (, ",") (number_literal "5000000") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BellOverloadS",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BellOverloadS",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BellOverloadS"" (" """) (string_content "BellOverloadS") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0x6b,iVar3 / 1000);" (call_expression "FUN_00017aa0(param_2,0x6b,iVar3 / 1000)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x6b,iVar3 / 1000)" (( "(") (identifier "param_2") (, ",") (number_literal "0x6b") (, ",") (binary_expression "iVar3 / 1000" (identifier "iVar3") (/ "/") (number_literal "1000")) () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x60);" (call_expression "FUN_00025220(param_2,0x60)" (identifier "FUN_00025220") (argument_list "(param_2,0x60)" (( "(") (identifier "param_2") (, ",") (number_literal "0x60") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x61);" (call_expression "FUN_00025220(param_2,0x61)" (identifier "FUN_00025220") (argument_list "(param_2,0x61)" (( "(") (identifier "param_2") (, ",") (number_literal "0x61") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x62);" (call_expression "FUN_00025220(param_2,0x62)" (identifier "FUN_00025220") (argument_list "(param_2,0x62)" (( "(") (identifier "param_2") (, ",") (number_literal "0x62") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,99);" (call_expression "FUN_00025220(param_2,99)" (identifier "FUN_00025220") (argument_list "(param_2,99)" (( "(") (identifier "param_2") (, ",") (number_literal "99") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xb6);" (call_expression "FUN_00025220(param_2,0xb6)" (identifier "FUN_00025220") (argument_list "(param_2,0xb6)" (( "(") (identifier "param_2") (, ",") (number_literal "0xb6") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x82);" (call_expression "FUN_00025220(param_2,0x82)" (identifier "FUN_00025220") (argument_list "(param_2,0x82)" (( "(") (identifier "param_2") (, ",") (number_literal "0x82") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x83);" (call_expression "FUN_00025220(param_2,0x83)" (identifier "FUN_00025220") (argument_list "(param_2,0x83)" (( "(") (identifier "param_2") (, ",") (number_literal "0x83") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x72);" (call_expression "FUN_00025220(param_2,0x72)" (identifier "FUN_00025220") (argument_list "(param_2,0x72)" (( "(") (identifier "param_2") (, ",") (number_literal "0x72") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x5f);" (call_expression "FUN_00025320(param_2,0x5f)" (identifier "FUN_00025320") (argument_list "(param_2,0x5f)" (( "(") (identifier "param_2") (, ",") (number_literal "0x5f") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x73);" (call_expression "FUN_00025220(param_2,0x73)" (identifier "FUN_00025220") (argument_list "(param_2,0x73)" (( "(") (identifier "param_2") (, ",") (number_literal "0x73") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x74);" (call_expression "FUN_00025220(param_2,0x74)" (identifier "FUN_00025220") (argument_list "(param_2,0x74)" (( "(") (identifier "param_2") (, ",") (number_literal "0x74") () ")"))) (; ";")) (expression_statement "FUN_00025260(0x75);" (call_expression "FUN_00025260(0x75)" (identifier "FUN_00025260") (argument_list "(0x75)" (( "(") (number_literal "0x75") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x76);" (call_expression "FUN_00025220(param_2,0x76)" (identifier "FUN_00025220") (argument_list "(param_2,0x76)" (( "(") (identifier "param_2") (, ",") (number_literal "0x76") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x90);" (call_expression "FUN_00025220(param_2,0x90)" (identifier "FUN_00025220") (argument_list "(param_2,0x90)" (( "(") (identifier "param_2") (, ",") (number_literal "0x90") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x86);" (call_expression "FUN_00025220(param_2,0x86)" (identifier "FUN_00025220") (argument_list "(param_2,0x86)" (( "(") (identifier "param_2") (, ",") (number_literal "0x86") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x87);" (call_expression "FUN_00025220(param_2,0x87)" (identifier "FUN_00025220") (argument_list "(param_2,0x87)" (( "(") (identifier "param_2") (, ",") (number_literal "0x87") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x84);" (call_expression "FUN_00025220(param_2,0x84)" (identifier "FUN_00025220") (argument_list "(param_2,0x84)" (( "(") (identifier "param_2") (, ",") (number_literal "0x84") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x85);" (call_expression "FUN_00025220(param_2,0x85)" (identifier "FUN_00025220") (argument_list "(param_2,0x85)" (( "(") (identifier "param_2") (, ",") (number_literal "0x85") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BoldAsColour",1);" (assignment_expression "uVar2 = FUN_0006a090("BoldAsColour",1)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BoldAsColour",1)" (identifier "FUN_0006a090") (argument_list "("BoldAsColour",1)" (( "(") (string_literal ""BoldAsColour"" (" """) (string_content "BoldAsColour") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BoldAsColour",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BoldAsColour",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BoldAsColour"" (" """) (string_content "BoldAsColour") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0x88,iVar3 + 1);" (call_expression "FUN_00017aa0(param_2,0x88,iVar3 + 1)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x88,iVar3 + 1)" (( "(") (identifier "param_2") (, ",") (number_literal "0x88") (, ",") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  } while (iVar3 != 0x16);" (do "do") (compound_statement "{\n    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);\n    uVar2 = FUN_000252c0();\n    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);\n    if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }\n    iVar3 = iVar3 + 1;\n    FUN_0001b250(uVar2);\n  }" ({ "{") (expression_statement "__sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);" (call_expression "__sprintf_chk(local_34,1,0x14,"Colour%d",iVar3)" (identifier "__sprintf_chk") (argument_list "(local_34,1,0x14,"Colour%d",iVar3)" (( "(") (identifier "local_34") (, ",") (number_literal "1") (, ",") (number_literal "0x14") (, ",") (string_literal ""Colour%d"" (" """) (string_content "Colour%d") (" """)) (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_000252c0();" (assignment_expression "uVar2 = FUN_000252c0()" (identifier "uVar2") (= "=") (call_expression "FUN_000252c0()" (identifier "FUN_000252c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);" (assignment_expression "iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" (identifier "iVar4") (= "=") (call_expression "__isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" (identifier "__isoc99_sscanf") (argument_list "(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38)" (( "(") (identifier "uVar2") (, ",") (pointer_expression "&DAT_00072fed" (& "&") (identifier "DAT_00072fed")) (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")")))) (; ";")) (if_statement "if (iVar4 == 3) {\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }" (if "if") (parenthesized_expression "(iVar4 == 3)" (( "(") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      iVar4 = iVar3 * 3;\n      FUN_00017b40(param_2,0x89,iVar4,local_40);\n      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);\n      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);\n    }" ({ "{") (expression_statement "iVar4 = iVar3 * 3;" (assignment_expression "iVar4 = iVar3 * 3" (identifier "iVar4") (= "=") (binary_expression "iVar3 * 3" (identifier "iVar3") (* "*") (number_literal "3"))) (; ";")) (expression_statement "FUN_00017b40(param_2,0x89,iVar4,local_40);" (call_expression "FUN_00017b40(param_2,0x89,iVar4,local_40)" (identifier "FUN_00017b40") (argument_list "(param_2,0x89,iVar4,local_40)" (( "(") (identifier "param_2") (, ",") (number_literal "0x89") (, ",") (identifier "iVar4") (, ",") (identifier "local_40") () ")"))) (; ";")) (expression_statement "FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);" (call_expression "FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c)" (identifier "FUN_00017b40") (argument_list "(param_2,0x89,iVar4 + 1,local_3c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x89") (, ",") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (, ",") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);" (call_expression "FUN_00017b40(param_2,0x89,iVar4 + 2,local_38)" (identifier "FUN_00017b40") (argument_list "(param_2,0x89,iVar4 + 2,local_38)" (( "(") (identifier "param_2") (, ",") (number_literal "0x89") (, ",") (binary_expression "iVar4 + 2" (identifier "iVar4") (+ "+") (number_literal "2")) (, ",") (identifier "local_38") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0001b250(uVar2);" (call_expression "FUN_0001b250(uVar2)" (identifier "FUN_0001b250") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != 0x16)" (( "(") (binary_expression "iVar3 != 0x16" (identifier "iVar3") (!= "!=") (number_literal "0x16")) () ")")) (; ";")) (expression_statement "FUN_00025220(param_2,0x8c);" (call_expression "FUN_00025220(param_2,0x8c)" (identifier "FUN_00025220") (argument_list "(param_2,0x8c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x8c") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x8d);" (call_expression "FUN_00025220(param_2,0x8d)" (identifier "FUN_00025220") (argument_list "(param_2,0x8d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x8d") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x8a);" (call_expression "FUN_00025220(param_2,0x8a)" (identifier "FUN_00025220") (argument_list "(param_2,0x8a)" (( "(") (identifier "param_2") (, ",") (number_literal "0x8a") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x8b);" (call_expression "FUN_00025220(param_2,0x8b)" (identifier "FUN_00025220") (argument_list "(param_2,0x8b)" (( "(") (identifier "param_2") (, ",") (number_literal "0x8b") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x8e);" (call_expression "FUN_00025220(param_2,0x8e)" (identifier "FUN_00025220") (argument_list "(param_2,0x8e)" (( "(") (identifier "param_2") (, ",") (number_literal "0x8e") () ")"))) (; ";")) (expression_statement "local_70 = (byte *)0x20;" (assignment_expression "local_70 = (byte *)0x20" (identifier "local_70") (= "=") (cast_expression "(byte *)0x20" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x20"))) (; ";")) (labeled_statement "LAB_00027ba9:\n  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);" (statement_identifier "LAB_00027ba9") (: ":") (expression_statement "__sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);" (call_expression "__sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20)" (identifier "__sprintf_chk") (argument_list "(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20)" (( "(") (identifier "local_34") (, ",") (number_literal "1") (, ",") (number_literal "0x14") (, ",") (string_literal ""Wordness%d"" (" """) (string_content "Wordness%d") (" """)) (, ",") (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_70")) (+ "+") (number_literal "-0x20")) () ")"))) (; ";"))) (expression_statement "pcVar5 = (char *)FUN_000252c0();" (assignment_expression "pcVar5 = (char *)FUN_000252c0()" (identifier "pcVar5") (= "=") (cast_expression "(char *)FUN_000252c0()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000252c0()" (identifier "FUN_000252c0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "cVar1 = *pcVar5;" (assignment_expression "cVar1 = *pcVar5" (identifier "cVar1") (= "=") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5"))) (; ";")) (expression_statement "iVar3 = (int)local_70 + -0x20;" (assignment_expression "iVar3 = (int)local_70 + -0x20" (identifier "iVar3") (= "=") (binary_expression "(int)local_70 + -0x20" (cast_expression "(int)local_70" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_70")) (+ "+") (number_literal "-0x20"))) (; ";")) (expression_statement "__nptr = pcVar5;" (assignment_expression "__nptr = pcVar5" (identifier "__nptr") (= "=") (identifier "pcVar5")) (; ";")) (do_statement "do {\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  } while( true );" (do "do") (compound_statement "{\n    pcVar12 = __nptr;\n    if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }\n    if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }\n    lVar6 = strtol(__nptr,(char **)0x0,10);\n    FUN_00017b40(param_2,0x8f,iVar3,lVar6);\n    if (local_70 == (byte *)(iVar3 + 1)) break;\n    cVar1 = *pcVar12;\n    iVar3 = iVar3 + 1;\n    __nptr = pcVar12;\n  }" ({ "{") (expression_statement "pcVar12 = __nptr;" (assignment_expression "pcVar12 = __nptr" (identifier "pcVar12") (= "=") (identifier "__nptr")) (; ";")) (if_statement "if ((cVar1 != ',') && (cVar1 != '\0')) {\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }" (if "if") (parenthesized_expression "((cVar1 != ',') && (cVar1 != '\0'))" (( "(") (binary_expression "(cVar1 != ',') && (cVar1 != '\0')" (parenthesized_expression "(cVar1 != ',')" (( "(") (binary_expression "cVar1 != ','" (identifier "cVar1") (!= "!=") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');\n    }" ({ "{") (do_statement "do {\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      } while (cVar1 != ',');" (do "do") (compound_statement "{\n        pcVar12 = pcVar12 + 1;\n        cVar1 = *pcVar12;\n        if (cVar1 == '\0') break;\n      }" ({ "{") (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" (identifier "pcVar12") (= "=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar1 = *pcVar12;" (assignment_expression "cVar1 = *pcVar12" (identifier "cVar1") (= "=") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) (; ";")) (if_statement "if (cVar1 == '\0') break;" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(cVar1 != ',')" (( "(") (binary_expression "cVar1 != ','" (identifier "cVar1") (!= "!=") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}"))) (if_statement "if (cVar1 == ',') {\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }" (if "if") (parenthesized_expression "(cVar1 == ',')" (( "(") (binary_expression "cVar1 == ','" (identifier "cVar1") (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n      *pcVar12 = '\0';\n      pcVar12 = pcVar12 + 1;\n    }" ({ "{") (expression_statement "*pcVar12 = '\0';" (assignment_expression "*pcVar12 = '\0'" (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" (identifier "pcVar12") (= "=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "lVar6 = strtol(__nptr,(char **)0x0,10);" (assignment_expression "lVar6 = strtol(__nptr,(char **)0x0,10)" (identifier "lVar6") (= "=") (call_expression "strtol(__nptr,(char **)0x0,10)" (identifier "strtol") (argument_list "(__nptr,(char **)0x0,10)" (( "(") (identifier "__nptr") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "FUN_00017b40(param_2,0x8f,iVar3,lVar6);" (call_expression "FUN_00017b40(param_2,0x8f,iVar3,lVar6)" (identifier "FUN_00017b40") (argument_list "(param_2,0x8f,iVar3,lVar6)" (( "(") (identifier "param_2") (, ",") (number_literal "0x8f") (, ",") (identifier "iVar3") (, ",") (identifier "lVar6") () ")"))) (; ";")) (if_statement "if (local_70 == (byte *)(iVar3 + 1)) break;" (if "if") (parenthesized_expression "(local_70 == (byte *)(iVar3 + 1))" (( "(") (binary_expression "local_70 == (byte *)(iVar3 + 1)" (identifier "local_70") (== "==") (cast_expression "(byte *)(iVar3 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 1)" (( "(") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1")) () ")")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "cVar1 = *pcVar12;" (assignment_expression "cVar1 = *pcVar12" (identifier "cVar1") (= "=") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) (; ";")) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "__nptr = pcVar12;" (assignment_expression "__nptr = pcVar12" (identifier "__nptr") (= "=") (identifier "pcVar12")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (expression_statement "FUN_0001b250(pcVar5);" (call_expression "FUN_0001b250(pcVar5)" (identifier "FUN_0001b250") (argument_list "(pcVar5)" (( "(") (identifier "pcVar5") () ")"))) (; ";")) (expression_statement "local_70 = (byte *)((int)local_70 + 0x20);" (assignment_expression "local_70 = (byte *)((int)local_70 + 0x20)" (identifier "local_70") (= "=") (cast_expression "(byte *)((int)local_70 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_70 + 0x20)" (( "(") (binary_expression "(int)local_70 + 0x20" (cast_expression "(int)local_70" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_70")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (local_70 == (byte *)0x120) {\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }" (if "if") (parenthesized_expression "(local_70 == (byte *)0x120)" (( "(") (binary_expression "local_70 == (byte *)0x120" (identifier "local_70") (== "==") (cast_expression "(byte *)0x120" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x120"))) () ")")) (compound_statement "{\n    FUN_00025320(param_2,0x91);\n    FUN_00025220(param_2,0x92);\n    FUN_00025220(param_2,0x93);\n    FUN_00025320(param_2,0x81);\n    FUN_00025220(param_2,0x94);\n    FUN_00025220(param_2,0x6d);\n    FUN_00025220(param_2,0x6e);\n    FUN_00025220(param_2,0x58);\n    FUN_00025220(param_2,0x59);\n    FUN_00025220(param_2,0x5a);\n    FUN_00025220(param_2,0x6f);\n    FUN_00025220(param_2,0x70);\n    FUN_00025220(param_2,0x71);\n    FUN_00025220(param_2,0x95);\n    FUN_00025320(param_2,0x96);\n    FUN_00025220(param_2,0x97);\n    FUN_000251c0(0x98);\n    FUN_00025220(param_2,0x99);\n    FUN_00025220(param_2,0x9a);\n    FUN_00025360(0x9b);\n    uVar2 = FUN_0006a090("BugIgnore1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);\n    FUN_00017aa0(param_2,0x9c,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPlainPW1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);\n    FUN_00017aa0(param_2,0x9d,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSA1",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);\n    FUN_00017aa0(param_2,0x9e,2 - iVar3);\n    uVar2 = FUN_0006a090("BugIgnore2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);\n    FUN_00017aa0(param_2,0xa5,2 - iVar3);\n    uVar2 = FUN_0006a090("BugHMAC2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);\n    FUN_00017aa0(param_2,0x9f,2 - iVar3);\n    if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }\n    uVar2 = FUN_0006a090("BugDeriveKey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);\n    FUN_00017aa0(param_2,0xa0,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRSAPad2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);\n    FUN_00017aa0(param_2,0xa1,2 - iVar3);\n    uVar2 = FUN_0006a090("BugPKSessID2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);\n    FUN_00017aa0(param_2,0xa2,2 - iVar3);\n    uVar2 = FUN_0006a090("BugRekey2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);\n    FUN_00017aa0(param_2,0xa3,2 - iVar3);\n    uVar2 = FUN_0006a090("BugMaxPkt2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);\n    FUN_00017aa0(param_2,0xa4,2 - iVar3);\n    uVar2 = FUN_0006a090("BugOldGex2",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);\n    FUN_00017aa0(param_2,0xa6,2 - iVar3);\n    uVar2 = FUN_0006a090("BugWinadj",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);\n    FUN_00017aa0(param_2,0xa7,2 - iVar3);\n    uVar2 = FUN_0006a090("BugChanReq",0);\n    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);\n    FUN_00017aa0(param_2,0xa8,2 - iVar3);\n    FUN_00017aa0(param_2,0xa9,0);\n    FUN_00025220(param_2,0xae);\n    FUN_00025220(param_2,0xaf);\n    FUN_00025220(param_2,0xb0);\n    FUN_00025220(param_2,0xb1);\n    FUN_00025260(0xb2);\n    FUN_00025260(0xb3);\n    FUN_00025260(0xb4);\n    FUN_00025220(param_2,0xb5);\n    FUN_00025320(param_2,0x39);\n    FUN_00025220(param_2,0x3a);\n    FUN_00025220(param_2,0x3b);\n    FUN_00025220(param_2,0x3c);\n    FUN_00025220(param_2,0x3d);\n    FUN_00025220(param_2,0x3e);\n    FUN_00025320(param_2,0xb7);\n    FUN_00025220(param_2,0xaa);\n    FUN_00025220(param_2,0xab);\n    FUN_00025220(param_2,0xac);\n    FUN_00025360(0xad);\n    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\n    }\n                    \n    FUN_0006f2a0();\n  }" ({ "{") (expression_statement "FUN_00025320(param_2,0x91);" (call_expression "FUN_00025320(param_2,0x91)" (identifier "FUN_00025320") (argument_list "(param_2,0x91)" (( "(") (identifier "param_2") (, ",") (number_literal "0x91") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x92);" (call_expression "FUN_00025220(param_2,0x92)" (identifier "FUN_00025220") (argument_list "(param_2,0x92)" (( "(") (identifier "param_2") (, ",") (number_literal "0x92") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x93);" (call_expression "FUN_00025220(param_2,0x93)" (identifier "FUN_00025220") (argument_list "(param_2,0x93)" (( "(") (identifier "param_2") (, ",") (number_literal "0x93") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x81);" (call_expression "FUN_00025320(param_2,0x81)" (identifier "FUN_00025320") (argument_list "(param_2,0x81)" (( "(") (identifier "param_2") (, ",") (number_literal "0x81") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x94);" (call_expression "FUN_00025220(param_2,0x94)" (identifier "FUN_00025220") (argument_list "(param_2,0x94)" (( "(") (identifier "param_2") (, ",") (number_literal "0x94") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x6d);" (call_expression "FUN_00025220(param_2,0x6d)" (identifier "FUN_00025220") (argument_list "(param_2,0x6d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x6d") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x6e);" (call_expression "FUN_00025220(param_2,0x6e)" (identifier "FUN_00025220") (argument_list "(param_2,0x6e)" (( "(") (identifier "param_2") (, ",") (number_literal "0x6e") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x58);" (call_expression "FUN_00025220(param_2,0x58)" (identifier "FUN_00025220") (argument_list "(param_2,0x58)" (( "(") (identifier "param_2") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x59);" (call_expression "FUN_00025220(param_2,0x59)" (identifier "FUN_00025220") (argument_list "(param_2,0x59)" (( "(") (identifier "param_2") (, ",") (number_literal "0x59") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x5a);" (call_expression "FUN_00025220(param_2,0x5a)" (identifier "FUN_00025220") (argument_list "(param_2,0x5a)" (( "(") (identifier "param_2") (, ",") (number_literal "0x5a") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x6f);" (call_expression "FUN_00025220(param_2,0x6f)" (identifier "FUN_00025220") (argument_list "(param_2,0x6f)" (( "(") (identifier "param_2") (, ",") (number_literal "0x6f") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x70);" (call_expression "FUN_00025220(param_2,0x70)" (identifier "FUN_00025220") (argument_list "(param_2,0x70)" (( "(") (identifier "param_2") (, ",") (number_literal "0x70") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x71);" (call_expression "FUN_00025220(param_2,0x71)" (identifier "FUN_00025220") (argument_list "(param_2,0x71)" (( "(") (identifier "param_2") (, ",") (number_literal "0x71") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x95);" (call_expression "FUN_00025220(param_2,0x95)" (identifier "FUN_00025220") (argument_list "(param_2,0x95)" (( "(") (identifier "param_2") (, ",") (number_literal "0x95") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x96);" (call_expression "FUN_00025320(param_2,0x96)" (identifier "FUN_00025320") (argument_list "(param_2,0x96)" (( "(") (identifier "param_2") (, ",") (number_literal "0x96") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x97);" (call_expression "FUN_00025220(param_2,0x97)" (identifier "FUN_00025220") (argument_list "(param_2,0x97)" (( "(") (identifier "param_2") (, ",") (number_literal "0x97") () ")"))) (; ";")) (expression_statement "FUN_000251c0(0x98);" (call_expression "FUN_000251c0(0x98)" (identifier "FUN_000251c0") (argument_list "(0x98)" (( "(") (number_literal "0x98") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x99);" (call_expression "FUN_00025220(param_2,0x99)" (identifier "FUN_00025220") (argument_list "(param_2,0x99)" (( "(") (identifier "param_2") (, ",") (number_literal "0x99") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x9a);" (call_expression "FUN_00025220(param_2,0x9a)" (identifier "FUN_00025220") (argument_list "(param_2,0x9a)" (( "(") (identifier "param_2") (, ",") (number_literal "0x9a") () ")"))) (; ";")) (expression_statement "FUN_00025360(0x9b);" (call_expression "FUN_00025360(0x9b)" (identifier "FUN_00025360") (argument_list "(0x9b)" (( "(") (number_literal "0x9b") () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugIgnore1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugIgnore1",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugIgnore1",0)" (identifier "FUN_0006a090") (argument_list "("BugIgnore1",0)" (( "(") (string_literal ""BugIgnore1"" (" """) (string_content "BugIgnore1") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugIgnore1",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugIgnore1",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugIgnore1"" (" """) (string_content "BugIgnore1") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0x9c,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9c,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x9c,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0x9c") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugPlainPW1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugPlainPW1",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugPlainPW1",0)" (identifier "FUN_0006a090") (argument_list "("BugPlainPW1",0)" (( "(") (string_literal ""BugPlainPW1"" (" """) (string_content "BugPlainPW1") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugPlainPW1",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugPlainPW1",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugPlainPW1"" (" """) (string_content "BugPlainPW1") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0x9d,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9d,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x9d,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0x9d") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugRSA1",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRSA1",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugRSA1",0)" (identifier "FUN_0006a090") (argument_list "("BugRSA1",0)" (( "(") (string_literal ""BugRSA1"" (" """) (string_content "BugRSA1") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugRSA1",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugRSA1",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugRSA1"" (" """) (string_content "BugRSA1") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0x9e,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9e,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x9e,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0x9e") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugIgnore2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugIgnore2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugIgnore2",0)" (identifier "FUN_0006a090") (argument_list "("BugIgnore2",0)" (( "(") (string_literal ""BugIgnore2"" (" """) (string_content "BugIgnore2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugIgnore2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugIgnore2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugIgnore2"" (" """) (string_content "BugIgnore2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa5,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa5,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa5,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa5") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugHMAC2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugHMAC2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugHMAC2",0)" (identifier "FUN_0006a090") (argument_list "("BugHMAC2",0)" (( "(") (string_literal ""BugHMAC2"" (" """) (string_content "BugHMAC2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugHMAC2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugHMAC2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugHMAC2"" (" """) (string_content "BugHMAC2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0x9f,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0x9f,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x9f,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0x9f") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (if_statement "if (iVar3 == 0) {\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar2 = FUN_0006a090("BuggyMAC",0);\n      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);\n      if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }\n    }" ({ "{") (expression_statement "uVar2 = FUN_0006a090("BuggyMAC",0);" (assignment_expression "uVar2 = FUN_0006a090("BuggyMAC",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BuggyMAC",0)" (identifier "FUN_0006a090") (argument_list "("BuggyMAC",0)" (( "(") (string_literal ""BuggyMAC"" (" """) (string_content "BuggyMAC") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BuggyMAC",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BuggyMAC",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BuggyMAC"" (" """) (string_content "BuggyMAC") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (iVar3 == 1) {\n        FUN_00017aa0(param_2,0x9f,0);\n      }" (if "if") (parenthesized_expression "(iVar3 == 1)" (( "(") (binary_expression "iVar3 == 1" (identifier "iVar3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        FUN_00017aa0(param_2,0x9f,0);\n      }" ({ "{") (expression_statement "FUN_00017aa0(param_2,0x9f,0);" (call_expression "FUN_00017aa0(param_2,0x9f,0)" (identifier "FUN_00017aa0") (argument_list "(param_2,0x9f,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0x9f") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar2 = FUN_0006a090("BugDeriveKey2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugDeriveKey2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugDeriveKey2",0)" (identifier "FUN_0006a090") (argument_list "("BugDeriveKey2",0)" (( "(") (string_literal ""BugDeriveKey2"" (" """) (string_content "BugDeriveKey2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugDeriveKey2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugDeriveKey2"" (" """) (string_content "BugDeriveKey2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa0,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa0,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa0,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa0") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugRSAPad2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRSAPad2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugRSAPad2",0)" (identifier "FUN_0006a090") (argument_list "("BugRSAPad2",0)" (( "(") (string_literal ""BugRSAPad2"" (" """) (string_content "BugRSAPad2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugRSAPad2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugRSAPad2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugRSAPad2"" (" """) (string_content "BugRSAPad2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa1,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa1,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa1,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa1") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugPKSessID2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugPKSessID2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugPKSessID2",0)" (identifier "FUN_0006a090") (argument_list "("BugPKSessID2",0)" (( "(") (string_literal ""BugPKSessID2"" (" """) (string_content "BugPKSessID2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugPKSessID2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugPKSessID2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugPKSessID2"" (" """) (string_content "BugPKSessID2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa2,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa2,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa2,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa2") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugRekey2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugRekey2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugRekey2",0)" (identifier "FUN_0006a090") (argument_list "("BugRekey2",0)" (( "(") (string_literal ""BugRekey2"" (" """) (string_content "BugRekey2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugRekey2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugRekey2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugRekey2"" (" """) (string_content "BugRekey2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa3,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa3,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa3,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa3") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugMaxPkt2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugMaxPkt2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugMaxPkt2",0)" (identifier "FUN_0006a090") (argument_list "("BugMaxPkt2",0)" (( "(") (string_literal ""BugMaxPkt2"" (" """) (string_content "BugMaxPkt2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugMaxPkt2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugMaxPkt2"" (" """) (string_content "BugMaxPkt2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa4,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa4,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa4,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa4") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugOldGex2",0);" (assignment_expression "uVar2 = FUN_0006a090("BugOldGex2",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugOldGex2",0)" (identifier "FUN_0006a090") (argument_list "("BugOldGex2",0)" (( "(") (string_literal ""BugOldGex2"" (" """) (string_content "BugOldGex2") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugOldGex2",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugOldGex2",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugOldGex2"" (" """) (string_content "BugOldGex2") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa6,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa6,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa6,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa6") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugWinadj",0);" (assignment_expression "uVar2 = FUN_0006a090("BugWinadj",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugWinadj",0)" (identifier "FUN_0006a090") (argument_list "("BugWinadj",0)" (( "(") (string_literal ""BugWinadj"" (" """) (string_content "BugWinadj") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugWinadj",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugWinadj",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugWinadj"" (" """) (string_content "BugWinadj") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa7,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa7,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa7,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa7") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "uVar2 = FUN_0006a090("BugChanReq",0);" (assignment_expression "uVar2 = FUN_0006a090("BugChanReq",0)" (identifier "uVar2") (= "=") (call_expression "FUN_0006a090("BugChanReq",0)" (identifier "FUN_0006a090") (argument_list "("BugChanReq",0)" (( "(") (string_literal ""BugChanReq"" (" """) (string_content "BugChanReq") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);" (assignment_expression "iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0006c3d0(param_1,"BugChanReq",uVar2)" (identifier "FUN_0006c3d0") (argument_list "(param_1,"BugChanReq",uVar2)" (( "(") (identifier "param_1") (, ",") (string_literal ""BugChanReq"" (" """) (string_content "BugChanReq") (" """)) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa8,2 - iVar3);" (call_expression "FUN_00017aa0(param_2,0xa8,2 - iVar3)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa8,2 - iVar3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa8") (, ",") (binary_expression "2 - iVar3" (number_literal "2") (- "-") (identifier "iVar3")) () ")"))) (; ";")) (expression_statement "FUN_00017aa0(param_2,0xa9,0);" (call_expression "FUN_00017aa0(param_2,0xa9,0)" (identifier "FUN_00017aa0") (argument_list "(param_2,0xa9,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0xa9") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xae);" (call_expression "FUN_00025220(param_2,0xae)" (identifier "FUN_00025220") (argument_list "(param_2,0xae)" (( "(") (identifier "param_2") (, ",") (number_literal "0xae") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xaf);" (call_expression "FUN_00025220(param_2,0xaf)" (identifier "FUN_00025220") (argument_list "(param_2,0xaf)" (( "(") (identifier "param_2") (, ",") (number_literal "0xaf") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xb0);" (call_expression "FUN_00025220(param_2,0xb0)" (identifier "FUN_00025220") (argument_list "(param_2,0xb0)" (( "(") (identifier "param_2") (, ",") (number_literal "0xb0") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xb1);" (call_expression "FUN_00025220(param_2,0xb1)" (identifier "FUN_00025220") (argument_list "(param_2,0xb1)" (( "(") (identifier "param_2") (, ",") (number_literal "0xb1") () ")"))) (; ";")) (expression_statement "FUN_00025260(0xb2);" (call_expression "FUN_00025260(0xb2)" (identifier "FUN_00025260") (argument_list "(0xb2)" (( "(") (number_literal "0xb2") () ")"))) (; ";")) (expression_statement "FUN_00025260(0xb3);" (call_expression "FUN_00025260(0xb3)" (identifier "FUN_00025260") (argument_list "(0xb3)" (( "(") (number_literal "0xb3") () ")"))) (; ";")) (expression_statement "FUN_00025260(0xb4);" (call_expression "FUN_00025260(0xb4)" (identifier "FUN_00025260") (argument_list "(0xb4)" (( "(") (number_literal "0xb4") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xb5);" (call_expression "FUN_00025220(param_2,0xb5)" (identifier "FUN_00025220") (argument_list "(param_2,0xb5)" (( "(") (identifier "param_2") (, ",") (number_literal "0xb5") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0x39);" (call_expression "FUN_00025320(param_2,0x39)" (identifier "FUN_00025320") (argument_list "(param_2,0x39)" (( "(") (identifier "param_2") (, ",") (number_literal "0x39") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x3a);" (call_expression "FUN_00025220(param_2,0x3a)" (identifier "FUN_00025220") (argument_list "(param_2,0x3a)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3a") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x3b);" (call_expression "FUN_00025220(param_2,0x3b)" (identifier "FUN_00025220") (argument_list "(param_2,0x3b)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3b") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x3c);" (call_expression "FUN_00025220(param_2,0x3c)" (identifier "FUN_00025220") (argument_list "(param_2,0x3c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3c") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x3d);" (call_expression "FUN_00025220(param_2,0x3d)" (identifier "FUN_00025220") (argument_list "(param_2,0x3d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3d") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0x3e);" (call_expression "FUN_00025220(param_2,0x3e)" (identifier "FUN_00025220") (argument_list "(param_2,0x3e)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3e") () ")"))) (; ";")) (expression_statement "FUN_00025320(param_2,0xb7);" (call_expression "FUN_00025320(param_2,0xb7)" (identifier "FUN_00025320") (argument_list "(param_2,0xb7)" (( "(") (identifier "param_2") (, ",") (number_literal "0xb7") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xaa);" (call_expression "FUN_00025220(param_2,0xaa)" (identifier "FUN_00025220") (argument_list "(param_2,0xaa)" (( "(") (identifier "param_2") (, ",") (number_literal "0xaa") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xab);" (call_expression "FUN_00025220(param_2,0xab)" (identifier "FUN_00025220") (argument_list "(param_2,0xab)" (( "(") (identifier "param_2") (, ",") (number_literal "0xab") () ")"))) (; ";")) (expression_statement "FUN_00025220(param_2,0xac);" (call_expression "FUN_00025220(param_2,0xac)" (identifier "FUN_00025220") (argument_list "(param_2,0xac)" (( "(") (identifier "param_2") (, ",") (number_literal "0xac") () ")"))) (; ";")) (expression_statement "FUN_00025360(0xad);" (call_expression "FUN_00025360(0xad)" (identifier "FUN_00025360") (argument_list "(0xad)" (( "(") (number_literal "0xad") () ")"))) (; ";")) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n      return;\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      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0006f2a0();" (call_expression "FUN_0006f2a0()" (identifier "FUN_0006f2a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00027ba9;" (goto "goto") (statement_identifier "LAB_00027ba9") (; ";")) (} "}")))

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

void function_1(void *sesskey,type_1 *conf)

{
  int var_41;
  char var_38;
  char *var_18;
  type_2 *var_9;
  int var_13;
  int var_14;
  char *var_25;
  long value;
  type_3 *var_31;
  type_3 *var_19;
  type_4 *var_26;
  char *var_39;
  type_3 *var_20;
  int var_1;
  bool var_21;
  bool var_33;
  bool bVar15;
  type_3 bVar16;
  type_3 *var_29;
  type_4 *var_24;
  type_3 *var_23;
  int c0;
  int c1;
  int c2;
  char buf [20];
  
  bVar16 = 0;
  var_41 = *(int *)(var_1 + 0x14);
  var_2(conf,0x2b,0);
  var_3(conf,0x14,"");
  var_3(conf,0x15,"");
  var_3(conf,0x2e,"");
  var_4(sesskey,"HostName","",conf,0);
  var_5(sesskey,"LogFileName",conf,0x77);
  var_6(sesskey,"LogType",0,conf,0x78);
  var_6(sesskey,"LogFileClash",-1,conf,0x79);
  var_6(sesskey,"LogFlush",1,conf,0x7a);
  var_6(sesskey,"SSHLogOmitPasswords",1,conf,0x7b);
  var_6(sesskey,"SSHLogOmitData",0,conf,0x7c);
  var_18 = var_7(sesskey,"Protocol","default");
  var_2(conf,2,default_protocol);
  var_2(conf,1,default_port);
  var_9 = var_8(var_18);
  if (var_9 != (type_2 *)0x0) {
    var_2(conf,2,var_9->protocol);
    var_6(sesskey,"PortNumber",default_port,conf,1);
  }
  var_10(var_18);
  var_6(sesskey,"AddressFamily",0,conf,3);
  var_13 = var_11("CloseOnExit",1);
  var_13 = var_12(sesskey,"CloseOnExit",var_13);
  var_2(conf,4,(var_13 + 1) % 3);
  var_6(sesskey,"WarnOnClose",1,conf,5);
  var_13 = var_11("PingInterval",0);
  var_13 = var_12(sesskey,"PingInterval",var_13);
  var_14 = var_11("PingIntervalSecs",0);
  var_14 = var_12(sesskey,"PingIntervalSecs",var_14);
  var_2(conf,6,var_13 * 0x3c + var_14);
  var_6(sesskey,"TCPNoDelay",1,conf,7);
  var_6(sesskey,"TCPKeepalives",0,conf,8);
  var_4(sesskey,"TerminalType","xterm",conf,0x30);
  var_4(sesskey,"TerminalSpeed","38400,38400",conf,0x31);
  var_13 = var_15(sesskey,"TerminalModes",conf,0x32);
  if (var_13 != 0) {
    var_24 = (type_4 *)(var_16 + 8);
    var_31 = &DAT_000732e4;
    var_23 = &DAT_000732df;
    do {
      var_18 = var_17(conf,0x32,(char *)var_31);
      var_21 = false;
      bVar15 = var_18 == (char *)0x0;
      if (bVar15) {
        var_13 = 6;
        var_19 = var_31;
        var_20 = (type_3 *)"IUTF8";
        do {
          if (var_13 == 0) break;
          var_13 = var_13 + -1;
          var_21 = *var_19 < *var_20;
          bVar15 = *var_19 == *var_20;
          var_19 = var_19 + (type_5)bVar16 * -2 + 1;
          var_20 = var_20 + (type_5)bVar16 * -2 + 1;
        } while (bVar15);
        var_18 = "A";
        if ((!var_21 && !bVar15) != var_21) {
          var_18 = "N";
        }
        var_22(conf,0x32,(char *)var_31,var_18);
      }
      if (var_23 == (type_3 *)0x0) goto LAB_00026f8c;
      var_19 = (type_3 *)*var_24;
      var_24 = var_24 + 1;
      var_31 = var_23;
      var_23 = var_19;
    } while( true );
  }
  var_18 = "INTR";
  var_25 = "QUIT";
  var_26 = (type_4 *)(var_16 + 8);
  while (var_22(conf,0x32,var_18,"A"), var_25 != (char *)0x0) {
    var_18 = var_25;
    var_25 = (char *)*var_26;
    var_26 = var_26 + 1;
  }
LAB_00026f8c:
  var_4(sesskey,"ProxyExcludeList","",conf,10);
  var_13 = var_11("ProxyDNS",1);
  var_13 = var_12(sesskey,"ProxyDNS",var_13);
  var_2(conf,0xb,(var_13 + 1) % 3);
  var_6(sesskey,"ProxyLocalhost",0,conf,0xc);
  var_6(sesskey,"ProxyMethod",-1,conf,0xd);
  var_13 = var_27(conf,0xd);
  if (var_13 == -1) {
    var_13 = var_11("ProxyType",0);
    var_13 = var_12(sesskey,"ProxyType",var_13);
    if (var_13 == 0) {
      var_2(conf,0xd,0);
    }
    else if (var_13 == 1) {
      var_2(conf,0xd,3);
    }
    else if (var_13 == 3) {
      var_2(conf,0xd,4);
    }
    else if (var_13 == 4) {
      var_2(conf,0xd,5);
    }
    else {
      var_13 = var_11("ProxySOCKSVersion",5);
      var_13 = var_12(sesskey,"ProxySOCKSVersion",var_13);
      if (var_13 == 5) {
        var_2(conf,0xd,2);
      }
      else {
        var_2(conf,0xd,1);
      }
    }
  }
  var_4(sesskey,"ProxyHost","proxy",conf,0xe);
  var_6(sesskey,"ProxyPort",0x50,conf,0xf);
  var_4(sesskey,"ProxyUsername","",conf,0x10);
  var_4(sesskey,"ProxyPassword","",conf,0x11);
  var_4(sesskey,"ProxyTelnetCommand","connect %host %port\\n",conf,0x12);
  var_6(sesskey,"ProxyLogToTerm",1,conf,0x13);
  var_15(sesskey,"Environment",conf,0x33);
  var_4(sesskey,"UserName","",conf,0x34);
  var_6(sesskey,"UserNameFromEnvironment",0,conf,0x35);
  var_4(sesskey,"LocalUserName","",conf,0x36);
  var_6(sesskey,"NoPTY",0,conf,0x16);
  var_6(sesskey,"Compression",0,conf,0x17);
  var_6(sesskey,"TryAgent",1,conf,0x1c);
  var_6(sesskey,"AgentFwd",0,conf,0x1d);
  var_6(sesskey,"ChangeUsername",0,conf,0x1e);
  var_6(sesskey,"GssapiFwd",0,conf,0x28);
  var_18 = var_7(sesskey,"Cipher","");
  var_28(var_18,ciphernames,7,conf,0x1f);
  var_10(var_18);
  var_13 = var_11("BugDHGEx2",0);
  var_13 = var_12(sesskey,"BugDHGEx2",var_13);
  var_18 = "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1";
  if (var_13 == 2) {
    var_18 = "ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1";
  }
  var_29 = (type_3 *)var_7(sesskey,"KEX",var_18);
  var_21 = false;
  bVar15 = var_29 == (type_3 *)0x0;
  if (bVar15) {
                    /* WARNING: Subroutine does not return */
    var_30("raw != NULL","settings.c",0x366,"load_open_settings");
  }
  var_13 = 0x34;
  var_31 = var_29;
  var_19 = (type_3 *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";
  do {
    if (var_13 == 0) break;
    var_13 = var_13 + -1;
    var_21 = *var_31 < *var_19;
    bVar15 = *var_31 == *var_19;
    var_31 = var_31 + (type_5)bVar16 * -2 + 1;
    var_19 = var_19 + (type_5)bVar16 * -2 + 1;
  } while (bVar15);
  var_33 = false;
  var_21 = (!var_21 && !bVar15) == var_21;
  if (var_21) {
    var_10(var_29);
    var_29 = (type_3 *)var_32("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");
  }
  else {
    var_13 = 0x34;
    var_31 = var_29;
    var_19 = (type_3 *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";
    do {
      if (var_13 == 0) break;
      var_13 = var_13 + -1;
      var_33 = *var_31 < *var_19;
      var_21 = *var_31 == *var_19;
      var_31 = var_31 + (type_5)bVar16 * -2 + 1;
      var_19 = var_19 + (type_5)bVar16 * -2 + 1;
    } while (var_21);
    if ((!var_33 && !var_21) == var_33) {
      var_10(var_29);
      var_29 = (type_3 *)var_32("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");
    }
  }
  var_28((char *)var_29,kexnames,6,conf,0x18);
  var_10(var_29);
  var_18 = var_7(sesskey,"HostKey","ed25519,ecdsa,rsa,dsa,WARN");
  var_28(var_18,hknames,5,conf,0x19);
  var_10(var_18);
  var_6(sesskey,"RekeyTime",0x3c,conf,0x1a);
  var_4(sesskey,"RekeyBytes","1G",conf,0x1b);
  var_13 = var_11("SshProt",3);
  var_13 = var_12(sesskey,"SshProt",var_13);
  if (var_13 == 1) {
    var_13 = 0;
  }
  else if (var_13 == 2) {
    var_13 = 3;
  }
  var_2(conf,0x21,var_13);
  var_4(sesskey,"LogHost","",conf,9);
  var_6(sesskey,"SSH2DES",0,conf,0x22);
  var_6(sesskey,"SshNoAuth",0,conf,0x23);
  var_6(sesskey,"SshBanner",1,conf,0x24);
  var_6(sesskey,"AuthTIS",0,conf,0x25);
  var_6(sesskey,"AuthKI",1,conf,0x26);
  var_6(sesskey,"AuthGSSAPI",1,conf,0x27);
  var_13 = ngsslibs;
  var_18 = var_7(sesskey,"GSSLibs","");
  var_28(var_18,(type_6 *)gsslibkeywords,var_13,conf,0x29);
  var_10(var_18);
  var_5(sesskey,"GSSCustom",conf,0x2a);
  var_6(sesskey,"SshNoShell",0,conf,0x2d);
  var_5(sesskey,"PublicKeyFile",conf,0x20);
  var_4(sesskey,"RemoteCommand","",conf,0x14);
  var_6(sesskey,"RFCEnviron",0,conf,0x37);
  var_6(sesskey,"PassiveTelnet",0,conf,0x38);
  var_6(sesskey,"BackspaceIsDelete",1,conf,0x3f);
  var_6(sesskey,"RXVTHomeEnd",0,conf,0x40);
  var_6(sesskey,"LinuxFunctionKeys",0,conf,0x41);
  var_6(sesskey,"NoApplicationKeys",0,conf,0x43);
  var_6(sesskey,"NoApplicationCursors",0,conf,0x42);
  var_6(sesskey,"NoMouseReporting",0,conf,0x44);
  var_6(sesskey,"NoRemoteResize",0,conf,0x45);
  var_6(sesskey,"NoAltScreen",0,conf,0x46);
  var_6(sesskey,"NoRemoteWinTitle",0,conf,0x47);
  var_6(sesskey,"NoRemoteClearScroll",0,conf,0x48);
  var_13 = var_11("NoRemoteQTitle",1);
  var_13 = var_12(sesskey,"NoRemoteQTitle",var_13);
  var_6(sesskey,"RemoteQTitleAction",(var_13 == 0) + 1,conf,0x4b);
  var_6(sesskey,"NoDBackspace",0,conf,0x49);
  var_6(sesskey,"NoRemoteCharset",0,conf,0x4a);
  var_6(sesskey,"ApplicationCursorKeys",0,conf,0x4c);
  var_6(sesskey,"ApplicationKeypad",0,conf,0x4d);
  var_6(sesskey,"NetHackKeypad",0,conf,0x4e);
  var_6(sesskey,"AltF4",1,conf,0x51);
  var_6(sesskey,"AltSpace",0,conf,0x52);
  var_6(sesskey,"AltOnly",0,conf,0x53);
  var_6(sesskey,"ComposeKey",0,conf,0x5b);
  var_6(sesskey,"CtrlAltKeys",1,conf,0x5c);
  var_6(sesskey,"TelnetKey",0,conf,0x4f);
  var_6(sesskey,"TelnetRet",1,conf,0x50);
  var_6(sesskey,"LocalEcho",2,conf,0x54);
  var_6(sesskey,"LocalEdit",2,conf,0x55);
  var_4(sesskey,"Answerback","PuTTY",conf,0x80);
  var_6(sesskey,"AlwaysOnTop",0,conf,0x56);
  var_6(sesskey,"FullScreenOnAltEnter",0,conf,0x57);
  var_6(sesskey,"HideMousePtr",0,conf,0x7d);
  var_6(sesskey,"SunkenEdge",0,conf,0x7e);
  var_6(sesskey,"WindowBorder",1,conf,0x7f);
  var_6(sesskey,"CurType",0,conf,100);
  var_6(sesskey,"BlinkCur",0,conf,0x65);
  var_6(sesskey,"Beep",1,conf,0x66);
  var_6(sesskey,"BeepInd",0,conf,0x67);
  var_5(sesskey,"BellWaveFile",conf,0x6c);
  var_6(sesskey,"BellOverload",1,conf,0x68);
  var_6(sesskey,"BellOverloadN",5,conf,0x69);
  var_13 = var_11("BellOverloadT",2000000);
  var_13 = var_12(sesskey,"BellOverloadT",var_13);
  var_2(conf,0x6a,var_13 / 1000);
  var_13 = var_11("BellOverloadS",5000000);
  var_13 = var_12(sesskey,"BellOverloadS",var_13);
  var_2(conf,0x6b,var_13 / 1000);
  var_6(sesskey,"ScrollbackLines",2000,conf,0x60);
  var_6(sesskey,"DECOriginMode",0,conf,0x61);
  var_6(sesskey,"AutoWrapMode",1,conf,0x62);
  var_6(sesskey,"LFImpliesCR",0,conf,99);
  var_6(sesskey,"CRImpliesLF",0,conf,0xb6);
  var_6(sesskey,"DisableArabicShaping",0,conf,0x82);
  var_6(sesskey,"DisableBidi",0,conf,0x83);
  var_6(sesskey,"WinNameAlways",1,conf,0x72);
  var_4(sesskey,"WinTitle","",conf,0x5f);
  var_6(sesskey,"TermWidth",0x50,conf,0x73);
  var_6(sesskey,"TermHeight",0x18,conf,0x74);
  var_34(sesskey,"Font",conf,0x75);
  var_6(sesskey,"FontQuality",0,conf,0x76);
  var_6(sesskey,"FontVTMode",4,conf,0x90);
  var_6(sesskey,"UseSystemColours",0,conf,0x86);
  var_6(sesskey,"TryPalette",0,conf,0x87);
  var_6(sesskey,"ANSIColour",1,conf,0x84);
  var_6(sesskey,"Xterm256Colour",1,conf,0x85);
  var_13 = var_11("BoldAsColour",1);
  var_18 = "187,187,187";
  var_13 = var_12(sesskey,"BoldAsColour",var_13);
  var_2(conf,0x88,var_13 + 1);
  var_13 = 0;
  while( true ) {
    var_35(buf,1,0x14,"Colour%d",var_13);
    var_18 = var_7(sesskey,buf,var_18);
    var_14 = var_36(var_18,&DAT_00072fed,&c0,&c1,&c2);
    if (var_14 == 3) {
      var_14 = var_13 * 3;
      var_37(conf,0x89,var_14,c0);
      var_37(conf,0x89,var_14 + 1,c1);
      var_37(conf,0x89,var_14 + 2,c2);
    }
    var_13 = var_13 + 1;
    var_10(var_18);
    if (var_13 == 0x16) break;
    var_18 = function_1::lexical_block_12::defaults[var_13];
  }
  var_6(sesskey,"RawCNP",0,conf,0x8c);
  var_6(sesskey,"PasteRTF",0,conf,0x8d);
  var_6(sesskey,"MouseIsXterm",0,conf,0x8a);
  var_18 = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
  var_6(sesskey,"RectSelect",0,conf,0x8b);
  var_6(sesskey,"MouseOverride",1,conf,0x8e);
  var_29 = (type_3 *)0x20;
LAB_00027ba9:
  var_35(buf,1,0x14,"Wordness%d",(int)var_29 + -0x20);
  var_25 = var_7(sesskey,buf,var_18);
  var_38 = *var_25;
  var_13 = (int)var_29 + -0x20;
  var_18 = var_25;
  do {
    var_39 = var_18;
    if ((var_38 != ',') && (var_38 != '\0')) {
      do {
        var_39 = var_39 + 1;
        var_38 = *var_39;
        if (var_38 == '\0') break;
      } while (var_38 != ',');
    }
    if (var_38 == ',') {
      *var_39 = '\0';
      var_39 = var_39 + 1;
    }
    value = var_40(var_18,(char **)0x0,10);
    var_14 = var_13 + 1;
    var_37(conf,0x8f,var_13,value);
    if (var_29 == (type_3 *)var_14) break;
    var_38 = *var_39;
    var_13 = var_14;
    var_18 = var_39;
  } while( true );
  var_10(var_25);
  var_29 = (type_3 *)((int)var_29 + 0x20);
  if (var_29 == (type_3 *)0x120) {
    var_4(sesskey,"LineCodePage","",conf,0x91);
    var_6(sesskey,"CJKAmbigWide",0,conf,0x92);
    var_6(sesskey,"UTF8Override",1,conf,0x93);
    var_4(sesskey,"Printer","",conf,0x81);
    var_6(sesskey,"CapsLockCyr",0,conf,0x94);
    var_6(sesskey,"ScrollBar",1,conf,0x6d);
    var_6(sesskey,"ScrollBarFullScreen",0,conf,0x6e);
    var_6(sesskey,"ScrollOnKey",0,conf,0x58);
    var_6(sesskey,"ScrollOnDisp",1,conf,0x59);
    var_6(sesskey,"EraseToScrollback",1,conf,0x5a);
    var_6(sesskey,"LockSize",0,conf,0x6f);
    var_6(sesskey,"BCE",1,conf,0x70);
    var_6(sesskey,"BlinkText",0,conf,0x71);
    var_6(sesskey,"X11Forward",0,conf,0x95);
    var_4(sesskey,"X11Display","",conf,0x96);
    var_6(sesskey,"X11AuthType",1,conf,0x97);
    var_5(sesskey,"X11AuthFile",conf,0x98);
    var_6(sesskey,"LocalPortAcceptAll",0,conf,0x99);
    var_6(sesskey,"RemotePortAcceptAll",0,conf,0x9a);
    var_15(sesskey,"PortForwardings",conf,0x9b);
    var_13 = var_11("BugIgnore1",0);
    var_13 = var_12(sesskey,"BugIgnore1",var_13);
    var_2(conf,0x9c,2 - var_13);
    var_13 = var_11("BugPlainPW1",0);
    var_13 = var_12(sesskey,"BugPlainPW1",var_13);
    var_2(conf,0x9d,2 - var_13);
    var_13 = var_11("BugRSA1",0);
    var_13 = var_12(sesskey,"BugRSA1",var_13);
    var_2(conf,0x9e,2 - var_13);
    var_13 = var_11("BugIgnore2",0);
    var_13 = var_12(sesskey,"BugIgnore2",var_13);
    var_2(conf,0xa5,2 - var_13);
    var_13 = var_11("BugHMAC2",0);
    var_13 = var_12(sesskey,"BugHMAC2",var_13);
    var_2(conf,0x9f,2 - var_13);
    if (var_13 == 0) {
      var_13 = var_11("BuggyMAC",0);
      var_13 = var_12(sesskey,"BuggyMAC",var_13);
      if (var_13 == 1) {
        var_2(conf,0x9f,0);
      }
    }
    var_13 = var_11("BugDeriveKey2",0);
    var_13 = var_12(sesskey,"BugDeriveKey2",var_13);
    var_2(conf,0xa0,2 - var_13);
    var_13 = var_11("BugRSAPad2",0);
    var_13 = var_12(sesskey,"BugRSAPad2",var_13);
    var_2(conf,0xa1,2 - var_13);
    var_13 = var_11("BugPKSessID2",0);
    var_13 = var_12(sesskey,"BugPKSessID2",var_13);
    var_2(conf,0xa2,2 - var_13);
    var_13 = var_11("BugRekey2",0);
    var_13 = var_12(sesskey,"BugRekey2",var_13);
    var_2(conf,0xa3,2 - var_13);
    var_13 = var_11("BugMaxPkt2",0);
    var_13 = var_12(sesskey,"BugMaxPkt2",var_13);
    var_2(conf,0xa4,2 - var_13);
    var_13 = var_11("BugOldGex2",0);
    var_13 = var_12(sesskey,"BugOldGex2",var_13);
    var_2(conf,0xa6,2 - var_13);
    var_13 = var_11("BugWinadj",0);
    var_13 = var_12(sesskey,"BugWinadj",var_13);
    var_2(conf,0xa7,2 - var_13);
    var_13 = var_11("BugChanReq",0);
    var_13 = var_12(sesskey,"BugChanReq",var_13);
    var_2(conf,0xa8,2 - var_13);
    var_2(conf,0xa9,0);
    var_6(sesskey,"StampUtmp",1,conf,0xae);
    var_6(sesskey,"LoginShell",1,conf,0xaf);
    var_6(sesskey,"ScrollbarOnLeft",0,conf,0xb0);
    var_6(sesskey,"ShadowBold",0,conf,0xb1);
    var_34(sesskey,"BoldFont",conf,0xb2);
    var_34(sesskey,"WideFont",conf,0xb3);
    var_34(sesskey,"WideBoldFont",conf,0xb4);
    var_6(sesskey,"ShadowBoldOffset",1,conf,0xb5);
    var_4(sesskey,"SerialLine","",conf,0x39);
    var_6(sesskey,"SerialSpeed",0x2580,conf,0x3a);
    var_6(sesskey,"SerialDataBits",8,conf,0x3b);
    var_6(sesskey,"SerialStopHalfbits",2,conf,0x3c);
    var_6(sesskey,"SerialParity",0,conf,0x3d);
    var_6(sesskey,"SerialFlowControl",1,conf,0x3e);
    var_4(sesskey,"WindowClass","",conf,0xb7);
    var_6(sesskey,"ConnectionSharing",0,conf,0xaa);
    var_6(sesskey,"ConnectionSharingUpstream",1,conf,0xab);
    var_6(sesskey,"ConnectionSharingDownstream",1,conf,0xac);
    var_15(sesskey,"SSHManualHostKeys",conf,0xad);
    if (var_41 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
      var_42();
    }
    return;
  }
  var_18 = function_1::lexical_block_13::defaults_1[var_14 >> 5];
  goto LAB_00027ba9;
}


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

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

void MASKED(undefined4 param_1,undefined4 param_2)

{
  char *__nptr;
  char cVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  char *pcVar5;
  long lVar6;
  undefined *puVar7;
  byte *pbVar8;
  undefined *puVar9;
  byte *pbVar10;
  undefined **ppuVar11;
  char *pcVar12;
  byte *pbVar13;
  int in_GS_OFFSET;
  bool bVar14;
  bool bVar15;
  bool bVar16;
  byte bVar17;
  byte *local_70;
  undefined **local_68;
  byte *local_64;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined1 local_34 [20];
  int local_20;
  undefined4 uStack_14;
  
  bVar17 = 0;
  uStack_14 = 0x26ca9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  FUN_00017aa0(param_2,0x2b,0);
  FUN_00017be0(param_2,0x14,&DAT_000712ce);
  FUN_00017be0(param_2,0x15,&DAT_000712ce);
  FUN_00017be0(param_2,0x2e,&DAT_000712ce);
  FUN_00025320(param_2,0);
  FUN_000251c0(0x77);
  FUN_00025220(param_2,0x78);
  FUN_00025220(param_2,0x79);
  FUN_00025220(param_2,0x7a);
  FUN_00025220(param_2,0x7b);
  FUN_00025220(param_2,0x7c);
  uVar2 = FUN_000252c0();
  FUN_00017aa0(param_2,2,DAT_000a9958);
  FUN_00017aa0(param_2,1,DAT_000a9968);
  iVar3 = FUN_000254f0(uVar2);
  if (iVar3 != 0) {
    FUN_00017aa0(param_2,2,*(undefined4 *)(iVar3 + 0x48));
    FUN_00025220(param_2,1);
  }
  FUN_0001b250(uVar2);
  FUN_00025220(param_2,3);
  uVar2 = FUN_0006a090("CloseOnExit",1);
  iVar3 = FUN_0006c3d0(param_1,"CloseOnExit",uVar2);
  FUN_00017aa0(param_2,4,(iVar3 + 1) % 3);
  FUN_00025220(param_2,5);
  uVar2 = FUN_0006a090("PingInterval",0);
  iVar3 = FUN_0006c3d0(param_1,"PingInterval",uVar2);
  uVar2 = FUN_0006a090("PingIntervalSecs",0);
  iVar4 = FUN_0006c3d0(param_1,"PingIntervalSecs",uVar2);
  FUN_00017aa0(param_2,6,iVar3 * 0x3c + iVar4);
  FUN_00025220(param_2,7);
  FUN_00025220(param_2,8);
  FUN_00025320(param_2,0x30);
  FUN_00025320(param_2,0x31);
  iVar3 = FUN_00025360(0x32);
  if (iVar3 != 0) {
    local_68 = &PTR_s_ERASE_000a79c8;
    pbVar8 = &DAT_000732e4;
    local_64 = &DAT_000732df;
    do {
      iVar3 = FUN_00017600(param_2,0x32,pbVar8);
      bVar14 = false;
      bVar16 = iVar3 == 0;
      if (bVar16) {
        iVar3 = 6;
        pbVar10 = pbVar8;
        pbVar13 = (byte *)"IUTF8";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar14 = *pbVar10 < *pbVar13;
          bVar16 = *pbVar10 == *pbVar13;
          pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
          pbVar13 = pbVar13 + (uint)bVar17 * -2 + 1;
        } while (bVar16);
        puVar7 = &DAT_00070146;
        if ((!bVar14 && !bVar16) != bVar14) {
          puVar7 = &DAT_00070158;
        }
        FUN_00017c90(param_2,0x32,pbVar8,puVar7);
      }
      if (local_64 == (byte *)0x0) goto LAB_00026f8c;
      pbVar10 = *local_68;
      local_68 = local_68 + 1;
      pbVar8 = local_64;
      local_64 = pbVar10;
    } while( true );
  }
  puVar7 = &DAT_000732e4;
  puVar9 = &DAT_000732df;
  ppuVar11 = &PTR_s_ERASE_000a79c8;
  while (FUN_00017c90(param_2,0x32,puVar7,&DAT_00070146), puVar9 != (undefined *)0x0) {
    puVar7 = puVar9;
    puVar9 = *ppuVar11;
    ppuVar11 = ppuVar11 + 1;
  }
LAB_00026f8c:
  FUN_00025320(param_2,10);
  uVar2 = FUN_0006a090("ProxyDNS",1);
  iVar3 = FUN_0006c3d0(param_1,"ProxyDNS",uVar2);
  FUN_00017aa0(param_2,0xb,(iVar3 + 1) % 3);
  FUN_00025220(param_2,0xc);
  FUN_00025220(param_2,0xd);
  iVar3 = FUN_00017380(param_2,0xd);
  if (iVar3 == -1) {
    uVar2 = FUN_0006a090("ProxyType",0);
    iVar3 = FUN_0006c3d0(param_1,"ProxyType",uVar2);
    if (iVar3 == 0) {
      FUN_00017aa0(param_2,0xd,0);
    }
    else if (iVar3 == 1) {
      FUN_00017aa0(param_2,0xd,3);
    }
    else if (iVar3 == 3) {
      FUN_00017aa0(param_2,0xd,4);
    }
    else if (iVar3 == 4) {
      FUN_00017aa0(param_2,0xd,5);
    }
    else {
      uVar2 = FUN_0006a090("ProxySOCKSVersion",5);
      iVar3 = FUN_0006c3d0(param_1,"ProxySOCKSVersion",uVar2);
      if (iVar3 == 5) {
        FUN_00017aa0(param_2,0xd,2);
      }
      else {
        FUN_00017aa0(param_2,0xd,1);
      }
    }
  }
  FUN_00025320(param_2,0xe);
  FUN_00025220(param_2,0xf);
  FUN_00025320(param_2,0x10);
  FUN_00025320(param_2,0x11);
  FUN_00025320(param_2,0x12);
  FUN_00025220(param_2,0x13);
  FUN_00025360(0x33);
  FUN_00025320(param_2,0x34);
  FUN_00025220(param_2,0x35);
  FUN_00025320(param_2,0x36);
  FUN_00025220(param_2,0x16);
  FUN_00025220(param_2,0x17);
  FUN_00025220(param_2,0x1c);
  FUN_00025220(param_2,0x1d);
  FUN_00025220(param_2,0x1e);
  FUN_00025220(param_2,0x28);
  uVar2 = FUN_000252c0();
  FUN_00024ee0(param_2,0x1f);
  FUN_0001b250(uVar2);
  uVar2 = FUN_0006a090("BugDHGEx2",0);
  FUN_0006c3d0(param_1,"BugDHGEx2",uVar2);
  local_70 = (byte *)FUN_000252c0();
  bVar14 = false;
  bVar16 = local_70 == (byte *)0x0;
  if (bVar16) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("raw != NULL","settings.c",0x366,"load_open_settings");
  }
  iVar3 = 0x34;
  pbVar8 = local_70;
  pbVar10 = (byte *)"dh-group14-sha1,dh-group1-sha1,rsa,WARN,dh-gex-sha1";
  do {
    if (iVar3 == 0) break;
    iVar3 = iVar3 + -1;
    bVar14 = *pbVar8 < *pbVar10;
    bVar16 = *pbVar8 == *pbVar10;
    pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;
    pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
  } while (bVar16);
  bVar15 = false;
  bVar14 = (!bVar14 && !bVar16) == bVar14;
  if (bVar14) {
    FUN_0001b250(local_70);
    local_70 = (byte *)FUN_0001aad0("ecdh,dh-group14-sha1,rsa,WARN,dh-group1-sha1,dh-gex-sha1");
  }
  else {
    iVar3 = 0x34;
    pbVar8 = local_70;
    pbVar10 = (byte *)"dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN";
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar15 = *pbVar8 < *pbVar10;
      bVar14 = *pbVar8 == *pbVar10;
      pbVar8 = pbVar8 + (uint)bVar17 * -2 + 1;
      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
    } while (bVar14);
    if ((!bVar15 && !bVar14) == bVar15) {
      FUN_0001b250(local_70);
      local_70 = (byte *)FUN_0001aad0("ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1");
    }
  }
  FUN_00024ee0(param_2,0x18);
  FUN_0001b250(local_70);
  uVar2 = FUN_000252c0();
  FUN_00024ee0(param_2,0x19);
  FUN_0001b250(uVar2);
  FUN_00025220(param_2,0x1a);
  FUN_00025320(param_2,0x1b);
  uVar2 = FUN_0006a090("SshProt",3);
  iVar3 = FUN_0006c3d0(param_1,"SshProt",uVar2);
  if (iVar3 == 1) {
    iVar3 = 0;
  }
  else if (iVar3 == 2) {
    iVar3 = 3;
  }
  FUN_00017aa0(param_2,0x21,iVar3);
  FUN_00025320(param_2,9);
  FUN_00025220(param_2,0x22);
  FUN_00025220(param_2,0x23);
  FUN_00025220(param_2,0x24);
  FUN_00025220(param_2,0x25);
  FUN_00025220(param_2,0x26);
  FUN_00025220(param_2,0x27);
  uVar2 = FUN_000252c0();
  FUN_00024ee0(param_2,0x29);
  FUN_0001b250(uVar2);
  FUN_000251c0(0x2a);
  FUN_00025220(param_2,0x2d);
  FUN_000251c0(0x20);
  FUN_00025320(param_2,0x14);
  FUN_00025220(param_2,0x37);
  FUN_00025220(param_2,0x38);
  FUN_00025220(param_2,0x3f);
  FUN_00025220(param_2,0x40);
  FUN_00025220(param_2,0x41);
  FUN_00025220(param_2,0x43);
  FUN_00025220(param_2,0x42);
  FUN_00025220(param_2,0x44);
  FUN_00025220(param_2,0x45);
  FUN_00025220(param_2,0x46);
  FUN_00025220(param_2,0x47);
  FUN_00025220(param_2,0x48);
  uVar2 = FUN_0006a090("NoRemoteQTitle",1);
  FUN_0006c3d0(param_1,"NoRemoteQTitle",uVar2);
  FUN_00025220(param_2,0x4b);
  FUN_00025220(param_2,0x49);
  FUN_00025220(param_2,0x4a);
  FUN_00025220(param_2,0x4c);
  FUN_00025220(param_2,0x4d);
  FUN_00025220(param_2,0x4e);
  FUN_00025220(param_2,0x51);
  FUN_00025220(param_2,0x52);
  FUN_00025220(param_2,0x53);
  FUN_00025220(param_2,0x5b);
  FUN_00025220(param_2,0x5c);
  FUN_00025220(param_2,0x4f);
  FUN_00025220(param_2,0x50);
  FUN_00025220(param_2,0x54);
  FUN_00025220(param_2,0x55);
  FUN_00025320(param_2,0x80);
  FUN_00025220(param_2,0x56);
  FUN_00025220(param_2,0x57);
  FUN_00025220(param_2,0x7d);
  FUN_00025220(param_2,0x7e);
  FUN_00025220(param_2,0x7f);
  FUN_00025220(param_2,100);
  FUN_00025220(param_2,0x65);
  FUN_00025220(param_2,0x66);
  FUN_00025220(param_2,0x67);
  FUN_000251c0(0x6c);
  FUN_00025220(param_2,0x68);
  FUN_00025220(param_2,0x69);
  uVar2 = FUN_0006a090("BellOverloadT",2000000);
  iVar3 = FUN_0006c3d0(param_1,"BellOverloadT",uVar2);
  FUN_00017aa0(param_2,0x6a,iVar3 / 1000);
  uVar2 = FUN_0006a090("BellOverloadS",5000000);
  iVar3 = FUN_0006c3d0(param_1,"BellOverloadS",uVar2);
  FUN_00017aa0(param_2,0x6b,iVar3 / 1000);
  FUN_00025220(param_2,0x60);
  FUN_00025220(param_2,0x61);
  FUN_00025220(param_2,0x62);
  FUN_00025220(param_2,99);
  FUN_00025220(param_2,0xb6);
  FUN_00025220(param_2,0x82);
  FUN_00025220(param_2,0x83);
  FUN_00025220(param_2,0x72);
  FUN_00025320(param_2,0x5f);
  FUN_00025220(param_2,0x73);
  FUN_00025220(param_2,0x74);
  FUN_00025260(0x75);
  FUN_00025220(param_2,0x76);
  FUN_00025220(param_2,0x90);
  FUN_00025220(param_2,0x86);
  FUN_00025220(param_2,0x87);
  FUN_00025220(param_2,0x84);
  FUN_00025220(param_2,0x85);
  uVar2 = FUN_0006a090("BoldAsColour",1);
  iVar3 = FUN_0006c3d0(param_1,"BoldAsColour",uVar2);
  FUN_00017aa0(param_2,0x88,iVar3 + 1);
  iVar3 = 0;
  do {
    __sprintf_chk(local_34,1,0x14,"Colour%d",iVar3);
    uVar2 = FUN_000252c0();
    iVar4 = __isoc99_sscanf(uVar2,&DAT_00072fed,&local_40,&local_3c,&local_38);
    if (iVar4 == 3) {
      iVar4 = iVar3 * 3;
      FUN_00017b40(param_2,0x89,iVar4,local_40);
      FUN_00017b40(param_2,0x89,iVar4 + 1,local_3c);
      FUN_00017b40(param_2,0x89,iVar4 + 2,local_38);
    }
    iVar3 = iVar3 + 1;
    FUN_0001b250(uVar2);
  } while (iVar3 != 0x16);
  FUN_00025220(param_2,0x8c);
  FUN_00025220(param_2,0x8d);
  FUN_00025220(param_2,0x8a);
  FUN_00025220(param_2,0x8b);
  FUN_00025220(param_2,0x8e);
  local_70 = (byte *)0x20;
LAB_00027ba9:
  __sprintf_chk(local_34,1,0x14,"Wordness%d",(int)local_70 + -0x20);
  pcVar5 = (char *)FUN_000252c0();
  cVar1 = *pcVar5;
  iVar3 = (int)local_70 + -0x20;
  __nptr = pcVar5;
  do {
    pcVar12 = __nptr;
    if ((cVar1 != ',') && (cVar1 != '\0')) {
      do {
        pcVar12 = pcVar12 + 1;
        cVar1 = *pcVar12;
        if (cVar1 == '\0') break;
      } while (cVar1 != ',');
    }
    if (cVar1 == ',') {
      *pcVar12 = '\0';
      pcVar12 = pcVar12 + 1;
    }
    lVar6 = strtol(__nptr,(char **)0x0,10);
    FUN_00017b40(param_2,0x8f,iVar3,lVar6);
    if (local_70 == (byte *)(iVar3 + 1)) break;
    cVar1 = *pcVar12;
    iVar3 = iVar3 + 1;
    __nptr = pcVar12;
  } while( true );
  FUN_0001b250(pcVar5);
  local_70 = (byte *)((int)local_70 + 0x20);
  if (local_70 == (byte *)0x120) {
    FUN_00025320(param_2,0x91);
    FUN_00025220(param_2,0x92);
    FUN_00025220(param_2,0x93);
    FUN_00025320(param_2,0x81);
    FUN_00025220(param_2,0x94);
    FUN_00025220(param_2,0x6d);
    FUN_00025220(param_2,0x6e);
    FUN_00025220(param_2,0x58);
    FUN_00025220(param_2,0x59);
    FUN_00025220(param_2,0x5a);
    FUN_00025220(param_2,0x6f);
    FUN_00025220(param_2,0x70);
    FUN_00025220(param_2,0x71);
    FUN_00025220(param_2,0x95);
    FUN_00025320(param_2,0x96);
    FUN_00025220(param_2,0x97);
    FUN_000251c0(0x98);
    FUN_00025220(param_2,0x99);
    FUN_00025220(param_2,0x9a);
    FUN_00025360(0x9b);
    uVar2 = FUN_0006a090("BugIgnore1",0);
    iVar3 = FUN_0006c3d0(param_1,"BugIgnore1",uVar2);
    FUN_00017aa0(param_2,0x9c,2 - iVar3);
    uVar2 = FUN_0006a090("BugPlainPW1",0);
    iVar3 = FUN_0006c3d0(param_1,"BugPlainPW1",uVar2);
    FUN_00017aa0(param_2,0x9d,2 - iVar3);
    uVar2 = FUN_0006a090("BugRSA1",0);
    iVar3 = FUN_0006c3d0(param_1,"BugRSA1",uVar2);
    FUN_00017aa0(param_2,0x9e,2 - iVar3);
    uVar2 = FUN_0006a090("BugIgnore2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugIgnore2",uVar2);
    FUN_00017aa0(param_2,0xa5,2 - iVar3);
    uVar2 = FUN_0006a090("BugHMAC2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugHMAC2",uVar2);
    FUN_00017aa0(param_2,0x9f,2 - iVar3);
    if (iVar3 == 0) {
      uVar2 = FUN_0006a090("BuggyMAC",0);
      iVar3 = FUN_0006c3d0(param_1,"BuggyMAC",uVar2);
      if (iVar3 == 1) {
        FUN_00017aa0(param_2,0x9f,0);
      }
    }
    uVar2 = FUN_0006a090("BugDeriveKey2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugDeriveKey2",uVar2);
    FUN_00017aa0(param_2,0xa0,2 - iVar3);
    uVar2 = FUN_0006a090("BugRSAPad2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugRSAPad2",uVar2);
    FUN_00017aa0(param_2,0xa1,2 - iVar3);
    uVar2 = FUN_0006a090("BugPKSessID2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugPKSessID2",uVar2);
    FUN_00017aa0(param_2,0xa2,2 - iVar3);
    uVar2 = FUN_0006a090("BugRekey2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugRekey2",uVar2);
    FUN_00017aa0(param_2,0xa3,2 - iVar3);
    uVar2 = FUN_0006a090("BugMaxPkt2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugMaxPkt2",uVar2);
    FUN_00017aa0(param_2,0xa4,2 - iVar3);
    uVar2 = FUN_0006a090("BugOldGex2",0);
    iVar3 = FUN_0006c3d0(param_1,"BugOldGex2",uVar2);
    FUN_00017aa0(param_2,0xa6,2 - iVar3);
    uVar2 = FUN_0006a090("BugWinadj",0);
    iVar3 = FUN_0006c3d0(param_1,"BugWinadj",uVar2);
    FUN_00017aa0(param_2,0xa7,2 - iVar3);
    uVar2 = FUN_0006a090("BugChanReq",0);
    iVar3 = FUN_0006c3d0(param_1,"BugChanReq",uVar2);
    FUN_00017aa0(param_2,0xa8,2 - iVar3);
    FUN_00017aa0(param_2,0xa9,0);
    FUN_00025220(param_2,0xae);
    FUN_00025220(param_2,0xaf);
    FUN_00025220(param_2,0xb0);
    FUN_00025220(param_2,0xb1);
    FUN_00025260(0xb2);
    FUN_00025260(0xb3);
    FUN_00025260(0xb4);
    FUN_00025220(param_2,0xb5);
    FUN_00025320(param_2,0x39);
    FUN_00025220(param_2,0x3a);
    FUN_00025220(param_2,0x3b);
    FUN_00025220(param_2,0x3c);
    FUN_00025220(param_2,0x3d);
    FUN_00025220(param_2,0x3e);
    FUN_00025320(param_2,0xb7);
    FUN_00025220(param_2,0xaa);
    FUN_00025220(param_2,0xab);
    FUN_00025220(param_2,0xac);
    FUN_00025360(0xad);
    if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
      return;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0006f2a0();
  }
  goto LAB_00027ba9;
}

