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

void ser_setup_config_box(controlbox *b,int midsession,int parity_mask,int flow_mask)

{
  int iVar1;
  control *pcVar2;
  controlset *pcVar3;
  int iVar4;
  size_t n;
  char **ppcVar5;
  char *pcVar6;
  intorptr *piVar7;
  int iVar8;
  int in_GS_OFFSET;
  intorptr local_30;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (midsession == 0) {
    pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to");
    iVar4 = pcVar3->ncontrols;
    if (0 < iVar4) {
      iVar8 = 0;
      do {
        pcVar2 = pcVar3->ctrls[iVar8];
        if (((pcVar2->generic).type == 2) &&
           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {
          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;
          n = (pcVar2->editbox).password + 1;
          (pcVar2->editbox).password = n;
          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);
          iVar4 = (pcVar2->editbox).password;
          (pcVar2->radio).buttons = ppcVar5;
          pcVar6 = dupstr("Serial");
          ppcVar5[iVar4 + -1] = pcVar6;
          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);
          (pcVar2->radio).buttondata = piVar7;
          iVar4 = (pcVar2->editbox).password;
          I(4);
          piVar7[iVar4 + 0x3fffffff] = local_30;
          if ((pcVar2->radio).shortcuts == (char *)0x0) {
            iVar4 = pcVar3->ncontrols;
          }
          else {
            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);
            (pcVar2->radio).shortcuts = pcVar6;
            pcVar6[(pcVar2->editbox).password + -1] = 'r';
            iVar4 = pcVar3->ncontrols;
          }
        }
        iVar8 = iVar8 + 1;
      } while (iVar8 < iVar4);
    }
    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");
    pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line");
    I(1);
    I(0x39);
    P((void *)0x0);
    ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,
                 local_30);
  }
  else {
    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");
  }
  pcVar3 = ctrl_getset(b,"Connection/Serial","sercfg","Configure the serial line");
  I(-1);
  I(0x3a);
  P((void *)0x0);
  ctrl_editbox(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30);
  I(-1);
  I(0x3b);
  P((void *)0x0);
  ctrl_editbox(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30);
  I(-2);
  I(0x3c);
  P((void *)0x0);
  ctrl_editbox(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30);
  I(parity_mask);
  P((void *)0x0);
  ctrl_droplist(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30);
  I(flow_mask);
  P((void *)0x0);
  ctrl_droplist(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30);
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return;
}



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

void FUN_00036950(undefined4 param_1,int param_2)

{
  int *piVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  code *pcVar6;
  undefined4 *puVar7;
  undefined1 *puVar8;
  undefined4 *puVar9;
  int iVar10;
  int in_GS_OFFSET;
  int local_64 [2];
  undefined1 local_4c [4];
  undefined4 local_48;
  char *local_44 [2];
  int local_3c [3];
  undefined1 local_30 [16];
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x36959;
  local_48 = param_1;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  if (param_2 == 0) {
    iVar3 = FUN_00029a50(param_1,"Session","hostport",
                         "Specify the destination you want to connect to");
    puVar9 = (undefined4 *)local_4c;
    iVar4 = *(int *)(iVar3 + 0x10);
    puVar8 = local_30;
    if (0 < iVar4) {
      pcVar6 = FUN_00021c70;
      local_44[0] = puVar8;
      local_44[1] = "Serial";
      iVar10 = 0;
      puVar8 = local_4c;
      do {
        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);
        puVar9 = (undefined4 *)puVar8;
        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {
          iVar4 = piVar1[9];
          *(code **)(puVar8 + 0x18) = pcVar6;
          piVar1[8] = piVar1[8] + 1;
          piVar1[9] = iVar4 + 1;
          *(undefined4 *)(puVar8 + -8) = 4;
          *(int *)(puVar8 + -0xc) = iVar4 + 1;
          *(int *)(puVar8 + -0x10) = piVar1[10];
          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;
          iVar4 = FUN_000314a0();
          piVar1[10] = iVar4;
          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;
          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);
          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;
          uVar5 = FUN_00030420();
          **(undefined4 **)(puVar8 + 0x10) = uVar5;
          *(undefined4 *)(puVar8 + -8) = 4;
          *(int *)(puVar8 + -0xc) = piVar1[9];
          *(int *)(puVar8 + -0x10) = piVar1[0xc];
          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;
          iVar4 = FUN_000314a0();
          piVar1[0xc] = iVar4;
          *(int *)(puVar8 + 0x14) = iVar4;
          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;
          *(undefined4 *)(puVar8 + -0xc) = 4;
          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);
          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;
          FUN_00029480();
          puVar9 = (undefined4 *)(puVar8 + -4);
          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =
               *(undefined4 *)(puVar8 + 0x18);
          iVar4 = piVar1[0xb];
          pcVar6 = *(code **)(puVar8 + 0x14);
          if (iVar4 == 0) {
            iVar4 = *(int *)(iVar3 + 0x10);
          }
          else {
            *(code **)(puVar8 + 0xc) = pcVar6;
            *(undefined4 *)(puVar8 + -0xc) = 1;
            *(int *)(puVar8 + -0x10) = piVar1[9];
            *(int *)(puVar8 + -0x14) = iVar4;
            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;
            iVar4 = FUN_000314a0();
            puVar9 = (undefined4 *)(puVar8 + -4);
            pcVar6 = *(code **)(puVar8 + 0xc);
            piVar1[0xb] = iVar4;
            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;
            iVar4 = *(int *)(iVar3 + 0x10);
          }
        }
        iVar10 = iVar10 + 1;
        puVar8 = (undefined1 *)puVar9;
      } while (iVar10 < iVar4);
      puVar8 = *(undefined1 **)((int)puVar9 + 8);
    }
    puVar9[-2] = "Options controlling local serial lines";
    puVar9[-3] = "Connection/Serial";
    uVar5 = puVar9[1];
    puVar9[-4] = uVar5;
    puVar9[-5] = 0x36caf;
    FUN_00029950();
    puVar9[-5] = "Select a serial line";
    puVar9[-6] = "serline";
    puVar9[-7] = "Connection/Serial";
    puVar9[-8] = uVar5;
    puVar9[-9] = 0x36cc4;
    uVar5 = FUN_00029a50();
    puVar9[3] = uVar5;
    puVar9[-3] = 1;
    puVar9[-4] = puVar8;
    puVar9[-5] = 0x36cd3;
    FUN_00029480();
    puVar9[1] = puVar9[6];
    puVar9[-8] = 0x39;
    puVar9[-9] = puVar8;
    puVar9[-10] = 0x36ce6;
    FUN_00029480();
    uVar5 = puVar9[5];
    puVar9[-9] = 0;
    puVar9[-10] = puVar8;
    puVar9[-0xb] = 0x36cf7;
    FUN_00029490();
    puVar9[-4] = puVar9[-1];
    puVar9[-5] = uVar5;
    puVar9[-6] = FUN_00021930;
    puVar9[-7] = puVar9[4];
    puVar9[-8] = 0x28;
    puVar9[-9] = 0x6c;
    puVar9[-10] = "Serial line to connect to";
    puVar9[-0xb] = *puVar9;
    puVar9[-0xc] = 0x36d20;
    FUN_00029e60();
    puVar7 = puVar9 + -3;
  }
  else {
    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");
    puVar7 = (undefined4 *)local_4c;
    puVar8 = local_30;
  }
  puVar7[-1] = "Configure the serial line";
  puVar7[-2] = "sercfg";
  puVar7[-3] = "Connection/Serial";
  puVar7[-4] = puVar7[1];
  puVar7[-5] = 0x369c1;
  uVar2 = FUN_00029a50();
  puVar7[-3] = 0xffffffff;
  puVar7[-4] = puVar8;
  puVar7[-5] = 0x369cd;
  FUN_00029480();
  puVar7[1] = puVar7[6];
  puVar7[-8] = 0x3a;
  puVar7[-9] = puVar8;
  puVar7[-10] = 0x369e0;
  FUN_00029480();
  puVar7[-9] = 0;
  puVar7[-1] = puVar7[5];
  puVar7[-10] = puVar8;
  puVar7[-0xb] = 0x369f5;
  FUN_00029490();
  puVar7[-4] = puVar7[-1];
  puVar7[-5] = puVar7[-2];
  puVar7[-6] = FUN_00021930;
  puVar7[-7] = puVar7[4];
  puVar7[-8] = 0x28;
  puVar7[-9] = 0x73;
  puVar7[-10] = "Speed (baud)";
  puVar7[-0xb] = uVar2;
  puVar7[-0xc] = 0x36a18;
  FUN_00029e60();
  puVar7[-6] = 0xffffffff;
  puVar7[-7] = puVar8;
  puVar7[-8] = 0x36a23;
  FUN_00029480();
  puVar7[-2] = puVar7[3];
  puVar7[-0xb] = 0x3b;
  puVar7[-0xc] = puVar8;
  puVar7[-0xd] = 0x36a36;
  FUN_00029480();
  puVar7[-0xc] = 0;
  puVar7[-4] = puVar7[2];
  puVar7[-0xd] = puVar8;
  puVar7[-0xe] = 0x36a4b;
  FUN_00029490();
  puVar7[-7] = puVar7[-4];
  puVar7[-8] = puVar7[-5];
  puVar7[-9] = FUN_00021930;
  puVar7[-10] = puVar7[1];
  puVar7[-0xb] = 0x28;
  puVar7[-0xc] = 0x62;
  puVar7[-0xd] = "Data bits";
  puVar7[-0xe] = uVar2;
  puVar7[-0xf] = 0x36a6e;
  FUN_00029e60();
  puVar7[-9] = 0xfffffffe;
  puVar7[-10] = puVar8;
  puVar7[-0xb] = 0x36a79;
  FUN_00029480();
  puVar7[-5] = *puVar7;
  puVar7[-0xe] = 0x3c;
  puVar7[-0xf] = puVar8;
  puVar7[-0x10] = 0x36a8c;
  FUN_00029480();
  puVar7[-0xf] = 0;
  puVar7[-7] = puVar7[-1];
  puVar7[-0x10] = puVar8;
  puVar7[-0x11] = 0x36aa1;
  FUN_00029490();
  puVar7[-10] = puVar7[-7];
  puVar7[-0xb] = puVar7[-8];
  puVar7[-0xc] = FUN_00021930;
  puVar7[-0xd] = puVar7[-2];
  puVar7[-0xe] = 0x28;
  puVar7[-0xf] = 0x74;
  puVar7[-0x10] = "Stop bits";
  puVar7[-0x11] = uVar2;
  puVar7[-0x12] = 0x36ac4;
  FUN_00029e60();
  puVar7[-0xc] = puVar7[0xd];
  puVar7[-0xd] = puVar8;
  puVar7[-0xe] = 0x36ad1;
  FUN_00029480();
  uVar5 = puVar7[-3];
  puVar7[-0x11] = 0;
  puVar7[-0x12] = puVar8;
  puVar7[-0x13] = 0x36ae0;
  FUN_00029490();
  puVar7[-0x11] = uVar5;
  puVar7[-0x12] = FUN_000366c0;
  puVar7[-0x13] = puVar7[-4];
  puVar7[-0x14] = 0x28;
  puVar7[-0x15] = 0x70;
  puVar7[-0x16] = "Parity";
  puVar7[-0x17] = uVar2;
  puVar7[-0x18] = 0x36aff;
  FUN_0002a440();
  puVar7[-0xe] = puVar7[0xc];
  puVar7[-0xf] = puVar8;
  puVar7[-0x10] = 0x36b0c;
  FUN_00029480();
  uVar5 = puVar7[-5];
  puVar7[-0x13] = 0;
  puVar7[-0x14] = puVar8;
  puVar7[-0x15] = 0x36b1b;
  FUN_00029490();
  puVar7[-0x13] = uVar5;
  puVar7[-0x14] = FUN_00036490;
  puVar7[-0x15] = puVar7[-6];
  puVar7[-0x16] = 0x28;
  puVar7[-0x17] = 0x66;
  puVar7[-0x18] = "Flow control";
  puVar7[-0x19] = uVar2;
  puVar7[-0x1a] = 0x36b3a;
  FUN_0002a440();
  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  puVar7[-0xe] = 0x36d3d;
  FUN_00077880();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001b410
ADD EBX,0x8ee4b
SUB ESP,0x3c
MOV EAX,dword ptr [ESP + 0x50]
MOV EDI,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
TEST EDI,EDI
JZ 0x00036b60
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcb8f4]
LEA EDI,[EBX + 0xfffcb87b]
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x10]
CALL 0x00029950
ADD ESP,0x10
LEA EBP,[EBX + 0xfff5c18c]
LEA ESI,[ESP + 0x1c]
LEA EAX,[EBX + 0xfffcb861]
PUSH EAX
LEA EAX,[EBX + 0xfffc4688]
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x10]
CALL 0x00029a50
MOV EDI,EAX
POP EAX
POP EDX
PUSH -0x1
PUSH ESI
CALL 0x00029480
MOV EDX,dword ptr [ESP + 0x28]
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],EDX
PUSH 0x3a
PUSH ESI
CALL 0x00029480
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x20],EAX
PUSH ESI
CALL 0x00029490
ADD ESP,0x1c
MOV EDX,dword ptr [ESP + 0x8]
PUSH EDX
MOV EAX,dword ptr [ESP + 0x8]
PUSH EAX
LEA EAX,[EBX + 0xfffcb88d]
PUSH EBP
PUSH dword ptr [ESP + 0x28]
PUSH 0x28
PUSH 0x73
PUSH EAX
PUSH EDI
CALL 0x00029e60
ADD ESP,0x18
PUSH -0x1
PUSH ESI
CALL 0x00029480
MOV EDX,dword ptr [ESP + 0x28]
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],EDX
PUSH 0x3b
PUSH ESI
CALL 0x00029480
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x20],EAX
PUSH ESI
CALL 0x00029490
ADD ESP,0x1c
MOV EDX,dword ptr [ESP + 0x8]
PUSH EDX
MOV EAX,dword ptr [ESP + 0x8]
PUSH EAX
LEA EAX,[EBX + 0xfffcb89a]
PUSH EBP
PUSH dword ptr [ESP + 0x28]
PUSH 0x28
PUSH 0x62
PUSH EAX
PUSH EDI
CALL 0x00029e60
ADD ESP,0x18
PUSH -0x2
PUSH ESI
CALL 0x00029480
MOV EDX,dword ptr [ESP + 0x28]
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],EDX
PUSH 0x3c
PUSH ESI
CALL 0x00029480
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x20],EAX
PUSH ESI
CALL 0x00029490
ADD ESP,0x1c
MOV EDX,dword ptr [ESP + 0x8]
PUSH EDX
MOV EAX,dword ptr [ESP + 0x8]
PUSH EAX
LEA EAX,[EBX + 0xfffcb8a4]
PUSH EBP
PUSH dword ptr [ESP + 0x28]
PUSH 0x28
PUSH 0x74
PUSH EAX
PUSH EDI
CALL 0x00029e60
ADD ESP,0x18
PUSH dword ptr [ESP + 0x60]
PUSH ESI
CALL 0x00029480
MOV EBP,dword ptr [ESP + 0x28]
SUB ESP,0xc
PUSH 0x0
PUSH ESI
CALL 0x00029490
POP ECX
POP EAX
LEA EAX,[EBX + 0xfff70f1c]
PUSH EBP
PUSH EAX
LEA EAX,[EBX + 0xfffcc1cb]
PUSH dword ptr [ESP + 0x38]
PUSH 0x28
PUSH 0x70
PUSH EAX
PUSH EDI
CALL 0x0002a440
ADD ESP,0x28
PUSH dword ptr [ESP + 0x64]
PUSH ESI
CALL 0x00029480
MOV EBP,dword ptr [ESP + 0x28]
SUB ESP,0xc
PUSH 0x0
PUSH ESI
CALL 0x00029490
POP EAX
LEA EAX,[EBX + 0xfff70cec]
POP EDX
PUSH EBP
PUSH EAX
LEA EAX,[EBX + 0xfffcb8ae]
PUSH dword ptr [ESP + 0x38]
PUSH 0x28
PUSH 0x66
PUSH EAX
PUSH EDI
CALL 0x0002a440
ADD ESP,0x30
MOV EAX,dword ptr [ESP + 0x2c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x00036d38
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0xfffc7a80]
PUSH EAX
LEA EAX,[EBX + 0xfffc61c7]
PUSH EAX
LEA EAX,[EBX + 0xfffd05f3]
PUSH EAX
PUSH dword ptr [ESP + 0x10]
CALL 0x00029a50
ADD ESP,0x10
MOV ECX,EAX
MOV EAX,dword ptr [EAX + 0x10]
LEA ESI,[ESP + 0x1c]
TEST EAX,EAX
JLE 0x00036c94
LEA EBP,[EBX + 0xfffcb886]
LEA EDX,[EBX + 0xfff5c4cc]
MOV dword ptr [ESP + 0x8],ESI
MOV dword ptr [ESP + 0xc],EBP
MOV EBP,ECX
JMP 0x00036bbb
ADD EDI,0x1
CMP EDI,EAX
JGE 0x00036c90
MOV ECX,dword ptr [EBP + 0x18]
MOV ESI,dword ptr [ECX + EDI*0x4]
CMP dword ptr [ESI],0x2
JNZ 0x00036bb0
CMP dword ptr [ESI + 0x10],EDX
JNZ 0x00036bb0
MOV EAX,dword ptr [ESI + 0x24]
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0x4
ADD dword ptr [ESI + 0x20],0x1
ADD EAX,0x1
MOV dword ptr [ESI + 0x24],EAX
PUSH 0x4
PUSH EAX
PUSH dword ptr [ESI + 0x28]
CALL 0x000314a0
MOV ECX,dword ptr [ESI + 0x24]
MOV dword ptr [ESI + 0x28],EAX
LEA ECX,[EAX + ECX*0x4 + -0x4]
MOV dword ptr [ESP + 0x20],ECX
POP ECX
PUSH dword ptr [ESP + 0x18]
CALL 0x00030420
MOV ECX,dword ptr [ESP + 0x20]
ADD ESP,0xc
MOV dword ptr [ECX],EAX
PUSH 0x4
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x30]
CALL 0x000314a0
MOV dword ptr [ESI + 0x30],EAX
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [ESI + 0x24]
LEA ECX,[EAX + 0x3fffffff]
MOV dword ptr [ESP + 0x20],ECX
POP EAX
POP EDX
PUSH 0x4
PUSH dword ptr [ESP + 0x14]
CALL 0x00029480
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x28]
MOV ECX,dword ptr [ESP + 0x1c]
ADD ESP,0xc
MOV dword ptr [EAX + ECX*0x4],EDX
MOV EAX,dword ptr [ESI + 0x2c]
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x00036d30
MOV dword ptr [ESP + 0x10],EDX
SUB ESP,0x4
PUSH 0x1
PUSH dword ptr [ESI + 0x24]
PUSH EAX
CALL 0x000314a0
MOV ECX,dword ptr [ESI + 0x24]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
MOV dword ptr [ESI + 0x2c],EAX
MOV byte ptr [EAX + ECX*0x1 + -0x1],0x72
MOV EAX,dword ptr [EBP + 0x10]
JMP 0x00036bb0
MOV ESI,dword ptr [ESP + 0x8]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcb8f4]
LEA EDI,[EBX + 0xfffcb87b]
PUSH EAX
PUSH EDI
MOV EBP,dword ptr [ESP + 0x10]
PUSH EBP
CALL 0x00029950
LEA EAX,[EBX + 0xfffcb8bb]
PUSH EAX
LEA EAX,[EBX + 0xfffcb8d0]
PUSH EAX
PUSH EDI
PUSH EBP
CALL 0x00029a50
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x18
PUSH 0x1
PUSH ESI
CALL 0x00029480
MOV EDX,dword ptr [ESP + 0x28]
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],EDX
PUSH 0x39
PUSH ESI
CALL 0x00029480
MOV EBP,dword ptr [ESP + 0x38]
MOV dword ptr [ESP],0x0
PUSH ESI
CALL 0x00029490
ADD ESP,0x1c
MOV EDX,dword ptr [ESP + 0x8]
PUSH EDX
LEA EDX,[EBX + 0xfffcb8d8]
PUSH EBP
LEA EBP,[EBX + 0xfff5c18c]
PUSH EBP
PUSH dword ptr [ESP + 0x28]
PUSH 0x28
PUSH 0x6c
PUSH EDX
MOV EAX,dword ptr [ESP + 0x28]
PUSH EAX
CALL 0x00029e60
ADD ESP,0x20
JMP 0x000369a9
MOV EAX,dword ptr [EBP + 0x10]
JMP 0x00036bb0
CALL 0x00077880
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00036950(undefined4 param_1,int param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}\n\n" comment (function_definition "void FUN_00036950(undefined4 param_1,int param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}" primitive_type (function_declarator "FUN_00036950(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_64 [2];" primitive_type (array_declarator "local_64 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_4c [4];" type_identifier (array_declarator "local_4c [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "char *local_44 [2];" primitive_type (pointer_declarator "*local_44 [2]" * (array_declarator "local_44 [2]" identifier [ number_literal ])) ;) (declaration "int local_3c [3];" primitive_type (array_declarator "local_3c [3]" identifier [ number_literal ]) ;) (declaration "undefined1 local_30 [16];" type_identifier (array_declarator "local_30 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x36959;" (assignment_expression "uStack_14 = 0x36959" identifier = number_literal) ;) (expression_statement "local_48 = param_1;" (assignment_expression "local_48 = param_1" identifier = identifier) ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }" { (expression_statement "iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");" (assignment_expression "iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" identifier = (call_expression "FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" identifier (argument_list "(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" ( identifier , (string_literal ""Session"" " string_content ") , (string_literal ""hostport"" " string_content ") , (string_literal ""Specify the destination you want to connect to"" " string_content ") )))) ;) (expression_statement "puVar9 = (undefined4 *)local_4c;" (assignment_expression "puVar9 = (undefined4 *)local_4c" identifier = (cast_expression "(undefined4 *)local_4c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" identifier = (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = local_30;" (assignment_expression "puVar8 = local_30" identifier = identifier) ;) (if_statement "if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }" { (expression_statement "pcVar6 = FUN_00021c70;" (assignment_expression "pcVar6 = FUN_00021c70" identifier = identifier) ;) (expression_statement "local_44[0] = puVar8;" (assignment_expression "local_44[0] = puVar8" (subscript_expression "local_44[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_44[1] = "Serial";" (assignment_expression "local_44[1] = "Serial"" (subscript_expression "local_44[1]" identifier [ number_literal ]) = (string_literal ""Serial"" " string_content ")) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "puVar8 = local_4c;" (assignment_expression "puVar8 = local_4c" identifier = identifier) ;) (do_statement "do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);" do (compound_statement "{\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      }" { (expression_statement "piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);" (assignment_expression "piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" identifier = (pointer_expression "*(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" * (cast_expression "(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + iVar10 * 4)" ( (binary_expression "*(int *)(iVar3 + 0x18) + iVar10 * 4" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "iVar10 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar9 = (undefined4 *)puVar8;" (assignment_expression "puVar9 = (undefined4 *)puVar8" identifier = (cast_expression "(undefined4 *)puVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }" if (parenthesized_expression "((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6))" ( (binary_expression "(*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)" (parenthesized_expression "(*piVar1 == 2)" ( (binary_expression "*piVar1 == 2" (pointer_expression "*piVar1" * identifier) == number_literal) )) && (parenthesized_expression "((code *)piVar1[4] == pcVar6)" ( (binary_expression "(code *)piVar1[4] == pcVar6" (cast_expression "(code *)piVar1[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar1[4]" identifier [ number_literal ])) == identifier) ))) )) (compound_statement "{\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }" { (expression_statement "iVar4 = piVar1[9];" (assignment_expression "iVar4 = piVar1[9]" identifier = (subscript_expression "piVar1[9]" identifier [ number_literal ])) ;) (expression_statement "*(code **)(puVar8 + 0x18) = pcVar6;" (assignment_expression "*(code **)(puVar8 + 0x18) = pcVar6" (pointer_expression "*(code **)(puVar8 + 0x18)" * (cast_expression "(code **)(puVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x18)" ( (binary_expression "puVar8 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar1[8] = piVar1[8] + 1;" (assignment_expression "piVar1[8] = piVar1[8] + 1" (subscript_expression "piVar1[8]" identifier [ number_literal ]) = (binary_expression "piVar1[8] + 1" (subscript_expression "piVar1[8]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar1[9] = iVar4 + 1;" (assignment_expression "piVar1[9] = iVar4 + 1" (subscript_expression "piVar1[9]" identifier [ number_literal ]) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -8) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -8) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -8)" * (cast_expression "(undefined4 *)(puVar8 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -0xc) = iVar4 + 1;" (assignment_expression "*(int *)(puVar8 + -0xc) = iVar4 + 1" (pointer_expression "*(int *)(puVar8 + -0xc)" * (cast_expression "(int *)(puVar8 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[10];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[10]" (pointer_expression "*(int *)(puVar8 + -0x10)" * (cast_expression "(int *)(puVar8 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar1[10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36bea;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36bea" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" identifier = (call_expression "FUN_000314a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar1[10] = iVar4;" (assignment_expression "piVar1[10] = iVar4" (subscript_expression "piVar1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;" (assignment_expression "*(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4" (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar4 + -4 + piVar1[9] * 4" (binary_expression "iVar4 + -4" identifier + number_literal) + (binary_expression "piVar1[9] * 4" (subscript_expression "piVar1[9]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);" (assignment_expression "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc)" (pointer_expression "*(undefined4 *)(puVar8 + -0x10)" * (cast_expression "(undefined4 *)(puVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar8 + 0xc)" * (cast_expression "(undefined4 *)(puVar8 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c02;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c02" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = FUN_00030420();" (assignment_expression "uVar5 = FUN_00030420()" identifier = (call_expression "FUN_00030420()" identifier (argument_list "()" ( )))) ;) (expression_statement "**(undefined4 **)(puVar8 + 0x10) = uVar5;" (assignment_expression "**(undefined4 **)(puVar8 + 0x10) = uVar5" (pointer_expression "**(undefined4 **)(puVar8 + 0x10)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x10)" * (cast_expression "(undefined4 **)(puVar8 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) ))))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -8) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -8) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -8)" * (cast_expression "(undefined4 *)(puVar8 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -0xc) = piVar1[9];" (assignment_expression "*(int *)(puVar8 + -0xc) = piVar1[9]" (pointer_expression "*(int *)(puVar8 + -0xc)" * (cast_expression "(int *)(puVar8 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = (subscript_expression "piVar1[9]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[0xc];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[0xc]" (pointer_expression "*(int *)(puVar8 + -0x10)" * (cast_expression "(int *)(puVar8 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar1[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c18;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c18" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" identifier = (call_expression "FUN_000314a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar1[0xc] = iVar4;" (assignment_expression "piVar1[0xc] = iVar4" (subscript_expression "piVar1[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)(puVar8 + 0x14) = iVar4;" (assignment_expression "*(int *)(puVar8 + 0x14) = iVar4" (pointer_expression "*(int *)(puVar8 + 0x14)" * (cast_expression "(int *)(puVar8 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x14)" ( (binary_expression "puVar8 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;" (assignment_expression "*(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff" (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) = (binary_expression "piVar1[9] + 0x3fffffff" (subscript_expression "piVar1[9]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);" (assignment_expression "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8)" (pointer_expression "*(undefined4 *)(puVar8 + -0x10)" * (cast_expression "(undefined4 *)(puVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar8 + 8)" * (cast_expression "(undefined4 *)(puVar8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c39;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c39" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)(puVar8 + -4);" (assignment_expression "puVar9 = (undefined4 *)(puVar8 + -4)" identifier = (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);" (assignment_expression "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18)" (pointer_expression "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" * (cast_expression "(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" ( (binary_expression "*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4" (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) + (binary_expression "*(int *)(puVar8 + 0xc) * 4" (pointer_expression "*(int *)(puVar8 + 0xc)" * (cast_expression "(int *)(puVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) )))) * number_literal)) )))) = (pointer_expression "*(undefined4 *)(puVar8 + 0x18)" * (cast_expression "(undefined4 *)(puVar8 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x18)" ( (binary_expression "puVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = piVar1[0xb];" (assignment_expression "iVar4 = piVar1[0xb]" identifier = (subscript_expression "piVar1[0xb]" identifier [ number_literal ])) ;) (expression_statement "pcVar6 = *(code **)(puVar8 + 0x14);" (assignment_expression "pcVar6 = *(code **)(puVar8 + 0x14)" identifier = (pointer_expression "*(code **)(puVar8 + 0x14)" * (cast_expression "(code **)(puVar8 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x14)" ( (binary_expression "puVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" { (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" identifier = (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" else (compound_statement "{\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" { (expression_statement "*(code **)(puVar8 + 0xc) = pcVar6;" (assignment_expression "*(code **)(puVar8 + 0xc) = pcVar6" (pointer_expression "*(code **)(puVar8 + 0xc)" * (cast_expression "(code **)(puVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[9];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[9]" (pointer_expression "*(int *)(puVar8 + -0x10)" * (cast_expression "(int *)(puVar8 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar1[9]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar8 + -0x14) = iVar4;" (assignment_expression "*(int *)(puVar8 + -0x14) = iVar4" (pointer_expression "*(int *)(puVar8 + -0x14)" * (cast_expression "(int *)(puVar8 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x18) = 0x36c6c;" (assignment_expression "*(undefined4 *)(puVar8 + -0x18) = 0x36c6c" (pointer_expression "*(undefined4 *)(puVar8 + -0x18)" * (cast_expression "(undefined4 *)(puVar8 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x18)" ( (binary_expression "puVar8 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" identifier = (call_expression "FUN_000314a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar9 = (undefined4 *)(puVar8 + -4);" (assignment_expression "puVar9 = (undefined4 *)(puVar8 + -4)" identifier = (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = *(code **)(puVar8 + 0xc);" (assignment_expression "pcVar6 = *(code **)(puVar8 + 0xc)" identifier = (pointer_expression "*(code **)(puVar8 + 0xc)" * (cast_expression "(code **)(puVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar1[0xb] = iVar4;" (assignment_expression "piVar1[0xb] = iVar4" (subscript_expression "piVar1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;" (assignment_expression "*(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72" (pointer_expression "*(undefined1 *)(iVar4 + -1 + piVar1[9])" * (cast_expression "(undefined1 *)(iVar4 + -1 + piVar1[9])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1 + piVar1[9])" ( (binary_expression "iVar4 + -1 + piVar1[9]" (binary_expression "iVar4 + -1" identifier + number_literal) + (subscript_expression "piVar1[9]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" identifier = (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) }))) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined1 *)puVar9;" (assignment_expression "puVar8 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar10 < iVar4)" ( (binary_expression "iVar10 < iVar4" identifier < identifier) )) ;) (expression_statement "puVar8 = *(undefined1 **)((int)puVar9 + 8);" (assignment_expression "puVar8 = *(undefined1 **)((int)puVar9 + 8)" identifier = (pointer_expression "*(undefined1 **)((int)puVar9 + 8)" * (cast_expression "(undefined1 **)((int)puVar9 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 8)" ( (binary_expression "(int)puVar9 + 8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "puVar9[-2] = "Options controlling local serial lines";" (assignment_expression "puVar9[-2] = "Options controlling local serial lines"" (subscript_expression "puVar9[-2]" identifier [ number_literal ]) = (string_literal ""Options controlling local serial lines"" " string_content ")) ;) (expression_statement "puVar9[-3] = "Connection/Serial";" (assignment_expression "puVar9[-3] = "Connection/Serial"" (subscript_expression "puVar9[-3]" identifier [ number_literal ]) = (string_literal ""Connection/Serial"" " string_content ")) ;) (expression_statement "uVar5 = puVar9[1];" (assignment_expression "uVar5 = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-4] = uVar5;" (assignment_expression "puVar9[-4] = uVar5" (subscript_expression "puVar9[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-5] = 0x36caf;" (assignment_expression "puVar9[-5] = 0x36caf" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029950();" (call_expression "FUN_00029950()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9[-5] = "Select a serial line";" (assignment_expression "puVar9[-5] = "Select a serial line"" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = (string_literal ""Select a serial line"" " string_content ")) ;) (expression_statement "puVar9[-6] = "serline";" (assignment_expression "puVar9[-6] = "serline"" (subscript_expression "puVar9[-6]" identifier [ number_literal ]) = (string_literal ""serline"" " string_content ")) ;) (expression_statement "puVar9[-7] = "Connection/Serial";" (assignment_expression "puVar9[-7] = "Connection/Serial"" (subscript_expression "puVar9[-7]" identifier [ number_literal ]) = (string_literal ""Connection/Serial"" " string_content ")) ;) (expression_statement "puVar9[-8] = uVar5;" (assignment_expression "puVar9[-8] = uVar5" (subscript_expression "puVar9[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-9] = 0x36cc4;" (assignment_expression "puVar9[-9] = 0x36cc4" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar5 = FUN_00029a50();" (assignment_expression "uVar5 = FUN_00029a50()" identifier = (call_expression "FUN_00029a50()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar9[3] = uVar5;" (assignment_expression "puVar9[3] = uVar5" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-3] = 1;" (assignment_expression "puVar9[-3] = 1" (subscript_expression "puVar9[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-4] = puVar8;" (assignment_expression "puVar9[-4] = puVar8" (subscript_expression "puVar9[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-5] = 0x36cd3;" (assignment_expression "puVar9[-5] = 0x36cd3" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9[1] = puVar9[6];" (assignment_expression "puVar9[1] = puVar9[6]" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (subscript_expression "puVar9[6]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-8] = 0x39;" (assignment_expression "puVar9[-8] = 0x39" (subscript_expression "puVar9[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-9] = puVar8;" (assignment_expression "puVar9[-9] = puVar8" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-10] = 0x36ce6;" (assignment_expression "puVar9[-10] = 0x36ce6" (subscript_expression "puVar9[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = puVar9[5];" (assignment_expression "uVar5 = puVar9[5]" identifier = (subscript_expression "puVar9[5]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-9] = 0;" (assignment_expression "puVar9[-9] = 0" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-10] = puVar8;" (assignment_expression "puVar9[-10] = puVar8" (subscript_expression "puVar9[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-0xb] = 0x36cf7;" (assignment_expression "puVar9[-0xb] = 0x36cf7" (subscript_expression "puVar9[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9[-4] = puVar9[-1];" (assignment_expression "puVar9[-4] = puVar9[-1]" (subscript_expression "puVar9[-4]" identifier [ number_literal ]) = (subscript_expression "puVar9[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-5] = uVar5;" (assignment_expression "puVar9[-5] = uVar5" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-6] = FUN_00021930;" (assignment_expression "puVar9[-6] = FUN_00021930" (subscript_expression "puVar9[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-7] = puVar9[4];" (assignment_expression "puVar9[-7] = puVar9[4]" (subscript_expression "puVar9[-7]" identifier [ number_literal ]) = (subscript_expression "puVar9[4]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-8] = 0x28;" (assignment_expression "puVar9[-8] = 0x28" (subscript_expression "puVar9[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-9] = 0x6c;" (assignment_expression "puVar9[-9] = 0x6c" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-10] = "Serial line to connect to";" (assignment_expression "puVar9[-10] = "Serial line to connect to"" (subscript_expression "puVar9[-10]" identifier [ number_literal ]) = (string_literal ""Serial line to connect to"" " string_content ")) ;) (expression_statement "puVar9[-0xb] = *puVar9;" (assignment_expression "puVar9[-0xb] = *puVar9" (subscript_expression "puVar9[-0xb]" identifier [ number_literal ]) = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "puVar9[-0xc] = 0x36d20;" (assignment_expression "puVar9[-0xc] = 0x36d20" (subscript_expression "puVar9[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7 = puVar9 + -3;" (assignment_expression "puVar7 = puVar9 + -3" identifier = (binary_expression "puVar9 + -3" identifier + number_literal)) ;) }) (else_clause "else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" else (compound_statement "{\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" { (expression_statement "FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");" (call_expression "FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines")" identifier (argument_list "(param_1,"Connection/Serial","Options controlling local serial lines")" ( identifier , (string_literal ""Connection/Serial"" " string_content ") , (string_literal ""Options controlling local serial lines"" " string_content ") ))) ;) (expression_statement "puVar7 = (undefined4 *)local_4c;" (assignment_expression "puVar7 = (undefined4 *)local_4c" identifier = (cast_expression "(undefined4 *)local_4c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar8 = local_30;" (assignment_expression "puVar8 = local_30" identifier = identifier) ;) }))) (expression_statement "puVar7[-1] = "Configure the serial line";" (assignment_expression "puVar7[-1] = "Configure the serial line"" (subscript_expression "puVar7[-1]" identifier [ number_literal ]) = (string_literal ""Configure the serial line"" " string_content ")) ;) (expression_statement "puVar7[-2] = "sercfg";" (assignment_expression "puVar7[-2] = "sercfg"" (subscript_expression "puVar7[-2]" identifier [ number_literal ]) = (string_literal ""sercfg"" " string_content ")) ;) (expression_statement "puVar7[-3] = "Connection/Serial";" (assignment_expression "puVar7[-3] = "Connection/Serial"" (subscript_expression "puVar7[-3]" identifier [ number_literal ]) = (string_literal ""Connection/Serial"" " string_content ")) ;) (expression_statement "puVar7[-4] = puVar7[1];" (assignment_expression "puVar7[-4] = puVar7[1]" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-5] = 0x369c1;" (assignment_expression "puVar7[-5] = 0x369c1" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = FUN_00029a50();" (assignment_expression "uVar2 = FUN_00029a50()" identifier = (call_expression "FUN_00029a50()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar7[-3] = 0xffffffff;" (assignment_expression "puVar7[-3] = 0xffffffff" (subscript_expression "puVar7[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-4] = puVar8;" (assignment_expression "puVar7[-4] = puVar8" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-5] = 0x369cd;" (assignment_expression "puVar7[-5] = 0x369cd" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[1] = puVar7[6];" (assignment_expression "puVar7[1] = puVar7[6]" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (subscript_expression "puVar7[6]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-8] = 0x3a;" (assignment_expression "puVar7[-8] = 0x3a" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-9] = puVar8;" (assignment_expression "puVar7[-9] = puVar8" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-10] = 0x369e0;" (assignment_expression "puVar7[-10] = 0x369e0" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-9] = 0;" (assignment_expression "puVar7[-9] = 0" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-1] = puVar7[5];" (assignment_expression "puVar7[-1] = puVar7[5]" (subscript_expression "puVar7[-1]" identifier [ number_literal ]) = (subscript_expression "puVar7[5]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-10] = puVar8;" (assignment_expression "puVar7[-10] = puVar8" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xb] = 0x369f5;" (assignment_expression "puVar7[-0xb] = 0x369f5" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-4] = puVar7[-1];" (assignment_expression "puVar7[-4] = puVar7[-1]" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = (subscript_expression "puVar7[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-5] = puVar7[-2];" (assignment_expression "puVar7[-5] = puVar7[-2]" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = (subscript_expression "puVar7[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-6] = FUN_00021930;" (assignment_expression "puVar7[-6] = FUN_00021930" (subscript_expression "puVar7[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-7] = puVar7[4];" (assignment_expression "puVar7[-7] = puVar7[4]" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = (subscript_expression "puVar7[4]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-8] = 0x28;" (assignment_expression "puVar7[-8] = 0x28" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-9] = 0x73;" (assignment_expression "puVar7[-9] = 0x73" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-10] = "Speed (baud)";" (assignment_expression "puVar7[-10] = "Speed (baud)"" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = (string_literal ""Speed (baud)"" " string_content ")) ;) (expression_statement "puVar7[-0xb] = uVar2;" (assignment_expression "puVar7[-0xb] = uVar2" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xc] = 0x36a18;" (assignment_expression "puVar7[-0xc] = 0x36a18" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-6] = 0xffffffff;" (assignment_expression "puVar7[-6] = 0xffffffff" (subscript_expression "puVar7[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-7] = puVar8;" (assignment_expression "puVar7[-7] = puVar8" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-8] = 0x36a23;" (assignment_expression "puVar7[-8] = 0x36a23" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-2] = puVar7[3];" (assignment_expression "puVar7[-2] = puVar7[3]" (subscript_expression "puVar7[-2]" identifier [ number_literal ]) = (subscript_expression "puVar7[3]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xb] = 0x3b;" (assignment_expression "puVar7[-0xb] = 0x3b" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xc] = puVar8;" (assignment_expression "puVar7[-0xc] = puVar8" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xd] = 0x36a36;" (assignment_expression "puVar7[-0xd] = 0x36a36" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xc] = 0;" (assignment_expression "puVar7[-0xc] = 0" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-4] = puVar7[2];" (assignment_expression "puVar7[-4] = puVar7[2]" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = (subscript_expression "puVar7[2]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xd] = puVar8;" (assignment_expression "puVar7[-0xd] = puVar8" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xe] = 0x36a4b;" (assignment_expression "puVar7[-0xe] = 0x36a4b" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-7] = puVar7[-4];" (assignment_expression "puVar7[-7] = puVar7[-4]" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = (subscript_expression "puVar7[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-8] = puVar7[-5];" (assignment_expression "puVar7[-8] = puVar7[-5]" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = (subscript_expression "puVar7[-5]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-9] = FUN_00021930;" (assignment_expression "puVar7[-9] = FUN_00021930" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-10] = puVar7[1];" (assignment_expression "puVar7[-10] = puVar7[1]" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xb] = 0x28;" (assignment_expression "puVar7[-0xb] = 0x28" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xc] = 0x62;" (assignment_expression "puVar7[-0xc] = 0x62" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xd] = "Data bits";" (assignment_expression "puVar7[-0xd] = "Data bits"" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = (string_literal ""Data bits"" " string_content ")) ;) (expression_statement "puVar7[-0xe] = uVar2;" (assignment_expression "puVar7[-0xe] = uVar2" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xf] = 0x36a6e;" (assignment_expression "puVar7[-0xf] = 0x36a6e" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-9] = 0xfffffffe;" (assignment_expression "puVar7[-9] = 0xfffffffe" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-10] = puVar8;" (assignment_expression "puVar7[-10] = puVar8" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xb] = 0x36a79;" (assignment_expression "puVar7[-0xb] = 0x36a79" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-5] = *puVar7;" (assignment_expression "puVar7[-5] = *puVar7" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "puVar7[-0xe] = 0x3c;" (assignment_expression "puVar7[-0xe] = 0x3c" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xf] = puVar8;" (assignment_expression "puVar7[-0xf] = puVar8" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x10] = 0x36a8c;" (assignment_expression "puVar7[-0x10] = 0x36a8c" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xf] = 0;" (assignment_expression "puVar7[-0xf] = 0" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-7] = puVar7[-1];" (assignment_expression "puVar7[-7] = puVar7[-1]" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = (subscript_expression "puVar7[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x10] = puVar8;" (assignment_expression "puVar7[-0x10] = puVar8" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x11] = 0x36aa1;" (assignment_expression "puVar7[-0x11] = 0x36aa1" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-10] = puVar7[-7];" (assignment_expression "puVar7[-10] = puVar7[-7]" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = (subscript_expression "puVar7[-7]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xb] = puVar7[-8];" (assignment_expression "puVar7[-0xb] = puVar7[-8]" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = (subscript_expression "puVar7[-8]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xc] = FUN_00021930;" (assignment_expression "puVar7[-0xc] = FUN_00021930" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xd] = puVar7[-2];" (assignment_expression "puVar7[-0xd] = puVar7[-2]" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = (subscript_expression "puVar7[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xe] = 0x28;" (assignment_expression "puVar7[-0xe] = 0x28" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xf] = 0x74;" (assignment_expression "puVar7[-0xf] = 0x74" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x10] = "Stop bits";" (assignment_expression "puVar7[-0x10] = "Stop bits"" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = (string_literal ""Stop bits"" " string_content ")) ;) (expression_statement "puVar7[-0x11] = uVar2;" (assignment_expression "puVar7[-0x11] = uVar2" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x12] = 0x36ac4;" (assignment_expression "puVar7[-0x12] = 0x36ac4" (subscript_expression "puVar7[-0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xc] = puVar7[0xd];" (assignment_expression "puVar7[-0xc] = puVar7[0xd]" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = (subscript_expression "puVar7[0xd]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xd] = puVar8;" (assignment_expression "puVar7[-0xd] = puVar8" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xe] = 0x36ad1;" (assignment_expression "puVar7[-0xe] = 0x36ad1" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = puVar7[-3];" (assignment_expression "uVar5 = puVar7[-3]" identifier = (subscript_expression "puVar7[-3]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x11] = 0;" (assignment_expression "puVar7[-0x11] = 0" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x12] = puVar8;" (assignment_expression "puVar7[-0x12] = puVar8" (subscript_expression "puVar7[-0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x13] = 0x36ae0;" (assignment_expression "puVar7[-0x13] = 0x36ae0" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0x11] = uVar5;" (assignment_expression "puVar7[-0x11] = uVar5" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x12] = FUN_000366c0;" (assignment_expression "puVar7[-0x12] = FUN_000366c0" (subscript_expression "puVar7[-0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x13] = puVar7[-4];" (assignment_expression "puVar7[-0x13] = puVar7[-4]" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = (subscript_expression "puVar7[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x14] = 0x28;" (assignment_expression "puVar7[-0x14] = 0x28" (subscript_expression "puVar7[-0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x15] = 0x70;" (assignment_expression "puVar7[-0x15] = 0x70" (subscript_expression "puVar7[-0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x16] = "Parity";" (assignment_expression "puVar7[-0x16] = "Parity"" (subscript_expression "puVar7[-0x16]" identifier [ number_literal ]) = (string_literal ""Parity"" " string_content ")) ;) (expression_statement "puVar7[-0x17] = uVar2;" (assignment_expression "puVar7[-0x17] = uVar2" (subscript_expression "puVar7[-0x17]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x18] = 0x36aff;" (assignment_expression "puVar7[-0x18] = 0x36aff" (subscript_expression "puVar7[-0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0002a440();" (call_expression "FUN_0002a440()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xe] = puVar7[0xc];" (assignment_expression "puVar7[-0xe] = puVar7[0xc]" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = (subscript_expression "puVar7[0xc]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xf] = puVar8;" (assignment_expression "puVar7[-0xf] = puVar8" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x10] = 0x36b0c;" (assignment_expression "puVar7[-0x10] = 0x36b0c" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = puVar7[-5];" (assignment_expression "uVar5 = puVar7[-5]" identifier = (subscript_expression "puVar7[-5]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x13] = 0;" (assignment_expression "puVar7[-0x13] = 0" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x14] = puVar8;" (assignment_expression "puVar7[-0x14] = puVar8" (subscript_expression "puVar7[-0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x15] = 0x36b1b;" (assignment_expression "puVar7[-0x15] = 0x36b1b" (subscript_expression "puVar7[-0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0x13] = uVar5;" (assignment_expression "puVar7[-0x13] = uVar5" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x14] = FUN_00036490;" (assignment_expression "puVar7[-0x14] = FUN_00036490" (subscript_expression "puVar7[-0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x15] = puVar7[-6];" (assignment_expression "puVar7[-0x15] = puVar7[-6]" (subscript_expression "puVar7[-0x15]" identifier [ number_literal ]) = (subscript_expression "puVar7[-6]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x16] = 0x28;" (assignment_expression "puVar7[-0x16] = 0x28" (subscript_expression "puVar7[-0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x17] = 0x66;" (assignment_expression "puVar7[-0x17] = 0x66" (subscript_expression "puVar7[-0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x18] = "Flow control";" (assignment_expression "puVar7[-0x18] = "Flow control"" (subscript_expression "puVar7[-0x18]" identifier [ number_literal ]) = (string_literal ""Flow control"" " string_content ")) ;) (expression_statement "puVar7[-0x19] = uVar2;" (assignment_expression "puVar7[-0x19] = uVar2" (subscript_expression "puVar7[-0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x1a] = 0x36b3a;" (assignment_expression "puVar7[-0x1a] = 0x36b3a" (subscript_expression "puVar7[-0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0002a440();" (call_expression "FUN_0002a440()" identifier (argument_list "()" ( ))) ;) (if_statement "if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar7[-2]" identifier [ number_literal ]) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "puVar7[-0xe] = 0x36d3d;" (assignment_expression "puVar7[-0xe] = 0x36d3d" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00077880();" (call_expression "FUN_00077880()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid ser_setup_config_box(controlbox *b,int midsession,int parity_mask,int flow_mask)\n\n{\n  int iVar1;\n  control *pcVar2;\n  controlset *pcVar3;\n  int iVar4;\n  size_t n;\n  char **ppcVar5;\n  char *pcVar6;\n  intorptr *piVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  intorptr local_30;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (midsession == 0) {\n    pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to");\n    iVar4 = pcVar3->ncontrols;\n    if (0 < iVar4) {\n      iVar8 = 0;\n      do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);\n    }\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n    pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line");\n    I(1);\n    I(0x39);\n    P((void *)0x0);\n    ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30);\n  }\n  else {\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n  }\n  pcVar3 = ctrl_getset(b,"Connection/Serial","sercfg","Configure the serial line");\n  I(-1);\n  I(0x3a);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(-1);\n  I(0x3b);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(-2);\n  I(0x3c);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(parity_mask);\n  P((void *)0x0);\n  ctrl_droplist(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30);\n  I(flow_mask);\n  P((void *)0x0);\n  ctrl_droplist(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}\n\n" comment comment (function_definition "void ser_setup_config_box(controlbox *b,int midsession,int parity_mask,int flow_mask)\n\n{\n  int iVar1;\n  control *pcVar2;\n  controlset *pcVar3;\n  int iVar4;\n  size_t n;\n  char **ppcVar5;\n  char *pcVar6;\n  intorptr *piVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  intorptr local_30;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (midsession == 0) {\n    pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to");\n    iVar4 = pcVar3->ncontrols;\n    if (0 < iVar4) {\n      iVar8 = 0;\n      do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);\n    }\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n    pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line");\n    I(1);\n    I(0x39);\n    P((void *)0x0);\n    ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30);\n  }\n  else {\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n  }\n  pcVar3 = ctrl_getset(b,"Connection/Serial","sercfg","Configure the serial line");\n  I(-1);\n  I(0x3a);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(-1);\n  I(0x3b);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(-2);\n  I(0x3c);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(parity_mask);\n  P((void *)0x0);\n  ctrl_droplist(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30);\n  I(flow_mask);\n  P((void *)0x0);\n  ctrl_droplist(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}" primitive_type (function_declarator "ser_setup_config_box(controlbox *b,int midsession,int parity_mask,int flow_mask)" identifier (parameter_list "(controlbox *b,int midsession,int parity_mask,int flow_mask)" ( (parameter_declaration "controlbox *b" type_identifier (pointer_declarator "*b" * identifier)) , (parameter_declaration "int midsession" primitive_type identifier) , (parameter_declaration "int parity_mask" primitive_type identifier) , (parameter_declaration "int flow_mask" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  control *pcVar2;\n  controlset *pcVar3;\n  int iVar4;\n  size_t n;\n  char **ppcVar5;\n  char *pcVar6;\n  intorptr *piVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  intorptr local_30;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (midsession == 0) {\n    pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to");\n    iVar4 = pcVar3->ncontrols;\n    if (0 < iVar4) {\n      iVar8 = 0;\n      do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);\n    }\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n    pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line");\n    I(1);\n    I(0x39);\n    P((void *)0x0);\n    ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30);\n  }\n  else {\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n  }\n  pcVar3 = ctrl_getset(b,"Connection/Serial","sercfg","Configure the serial line");\n  I(-1);\n  I(0x3a);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(-1);\n  I(0x3b);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(-2);\n  I(0x3c);\n  P((void *)0x0);\n  ctrl_editbox(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30);\n  I(parity_mask);\n  P((void *)0x0);\n  ctrl_droplist(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30);\n  I(flow_mask);\n  P((void *)0x0);\n  ctrl_droplist(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "control *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "controlset *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "size_t n;" primitive_type identifier ;) (declaration "char **ppcVar5;" primitive_type (pointer_declarator "**ppcVar5" * (pointer_declarator "*ppcVar5" * identifier)) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "intorptr *piVar7;" type_identifier (pointer_declarator "*piVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "intorptr local_30;" type_identifier identifier ;) (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) ))))) ;) (if_statement "if (midsession == 0) {\n    pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to");\n    iVar4 = pcVar3->ncontrols;\n    if (0 < iVar4) {\n      iVar8 = 0;\n      do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);\n    }\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n    pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line");\n    I(1);\n    I(0x39);\n    P((void *)0x0);\n    ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30);\n  }\n  else {\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n  }" if (parenthesized_expression "(midsession == 0)" ( (binary_expression "midsession == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to");\n    iVar4 = pcVar3->ncontrols;\n    if (0 < iVar4) {\n      iVar8 = 0;\n      do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);\n    }\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n    pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line");\n    I(1);\n    I(0x39);\n    P((void *)0x0);\n    ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30);\n  }" { (expression_statement "pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to");" (assignment_expression "pcVar3 = ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to")" identifier = (call_expression "ctrl_getset(b,"Session","hostport","Specify the destination you want to connect to")" identifier (argument_list "(b,"Session","hostport","Specify the destination you want to connect to")" ( identifier , (string_literal ""Session"" " string_content ") , (string_literal ""hostport"" " string_content ") , (string_literal ""Specify the destination you want to connect to"" " string_content ") )))) ;) (expression_statement "iVar4 = pcVar3->ncontrols;" (assignment_expression "iVar4 = pcVar3->ncontrols" identifier = (field_expression "pcVar3->ncontrols" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar4) {\n      iVar8 = 0;\n      do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);\n    }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n      iVar8 = 0;\n      do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);\n    }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      } while (iVar8 < iVar4);" do (compound_statement "{\n        pcVar2 = pcVar3->ctrls[iVar8];\n        if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }\n        iVar8 = iVar8 + 1;\n      }" { (expression_statement "pcVar2 = pcVar3->ctrls[iVar8];" (assignment_expression "pcVar2 = pcVar3->ctrls[iVar8]" identifier = (subscript_expression "pcVar3->ctrls[iVar8]" (field_expression "pcVar3->ctrls" identifier -> field_identifier) [ identifier ])) ;) (if_statement "if (((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)) {\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }" if (parenthesized_expression "(((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler))" ( (binary_expression "((pcVar2->generic).type == 2) &&\n           ((pcVar2->generic).handler == config_protocolbuttons_handler)" (parenthesized_expression "((pcVar2->generic).type == 2)" ( (binary_expression "(pcVar2->generic).type == 2" (field_expression "(pcVar2->generic).type" (parenthesized_expression "(pcVar2->generic)" ( (field_expression "pcVar2->generic" identifier -> field_identifier) )) . field_identifier) == number_literal) )) && (parenthesized_expression "((pcVar2->generic).handler == config_protocolbuttons_handler)" ( (binary_expression "(pcVar2->generic).handler == config_protocolbuttons_handler" (field_expression "(pcVar2->generic).handler" (parenthesized_expression "(pcVar2->generic)" ( (field_expression "pcVar2->generic" identifier -> field_identifier) )) . field_identifier) == identifier) ))) )) (compound_statement "{\n          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;\n          n = (pcVar2->editbox).password + 1;\n          (pcVar2->editbox).password = n;\n          ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);\n          iVar4 = (pcVar2->editbox).password;\n          (pcVar2->radio).buttons = ppcVar5;\n          pcVar6 = dupstr("Serial");\n          ppcVar5[iVar4 + -1] = pcVar6;\n          piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);\n          (pcVar2->radio).buttondata = piVar7;\n          iVar4 = (pcVar2->editbox).password;\n          I(4);\n          piVar7[iVar4 + 0x3fffffff] = local_30;\n          if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }\n        }" { (expression_statement "(pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;" (assignment_expression "(pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1" (field_expression "(pcVar2->fileselect).filter" (parenthesized_expression "(pcVar2->fileselect)" ( (field_expression "pcVar2->fileselect" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pcVar2->fileselect).filter + 1" (field_expression "(pcVar2->fileselect).filter" (parenthesized_expression "(pcVar2->fileselect)" ( (field_expression "pcVar2->fileselect" identifier -> field_identifier) )) . field_identifier) + number_literal)) ;) (expression_statement "n = (pcVar2->editbox).password + 1;" (assignment_expression "n = (pcVar2->editbox).password + 1" identifier = (binary_expression "(pcVar2->editbox).password + 1" (field_expression "(pcVar2->editbox).password" (parenthesized_expression "(pcVar2->editbox)" ( (field_expression "pcVar2->editbox" identifier -> field_identifier) )) . field_identifier) + number_literal)) ;) (expression_statement "(pcVar2->editbox).password = n;" (assignment_expression "(pcVar2->editbox).password = n" (field_expression "(pcVar2->editbox).password" (parenthesized_expression "(pcVar2->editbox)" ( (field_expression "pcVar2->editbox" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4);" (assignment_expression "ppcVar5 = (char **)saferealloc((pcVar2->radio).buttons,n,4)" identifier = (cast_expression "(char **)saferealloc((pcVar2->radio).buttons,n,4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "saferealloc((pcVar2->radio).buttons,n,4)" identifier (argument_list "((pcVar2->radio).buttons,n,4)" ( (field_expression "(pcVar2->radio).buttons" (parenthesized_expression "(pcVar2->radio)" ( (field_expression "pcVar2->radio" identifier -> field_identifier) )) . field_identifier) , identifier , number_literal ))))) ;) (expression_statement "iVar4 = (pcVar2->editbox).password;" (assignment_expression "iVar4 = (pcVar2->editbox).password" identifier = (field_expression "(pcVar2->editbox).password" (parenthesized_expression "(pcVar2->editbox)" ( (field_expression "pcVar2->editbox" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pcVar2->radio).buttons = ppcVar5;" (assignment_expression "(pcVar2->radio).buttons = ppcVar5" (field_expression "(pcVar2->radio).buttons" (parenthesized_expression "(pcVar2->radio)" ( (field_expression "pcVar2->radio" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar6 = dupstr("Serial");" (assignment_expression "pcVar6 = dupstr("Serial")" identifier = (call_expression "dupstr("Serial")" identifier (argument_list "("Serial")" ( (string_literal ""Serial"" " string_content ") )))) ;) (expression_statement "ppcVar5[iVar4 + -1] = pcVar6;" (assignment_expression "ppcVar5[iVar4 + -1] = pcVar6" (subscript_expression "ppcVar5[iVar4 + -1]" identifier [ (binary_expression "iVar4 + -1" identifier + number_literal) ]) = identifier) ;) (expression_statement "piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);" (assignment_expression "piVar7 = (intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4)" identifier = (cast_expression "(intorptr *)saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4)" ( (type_descriptor "intorptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc((pcVar2->radio).buttondata,(pcVar2->editbox).password,4)" identifier (argument_list "((pcVar2->radio).buttondata,(pcVar2->editbox).password,4)" ( (field_expression "(pcVar2->radio).buttondata" (parenthesized_expression "(pcVar2->radio)" ( (field_expression "pcVar2->radio" identifier -> field_identifier) )) . field_identifier) , (field_expression "(pcVar2->editbox).password" (parenthesized_expression "(pcVar2->editbox)" ( (field_expression "pcVar2->editbox" identifier -> field_identifier) )) . field_identifier) , number_literal ))))) ;) (expression_statement "(pcVar2->radio).buttondata = piVar7;" (assignment_expression "(pcVar2->radio).buttondata = piVar7" (field_expression "(pcVar2->radio).buttondata" (parenthesized_expression "(pcVar2->radio)" ( (field_expression "pcVar2->radio" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "iVar4 = (pcVar2->editbox).password;" (assignment_expression "iVar4 = (pcVar2->editbox).password" identifier = (field_expression "(pcVar2->editbox).password" (parenthesized_expression "(pcVar2->editbox)" ( (field_expression "pcVar2->editbox" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "I(4);" (call_expression "I(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "piVar7[iVar4 + 0x3fffffff] = local_30;" (assignment_expression "piVar7[iVar4 + 0x3fffffff] = local_30" (subscript_expression "piVar7[iVar4 + 0x3fffffff]" identifier [ (binary_expression "iVar4 + 0x3fffffff" identifier + number_literal) ]) = identifier) ;) (if_statement "if ((pcVar2->radio).shortcuts == (char *)0x0) {\n            iVar4 = pcVar3->ncontrols;\n          }\n          else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }" if (parenthesized_expression "((pcVar2->radio).shortcuts == (char *)0x0)" ( (binary_expression "(pcVar2->radio).shortcuts == (char *)0x0" (field_expression "(pcVar2->radio).shortcuts" (parenthesized_expression "(pcVar2->radio)" ( (field_expression "pcVar2->radio" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar4 = pcVar3->ncontrols;\n          }" { (expression_statement "iVar4 = pcVar3->ncontrols;" (assignment_expression "iVar4 = pcVar3->ncontrols" identifier = (field_expression "pcVar3->ncontrols" identifier -> field_identifier)) ;) }) (else_clause "else {\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }" else (compound_statement "{\n            pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);\n            (pcVar2->radio).shortcuts = pcVar6;\n            pcVar6[(pcVar2->editbox).password + -1] = 'r';\n            iVar4 = pcVar3->ncontrols;\n          }" { (expression_statement "pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);" (assignment_expression "pcVar6 = (char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1)" identifier = (cast_expression "(char *)saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "saferealloc((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1)" identifier (argument_list "((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1)" ( (field_expression "(pcVar2->radio).shortcuts" (parenthesized_expression "(pcVar2->radio)" ( (field_expression "pcVar2->radio" identifier -> field_identifier) )) . field_identifier) , (field_expression "(pcVar2->editbox).password" (parenthesized_expression "(pcVar2->editbox)" ( (field_expression "pcVar2->editbox" identifier -> field_identifier) )) . field_identifier) , number_literal ))))) ;) (expression_statement "(pcVar2->radio).shortcuts = pcVar6;" (assignment_expression "(pcVar2->radio).shortcuts = pcVar6" (field_expression "(pcVar2->radio).shortcuts" (parenthesized_expression "(pcVar2->radio)" ( (field_expression "pcVar2->radio" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar6[(pcVar2->editbox).password + -1] = 'r';" (assignment_expression "pcVar6[(pcVar2->editbox).password + -1] = 'r'" (subscript_expression "pcVar6[(pcVar2->editbox).password + -1]" identifier [ (binary_expression "(pcVar2->editbox).password + -1" (field_expression "(pcVar2->editbox).password" (parenthesized_expression "(pcVar2->editbox)" ( (field_expression "pcVar2->editbox" identifier -> field_identifier) )) . field_identifier) + number_literal) ]) = (char_literal "'r'" ' character ')) ;) (expression_statement "iVar4 = pcVar3->ncontrols;" (assignment_expression "iVar4 = pcVar3->ncontrols" identifier = (field_expression "pcVar3->ncontrols" identifier -> field_identifier)) ;) }))) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < iVar4)" ( (binary_expression "iVar8 < iVar4" identifier < identifier) )) ;) })) (expression_statement "ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");" (call_expression "ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines")" identifier (argument_list "(b,"Connection/Serial","Options controlling local serial lines")" ( identifier , (string_literal ""Connection/Serial"" " string_content ") , (string_literal ""Options controlling local serial lines"" " string_content ") ))) ;) (expression_statement "pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line");" (assignment_expression "pcVar3 = ctrl_getset(b,"Connection/Serial","serline","Select a serial line")" identifier = (call_expression "ctrl_getset(b,"Connection/Serial","serline","Select a serial line")" identifier (argument_list "(b,"Connection/Serial","serline","Select a serial line")" ( identifier , (string_literal ""Connection/Serial"" " string_content ") , (string_literal ""serline"" " string_content ") , (string_literal ""Select a serial line"" " string_content ") )))) ;) (expression_statement "I(1);" (call_expression "I(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "I(0x39);" (call_expression "I(0x39)" identifier (argument_list "(0x39)" ( number_literal ))) ;) (expression_statement "P((void *)0x0);" (call_expression "P((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30);" (call_expression "ctrl_editbox(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30)" identifier (argument_list "(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,\n                 local_30)" ( identifier , (string_literal ""Serial line to connect to"" " string_content ") , (char_literal "'l'" ' character ') , number_literal , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n  }" else (compound_statement "{\n    ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");\n  }" { (expression_statement "ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines");" (call_expression "ctrl_settitle(b,"Connection/Serial","Options controlling local serial lines")" identifier (argument_list "(b,"Connection/Serial","Options controlling local serial lines")" ( identifier , (string_literal ""Connection/Serial"" " string_content ") , (string_literal ""Options controlling local serial lines"" " string_content ") ))) ;) }))) (expression_statement "pcVar3 = ctrl_getset(b,"Connection/Serial","sercfg","Configure the serial line");" (assignment_expression "pcVar3 = ctrl_getset(b,"Connection/Serial","sercfg","Configure the serial line")" identifier = (call_expression "ctrl_getset(b,"Connection/Serial","sercfg","Configure the serial line")" identifier (argument_list "(b,"Connection/Serial","sercfg","Configure the serial line")" ( identifier , (string_literal ""Connection/Serial"" " string_content ") , (string_literal ""sercfg"" " string_content ") , (string_literal ""Configure the serial line"" " string_content ") )))) ;) (expression_statement "I(-1);" (call_expression "I(-1)" identifier (argument_list "(-1)" ( number_literal ))) ;) (expression_statement "I(0x3a);" (call_expression "I(0x3a)" identifier (argument_list "(0x3a)" ( number_literal ))) ;) (expression_statement "P((void *)0x0);" (call_expression "P((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "ctrl_editbox(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30);" (call_expression "ctrl_editbox(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30)" identifier (argument_list "(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30)" ( identifier , (string_literal ""Speed (baud)"" " string_content ") , (char_literal "'s'" ' character ') , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "I(-1);" (call_expression "I(-1)" identifier (argument_list "(-1)" ( number_literal ))) ;) (expression_statement "I(0x3b);" (call_expression "I(0x3b)" identifier (argument_list "(0x3b)" ( number_literal ))) ;) (expression_statement "P((void *)0x0);" (call_expression "P((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "ctrl_editbox(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30);" (call_expression "ctrl_editbox(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30)" identifier (argument_list "(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30)" ( identifier , (string_literal ""Data bits"" " string_content ") , (char_literal "'b'" ' character ') , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "I(-2);" (call_expression "I(-2)" identifier (argument_list "(-2)" ( number_literal ))) ;) (expression_statement "I(0x3c);" (call_expression "I(0x3c)" identifier (argument_list "(0x3c)" ( number_literal ))) ;) (expression_statement "P((void *)0x0);" (call_expression "P((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "ctrl_editbox(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30);" (call_expression "ctrl_editbox(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30)" identifier (argument_list "(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30)" ( identifier , (string_literal ""Stop bits"" " string_content ") , (char_literal "'t'" ' character ') , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "I(parity_mask);" (call_expression "I(parity_mask)" identifier (argument_list "(parity_mask)" ( identifier ))) ;) (expression_statement "P((void *)0x0);" (call_expression "P((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "ctrl_droplist(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30);" (call_expression "ctrl_droplist(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30)" identifier (argument_list "(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30)" ( identifier , (string_literal ""Parity"" " string_content ") , (char_literal "'p'" ' character ') , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "I(flow_mask);" (call_expression "I(flow_mask)" identifier (argument_list "(flow_mask)" ( identifier ))) ;) (expression_statement "P((void *)0x0);" (call_expression "P((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "ctrl_droplist(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30);" (call_expression "ctrl_droplist(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30)" identifier (argument_list "(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30)" ( identifier , (string_literal ""Flow control"" " string_content ") , (char_literal "'f'" ' character ') , number_literal , identifier , identifier , identifier ))) ;) (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00036950(undefined4 param_1,int param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}\n\n" (function_definition "void FUN_00036950(undefined4 param_1,int param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}" primitive_type (function_declarator "FUN_00036950(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_64 [2];" primitive_type (array_declarator "local_64 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_4c [4];" type_identifier (array_declarator "local_4c [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "char *local_44 [2];" primitive_type (pointer_declarator "*local_44 [2]" * (array_declarator "local_44 [2]" identifier [ number_literal ])) ;) (declaration "int local_3c [3];" primitive_type (array_declarator "local_3c [3]" identifier [ number_literal ]) ;) (declaration "undefined1 local_30 [16];" type_identifier (array_declarator "local_30 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x36959;" (assignment_expression "uStack_14 = 0x36959" identifier = number_literal) ;) (expression_statement "local_48 = param_1;" (assignment_expression "local_48 = param_1" identifier = identifier) ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }" { (expression_statement "iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");" (assignment_expression "iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" identifier = (call_expression "FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" identifier (argument_list "(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" ( identifier , (string_literal ""Session"" " string_content ") , (string_literal ""hostport"" " string_content ") , (string_literal ""Specify the destination you want to connect to"" " string_content ") )))) ;) (expression_statement "puVar9 = (undefined4 *)local_4c;" (assignment_expression "puVar9 = (undefined4 *)local_4c" identifier = (cast_expression "(undefined4 *)local_4c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" identifier = (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = local_30;" (assignment_expression "puVar8 = local_30" identifier = identifier) ;) (if_statement "if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }" { (expression_statement "pcVar6 = FUN_00021c70;" (assignment_expression "pcVar6 = FUN_00021c70" identifier = identifier) ;) (expression_statement "local_44[0] = puVar8;" (assignment_expression "local_44[0] = puVar8" (subscript_expression "local_44[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_44[1] = "Serial";" (assignment_expression "local_44[1] = "Serial"" (subscript_expression "local_44[1]" identifier [ number_literal ]) = (string_literal ""Serial"" " string_content ")) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "puVar8 = local_4c;" (assignment_expression "puVar8 = local_4c" identifier = identifier) ;) (do_statement "do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);" do (compound_statement "{\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      }" { (expression_statement "piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);" (assignment_expression "piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" identifier = (pointer_expression "*(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" * (cast_expression "(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar3 + 0x18) + iVar10 * 4)" ( (binary_expression "*(int *)(iVar3 + 0x18) + iVar10 * 4" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) + (binary_expression "iVar10 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar9 = (undefined4 *)puVar8;" (assignment_expression "puVar9 = (undefined4 *)puVar8" identifier = (cast_expression "(undefined4 *)puVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }" if (parenthesized_expression "((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6))" ( (binary_expression "(*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)" (parenthesized_expression "(*piVar1 == 2)" ( (binary_expression "*piVar1 == 2" (pointer_expression "*piVar1" * identifier) == number_literal) )) && (parenthesized_expression "((code *)piVar1[4] == pcVar6)" ( (binary_expression "(code *)piVar1[4] == pcVar6" (cast_expression "(code *)piVar1[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar1[4]" identifier [ number_literal ])) == identifier) ))) )) (compound_statement "{\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }" { (expression_statement "iVar4 = piVar1[9];" (assignment_expression "iVar4 = piVar1[9]" identifier = (subscript_expression "piVar1[9]" identifier [ number_literal ])) ;) (expression_statement "*(code **)(puVar8 + 0x18) = pcVar6;" (assignment_expression "*(code **)(puVar8 + 0x18) = pcVar6" (pointer_expression "*(code **)(puVar8 + 0x18)" * (cast_expression "(code **)(puVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x18)" ( (binary_expression "puVar8 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar1[8] = piVar1[8] + 1;" (assignment_expression "piVar1[8] = piVar1[8] + 1" (subscript_expression "piVar1[8]" identifier [ number_literal ]) = (binary_expression "piVar1[8] + 1" (subscript_expression "piVar1[8]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar1[9] = iVar4 + 1;" (assignment_expression "piVar1[9] = iVar4 + 1" (subscript_expression "piVar1[9]" identifier [ number_literal ]) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -8) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -8) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -8)" * (cast_expression "(undefined4 *)(puVar8 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -0xc) = iVar4 + 1;" (assignment_expression "*(int *)(puVar8 + -0xc) = iVar4 + 1" (pointer_expression "*(int *)(puVar8 + -0xc)" * (cast_expression "(int *)(puVar8 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[10];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[10]" (pointer_expression "*(int *)(puVar8 + -0x10)" * (cast_expression "(int *)(puVar8 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar1[10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36bea;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36bea" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" identifier = (call_expression "FUN_000314a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar1[10] = iVar4;" (assignment_expression "piVar1[10] = iVar4" (subscript_expression "piVar1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;" (assignment_expression "*(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4" (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar4 + -4 + piVar1[9] * 4" (binary_expression "iVar4 + -4" identifier + number_literal) + (binary_expression "piVar1[9] * 4" (subscript_expression "piVar1[9]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);" (assignment_expression "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc)" (pointer_expression "*(undefined4 *)(puVar8 + -0x10)" * (cast_expression "(undefined4 *)(puVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar8 + 0xc)" * (cast_expression "(undefined4 *)(puVar8 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c02;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c02" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = FUN_00030420();" (assignment_expression "uVar5 = FUN_00030420()" identifier = (call_expression "FUN_00030420()" identifier (argument_list "()" ( )))) ;) (expression_statement "**(undefined4 **)(puVar8 + 0x10) = uVar5;" (assignment_expression "**(undefined4 **)(puVar8 + 0x10) = uVar5" (pointer_expression "**(undefined4 **)(puVar8 + 0x10)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x10)" * (cast_expression "(undefined4 **)(puVar8 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) ))))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -8) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -8) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -8)" * (cast_expression "(undefined4 *)(puVar8 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -8)" ( (binary_expression "puVar8 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -0xc) = piVar1[9];" (assignment_expression "*(int *)(puVar8 + -0xc) = piVar1[9]" (pointer_expression "*(int *)(puVar8 + -0xc)" * (cast_expression "(int *)(puVar8 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = (subscript_expression "piVar1[9]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[0xc];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[0xc]" (pointer_expression "*(int *)(puVar8 + -0x10)" * (cast_expression "(int *)(puVar8 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar1[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c18;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c18" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" identifier = (call_expression "FUN_000314a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar1[0xc] = iVar4;" (assignment_expression "piVar1[0xc] = iVar4" (subscript_expression "piVar1[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)(puVar8 + 0x14) = iVar4;" (assignment_expression "*(int *)(puVar8 + 0x14) = iVar4" (pointer_expression "*(int *)(puVar8 + 0x14)" * (cast_expression "(int *)(puVar8 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x14)" ( (binary_expression "puVar8 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;" (assignment_expression "*(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff" (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) = (binary_expression "piVar1[9] + 0x3fffffff" (subscript_expression "piVar1[9]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);" (assignment_expression "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8)" (pointer_expression "*(undefined4 *)(puVar8 + -0x10)" * (cast_expression "(undefined4 *)(puVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar8 + 8)" * (cast_expression "(undefined4 *)(puVar8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c39;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c39" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)(puVar8 + -4);" (assignment_expression "puVar9 = (undefined4 *)(puVar8 + -4)" identifier = (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);" (assignment_expression "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18)" (pointer_expression "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" * (cast_expression "(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" ( (binary_expression "*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4" (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) + (binary_expression "*(int *)(puVar8 + 0xc) * 4" (pointer_expression "*(int *)(puVar8 + 0xc)" * (cast_expression "(int *)(puVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) )))) * number_literal)) )))) = (pointer_expression "*(undefined4 *)(puVar8 + 0x18)" * (cast_expression "(undefined4 *)(puVar8 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x18)" ( (binary_expression "puVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = piVar1[0xb];" (assignment_expression "iVar4 = piVar1[0xb]" identifier = (subscript_expression "piVar1[0xb]" identifier [ number_literal ])) ;) (expression_statement "pcVar6 = *(code **)(puVar8 + 0x14);" (assignment_expression "pcVar6 = *(code **)(puVar8 + 0x14)" identifier = (pointer_expression "*(code **)(puVar8 + 0x14)" * (cast_expression "(code **)(puVar8 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x14)" ( (binary_expression "puVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" { (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" identifier = (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" else (compound_statement "{\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" { (expression_statement "*(code **)(puVar8 + 0xc) = pcVar6;" (assignment_expression "*(code **)(puVar8 + 0xc) = pcVar6" (pointer_expression "*(code **)(puVar8 + 0xc)" * (cast_expression "(code **)(puVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" * (cast_expression "(undefined4 *)(puVar8 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0xc)" ( (binary_expression "puVar8 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[9];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[9]" (pointer_expression "*(int *)(puVar8 + -0x10)" * (cast_expression "(int *)(puVar8 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar1[9]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar8 + -0x14) = iVar4;" (assignment_expression "*(int *)(puVar8 + -0x14) = iVar4" (pointer_expression "*(int *)(puVar8 + -0x14)" * (cast_expression "(int *)(puVar8 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x18) = 0x36c6c;" (assignment_expression "*(undefined4 *)(puVar8 + -0x18) = 0x36c6c" (pointer_expression "*(undefined4 *)(puVar8 + -0x18)" * (cast_expression "(undefined4 *)(puVar8 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x18)" ( (binary_expression "puVar8 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" identifier = (call_expression "FUN_000314a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar9 = (undefined4 *)(puVar8 + -4);" (assignment_expression "puVar9 = (undefined4 *)(puVar8 + -4)" identifier = (cast_expression "(undefined4 *)(puVar8 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -4)" ( (binary_expression "puVar8 + -4" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = *(code **)(puVar8 + 0xc);" (assignment_expression "pcVar6 = *(code **)(puVar8 + 0xc)" identifier = (pointer_expression "*(code **)(puVar8 + 0xc)" * (cast_expression "(code **)(puVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar1[0xb] = iVar4;" (assignment_expression "piVar1[0xb] = iVar4" (subscript_expression "piVar1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;" (assignment_expression "*(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72" (pointer_expression "*(undefined1 *)(iVar4 + -1 + piVar1[9])" * (cast_expression "(undefined1 *)(iVar4 + -1 + piVar1[9])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1 + piVar1[9])" ( (binary_expression "iVar4 + -1 + piVar1[9]" (binary_expression "iVar4 + -1" identifier + number_literal) + (subscript_expression "piVar1[9]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" identifier = (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) }))) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined1 *)puVar9;" (assignment_expression "puVar8 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar10 < iVar4)" ( (binary_expression "iVar10 < iVar4" identifier < identifier) )) ;) (expression_statement "puVar8 = *(undefined1 **)((int)puVar9 + 8);" (assignment_expression "puVar8 = *(undefined1 **)((int)puVar9 + 8)" identifier = (pointer_expression "*(undefined1 **)((int)puVar9 + 8)" * (cast_expression "(undefined1 **)((int)puVar9 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 8)" ( (binary_expression "(int)puVar9 + 8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "puVar9[-2] = "Options controlling local serial lines";" (assignment_expression "puVar9[-2] = "Options controlling local serial lines"" (subscript_expression "puVar9[-2]" identifier [ number_literal ]) = (string_literal ""Options controlling local serial lines"" " string_content ")) ;) (expression_statement "puVar9[-3] = "Connection/Serial";" (assignment_expression "puVar9[-3] = "Connection/Serial"" (subscript_expression "puVar9[-3]" identifier [ number_literal ]) = (string_literal ""Connection/Serial"" " string_content ")) ;) (expression_statement "uVar5 = puVar9[1];" (assignment_expression "uVar5 = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-4] = uVar5;" (assignment_expression "puVar9[-4] = uVar5" (subscript_expression "puVar9[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-5] = 0x36caf;" (assignment_expression "puVar9[-5] = 0x36caf" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029950();" (call_expression "FUN_00029950()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9[-5] = "Select a serial line";" (assignment_expression "puVar9[-5] = "Select a serial line"" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = (string_literal ""Select a serial line"" " string_content ")) ;) (expression_statement "puVar9[-6] = "serline";" (assignment_expression "puVar9[-6] = "serline"" (subscript_expression "puVar9[-6]" identifier [ number_literal ]) = (string_literal ""serline"" " string_content ")) ;) (expression_statement "puVar9[-7] = "Connection/Serial";" (assignment_expression "puVar9[-7] = "Connection/Serial"" (subscript_expression "puVar9[-7]" identifier [ number_literal ]) = (string_literal ""Connection/Serial"" " string_content ")) ;) (expression_statement "puVar9[-8] = uVar5;" (assignment_expression "puVar9[-8] = uVar5" (subscript_expression "puVar9[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-9] = 0x36cc4;" (assignment_expression "puVar9[-9] = 0x36cc4" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar5 = FUN_00029a50();" (assignment_expression "uVar5 = FUN_00029a50()" identifier = (call_expression "FUN_00029a50()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar9[3] = uVar5;" (assignment_expression "puVar9[3] = uVar5" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-3] = 1;" (assignment_expression "puVar9[-3] = 1" (subscript_expression "puVar9[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-4] = puVar8;" (assignment_expression "puVar9[-4] = puVar8" (subscript_expression "puVar9[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-5] = 0x36cd3;" (assignment_expression "puVar9[-5] = 0x36cd3" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9[1] = puVar9[6];" (assignment_expression "puVar9[1] = puVar9[6]" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (subscript_expression "puVar9[6]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-8] = 0x39;" (assignment_expression "puVar9[-8] = 0x39" (subscript_expression "puVar9[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-9] = puVar8;" (assignment_expression "puVar9[-9] = puVar8" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-10] = 0x36ce6;" (assignment_expression "puVar9[-10] = 0x36ce6" (subscript_expression "puVar9[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = puVar9[5];" (assignment_expression "uVar5 = puVar9[5]" identifier = (subscript_expression "puVar9[5]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-9] = 0;" (assignment_expression "puVar9[-9] = 0" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-10] = puVar8;" (assignment_expression "puVar9[-10] = puVar8" (subscript_expression "puVar9[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-0xb] = 0x36cf7;" (assignment_expression "puVar9[-0xb] = 0x36cf7" (subscript_expression "puVar9[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9[-4] = puVar9[-1];" (assignment_expression "puVar9[-4] = puVar9[-1]" (subscript_expression "puVar9[-4]" identifier [ number_literal ]) = (subscript_expression "puVar9[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-5] = uVar5;" (assignment_expression "puVar9[-5] = uVar5" (subscript_expression "puVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-6] = FUN_00021930;" (assignment_expression "puVar9[-6] = FUN_00021930" (subscript_expression "puVar9[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[-7] = puVar9[4];" (assignment_expression "puVar9[-7] = puVar9[4]" (subscript_expression "puVar9[-7]" identifier [ number_literal ]) = (subscript_expression "puVar9[4]" identifier [ number_literal ])) ;) (expression_statement "puVar9[-8] = 0x28;" (assignment_expression "puVar9[-8] = 0x28" (subscript_expression "puVar9[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-9] = 0x6c;" (assignment_expression "puVar9[-9] = 0x6c" (subscript_expression "puVar9[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[-10] = "Serial line to connect to";" (assignment_expression "puVar9[-10] = "Serial line to connect to"" (subscript_expression "puVar9[-10]" identifier [ number_literal ]) = (string_literal ""Serial line to connect to"" " string_content ")) ;) (expression_statement "puVar9[-0xb] = *puVar9;" (assignment_expression "puVar9[-0xb] = *puVar9" (subscript_expression "puVar9[-0xb]" identifier [ number_literal ]) = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "puVar9[-0xc] = 0x36d20;" (assignment_expression "puVar9[-0xc] = 0x36d20" (subscript_expression "puVar9[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7 = puVar9 + -3;" (assignment_expression "puVar7 = puVar9 + -3" identifier = (binary_expression "puVar9 + -3" identifier + number_literal)) ;) }) (else_clause "else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" else (compound_statement "{\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" { (expression_statement "FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");" (call_expression "FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines")" identifier (argument_list "(param_1,"Connection/Serial","Options controlling local serial lines")" ( identifier , (string_literal ""Connection/Serial"" " string_content ") , (string_literal ""Options controlling local serial lines"" " string_content ") ))) ;) (expression_statement "puVar7 = (undefined4 *)local_4c;" (assignment_expression "puVar7 = (undefined4 *)local_4c" identifier = (cast_expression "(undefined4 *)local_4c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar8 = local_30;" (assignment_expression "puVar8 = local_30" identifier = identifier) ;) }))) (expression_statement "puVar7[-1] = "Configure the serial line";" (assignment_expression "puVar7[-1] = "Configure the serial line"" (subscript_expression "puVar7[-1]" identifier [ number_literal ]) = (string_literal ""Configure the serial line"" " string_content ")) ;) (expression_statement "puVar7[-2] = "sercfg";" (assignment_expression "puVar7[-2] = "sercfg"" (subscript_expression "puVar7[-2]" identifier [ number_literal ]) = (string_literal ""sercfg"" " string_content ")) ;) (expression_statement "puVar7[-3] = "Connection/Serial";" (assignment_expression "puVar7[-3] = "Connection/Serial"" (subscript_expression "puVar7[-3]" identifier [ number_literal ]) = (string_literal ""Connection/Serial"" " string_content ")) ;) (expression_statement "puVar7[-4] = puVar7[1];" (assignment_expression "puVar7[-4] = puVar7[1]" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-5] = 0x369c1;" (assignment_expression "puVar7[-5] = 0x369c1" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = FUN_00029a50();" (assignment_expression "uVar2 = FUN_00029a50()" identifier = (call_expression "FUN_00029a50()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar7[-3] = 0xffffffff;" (assignment_expression "puVar7[-3] = 0xffffffff" (subscript_expression "puVar7[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-4] = puVar8;" (assignment_expression "puVar7[-4] = puVar8" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-5] = 0x369cd;" (assignment_expression "puVar7[-5] = 0x369cd" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[1] = puVar7[6];" (assignment_expression "puVar7[1] = puVar7[6]" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (subscript_expression "puVar7[6]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-8] = 0x3a;" (assignment_expression "puVar7[-8] = 0x3a" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-9] = puVar8;" (assignment_expression "puVar7[-9] = puVar8" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-10] = 0x369e0;" (assignment_expression "puVar7[-10] = 0x369e0" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-9] = 0;" (assignment_expression "puVar7[-9] = 0" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-1] = puVar7[5];" (assignment_expression "puVar7[-1] = puVar7[5]" (subscript_expression "puVar7[-1]" identifier [ number_literal ]) = (subscript_expression "puVar7[5]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-10] = puVar8;" (assignment_expression "puVar7[-10] = puVar8" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xb] = 0x369f5;" (assignment_expression "puVar7[-0xb] = 0x369f5" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-4] = puVar7[-1];" (assignment_expression "puVar7[-4] = puVar7[-1]" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = (subscript_expression "puVar7[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-5] = puVar7[-2];" (assignment_expression "puVar7[-5] = puVar7[-2]" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = (subscript_expression "puVar7[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-6] = FUN_00021930;" (assignment_expression "puVar7[-6] = FUN_00021930" (subscript_expression "puVar7[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-7] = puVar7[4];" (assignment_expression "puVar7[-7] = puVar7[4]" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = (subscript_expression "puVar7[4]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-8] = 0x28;" (assignment_expression "puVar7[-8] = 0x28" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-9] = 0x73;" (assignment_expression "puVar7[-9] = 0x73" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-10] = "Speed (baud)";" (assignment_expression "puVar7[-10] = "Speed (baud)"" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = (string_literal ""Speed (baud)"" " string_content ")) ;) (expression_statement "puVar7[-0xb] = uVar2;" (assignment_expression "puVar7[-0xb] = uVar2" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xc] = 0x36a18;" (assignment_expression "puVar7[-0xc] = 0x36a18" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-6] = 0xffffffff;" (assignment_expression "puVar7[-6] = 0xffffffff" (subscript_expression "puVar7[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-7] = puVar8;" (assignment_expression "puVar7[-7] = puVar8" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-8] = 0x36a23;" (assignment_expression "puVar7[-8] = 0x36a23" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-2] = puVar7[3];" (assignment_expression "puVar7[-2] = puVar7[3]" (subscript_expression "puVar7[-2]" identifier [ number_literal ]) = (subscript_expression "puVar7[3]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xb] = 0x3b;" (assignment_expression "puVar7[-0xb] = 0x3b" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xc] = puVar8;" (assignment_expression "puVar7[-0xc] = puVar8" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xd] = 0x36a36;" (assignment_expression "puVar7[-0xd] = 0x36a36" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xc] = 0;" (assignment_expression "puVar7[-0xc] = 0" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-4] = puVar7[2];" (assignment_expression "puVar7[-4] = puVar7[2]" (subscript_expression "puVar7[-4]" identifier [ number_literal ]) = (subscript_expression "puVar7[2]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xd] = puVar8;" (assignment_expression "puVar7[-0xd] = puVar8" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xe] = 0x36a4b;" (assignment_expression "puVar7[-0xe] = 0x36a4b" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-7] = puVar7[-4];" (assignment_expression "puVar7[-7] = puVar7[-4]" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = (subscript_expression "puVar7[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-8] = puVar7[-5];" (assignment_expression "puVar7[-8] = puVar7[-5]" (subscript_expression "puVar7[-8]" identifier [ number_literal ]) = (subscript_expression "puVar7[-5]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-9] = FUN_00021930;" (assignment_expression "puVar7[-9] = FUN_00021930" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-10] = puVar7[1];" (assignment_expression "puVar7[-10] = puVar7[1]" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xb] = 0x28;" (assignment_expression "puVar7[-0xb] = 0x28" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xc] = 0x62;" (assignment_expression "puVar7[-0xc] = 0x62" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xd] = "Data bits";" (assignment_expression "puVar7[-0xd] = "Data bits"" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = (string_literal ""Data bits"" " string_content ")) ;) (expression_statement "puVar7[-0xe] = uVar2;" (assignment_expression "puVar7[-0xe] = uVar2" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xf] = 0x36a6e;" (assignment_expression "puVar7[-0xf] = 0x36a6e" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-9] = 0xfffffffe;" (assignment_expression "puVar7[-9] = 0xfffffffe" (subscript_expression "puVar7[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-10] = puVar8;" (assignment_expression "puVar7[-10] = puVar8" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xb] = 0x36a79;" (assignment_expression "puVar7[-0xb] = 0x36a79" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-5] = *puVar7;" (assignment_expression "puVar7[-5] = *puVar7" (subscript_expression "puVar7[-5]" identifier [ number_literal ]) = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "puVar7[-0xe] = 0x3c;" (assignment_expression "puVar7[-0xe] = 0x3c" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xf] = puVar8;" (assignment_expression "puVar7[-0xf] = puVar8" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x10] = 0x36a8c;" (assignment_expression "puVar7[-0x10] = 0x36a8c" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xf] = 0;" (assignment_expression "puVar7[-0xf] = 0" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-7] = puVar7[-1];" (assignment_expression "puVar7[-7] = puVar7[-1]" (subscript_expression "puVar7[-7]" identifier [ number_literal ]) = (subscript_expression "puVar7[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x10] = puVar8;" (assignment_expression "puVar7[-0x10] = puVar8" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x11] = 0x36aa1;" (assignment_expression "puVar7[-0x11] = 0x36aa1" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-10] = puVar7[-7];" (assignment_expression "puVar7[-10] = puVar7[-7]" (subscript_expression "puVar7[-10]" identifier [ number_literal ]) = (subscript_expression "puVar7[-7]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xb] = puVar7[-8];" (assignment_expression "puVar7[-0xb] = puVar7[-8]" (subscript_expression "puVar7[-0xb]" identifier [ number_literal ]) = (subscript_expression "puVar7[-8]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xc] = FUN_00021930;" (assignment_expression "puVar7[-0xc] = FUN_00021930" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xd] = puVar7[-2];" (assignment_expression "puVar7[-0xd] = puVar7[-2]" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = (subscript_expression "puVar7[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xe] = 0x28;" (assignment_expression "puVar7[-0xe] = 0x28" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0xf] = 0x74;" (assignment_expression "puVar7[-0xf] = 0x74" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x10] = "Stop bits";" (assignment_expression "puVar7[-0x10] = "Stop bits"" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = (string_literal ""Stop bits"" " string_content ")) ;) (expression_statement "puVar7[-0x11] = uVar2;" (assignment_expression "puVar7[-0x11] = uVar2" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x12] = 0x36ac4;" (assignment_expression "puVar7[-0x12] = 0x36ac4" (subscript_expression "puVar7[-0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xc] = puVar7[0xd];" (assignment_expression "puVar7[-0xc] = puVar7[0xd]" (subscript_expression "puVar7[-0xc]" identifier [ number_literal ]) = (subscript_expression "puVar7[0xd]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xd] = puVar8;" (assignment_expression "puVar7[-0xd] = puVar8" (subscript_expression "puVar7[-0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0xe] = 0x36ad1;" (assignment_expression "puVar7[-0xe] = 0x36ad1" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = puVar7[-3];" (assignment_expression "uVar5 = puVar7[-3]" identifier = (subscript_expression "puVar7[-3]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x11] = 0;" (assignment_expression "puVar7[-0x11] = 0" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x12] = puVar8;" (assignment_expression "puVar7[-0x12] = puVar8" (subscript_expression "puVar7[-0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x13] = 0x36ae0;" (assignment_expression "puVar7[-0x13] = 0x36ae0" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0x11] = uVar5;" (assignment_expression "puVar7[-0x11] = uVar5" (subscript_expression "puVar7[-0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x12] = FUN_000366c0;" (assignment_expression "puVar7[-0x12] = FUN_000366c0" (subscript_expression "puVar7[-0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x13] = puVar7[-4];" (assignment_expression "puVar7[-0x13] = puVar7[-4]" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = (subscript_expression "puVar7[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x14] = 0x28;" (assignment_expression "puVar7[-0x14] = 0x28" (subscript_expression "puVar7[-0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x15] = 0x70;" (assignment_expression "puVar7[-0x15] = 0x70" (subscript_expression "puVar7[-0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x16] = "Parity";" (assignment_expression "puVar7[-0x16] = "Parity"" (subscript_expression "puVar7[-0x16]" identifier [ number_literal ]) = (string_literal ""Parity"" " string_content ")) ;) (expression_statement "puVar7[-0x17] = uVar2;" (assignment_expression "puVar7[-0x17] = uVar2" (subscript_expression "puVar7[-0x17]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x18] = 0x36aff;" (assignment_expression "puVar7[-0x18] = 0x36aff" (subscript_expression "puVar7[-0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0002a440();" (call_expression "FUN_0002a440()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0xe] = puVar7[0xc];" (assignment_expression "puVar7[-0xe] = puVar7[0xc]" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = (subscript_expression "puVar7[0xc]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0xf] = puVar8;" (assignment_expression "puVar7[-0xf] = puVar8" (subscript_expression "puVar7[-0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x10] = 0x36b0c;" (assignment_expression "puVar7[-0x10] = 0x36b0c" (subscript_expression "puVar7[-0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = puVar7[-5];" (assignment_expression "uVar5 = puVar7[-5]" identifier = (subscript_expression "puVar7[-5]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x13] = 0;" (assignment_expression "puVar7[-0x13] = 0" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x14] = puVar8;" (assignment_expression "puVar7[-0x14] = puVar8" (subscript_expression "puVar7[-0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x15] = 0x36b1b;" (assignment_expression "puVar7[-0x15] = 0x36b1b" (subscript_expression "puVar7[-0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7[-0x13] = uVar5;" (assignment_expression "puVar7[-0x13] = uVar5" (subscript_expression "puVar7[-0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x14] = FUN_00036490;" (assignment_expression "puVar7[-0x14] = FUN_00036490" (subscript_expression "puVar7[-0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x15] = puVar7[-6];" (assignment_expression "puVar7[-0x15] = puVar7[-6]" (subscript_expression "puVar7[-0x15]" identifier [ number_literal ]) = (subscript_expression "puVar7[-6]" identifier [ number_literal ])) ;) (expression_statement "puVar7[-0x16] = 0x28;" (assignment_expression "puVar7[-0x16] = 0x28" (subscript_expression "puVar7[-0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x17] = 0x66;" (assignment_expression "puVar7[-0x17] = 0x66" (subscript_expression "puVar7[-0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[-0x18] = "Flow control";" (assignment_expression "puVar7[-0x18] = "Flow control"" (subscript_expression "puVar7[-0x18]" identifier [ number_literal ]) = (string_literal ""Flow control"" " string_content ")) ;) (expression_statement "puVar7[-0x19] = uVar2;" (assignment_expression "puVar7[-0x19] = uVar2" (subscript_expression "puVar7[-0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[-0x1a] = 0x36b3a;" (assignment_expression "puVar7[-0x1a] = 0x36b3a" (subscript_expression "puVar7[-0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0002a440();" (call_expression "FUN_0002a440()" identifier (argument_list "()" ( ))) ;) (if_statement "if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar7[-2]" identifier [ number_literal ]) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar7[-0xe] = 0x36d3d;" (assignment_expression "puVar7[-0xe] = 0x36d3d" (subscript_expression "puVar7[-0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00077880();" (call_expression "FUN_00077880()" identifier (argument_list "()" ( ))) ;) })))
(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 TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT + LIT) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (subscript_expression IDENT [ LIT ])) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_00036950(undefined4 param_1,int param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}" (primitive_type "void") (function_declarator "FUN_00036950(undefined4 param_1,int param_2)" (identifier "FUN_00036950") (parameter_list "(undefined4 param_1,int param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int *piVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  code *pcVar6;\n  undefined4 *puVar7;\n  undefined1 *puVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int local_64 [2];\n  undefined1 local_4c [4];\n  undefined4 local_48;\n  char *local_44 [2];\n  int local_3c [3];\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x36959;\n  local_48 = param_1;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }\n  puVar7[-1] = "Configure the serial line";\n  puVar7[-2] = "sercfg";\n  puVar7[-3] = "Connection/Serial";\n  puVar7[-4] = puVar7[1];\n  puVar7[-5] = 0x369c1;\n  uVar2 = FUN_00029a50();\n  puVar7[-3] = 0xffffffff;\n  puVar7[-4] = puVar8;\n  puVar7[-5] = 0x369cd;\n  FUN_00029480();\n  puVar7[1] = puVar7[6];\n  puVar7[-8] = 0x3a;\n  puVar7[-9] = puVar8;\n  puVar7[-10] = 0x369e0;\n  FUN_00029480();\n  puVar7[-9] = 0;\n  puVar7[-1] = puVar7[5];\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x369f5;\n  FUN_00029490();\n  puVar7[-4] = puVar7[-1];\n  puVar7[-5] = puVar7[-2];\n  puVar7[-6] = FUN_00021930;\n  puVar7[-7] = puVar7[4];\n  puVar7[-8] = 0x28;\n  puVar7[-9] = 0x73;\n  puVar7[-10] = "Speed (baud)";\n  puVar7[-0xb] = uVar2;\n  puVar7[-0xc] = 0x36a18;\n  FUN_00029e60();\n  puVar7[-6] = 0xffffffff;\n  puVar7[-7] = puVar8;\n  puVar7[-8] = 0x36a23;\n  FUN_00029480();\n  puVar7[-2] = puVar7[3];\n  puVar7[-0xb] = 0x3b;\n  puVar7[-0xc] = puVar8;\n  puVar7[-0xd] = 0x36a36;\n  FUN_00029480();\n  puVar7[-0xc] = 0;\n  puVar7[-4] = puVar7[2];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36a4b;\n  FUN_00029490();\n  puVar7[-7] = puVar7[-4];\n  puVar7[-8] = puVar7[-5];\n  puVar7[-9] = FUN_00021930;\n  puVar7[-10] = puVar7[1];\n  puVar7[-0xb] = 0x28;\n  puVar7[-0xc] = 0x62;\n  puVar7[-0xd] = "Data bits";\n  puVar7[-0xe] = uVar2;\n  puVar7[-0xf] = 0x36a6e;\n  FUN_00029e60();\n  puVar7[-9] = 0xfffffffe;\n  puVar7[-10] = puVar8;\n  puVar7[-0xb] = 0x36a79;\n  FUN_00029480();\n  puVar7[-5] = *puVar7;\n  puVar7[-0xe] = 0x3c;\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36a8c;\n  FUN_00029480();\n  puVar7[-0xf] = 0;\n  puVar7[-7] = puVar7[-1];\n  puVar7[-0x10] = puVar8;\n  puVar7[-0x11] = 0x36aa1;\n  FUN_00029490();\n  puVar7[-10] = puVar7[-7];\n  puVar7[-0xb] = puVar7[-8];\n  puVar7[-0xc] = FUN_00021930;\n  puVar7[-0xd] = puVar7[-2];\n  puVar7[-0xe] = 0x28;\n  puVar7[-0xf] = 0x74;\n  puVar7[-0x10] = "Stop bits";\n  puVar7[-0x11] = uVar2;\n  puVar7[-0x12] = 0x36ac4;\n  FUN_00029e60();\n  puVar7[-0xc] = puVar7[0xd];\n  puVar7[-0xd] = puVar8;\n  puVar7[-0xe] = 0x36ad1;\n  FUN_00029480();\n  uVar5 = puVar7[-3];\n  puVar7[-0x11] = 0;\n  puVar7[-0x12] = puVar8;\n  puVar7[-0x13] = 0x36ae0;\n  FUN_00029490();\n  puVar7[-0x11] = uVar5;\n  puVar7[-0x12] = FUN_000366c0;\n  puVar7[-0x13] = puVar7[-4];\n  puVar7[-0x14] = 0x28;\n  puVar7[-0x15] = 0x70;\n  puVar7[-0x16] = "Parity";\n  puVar7[-0x17] = uVar2;\n  puVar7[-0x18] = 0x36aff;\n  FUN_0002a440();\n  puVar7[-0xe] = puVar7[0xc];\n  puVar7[-0xf] = puVar8;\n  puVar7[-0x10] = 0x36b0c;\n  FUN_00029480();\n  uVar5 = puVar7[-5];\n  puVar7[-0x13] = 0;\n  puVar7[-0x14] = puVar8;\n  puVar7[-0x15] = 0x36b1b;\n  FUN_00029490();\n  puVar7[-0x13] = uVar5;\n  puVar7[-0x14] = FUN_00036490;\n  puVar7[-0x15] = puVar7[-6];\n  puVar7[-0x16] = 0x28;\n  puVar7[-0x17] = 0x66;\n  puVar7[-0x18] = "Flow control";\n  puVar7[-0x19] = uVar2;\n  puVar7[-0x1a] = 0x36b3a;\n  FUN_0002a440();\n  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  puVar7[-0xe] = 0x36d3d;\n  FUN_00077880();\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (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 "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "code *pcVar6;" (type_identifier "code") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined1 *puVar8;" (type_identifier "undefined1") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int local_64 [2];" (primitive_type "int") (array_declarator "local_64 [2]" (identifier "local_64") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 local_4c [4];" (type_identifier "undefined1") (array_declarator "local_4c [4]" (identifier "local_4c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "char *local_44 [2];" (primitive_type "char") (pointer_declarator "*local_44 [2]" (* "*") (array_declarator "local_44 [2]" (identifier "local_44") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "int local_3c [3];" (primitive_type "int") (array_declarator "local_3c [3]" (identifier "local_3c") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined1 local_30 [16];" (type_identifier "undefined1") (array_declarator "local_30 [16]" (identifier "local_30") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x36959;" (assignment_expression "uStack_14 = 0x36959" (identifier "uStack_14") (= "=") (number_literal "0x36959")) (; ";")) (expression_statement "local_48 = param_1;" (assignment_expression "local_48 = param_1" (identifier "local_48") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_2 == 0) {\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }\n  else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");\n    puVar9 = (undefined4 *)local_4c;\n    iVar4 = *(int *)(iVar3 + 0x10);\n    puVar8 = local_30;\n    if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }\n    puVar9[-2] = "Options controlling local serial lines";\n    puVar9[-3] = "Connection/Serial";\n    uVar5 = puVar9[1];\n    puVar9[-4] = uVar5;\n    puVar9[-5] = 0x36caf;\n    FUN_00029950();\n    puVar9[-5] = "Select a serial line";\n    puVar9[-6] = "serline";\n    puVar9[-7] = "Connection/Serial";\n    puVar9[-8] = uVar5;\n    puVar9[-9] = 0x36cc4;\n    uVar5 = FUN_00029a50();\n    puVar9[3] = uVar5;\n    puVar9[-3] = 1;\n    puVar9[-4] = puVar8;\n    puVar9[-5] = 0x36cd3;\n    FUN_00029480();\n    puVar9[1] = puVar9[6];\n    puVar9[-8] = 0x39;\n    puVar9[-9] = puVar8;\n    puVar9[-10] = 0x36ce6;\n    FUN_00029480();\n    uVar5 = puVar9[5];\n    puVar9[-9] = 0;\n    puVar9[-10] = puVar8;\n    puVar9[-0xb] = 0x36cf7;\n    FUN_00029490();\n    puVar9[-4] = puVar9[-1];\n    puVar9[-5] = uVar5;\n    puVar9[-6] = FUN_00021930;\n    puVar9[-7] = puVar9[4];\n    puVar9[-8] = 0x28;\n    puVar9[-9] = 0x6c;\n    puVar9[-10] = "Serial line to connect to";\n    puVar9[-0xb] = *puVar9;\n    puVar9[-0xc] = 0x36d20;\n    FUN_00029e60();\n    puVar7 = puVar9 + -3;\n  }" ({ "{") (expression_statement "iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to");" (assignment_expression "iVar3 = FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" (identifier "iVar3") (= "=") (call_expression "FUN_00029a50(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" (identifier "FUN_00029a50") (argument_list "(param_1,"Session","hostport",\n                         "Specify the destination you want to connect to")" (( "(") (identifier "param_1") (, ",") (string_literal ""Session"" (" """) (string_content "Session") (" """)) (, ",") (string_literal ""hostport"" (" """) (string_content "hostport") (" """)) (, ",") (string_literal ""Specify the destination you want to connect to"" (" """) (string_content "Specify the destination you want to connect to") (" """)) () ")")))) (; ";")) (expression_statement "puVar9 = (undefined4 *)local_4c;" (assignment_expression "puVar9 = (undefined4 *)local_4c" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)local_4c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + 0x10)" (* "*") (cast_expression "(int *)(iVar3 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "puVar8 = local_30;" (assignment_expression "puVar8 = local_30" (identifier "puVar8") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (0 < iVar4) {\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n      pcVar6 = FUN_00021c70;\n      local_44[0] = puVar8;\n      local_44[1] = "Serial";\n      iVar10 = 0;\n      puVar8 = local_4c;\n      do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);\n      puVar8 = *(undefined1 **)((int)puVar9 + 8);\n    }" ({ "{") (expression_statement "pcVar6 = FUN_00021c70;" (assignment_expression "pcVar6 = FUN_00021c70" (identifier "pcVar6") (= "=") (identifier "FUN_00021c70")) (; ";")) (expression_statement "local_44[0] = puVar8;" (assignment_expression "local_44[0] = puVar8" (subscript_expression "local_44[0]" (identifier "local_44") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "local_44[1] = "Serial";" (assignment_expression "local_44[1] = "Serial"" (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]")) (= "=") (string_literal ""Serial"" (" """) (string_content "Serial") (" """))) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8 = local_4c;" (assignment_expression "puVar8 = local_4c" (identifier "puVar8") (= "=") (identifier "local_4c")) (; ";")) (do_statement "do {\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      } while (iVar10 < iVar4);" (do "do") (compound_statement "{\n        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);\n        puVar9 = (undefined4 *)puVar8;\n        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }\n        iVar10 = iVar10 + 1;\n        puVar8 = (undefined1 *)puVar9;\n      }" ({ "{") (expression_statement "piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);" (assignment_expression "piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" (identifier "piVar1") (= "=") (pointer_expression "*(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" (* "*") (cast_expression "(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x18) + iVar10 * 4)" (( "(") (binary_expression "*(int *)(iVar3 + 0x18) + iVar10 * 4" (pointer_expression "*(int *)(iVar3 + 0x18)" (* "*") (cast_expression "(int *)(iVar3 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x18)" (( "(") (binary_expression "iVar3 + 0x18" (identifier "iVar3") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "puVar9 = (undefined4 *)puVar8;" (assignment_expression "puVar9 = (undefined4 *)puVar8" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)puVar8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8"))) (; ";")) (if_statement "if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }" (if "if") (parenthesized_expression "((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6))" (( "(") (binary_expression "(*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)" (parenthesized_expression "(*piVar1 == 2)" (( "(") (binary_expression "*piVar1 == 2" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "((code *)piVar1[4] == pcVar6)" (( "(") (binary_expression "(code *)piVar1[4] == pcVar6" (cast_expression "(code *)piVar1[4]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar1[4]" (identifier "piVar1") ([ "[") (number_literal "4") (] "]"))) (== "==") (identifier "pcVar6")) () ")"))) () ")")) (compound_statement "{\n          iVar4 = piVar1[9];\n          *(code **)(puVar8 + 0x18) = pcVar6;\n          piVar1[8] = piVar1[8] + 1;\n          piVar1[9] = iVar4 + 1;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = iVar4 + 1;\n          *(int *)(puVar8 + -0x10) = piVar1[10];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;\n          iVar4 = FUN_000314a0();\n          piVar1[10] = iVar4;\n          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;\n          uVar5 = FUN_00030420();\n          **(undefined4 **)(puVar8 + 0x10) = uVar5;\n          *(undefined4 *)(puVar8 + -8) = 4;\n          *(int *)(puVar8 + -0xc) = piVar1[9];\n          *(int *)(puVar8 + -0x10) = piVar1[0xc];\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;\n          iVar4 = FUN_000314a0();\n          piVar1[0xc] = iVar4;\n          *(int *)(puVar8 + 0x14) = iVar4;\n          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;\n          *(undefined4 *)(puVar8 + -0xc) = 4;\n          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);\n          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;\n          FUN_00029480();\n          puVar9 = (undefined4 *)(puVar8 + -4);\n          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);\n          iVar4 = piVar1[0xb];\n          pcVar6 = *(code **)(puVar8 + 0x14);\n          if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n        }" ({ "{") (expression_statement "iVar4 = piVar1[9];" (assignment_expression "iVar4 = piVar1[9]" (identifier "iVar4") (= "=") (subscript_expression "piVar1[9]" (identifier "piVar1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(code **)(puVar8 + 0x18) = pcVar6;" (assignment_expression "*(code **)(puVar8 + 0x18) = pcVar6" (pointer_expression "*(code **)(puVar8 + 0x18)" (* "*") (cast_expression "(code **)(puVar8 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x18)" (( "(") (binary_expression "puVar8 + 0x18" (identifier "puVar8") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pcVar6")) (; ";")) (expression_statement "piVar1[8] = piVar1[8] + 1;" (assignment_expression "piVar1[8] = piVar1[8] + 1" (subscript_expression "piVar1[8]" (identifier "piVar1") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "piVar1[8] + 1" (subscript_expression "piVar1[8]" (identifier "piVar1") ([ "[") (number_literal "8") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar1[9] = iVar4 + 1;" (assignment_expression "piVar1[9] = iVar4 + 1" (subscript_expression "piVar1[9]" (identifier "piVar1") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -8) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -8) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(int *)(puVar8 + -0xc) = iVar4 + 1;" (assignment_expression "*(int *)(puVar8 + -0xc) = iVar4 + 1" (pointer_expression "*(int *)(puVar8 + -0xc)" (* "*") (cast_expression "(int *)(puVar8 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[10];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[10]" (pointer_expression "*(int *)(puVar8 + -0x10)" (* "*") (cast_expression "(int *)(puVar8 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar1[10]" (identifier "piVar1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36bea;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36bea" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x36bea")) (; ";")) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" (identifier "iVar4") (= "=") (call_expression "FUN_000314a0()" (identifier "FUN_000314a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar1[10] = iVar4;" (assignment_expression "piVar1[10] = iVar4" (subscript_expression "piVar1[10]" (identifier "piVar1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;" (assignment_expression "*(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4" (pointer_expression "*(int *)(puVar8 + 0x10)" (* "*") (cast_expression "(int *)(puVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x10)" (( "(") (binary_expression "puVar8 + 0x10" (identifier "puVar8") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "iVar4 + -4 + piVar1[9] * 4" (binary_expression "iVar4 + -4" (identifier "iVar4") (+ "+") (number_literal "-4")) (+ "+") (binary_expression "piVar1[9] * 4" (subscript_expression "piVar1[9]" (identifier "piVar1") ([ "[") (number_literal "9") (] "]")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);" (assignment_expression "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc)" (pointer_expression "*(undefined4 *)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar8 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar8 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0xc)" (( "(") (binary_expression "puVar8 + 0xc" (identifier "puVar8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c02;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c02" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x36c02")) (; ";")) (expression_statement "uVar5 = FUN_00030420();" (assignment_expression "uVar5 = FUN_00030420()" (identifier "uVar5") (= "=") (call_expression "FUN_00030420()" (identifier "FUN_00030420") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "**(undefined4 **)(puVar8 + 0x10) = uVar5;" (assignment_expression "**(undefined4 **)(puVar8 + 0x10) = uVar5" (pointer_expression "**(undefined4 **)(puVar8 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(puVar8 + 0x10)" (* "*") (cast_expression "(undefined4 **)(puVar8 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x10)" (( "(") (binary_expression "puVar8 + 0x10" (identifier "puVar8") (+ "+") (number_literal "0x10")) () ")"))))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -8) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -8) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -8)" (( "(") (binary_expression "puVar8 + -8" (identifier "puVar8") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(int *)(puVar8 + -0xc) = piVar1[9];" (assignment_expression "*(int *)(puVar8 + -0xc) = piVar1[9]" (pointer_expression "*(int *)(puVar8 + -0xc)" (* "*") (cast_expression "(int *)(puVar8 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "piVar1[9]" (identifier "piVar1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[0xc];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[0xc]" (pointer_expression "*(int *)(puVar8 + -0x10)" (* "*") (cast_expression "(int *)(puVar8 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar1[0xc]" (identifier "piVar1") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c18;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c18" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x36c18")) (; ";")) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" (identifier "iVar4") (= "=") (call_expression "FUN_000314a0()" (identifier "FUN_000314a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar1[0xc] = iVar4;" (assignment_expression "piVar1[0xc] = iVar4" (subscript_expression "piVar1[0xc]" (identifier "piVar1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(puVar8 + 0x14) = iVar4;" (assignment_expression "*(int *)(puVar8 + 0x14) = iVar4" (pointer_expression "*(int *)(puVar8 + 0x14)" (* "*") (cast_expression "(int *)(puVar8 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x14)" (( "(") (binary_expression "puVar8 + 0x14" (identifier "puVar8") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;" (assignment_expression "*(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff" (pointer_expression "*(int *)(puVar8 + 0x10)" (* "*") (cast_expression "(int *)(puVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x10)" (( "(") (binary_expression "puVar8 + 0x10" (identifier "puVar8") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "piVar1[9] + 0x3fffffff" (subscript_expression "piVar1[9]" (identifier "piVar1") ([ "[") (number_literal "9") (] "]")) (+ "+") (number_literal "0x3fffffff"))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);" (assignment_expression "*(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8)" (pointer_expression "*(undefined4 *)(puVar8 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar8 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar8 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 8)" (( "(") (binary_expression "puVar8 + 8" (identifier "puVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x36c39;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x36c39" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x36c39")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)(puVar8 + -4);" (assignment_expression "puVar9 = (undefined4 *)(puVar8 + -4)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(puVar8 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18);" (assignment_expression "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =\n               *(undefined4 *)(puVar8 + 0x18)" (pointer_expression "*(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4)" (( "(") (binary_expression "*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4" (pointer_expression "*(int *)(puVar8 + 0x10)" (* "*") (cast_expression "(int *)(puVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x10)" (( "(") (binary_expression "puVar8 + 0x10" (identifier "puVar8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (binary_expression "*(int *)(puVar8 + 0xc) * 4" (pointer_expression "*(int *)(puVar8 + 0xc)" (* "*") (cast_expression "(int *)(puVar8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0xc)" (( "(") (binary_expression "puVar8 + 0xc" (identifier "puVar8") (+ "+") (number_literal "0xc")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar8 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar8 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x18)" (( "(") (binary_expression "puVar8 + 0x18" (identifier "puVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar4 = piVar1[0xb];" (assignment_expression "iVar4 = piVar1[0xb]" (identifier "iVar4") (= "=") (subscript_expression "piVar1[0xb]" (identifier "piVar1") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "pcVar6 = *(code **)(puVar8 + 0x14);" (assignment_expression "pcVar6 = *(code **)(puVar8 + 0x14)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(puVar8 + 0x14)" (* "*") (cast_expression "(code **)(puVar8 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x14)" (( "(") (binary_expression "puVar8 + 0x14" (identifier "puVar8") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) {\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }\n          else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" ({ "{") (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + 0x10)" (* "*") (cast_expression "(int *)(iVar3 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" (else "else") (compound_statement "{\n            *(code **)(puVar8 + 0xc) = pcVar6;\n            *(undefined4 *)(puVar8 + -0xc) = 1;\n            *(int *)(puVar8 + -0x10) = piVar1[9];\n            *(int *)(puVar8 + -0x14) = iVar4;\n            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;\n            iVar4 = FUN_000314a0();\n            puVar9 = (undefined4 *)(puVar8 + -4);\n            pcVar6 = *(code **)(puVar8 + 0xc);\n            piVar1[0xb] = iVar4;\n            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;\n            iVar4 = *(int *)(iVar3 + 0x10);\n          }" ({ "{") (expression_statement "*(code **)(puVar8 + 0xc) = pcVar6;" (assignment_expression "*(code **)(puVar8 + 0xc) = pcVar6" (pointer_expression "*(code **)(puVar8 + 0xc)" (* "*") (cast_expression "(code **)(puVar8 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0xc)" (( "(") (binary_expression "puVar8 + 0xc" (identifier "puVar8") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "pcVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar8 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar8 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0xc)" (( "(") (binary_expression "puVar8 + -0xc" (identifier "puVar8") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar8 + -0x10) = piVar1[9];" (assignment_expression "*(int *)(puVar8 + -0x10) = piVar1[9]" (pointer_expression "*(int *)(puVar8 + -0x10)" (* "*") (cast_expression "(int *)(puVar8 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar1[9]" (identifier "piVar1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar8 + -0x14) = iVar4;" (assignment_expression "*(int *)(puVar8 + -0x14) = iVar4" (pointer_expression "*(int *)(puVar8 + -0x14)" (* "*") (cast_expression "(int *)(puVar8 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x18) = 0x36c6c;" (assignment_expression "*(undefined4 *)(puVar8 + -0x18) = 0x36c6c" (pointer_expression "*(undefined4 *)(puVar8 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x18)" (( "(") (binary_expression "puVar8 + -0x18" (identifier "puVar8") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x36c6c")) (; ";")) (expression_statement "iVar4 = FUN_000314a0();" (assignment_expression "iVar4 = FUN_000314a0()" (identifier "iVar4") (= "=") (call_expression "FUN_000314a0()" (identifier "FUN_000314a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar9 = (undefined4 *)(puVar8 + -4);" (assignment_expression "puVar9 = (undefined4 *)(puVar8 + -4)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(puVar8 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -4)" (( "(") (binary_expression "puVar8 + -4" (identifier "puVar8") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "pcVar6 = *(code **)(puVar8 + 0xc);" (assignment_expression "pcVar6 = *(code **)(puVar8 + 0xc)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(puVar8 + 0xc)" (* "*") (cast_expression "(code **)(puVar8 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0xc)" (( "(") (binary_expression "puVar8 + 0xc" (identifier "puVar8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar1[0xb] = iVar4;" (assignment_expression "piVar1[0xb] = iVar4" (subscript_expression "piVar1[0xb]" (identifier "piVar1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;" (assignment_expression "*(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72" (pointer_expression "*(undefined1 *)(iVar4 + -1 + piVar1[9])" (* "*") (cast_expression "(undefined1 *)(iVar4 + -1 + piVar1[9])" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -1 + piVar1[9])" (( "(") (binary_expression "iVar4 + -1 + piVar1[9]" (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1")) (+ "+") (subscript_expression "piVar1[9]" (identifier "piVar1") ([ "[") (number_literal "9") (] "]"))) () ")")))) (= "=") (number_literal "0x72")) (; ";")) (expression_statement "iVar4 = *(int *)(iVar3 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + 0x10)" (* "*") (cast_expression "(int *)(iVar3 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = (undefined1 *)puVar9;" (assignment_expression "puVar8 = (undefined1 *)puVar9" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)puVar9" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 < iVar4)" (( "(") (binary_expression "iVar10 < iVar4" (identifier "iVar10") (< "<") (identifier "iVar4")) () ")")) (; ";")) (expression_statement "puVar8 = *(undefined1 **)((int)puVar9 + 8);" (assignment_expression "puVar8 = *(undefined1 **)((int)puVar9 + 8)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined1 **)((int)puVar9 + 8)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 8)" (( "(") (binary_expression "(int)puVar9 + 8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar9[-2] = "Options controlling local serial lines";" (assignment_expression "puVar9[-2] = "Options controlling local serial lines"" (subscript_expression "puVar9[-2]" (identifier "puVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (string_literal ""Options controlling local serial lines"" (" """) (string_content "Options controlling local serial lines") (" """))) (; ";")) (expression_statement "puVar9[-3] = "Connection/Serial";" (assignment_expression "puVar9[-3] = "Connection/Serial"" (subscript_expression "puVar9[-3]" (identifier "puVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (string_literal ""Connection/Serial"" (" """) (string_content "Connection/Serial") (" """))) (; ";")) (expression_statement "uVar5 = puVar9[1];" (assignment_expression "uVar5 = puVar9[1]" (identifier "uVar5") (= "=") (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar9[-4] = uVar5;" (assignment_expression "puVar9[-4] = uVar5" (subscript_expression "puVar9[-4]" (identifier "puVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar9[-5] = 0x36caf;" (assignment_expression "puVar9[-5] = 0x36caf" (subscript_expression "puVar9[-5]" (identifier "puVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x36caf")) (; ";")) (expression_statement "FUN_00029950();" (call_expression "FUN_00029950()" (identifier "FUN_00029950") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9[-5] = "Select a serial line";" (assignment_expression "puVar9[-5] = "Select a serial line"" (subscript_expression "puVar9[-5]" (identifier "puVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (string_literal ""Select a serial line"" (" """) (string_content "Select a serial line") (" """))) (; ";")) (expression_statement "puVar9[-6] = "serline";" (assignment_expression "puVar9[-6] = "serline"" (subscript_expression "puVar9[-6]" (identifier "puVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (string_literal ""serline"" (" """) (string_content "serline") (" """))) (; ";")) (expression_statement "puVar9[-7] = "Connection/Serial";" (assignment_expression "puVar9[-7] = "Connection/Serial"" (subscript_expression "puVar9[-7]" (identifier "puVar9") ([ "[") (number_literal "-7") (] "]")) (= "=") (string_literal ""Connection/Serial"" (" """) (string_content "Connection/Serial") (" """))) (; ";")) (expression_statement "puVar9[-8] = uVar5;" (assignment_expression "puVar9[-8] = uVar5" (subscript_expression "puVar9[-8]" (identifier "puVar9") ([ "[") (number_literal "-8") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar9[-9] = 0x36cc4;" (assignment_expression "puVar9[-9] = 0x36cc4" (subscript_expression "puVar9[-9]" (identifier "puVar9") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0x36cc4")) (; ";")) (expression_statement "uVar5 = FUN_00029a50();" (assignment_expression "uVar5 = FUN_00029a50()" (identifier "uVar5") (= "=") (call_expression "FUN_00029a50()" (identifier "FUN_00029a50") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar9[3] = uVar5;" (assignment_expression "puVar9[3] = uVar5" (subscript_expression "puVar9[3]" (identifier "puVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar9[-3] = 1;" (assignment_expression "puVar9[-3] = 1" (subscript_expression "puVar9[-3]" (identifier "puVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar9[-4] = puVar8;" (assignment_expression "puVar9[-4] = puVar8" (subscript_expression "puVar9[-4]" (identifier "puVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar9[-5] = 0x36cd3;" (assignment_expression "puVar9[-5] = 0x36cd3" (subscript_expression "puVar9[-5]" (identifier "puVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x36cd3")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9[1] = puVar9[6];" (assignment_expression "puVar9[1] = puVar9[6]" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar9[6]" (identifier "puVar9") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puVar9[-8] = 0x39;" (assignment_expression "puVar9[-8] = 0x39" (subscript_expression "puVar9[-8]" (identifier "puVar9") ([ "[") (number_literal "-8") (] "]")) (= "=") (number_literal "0x39")) (; ";")) (expression_statement "puVar9[-9] = puVar8;" (assignment_expression "puVar9[-9] = puVar8" (subscript_expression "puVar9[-9]" (identifier "puVar9") ([ "[") (number_literal "-9") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar9[-10] = 0x36ce6;" (assignment_expression "puVar9[-10] = 0x36ce6" (subscript_expression "puVar9[-10]" (identifier "puVar9") ([ "[") (number_literal "-10") (] "]")) (= "=") (number_literal "0x36ce6")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = puVar9[5];" (assignment_expression "uVar5 = puVar9[5]" (identifier "uVar5") (= "=") (subscript_expression "puVar9[5]" (identifier "puVar9") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "puVar9[-9] = 0;" (assignment_expression "puVar9[-9] = 0" (subscript_expression "puVar9[-9]" (identifier "puVar9") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9[-10] = puVar8;" (assignment_expression "puVar9[-10] = puVar8" (subscript_expression "puVar9[-10]" (identifier "puVar9") ([ "[") (number_literal "-10") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar9[-0xb] = 0x36cf7;" (assignment_expression "puVar9[-0xb] = 0x36cf7" (subscript_expression "puVar9[-0xb]" (identifier "puVar9") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (number_literal "0x36cf7")) (; ";")) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" (identifier "FUN_00029490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9[-4] = puVar9[-1];" (assignment_expression "puVar9[-4] = puVar9[-1]" (subscript_expression "puVar9[-4]" (identifier "puVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar9[-1]" (identifier "puVar9") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "puVar9[-5] = uVar5;" (assignment_expression "puVar9[-5] = uVar5" (subscript_expression "puVar9[-5]" (identifier "puVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar9[-6] = FUN_00021930;" (assignment_expression "puVar9[-6] = FUN_00021930" (subscript_expression "puVar9[-6]" (identifier "puVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (identifier "FUN_00021930")) (; ";")) (expression_statement "puVar9[-7] = puVar9[4];" (assignment_expression "puVar9[-7] = puVar9[4]" (subscript_expression "puVar9[-7]" (identifier "puVar9") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "puVar9[4]" (identifier "puVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "puVar9[-8] = 0x28;" (assignment_expression "puVar9[-8] = 0x28" (subscript_expression "puVar9[-8]" (identifier "puVar9") ([ "[") (number_literal "-8") (] "]")) (= "=") (number_literal "0x28")) (; ";")) (expression_statement "puVar9[-9] = 0x6c;" (assignment_expression "puVar9[-9] = 0x6c" (subscript_expression "puVar9[-9]" (identifier "puVar9") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0x6c")) (; ";")) (expression_statement "puVar9[-10] = "Serial line to connect to";" (assignment_expression "puVar9[-10] = "Serial line to connect to"" (subscript_expression "puVar9[-10]" (identifier "puVar9") ([ "[") (number_literal "-10") (] "]")) (= "=") (string_literal ""Serial line to connect to"" (" """) (string_content "Serial line to connect to") (" """))) (; ";")) (expression_statement "puVar9[-0xb] = *puVar9;" (assignment_expression "puVar9[-0xb] = *puVar9" (subscript_expression "puVar9[-0xb]" (identifier "puVar9") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) (; ";")) (expression_statement "puVar9[-0xc] = 0x36d20;" (assignment_expression "puVar9[-0xc] = 0x36d20" (subscript_expression "puVar9[-0xc]" (identifier "puVar9") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (number_literal "0x36d20")) (; ";")) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" (identifier "FUN_00029e60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7 = puVar9 + -3;" (assignment_expression "puVar7 = puVar9 + -3" (identifier "puVar7") (= "=") (binary_expression "puVar9 + -3" (identifier "puVar9") (+ "+") (number_literal "-3"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" (else "else") (compound_statement "{\n    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");\n    puVar7 = (undefined4 *)local_4c;\n    puVar8 = local_30;\n  }" ({ "{") (expression_statement "FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");" (call_expression "FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines")" (identifier "FUN_00029950") (argument_list "(param_1,"Connection/Serial","Options controlling local serial lines")" (( "(") (identifier "param_1") (, ",") (string_literal ""Connection/Serial"" (" """) (string_content "Connection/Serial") (" """)) (, ",") (string_literal ""Options controlling local serial lines"" (" """) (string_content "Options controlling local serial lines") (" """)) () ")"))) (; ";")) (expression_statement "puVar7 = (undefined4 *)local_4c;" (assignment_expression "puVar7 = (undefined4 *)local_4c" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)local_4c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";")) (expression_statement "puVar8 = local_30;" (assignment_expression "puVar8 = local_30" (identifier "puVar8") (= "=") (identifier "local_30")) (; ";")) (} "}")))) (expression_statement "puVar7[-1] = "Configure the serial line";" (assignment_expression "puVar7[-1] = "Configure the serial line"" (subscript_expression "puVar7[-1]" (identifier "puVar7") ([ "[") (number_literal "-1") (] "]")) (= "=") (string_literal ""Configure the serial line"" (" """) (string_content "Configure the serial line") (" """))) (; ";")) (expression_statement "puVar7[-2] = "sercfg";" (assignment_expression "puVar7[-2] = "sercfg"" (subscript_expression "puVar7[-2]" (identifier "puVar7") ([ "[") (number_literal "-2") (] "]")) (= "=") (string_literal ""sercfg"" (" """) (string_content "sercfg") (" """))) (; ";")) (expression_statement "puVar7[-3] = "Connection/Serial";" (assignment_expression "puVar7[-3] = "Connection/Serial"" (subscript_expression "puVar7[-3]" (identifier "puVar7") ([ "[") (number_literal "-3") (] "]")) (= "=") (string_literal ""Connection/Serial"" (" """) (string_content "Connection/Serial") (" """))) (; ";")) (expression_statement "puVar7[-4] = puVar7[1];" (assignment_expression "puVar7[-4] = puVar7[1]" (subscript_expression "puVar7[-4]" (identifier "puVar7") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar7[-5] = 0x369c1;" (assignment_expression "puVar7[-5] = 0x369c1" (subscript_expression "puVar7[-5]" (identifier "puVar7") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x369c1")) (; ";")) (expression_statement "uVar2 = FUN_00029a50();" (assignment_expression "uVar2 = FUN_00029a50()" (identifier "uVar2") (= "=") (call_expression "FUN_00029a50()" (identifier "FUN_00029a50") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar7[-3] = 0xffffffff;" (assignment_expression "puVar7[-3] = 0xffffffff" (subscript_expression "puVar7[-3]" (identifier "puVar7") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar7[-4] = puVar8;" (assignment_expression "puVar7[-4] = puVar8" (subscript_expression "puVar7[-4]" (identifier "puVar7") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-5] = 0x369cd;" (assignment_expression "puVar7[-5] = 0x369cd" (subscript_expression "puVar7[-5]" (identifier "puVar7") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x369cd")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[1] = puVar7[6];" (assignment_expression "puVar7[1] = puVar7[6]" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar7[6]" (identifier "puVar7") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puVar7[-8] = 0x3a;" (assignment_expression "puVar7[-8] = 0x3a" (subscript_expression "puVar7[-8]" (identifier "puVar7") ([ "[") (number_literal "-8") (] "]")) (= "=") (number_literal "0x3a")) (; ";")) (expression_statement "puVar7[-9] = puVar8;" (assignment_expression "puVar7[-9] = puVar8" (subscript_expression "puVar7[-9]" (identifier "puVar7") ([ "[") (number_literal "-9") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-10] = 0x369e0;" (assignment_expression "puVar7[-10] = 0x369e0" (subscript_expression "puVar7[-10]" (identifier "puVar7") ([ "[") (number_literal "-10") (] "]")) (= "=") (number_literal "0x369e0")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-9] = 0;" (assignment_expression "puVar7[-9] = 0" (subscript_expression "puVar7[-9]" (identifier "puVar7") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[-1] = puVar7[5];" (assignment_expression "puVar7[-1] = puVar7[5]" (subscript_expression "puVar7[-1]" (identifier "puVar7") ([ "[") (number_literal "-1") (] "]")) (= "=") (subscript_expression "puVar7[5]" (identifier "puVar7") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "puVar7[-10] = puVar8;" (assignment_expression "puVar7[-10] = puVar8" (subscript_expression "puVar7[-10]" (identifier "puVar7") ([ "[") (number_literal "-10") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0xb] = 0x369f5;" (assignment_expression "puVar7[-0xb] = 0x369f5" (subscript_expression "puVar7[-0xb]" (identifier "puVar7") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (number_literal "0x369f5")) (; ";")) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" (identifier "FUN_00029490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-4] = puVar7[-1];" (assignment_expression "puVar7[-4] = puVar7[-1]" (subscript_expression "puVar7[-4]" (identifier "puVar7") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar7[-1]" (identifier "puVar7") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "puVar7[-5] = puVar7[-2];" (assignment_expression "puVar7[-5] = puVar7[-2]" (subscript_expression "puVar7[-5]" (identifier "puVar7") ([ "[") (number_literal "-5") (] "]")) (= "=") (subscript_expression "puVar7[-2]" (identifier "puVar7") ([ "[") (number_literal "-2") (] "]"))) (; ";")) (expression_statement "puVar7[-6] = FUN_00021930;" (assignment_expression "puVar7[-6] = FUN_00021930" (subscript_expression "puVar7[-6]" (identifier "puVar7") ([ "[") (number_literal "-6") (] "]")) (= "=") (identifier "FUN_00021930")) (; ";")) (expression_statement "puVar7[-7] = puVar7[4];" (assignment_expression "puVar7[-7] = puVar7[4]" (subscript_expression "puVar7[-7]" (identifier "puVar7") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "puVar7[4]" (identifier "puVar7") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "puVar7[-8] = 0x28;" (assignment_expression "puVar7[-8] = 0x28" (subscript_expression "puVar7[-8]" (identifier "puVar7") ([ "[") (number_literal "-8") (] "]")) (= "=") (number_literal "0x28")) (; ";")) (expression_statement "puVar7[-9] = 0x73;" (assignment_expression "puVar7[-9] = 0x73" (subscript_expression "puVar7[-9]" (identifier "puVar7") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0x73")) (; ";")) (expression_statement "puVar7[-10] = "Speed (baud)";" (assignment_expression "puVar7[-10] = "Speed (baud)"" (subscript_expression "puVar7[-10]" (identifier "puVar7") ([ "[") (number_literal "-10") (] "]")) (= "=") (string_literal ""Speed (baud)"" (" """) (string_content "Speed (baud)") (" """))) (; ";")) (expression_statement "puVar7[-0xb] = uVar2;" (assignment_expression "puVar7[-0xb] = uVar2" (subscript_expression "puVar7[-0xb]" (identifier "puVar7") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar7[-0xc] = 0x36a18;" (assignment_expression "puVar7[-0xc] = 0x36a18" (subscript_expression "puVar7[-0xc]" (identifier "puVar7") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (number_literal "0x36a18")) (; ";")) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" (identifier "FUN_00029e60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-6] = 0xffffffff;" (assignment_expression "puVar7[-6] = 0xffffffff" (subscript_expression "puVar7[-6]" (identifier "puVar7") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar7[-7] = puVar8;" (assignment_expression "puVar7[-7] = puVar8" (subscript_expression "puVar7[-7]" (identifier "puVar7") ([ "[") (number_literal "-7") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-8] = 0x36a23;" (assignment_expression "puVar7[-8] = 0x36a23" (subscript_expression "puVar7[-8]" (identifier "puVar7") ([ "[") (number_literal "-8") (] "]")) (= "=") (number_literal "0x36a23")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-2] = puVar7[3];" (assignment_expression "puVar7[-2] = puVar7[3]" (subscript_expression "puVar7[-2]" (identifier "puVar7") ([ "[") (number_literal "-2") (] "]")) (= "=") (subscript_expression "puVar7[3]" (identifier "puVar7") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar7[-0xb] = 0x3b;" (assignment_expression "puVar7[-0xb] = 0x3b" (subscript_expression "puVar7[-0xb]" (identifier "puVar7") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (number_literal "0x3b")) (; ";")) (expression_statement "puVar7[-0xc] = puVar8;" (assignment_expression "puVar7[-0xc] = puVar8" (subscript_expression "puVar7[-0xc]" (identifier "puVar7") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0xd] = 0x36a36;" (assignment_expression "puVar7[-0xd] = 0x36a36" (subscript_expression "puVar7[-0xd]" (identifier "puVar7") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (number_literal "0x36a36")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-0xc] = 0;" (assignment_expression "puVar7[-0xc] = 0" (subscript_expression "puVar7[-0xc]" (identifier "puVar7") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[-4] = puVar7[2];" (assignment_expression "puVar7[-4] = puVar7[2]" (subscript_expression "puVar7[-4]" (identifier "puVar7") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar7[2]" (identifier "puVar7") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar7[-0xd] = puVar8;" (assignment_expression "puVar7[-0xd] = puVar8" (subscript_expression "puVar7[-0xd]" (identifier "puVar7") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0xe] = 0x36a4b;" (assignment_expression "puVar7[-0xe] = 0x36a4b" (subscript_expression "puVar7[-0xe]" (identifier "puVar7") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (number_literal "0x36a4b")) (; ";")) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" (identifier "FUN_00029490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-7] = puVar7[-4];" (assignment_expression "puVar7[-7] = puVar7[-4]" (subscript_expression "puVar7[-7]" (identifier "puVar7") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "puVar7[-4]" (identifier "puVar7") ([ "[") (number_literal "-4") (] "]"))) (; ";")) (expression_statement "puVar7[-8] = puVar7[-5];" (assignment_expression "puVar7[-8] = puVar7[-5]" (subscript_expression "puVar7[-8]" (identifier "puVar7") ([ "[") (number_literal "-8") (] "]")) (= "=") (subscript_expression "puVar7[-5]" (identifier "puVar7") ([ "[") (number_literal "-5") (] "]"))) (; ";")) (expression_statement "puVar7[-9] = FUN_00021930;" (assignment_expression "puVar7[-9] = FUN_00021930" (subscript_expression "puVar7[-9]" (identifier "puVar7") ([ "[") (number_literal "-9") (] "]")) (= "=") (identifier "FUN_00021930")) (; ";")) (expression_statement "puVar7[-10] = puVar7[1];" (assignment_expression "puVar7[-10] = puVar7[1]" (subscript_expression "puVar7[-10]" (identifier "puVar7") ([ "[") (number_literal "-10") (] "]")) (= "=") (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar7[-0xb] = 0x28;" (assignment_expression "puVar7[-0xb] = 0x28" (subscript_expression "puVar7[-0xb]" (identifier "puVar7") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (number_literal "0x28")) (; ";")) (expression_statement "puVar7[-0xc] = 0x62;" (assignment_expression "puVar7[-0xc] = 0x62" (subscript_expression "puVar7[-0xc]" (identifier "puVar7") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (number_literal "0x62")) (; ";")) (expression_statement "puVar7[-0xd] = "Data bits";" (assignment_expression "puVar7[-0xd] = "Data bits"" (subscript_expression "puVar7[-0xd]" (identifier "puVar7") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (string_literal ""Data bits"" (" """) (string_content "Data bits") (" """))) (; ";")) (expression_statement "puVar7[-0xe] = uVar2;" (assignment_expression "puVar7[-0xe] = uVar2" (subscript_expression "puVar7[-0xe]" (identifier "puVar7") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar7[-0xf] = 0x36a6e;" (assignment_expression "puVar7[-0xf] = 0x36a6e" (subscript_expression "puVar7[-0xf]" (identifier "puVar7") ([ "[") (number_literal "-0xf") (] "]")) (= "=") (number_literal "0x36a6e")) (; ";")) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" (identifier "FUN_00029e60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-9] = 0xfffffffe;" (assignment_expression "puVar7[-9] = 0xfffffffe" (subscript_expression "puVar7[-9]" (identifier "puVar7") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0xfffffffe")) (; ";")) (expression_statement "puVar7[-10] = puVar8;" (assignment_expression "puVar7[-10] = puVar8" (subscript_expression "puVar7[-10]" (identifier "puVar7") ([ "[") (number_literal "-10") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0xb] = 0x36a79;" (assignment_expression "puVar7[-0xb] = 0x36a79" (subscript_expression "puVar7[-0xb]" (identifier "puVar7") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (number_literal "0x36a79")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-5] = *puVar7;" (assignment_expression "puVar7[-5] = *puVar7" (subscript_expression "puVar7[-5]" (identifier "puVar7") ([ "[") (number_literal "-5") (] "]")) (= "=") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (; ";")) (expression_statement "puVar7[-0xe] = 0x3c;" (assignment_expression "puVar7[-0xe] = 0x3c" (subscript_expression "puVar7[-0xe]" (identifier "puVar7") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (number_literal "0x3c")) (; ";")) (expression_statement "puVar7[-0xf] = puVar8;" (assignment_expression "puVar7[-0xf] = puVar8" (subscript_expression "puVar7[-0xf]" (identifier "puVar7") ([ "[") (number_literal "-0xf") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0x10] = 0x36a8c;" (assignment_expression "puVar7[-0x10] = 0x36a8c" (subscript_expression "puVar7[-0x10]" (identifier "puVar7") ([ "[") (number_literal "-0x10") (] "]")) (= "=") (number_literal "0x36a8c")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-0xf] = 0;" (assignment_expression "puVar7[-0xf] = 0" (subscript_expression "puVar7[-0xf]" (identifier "puVar7") ([ "[") (number_literal "-0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[-7] = puVar7[-1];" (assignment_expression "puVar7[-7] = puVar7[-1]" (subscript_expression "puVar7[-7]" (identifier "puVar7") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "puVar7[-1]" (identifier "puVar7") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "puVar7[-0x10] = puVar8;" (assignment_expression "puVar7[-0x10] = puVar8" (subscript_expression "puVar7[-0x10]" (identifier "puVar7") ([ "[") (number_literal "-0x10") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0x11] = 0x36aa1;" (assignment_expression "puVar7[-0x11] = 0x36aa1" (subscript_expression "puVar7[-0x11]" (identifier "puVar7") ([ "[") (number_literal "-0x11") (] "]")) (= "=") (number_literal "0x36aa1")) (; ";")) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" (identifier "FUN_00029490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-10] = puVar7[-7];" (assignment_expression "puVar7[-10] = puVar7[-7]" (subscript_expression "puVar7[-10]" (identifier "puVar7") ([ "[") (number_literal "-10") (] "]")) (= "=") (subscript_expression "puVar7[-7]" (identifier "puVar7") ([ "[") (number_literal "-7") (] "]"))) (; ";")) (expression_statement "puVar7[-0xb] = puVar7[-8];" (assignment_expression "puVar7[-0xb] = puVar7[-8]" (subscript_expression "puVar7[-0xb]" (identifier "puVar7") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (subscript_expression "puVar7[-8]" (identifier "puVar7") ([ "[") (number_literal "-8") (] "]"))) (; ";")) (expression_statement "puVar7[-0xc] = FUN_00021930;" (assignment_expression "puVar7[-0xc] = FUN_00021930" (subscript_expression "puVar7[-0xc]" (identifier "puVar7") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (identifier "FUN_00021930")) (; ";")) (expression_statement "puVar7[-0xd] = puVar7[-2];" (assignment_expression "puVar7[-0xd] = puVar7[-2]" (subscript_expression "puVar7[-0xd]" (identifier "puVar7") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (subscript_expression "puVar7[-2]" (identifier "puVar7") ([ "[") (number_literal "-2") (] "]"))) (; ";")) (expression_statement "puVar7[-0xe] = 0x28;" (assignment_expression "puVar7[-0xe] = 0x28" (subscript_expression "puVar7[-0xe]" (identifier "puVar7") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (number_literal "0x28")) (; ";")) (expression_statement "puVar7[-0xf] = 0x74;" (assignment_expression "puVar7[-0xf] = 0x74" (subscript_expression "puVar7[-0xf]" (identifier "puVar7") ([ "[") (number_literal "-0xf") (] "]")) (= "=") (number_literal "0x74")) (; ";")) (expression_statement "puVar7[-0x10] = "Stop bits";" (assignment_expression "puVar7[-0x10] = "Stop bits"" (subscript_expression "puVar7[-0x10]" (identifier "puVar7") ([ "[") (number_literal "-0x10") (] "]")) (= "=") (string_literal ""Stop bits"" (" """) (string_content "Stop bits") (" """))) (; ";")) (expression_statement "puVar7[-0x11] = uVar2;" (assignment_expression "puVar7[-0x11] = uVar2" (subscript_expression "puVar7[-0x11]" (identifier "puVar7") ([ "[") (number_literal "-0x11") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar7[-0x12] = 0x36ac4;" (assignment_expression "puVar7[-0x12] = 0x36ac4" (subscript_expression "puVar7[-0x12]" (identifier "puVar7") ([ "[") (number_literal "-0x12") (] "]")) (= "=") (number_literal "0x36ac4")) (; ";")) (expression_statement "FUN_00029e60();" (call_expression "FUN_00029e60()" (identifier "FUN_00029e60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-0xc] = puVar7[0xd];" (assignment_expression "puVar7[-0xc] = puVar7[0xd]" (subscript_expression "puVar7[-0xc]" (identifier "puVar7") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (subscript_expression "puVar7[0xd]" (identifier "puVar7") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "puVar7[-0xd] = puVar8;" (assignment_expression "puVar7[-0xd] = puVar8" (subscript_expression "puVar7[-0xd]" (identifier "puVar7") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0xe] = 0x36ad1;" (assignment_expression "puVar7[-0xe] = 0x36ad1" (subscript_expression "puVar7[-0xe]" (identifier "puVar7") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (number_literal "0x36ad1")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = puVar7[-3];" (assignment_expression "uVar5 = puVar7[-3]" (identifier "uVar5") (= "=") (subscript_expression "puVar7[-3]" (identifier "puVar7") ([ "[") (number_literal "-3") (] "]"))) (; ";")) (expression_statement "puVar7[-0x11] = 0;" (assignment_expression "puVar7[-0x11] = 0" (subscript_expression "puVar7[-0x11]" (identifier "puVar7") ([ "[") (number_literal "-0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[-0x12] = puVar8;" (assignment_expression "puVar7[-0x12] = puVar8" (subscript_expression "puVar7[-0x12]" (identifier "puVar7") ([ "[") (number_literal "-0x12") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0x13] = 0x36ae0;" (assignment_expression "puVar7[-0x13] = 0x36ae0" (subscript_expression "puVar7[-0x13]" (identifier "puVar7") ([ "[") (number_literal "-0x13") (] "]")) (= "=") (number_literal "0x36ae0")) (; ";")) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" (identifier "FUN_00029490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-0x11] = uVar5;" (assignment_expression "puVar7[-0x11] = uVar5" (subscript_expression "puVar7[-0x11]" (identifier "puVar7") ([ "[") (number_literal "-0x11") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar7[-0x12] = FUN_000366c0;" (assignment_expression "puVar7[-0x12] = FUN_000366c0" (subscript_expression "puVar7[-0x12]" (identifier "puVar7") ([ "[") (number_literal "-0x12") (] "]")) (= "=") (identifier "FUN_000366c0")) (; ";")) (expression_statement "puVar7[-0x13] = puVar7[-4];" (assignment_expression "puVar7[-0x13] = puVar7[-4]" (subscript_expression "puVar7[-0x13]" (identifier "puVar7") ([ "[") (number_literal "-0x13") (] "]")) (= "=") (subscript_expression "puVar7[-4]" (identifier "puVar7") ([ "[") (number_literal "-4") (] "]"))) (; ";")) (expression_statement "puVar7[-0x14] = 0x28;" (assignment_expression "puVar7[-0x14] = 0x28" (subscript_expression "puVar7[-0x14]" (identifier "puVar7") ([ "[") (number_literal "-0x14") (] "]")) (= "=") (number_literal "0x28")) (; ";")) (expression_statement "puVar7[-0x15] = 0x70;" (assignment_expression "puVar7[-0x15] = 0x70" (subscript_expression "puVar7[-0x15]" (identifier "puVar7") ([ "[") (number_literal "-0x15") (] "]")) (= "=") (number_literal "0x70")) (; ";")) (expression_statement "puVar7[-0x16] = "Parity";" (assignment_expression "puVar7[-0x16] = "Parity"" (subscript_expression "puVar7[-0x16]" (identifier "puVar7") ([ "[") (number_literal "-0x16") (] "]")) (= "=") (string_literal ""Parity"" (" """) (string_content "Parity") (" """))) (; ";")) (expression_statement "puVar7[-0x17] = uVar2;" (assignment_expression "puVar7[-0x17] = uVar2" (subscript_expression "puVar7[-0x17]" (identifier "puVar7") ([ "[") (number_literal "-0x17") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar7[-0x18] = 0x36aff;" (assignment_expression "puVar7[-0x18] = 0x36aff" (subscript_expression "puVar7[-0x18]" (identifier "puVar7") ([ "[") (number_literal "-0x18") (] "]")) (= "=") (number_literal "0x36aff")) (; ";")) (expression_statement "FUN_0002a440();" (call_expression "FUN_0002a440()" (identifier "FUN_0002a440") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-0xe] = puVar7[0xc];" (assignment_expression "puVar7[-0xe] = puVar7[0xc]" (subscript_expression "puVar7[-0xe]" (identifier "puVar7") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (subscript_expression "puVar7[0xc]" (identifier "puVar7") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "puVar7[-0xf] = puVar8;" (assignment_expression "puVar7[-0xf] = puVar8" (subscript_expression "puVar7[-0xf]" (identifier "puVar7") ([ "[") (number_literal "-0xf") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0x10] = 0x36b0c;" (assignment_expression "puVar7[-0x10] = 0x36b0c" (subscript_expression "puVar7[-0x10]" (identifier "puVar7") ([ "[") (number_literal "-0x10") (] "]")) (= "=") (number_literal "0x36b0c")) (; ";")) (expression_statement "FUN_00029480();" (call_expression "FUN_00029480()" (identifier "FUN_00029480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = puVar7[-5];" (assignment_expression "uVar5 = puVar7[-5]" (identifier "uVar5") (= "=") (subscript_expression "puVar7[-5]" (identifier "puVar7") ([ "[") (number_literal "-5") (] "]"))) (; ";")) (expression_statement "puVar7[-0x13] = 0;" (assignment_expression "puVar7[-0x13] = 0" (subscript_expression "puVar7[-0x13]" (identifier "puVar7") ([ "[") (number_literal "-0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[-0x14] = puVar8;" (assignment_expression "puVar7[-0x14] = puVar8" (subscript_expression "puVar7[-0x14]" (identifier "puVar7") ([ "[") (number_literal "-0x14") (] "]")) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar7[-0x15] = 0x36b1b;" (assignment_expression "puVar7[-0x15] = 0x36b1b" (subscript_expression "puVar7[-0x15]" (identifier "puVar7") ([ "[") (number_literal "-0x15") (] "]")) (= "=") (number_literal "0x36b1b")) (; ";")) (expression_statement "FUN_00029490();" (call_expression "FUN_00029490()" (identifier "FUN_00029490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7[-0x13] = uVar5;" (assignment_expression "puVar7[-0x13] = uVar5" (subscript_expression "puVar7[-0x13]" (identifier "puVar7") ([ "[") (number_literal "-0x13") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar7[-0x14] = FUN_00036490;" (assignment_expression "puVar7[-0x14] = FUN_00036490" (subscript_expression "puVar7[-0x14]" (identifier "puVar7") ([ "[") (number_literal "-0x14") (] "]")) (= "=") (identifier "FUN_00036490")) (; ";")) (expression_statement "puVar7[-0x15] = puVar7[-6];" (assignment_expression "puVar7[-0x15] = puVar7[-6]" (subscript_expression "puVar7[-0x15]" (identifier "puVar7") ([ "[") (number_literal "-0x15") (] "]")) (= "=") (subscript_expression "puVar7[-6]" (identifier "puVar7") ([ "[") (number_literal "-6") (] "]"))) (; ";")) (expression_statement "puVar7[-0x16] = 0x28;" (assignment_expression "puVar7[-0x16] = 0x28" (subscript_expression "puVar7[-0x16]" (identifier "puVar7") ([ "[") (number_literal "-0x16") (] "]")) (= "=") (number_literal "0x28")) (; ";")) (expression_statement "puVar7[-0x17] = 0x66;" (assignment_expression "puVar7[-0x17] = 0x66" (subscript_expression "puVar7[-0x17]" (identifier "puVar7") ([ "[") (number_literal "-0x17") (] "]")) (= "=") (number_literal "0x66")) (; ";")) (expression_statement "puVar7[-0x18] = "Flow control";" (assignment_expression "puVar7[-0x18] = "Flow control"" (subscript_expression "puVar7[-0x18]" (identifier "puVar7") ([ "[") (number_literal "-0x18") (] "]")) (= "=") (string_literal ""Flow control"" (" """) (string_content "Flow control") (" """))) (; ";")) (expression_statement "puVar7[-0x19] = uVar2;" (assignment_expression "puVar7[-0x19] = uVar2" (subscript_expression "puVar7[-0x19]" (identifier "puVar7") ([ "[") (number_literal "-0x19") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar7[-0x1a] = 0x36b3a;" (assignment_expression "puVar7[-0x1a] = 0x36b3a" (subscript_expression "puVar7[-0x1a]" (identifier "puVar7") ([ "[") (number_literal "-0x1a") (] "]")) (= "=") (number_literal "0x36b3a")) (; ";")) (expression_statement "FUN_0002a440();" (call_expression "FUN_0002a440()" (identifier "FUN_0002a440") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar7[-2]" (identifier "puVar7") ([ "[") (number_literal "-2") (] "]")) (== "==") (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 "puVar7[-0xe] = 0x36d3d;" (assignment_expression "puVar7[-0xe] = 0x36d3d" (subscript_expression "puVar7[-0xe]" (identifier "puVar7") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (number_literal "0x36d3d")) (; ";")) (expression_statement "FUN_00077880();" (call_expression "FUN_00077880()" (identifier "FUN_00077880") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

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

void function_1(type_1 *b,int var_2,int parity_mask,int flow_mask)

{
  int var_14;
  type_2 *pcVar2;
  type_3 *pcVar3;
  int var_4;
  size_t n;
  char **ppcVar5;
  char *pcVar6;
  type_4 *piVar7;
  int var_9;
  int var_1;
  type_4 local_30;
  
  var_14 = *(int *)(var_1 + 0x14);
  if (var_2 == 0) {
    pcVar3 = var_3(b,"Session","hostport","Specify the destination you want to connect to");
    var_4 = pcVar3->ncontrols;
    if (0 < var_4) {
      var_9 = 0;
      do {
        pcVar2 = pcVar3->ctrls[var_9];
        if (((pcVar2->generic).type == 2) &&
           ((pcVar2->generic).handler == var_5)) {
          (pcVar2->fileselect).filter = (pcVar2->fileselect).filter + 1;
          n = (pcVar2->editbox).password + 1;
          (pcVar2->editbox).password = n;
          ppcVar5 = (char **)var_6((pcVar2->radio).buttons,n,4);
          var_4 = (pcVar2->editbox).password;
          (pcVar2->radio).buttons = ppcVar5;
          pcVar6 = var_7("Serial");
          ppcVar5[var_4 + -1] = pcVar6;
          piVar7 = (type_4 *)var_6((pcVar2->radio).buttondata,(pcVar2->editbox).password,4);
          (pcVar2->radio).buttondata = piVar7;
          var_4 = (pcVar2->editbox).password;
          var_8(4);
          piVar7[var_4 + 0x3fffffff] = local_30;
          if ((pcVar2->radio).shortcuts == (char *)0x0) {
            var_4 = pcVar3->ncontrols;
          }
          else {
            pcVar6 = (char *)var_6((pcVar2->radio).shortcuts,(pcVar2->editbox).password,1);
            (pcVar2->radio).shortcuts = pcVar6;
            pcVar6[(pcVar2->editbox).password + -1] = 'r';
            var_4 = pcVar3->ncontrols;
          }
        }
        var_9 = var_9 + 1;
      } while (var_9 < var_4);
    }
    var_10(b,"Connection/Serial","Options controlling local serial lines");
    pcVar3 = var_3(b,"Connection/Serial","serline","Select a serial line");
    var_8(1);
    var_8(0x39);
    var_11((void *)0x0);
    var_12(pcVar3,"Serial line to connect to",'l',0x28,local_30,conf_editbox_handler,local_30,
                 local_30);
  }
  else {
    var_10(b,"Connection/Serial","Options controlling local serial lines");
  }
  pcVar3 = var_3(b,"Connection/Serial","sercfg","Configure the serial line");
  var_8(-1);
  var_8(0x3a);
  var_11((void *)0x0);
  var_12(pcVar3,"Speed (baud)",'s',0x28,local_30,conf_editbox_handler,local_30,local_30);
  var_8(-1);
  var_8(0x3b);
  var_11((void *)0x0);
  var_12(pcVar3,"Data bits",'b',0x28,local_30,conf_editbox_handler,local_30,local_30);
  var_8(-2);
  var_8(0x3c);
  var_11((void *)0x0);
  var_12(pcVar3,"Stop bits",'t',0x28,local_30,conf_editbox_handler,local_30,local_30);
  var_8(parity_mask);
  var_11((void *)0x0);
  var_13(pcVar3,"Parity",'p',0x28,local_30,serial_parity_handler,local_30);
  var_8(flow_mask);
  var_11((void *)0x0);
  var_13(pcVar3,"Flow control",'f',0x28,local_30,serial_flow_handler,local_30);
  if (var_14 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_15();
  }
  return;
}


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

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

void MASKED(undefined4 param_1,int param_2)

{
  int *piVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  code *pcVar6;
  undefined4 *puVar7;
  undefined1 *puVar8;
  undefined4 *puVar9;
  int iVar10;
  int in_GS_OFFSET;
  int local_64 [2];
  undefined1 local_4c [4];
  undefined4 local_48;
  char *local_44 [2];
  int local_3c [3];
  undefined1 local_30 [16];
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x36959;
  local_48 = param_1;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  if (param_2 == 0) {
    iVar3 = FUN_00029a50(param_1,"Session","hostport",
                         "Specify the destination you want to connect to");
    puVar9 = (undefined4 *)local_4c;
    iVar4 = *(int *)(iVar3 + 0x10);
    puVar8 = local_30;
    if (0 < iVar4) {
      pcVar6 = FUN_00021c70;
      local_44[0] = puVar8;
      local_44[1] = "Serial";
      iVar10 = 0;
      puVar8 = local_4c;
      do {
        piVar1 = *(int **)(*(int *)(iVar3 + 0x18) + iVar10 * 4);
        puVar9 = (undefined4 *)puVar8;
        if ((*piVar1 == 2) && ((code *)piVar1[4] == pcVar6)) {
          iVar4 = piVar1[9];
          *(code **)(puVar8 + 0x18) = pcVar6;
          piVar1[8] = piVar1[8] + 1;
          piVar1[9] = iVar4 + 1;
          *(undefined4 *)(puVar8 + -8) = 4;
          *(int *)(puVar8 + -0xc) = iVar4 + 1;
          *(int *)(puVar8 + -0x10) = piVar1[10];
          *(undefined4 *)(puVar8 + -0x14) = 0x36bea;
          iVar4 = FUN_000314a0();
          piVar1[10] = iVar4;
          *(int *)(puVar8 + 0x10) = iVar4 + -4 + piVar1[9] * 4;
          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 0xc);
          *(undefined4 *)(puVar8 + -0x14) = 0x36c02;
          uVar5 = FUN_00030420();
          **(undefined4 **)(puVar8 + 0x10) = uVar5;
          *(undefined4 *)(puVar8 + -8) = 4;
          *(int *)(puVar8 + -0xc) = piVar1[9];
          *(int *)(puVar8 + -0x10) = piVar1[0xc];
          *(undefined4 *)(puVar8 + -0x14) = 0x36c18;
          iVar4 = FUN_000314a0();
          piVar1[0xc] = iVar4;
          *(int *)(puVar8 + 0x14) = iVar4;
          *(int *)(puVar8 + 0x10) = piVar1[9] + 0x3fffffff;
          *(undefined4 *)(puVar8 + -0xc) = 4;
          *(undefined4 *)(puVar8 + -0x10) = *(undefined4 *)(puVar8 + 8);
          *(undefined4 *)(puVar8 + -0x14) = 0x36c39;
          FUN_00029480();
          puVar9 = (undefined4 *)(puVar8 + -4);
          *(undefined4 *)(*(int *)(puVar8 + 0x10) + *(int *)(puVar8 + 0xc) * 4) =
               *(undefined4 *)(puVar8 + 0x18);
          iVar4 = piVar1[0xb];
          pcVar6 = *(code **)(puVar8 + 0x14);
          if (iVar4 == 0) {
            iVar4 = *(int *)(iVar3 + 0x10);
          }
          else {
            *(code **)(puVar8 + 0xc) = pcVar6;
            *(undefined4 *)(puVar8 + -0xc) = 1;
            *(int *)(puVar8 + -0x10) = piVar1[9];
            *(int *)(puVar8 + -0x14) = iVar4;
            *(undefined4 *)(puVar8 + -0x18) = 0x36c6c;
            iVar4 = FUN_000314a0();
            puVar9 = (undefined4 *)(puVar8 + -4);
            pcVar6 = *(code **)(puVar8 + 0xc);
            piVar1[0xb] = iVar4;
            *(undefined1 *)(iVar4 + -1 + piVar1[9]) = 0x72;
            iVar4 = *(int *)(iVar3 + 0x10);
          }
        }
        iVar10 = iVar10 + 1;
        puVar8 = (undefined1 *)puVar9;
      } while (iVar10 < iVar4);
      puVar8 = *(undefined1 **)((int)puVar9 + 8);
    }
    puVar9[-2] = "Options controlling local serial lines";
    puVar9[-3] = "Connection/Serial";
    uVar5 = puVar9[1];
    puVar9[-4] = uVar5;
    puVar9[-5] = 0x36caf;
    FUN_00029950();
    puVar9[-5] = "Select a serial line";
    puVar9[-6] = "serline";
    puVar9[-7] = "Connection/Serial";
    puVar9[-8] = uVar5;
    puVar9[-9] = 0x36cc4;
    uVar5 = FUN_00029a50();
    puVar9[3] = uVar5;
    puVar9[-3] = 1;
    puVar9[-4] = puVar8;
    puVar9[-5] = 0x36cd3;
    FUN_00029480();
    puVar9[1] = puVar9[6];
    puVar9[-8] = 0x39;
    puVar9[-9] = puVar8;
    puVar9[-10] = 0x36ce6;
    FUN_00029480();
    uVar5 = puVar9[5];
    puVar9[-9] = 0;
    puVar9[-10] = puVar8;
    puVar9[-0xb] = 0x36cf7;
    FUN_00029490();
    puVar9[-4] = puVar9[-1];
    puVar9[-5] = uVar5;
    puVar9[-6] = FUN_00021930;
    puVar9[-7] = puVar9[4];
    puVar9[-8] = 0x28;
    puVar9[-9] = 0x6c;
    puVar9[-10] = "Serial line to connect to";
    puVar9[-0xb] = *puVar9;
    puVar9[-0xc] = 0x36d20;
    FUN_00029e60();
    puVar7 = puVar9 + -3;
  }
  else {
    FUN_00029950(param_1,"Connection/Serial","Options controlling local serial lines");
    puVar7 = (undefined4 *)local_4c;
    puVar8 = local_30;
  }
  puVar7[-1] = "Configure the serial line";
  puVar7[-2] = "sercfg";
  puVar7[-3] = "Connection/Serial";
  puVar7[-4] = puVar7[1];
  puVar7[-5] = 0x369c1;
  uVar2 = FUN_00029a50();
  puVar7[-3] = 0xffffffff;
  puVar7[-4] = puVar8;
  puVar7[-5] = 0x369cd;
  FUN_00029480();
  puVar7[1] = puVar7[6];
  puVar7[-8] = 0x3a;
  puVar7[-9] = puVar8;
  puVar7[-10] = 0x369e0;
  FUN_00029480();
  puVar7[-9] = 0;
  puVar7[-1] = puVar7[5];
  puVar7[-10] = puVar8;
  puVar7[-0xb] = 0x369f5;
  FUN_00029490();
  puVar7[-4] = puVar7[-1];
  puVar7[-5] = puVar7[-2];
  puVar7[-6] = FUN_00021930;
  puVar7[-7] = puVar7[4];
  puVar7[-8] = 0x28;
  puVar7[-9] = 0x73;
  puVar7[-10] = "Speed (baud)";
  puVar7[-0xb] = uVar2;
  puVar7[-0xc] = 0x36a18;
  FUN_00029e60();
  puVar7[-6] = 0xffffffff;
  puVar7[-7] = puVar8;
  puVar7[-8] = 0x36a23;
  FUN_00029480();
  puVar7[-2] = puVar7[3];
  puVar7[-0xb] = 0x3b;
  puVar7[-0xc] = puVar8;
  puVar7[-0xd] = 0x36a36;
  FUN_00029480();
  puVar7[-0xc] = 0;
  puVar7[-4] = puVar7[2];
  puVar7[-0xd] = puVar8;
  puVar7[-0xe] = 0x36a4b;
  FUN_00029490();
  puVar7[-7] = puVar7[-4];
  puVar7[-8] = puVar7[-5];
  puVar7[-9] = FUN_00021930;
  puVar7[-10] = puVar7[1];
  puVar7[-0xb] = 0x28;
  puVar7[-0xc] = 0x62;
  puVar7[-0xd] = "Data bits";
  puVar7[-0xe] = uVar2;
  puVar7[-0xf] = 0x36a6e;
  FUN_00029e60();
  puVar7[-9] = 0xfffffffe;
  puVar7[-10] = puVar8;
  puVar7[-0xb] = 0x36a79;
  FUN_00029480();
  puVar7[-5] = *puVar7;
  puVar7[-0xe] = 0x3c;
  puVar7[-0xf] = puVar8;
  puVar7[-0x10] = 0x36a8c;
  FUN_00029480();
  puVar7[-0xf] = 0;
  puVar7[-7] = puVar7[-1];
  puVar7[-0x10] = puVar8;
  puVar7[-0x11] = 0x36aa1;
  FUN_00029490();
  puVar7[-10] = puVar7[-7];
  puVar7[-0xb] = puVar7[-8];
  puVar7[-0xc] = FUN_00021930;
  puVar7[-0xd] = puVar7[-2];
  puVar7[-0xe] = 0x28;
  puVar7[-0xf] = 0x74;
  puVar7[-0x10] = "Stop bits";
  puVar7[-0x11] = uVar2;
  puVar7[-0x12] = 0x36ac4;
  FUN_00029e60();
  puVar7[-0xc] = puVar7[0xd];
  puVar7[-0xd] = puVar8;
  puVar7[-0xe] = 0x36ad1;
  FUN_00029480();
  uVar5 = puVar7[-3];
  puVar7[-0x11] = 0;
  puVar7[-0x12] = puVar8;
  puVar7[-0x13] = 0x36ae0;
  FUN_00029490();
  puVar7[-0x11] = uVar5;
  puVar7[-0x12] = FUN_000366c0;
  puVar7[-0x13] = puVar7[-4];
  puVar7[-0x14] = 0x28;
  puVar7[-0x15] = 0x70;
  puVar7[-0x16] = "Parity";
  puVar7[-0x17] = uVar2;
  puVar7[-0x18] = 0x36aff;
  FUN_0002a440();
  puVar7[-0xe] = puVar7[0xc];
  puVar7[-0xf] = puVar8;
  puVar7[-0x10] = 0x36b0c;
  FUN_00029480();
  uVar5 = puVar7[-5];
  puVar7[-0x13] = 0;
  puVar7[-0x14] = puVar8;
  puVar7[-0x15] = 0x36b1b;
  FUN_00029490();
  puVar7[-0x13] = uVar5;
  puVar7[-0x14] = FUN_00036490;
  puVar7[-0x15] = puVar7[-6];
  puVar7[-0x16] = 0x28;
  puVar7[-0x17] = 0x66;
  puVar7[-0x18] = "Flow control";
  puVar7[-0x19] = uVar2;
  puVar7[-0x1a] = 0x36b3a;
  FUN_0002a440();
  if (puVar7[-2] == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  puVar7[-0xe] = 0x36d3d;
  FUN_00077880();
}

