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

void showeventlog(void *estuff,void *parentwin)

{
  Shortcuts *scs;
  dlgparam *dp;
  int iVar1;
  undefined4 uVar2;
  int iVar3;
  undefined4 *puVar4;
  controlbox *b;
  controlset *s;
  control *pcVar5;
  controlset *s_00;
  int *piVar6;
  GtkWidget *pGVar7;
  char *ptr;
  undefined4 uVar8;
  GtkWindow *pGVar9;
  GtkWidget *pGVar10;
  int iVar11;
  int in_GS_OFFSET;
  intorptr local_30;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  uVar2 = gtk_widget_get_type();
  iVar3 = g_type_check_instance_cast(parentwin,uVar2);
  if (*(int *)((int)estuff + 4) == 0) {
    dp = (dlgparam *)((int)estuff + 0x60c);
    dlg_init(dp);
    puVar4 = (undefined4 *)((int)estuff + 0x14);
    do {
      *puVar4 = 0;
      puVar4 = puVar4 + 3;
    } while (puVar4 != (undefined4 *)((int)estuff + 0x614));
    b = ctrl_new_box();
    *(controlbox **)((int)estuff + 8) = b;
    s = ctrl_getset(b,"","","");
    ctrl_columns(s,3,0x21,0x22,0x21);
    P((void *)0x0);
    P((void *)0x0);
    pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30);
    (pcVar5->generic).column = 1;
    (pcVar5->editbox).percentwidth = 1;
    s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","");
    P(estuff);
    P((void *)0x0);
    pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);
    *(control **)((int)estuff + 0x640) = pcVar5;
    (pcVar5->editbox).percentwidth = 10;
    (pcVar5->editbox).has_list = 2;
    (pcVar5->listbox).ncols = 3;
    piVar6 = (int *)safemalloc(3,4);
    (pcVar5->listbox).percentages = piVar6;
    *piVar6 = 0x19;
    (pcVar5->listbox).percentages[1] = 10;
    (pcVar5->listbox).percentages[2] = 0x41;
    pGVar7 = our_dialog_new();
    *(GtkWidget **)((int)estuff + 4) = pGVar7;
    ptr = dupcat(appname," Event Log",0);
    uVar2 = gtk_window_get_type();
    uVar8 = g_type_check_instance_cast(pGVar7,uVar2);
    gtk_window_set_title(uVar8,ptr);
    safefree(ptr);
    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);
    scs = (Shortcuts *)((int)estuff + 0xc);
    pGVar10 = layout_ctrls(dp,scs,s,pGVar9);
    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);
    our_dialog_set_action_area(pGVar9,pGVar10);
    gtk_widget_show(pGVar10);
    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);
    pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9);
    uVar8 = gtk_container_get_type();
    uVar8 = g_type_check_instance_cast(pGVar10,uVar8);
    gtk_container_set_border_width(uVar8,10);
    iVar11 = string_width(
                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"
                         );
    gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff);
    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);
    our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0);
    gtk_widget_show(pGVar10);
    *(void **)((int)estuff + 0x614) = estuff;
    *(undefined4 *)((int)estuff + 0x630) = 0;
    *(Shortcuts **)((int)estuff + 0x620) = scs;
    *(undefined4 *)((int)estuff + 0x63c) = 0;
    *(GtkWidget **)((int)estuff + 0x624) = pGVar7;
    dlg_refresh((control *)0x0,dp);
    if (iVar3 == 0) {
      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);
      gtk_window_set_position(uVar2,1);
    }
    else {
      uVar8 = g_type_check_instance_cast(iVar3,uVar2);
      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);
      gtk_window_set_transient_for(uVar2,uVar8);
    }
    gtk_widget_show(pGVar7);
    uVar2 = g_type_check_instance_cast(pGVar7,0x50);
    g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0);
    uVar2 = g_type_check_instance_cast(pGVar7,0x50);
    g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0);
    uVar2 = g_type_check_instance_cast(pGVar7,0x50);
    g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);
    uVar2 = g_type_check_instance_cast(pGVar7,0x50);
    g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);
  }
  else {
    gtk_widget_grab_focus(*(int *)((int)estuff + 4));
  }
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

void FUN_00089730(int param_1,undefined1 *param_2)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined1 **ppuVar6;
  int in_GS_OFFSET;
  undefined1 *local_5c;
  undefined *puStack_58;
  undefined *local_54;
  undefined *puStack_50;
  int local_4c;
  int local_48;
  int local_44;
  int local_40;
  int local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined1 local_30 [16];
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x89739;
  ppuVar6 = (undefined1 **)&local_4c;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puStack_50 = (undefined *)0x89757;
  puStack_58 = (undefined *)gtk_widget_get_type();
  local_5c = param_2;
  local_3c = g_type_check_instance_cast();
  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {
    local_40 = param_1 + 0x60c;
    puStack_50 = (undefined *)0x897a6;
    FUN_00084570();
    puVar2 = (undefined4 *)(param_1 + 0x14);
    do {
      *puVar2 = 0;
      puVar2 = puVar2 + 3;
    } while (puVar2 != (undefined4 *)(param_1 + 0x614));
    puStack_50 = (undefined *)0x897c2;
    local_5c = (undefined1 *)FUN_00028f00();
    *(undefined1 **)(param_1 + 8) = local_5c;
    puStack_58 = &DAT_000bc8ae;
    local_54 = &DAT_000bc8ae;
    puStack_50 = &DAT_000bc8ae;
    local_38 = FUN_000290d0();
    local_5c = (undefined1 *)0x21;
    FUN_00029340(local_38,3,0x21,0x22);
    puStack_58 = (undefined *)0x0;
    local_5c = local_30;
    FUN_00028e00();
    local_48 = local_34;
    FUN_00028e00(local_30,0);
    local_3c = local_40;
    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);
    *(undefined4 *)(iVar1 + 0xc) = 1;
    *(undefined4 *)(iVar1 + 0x20) = 1;
    local_5c = &DAT_000bc8ae;
    puStack_58 = &DAT_000bc8ae;
    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");
    FUN_00028e00(local_30,param_1);
    iVar1 = local_3c;
    FUN_00028e00(local_30,0);
    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);
    *(int *)(param_1 + 0x640) = iVar1;
    *(undefined4 *)(iVar1 + 0x20) = 10;
    *(undefined4 *)(iVar1 + 0x28) = 2;
    *(undefined4 *)(iVar1 + 0x30) = 3;
    puVar2 = (undefined4 *)FUN_0002e780(3,4);
    *(undefined4 **)(iVar1 + 0x34) = puVar2;
    *puVar2 = 0x19;
    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;
    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;
    uVar3 = FUN_00091330();
    *(undefined4 *)(param_1 + 4) = uVar3;
    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);
    local_54 = (undefined *)gtk_window_get_type();
    uVar5 = g_type_check_instance_cast(uVar3,local_54);
    gtk_window_set_title(uVar5,uVar4);
    FUN_0002f010(uVar4);
    uVar4 = g_type_check_instance_cast(uVar3,local_54);
    iVar1 = local_44;
    local_44 = param_1 + 0xc;
    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);
    uVar5 = g_type_check_instance_cast(uVar3,local_54);
    FUN_00091380(uVar5,uVar4);
    gtk_widget_show(uVar4);
    uVar4 = g_type_check_instance_cast(uVar3,local_54);
    iVar1 = local_48;
    local_48 = local_44;
    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);
    uVar5 = gtk_container_get_type();
    uVar5 = g_type_check_instance_cast(uVar4,uVar5);
    gtk_container_set_border_width(uVar5,10);
    iVar1 = FUN_000912d0(
                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"
                        );
    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);
    uVar5 = g_type_check_instance_cast(uVar3,local_54);
    FUN_000914a0(uVar5,uVar4,1,1,0);
    gtk_widget_show(uVar4);
    *(int *)(param_1 + 0x614) = param_1;
    *(undefined4 *)(param_1 + 0x630) = 0;
    *(int *)(param_1 + 0x620) = local_48;
    *(undefined4 *)(param_1 + 0x63c) = 0;
    *(undefined4 *)(param_1 + 0x624) = uVar3;
    FUN_00086870(0,puStack_50);
    if (local_4c == 0) {
      uVar4 = g_type_check_instance_cast(uVar3,local_54);
      gtk_window_set_position(uVar4,1);
    }
    else {
      uVar4 = g_type_check_instance_cast(local_4c,local_54);
      uVar5 = g_type_check_instance_cast(uVar3,local_54);
      gtk_window_set_transient_for(uVar5,uVar4);
    }
    ppuVar6 = &local_5c;
    gtk_widget_show(uVar3);
    uVar4 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);
    uVar4 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);
    uVar4 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);
    uVar3 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);
  }
  else {
    local_5c = *(undefined **)(param_1 + 4);
    gtk_widget_grab_focus();
  }
  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;
  FUN_000a39d0();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001c4f0
ADD EBX,0x87017
SUB ESP,0x3c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
MOV ESI,dword ptr [ESP + 0x50]
CALL 0x0001a580
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [ESP + 0x60]
CALL 0x0001a5e0
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESI + 0x4]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00089797
SUB ESP,0xc
PUSH EAX
CALL 0x0001a8f0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x2c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x00089b1c
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[ESI + 0x60c]
MOV dword ptr [ESP + 0xc],EAX
CALL 0x00084570
LEA EAX,[ESI + 0x14]
LEA EDX,[ESI + 0x614]
NOP
MOV dword ptr [EAX],0x0
ADD EAX,0xc
CMP EAX,EDX
JNZ 0x000897b0
CALL 0x00028f00
LEA EBP,[EBX + 0xfffac15e]
MOV dword ptr [ESI + 0x8],EAX
PUSH EBP
PUSH EBP
PUSH EBP
PUSH EAX
CALL 0x000290d0
MOV dword ptr [ESP],0x21
PUSH 0x22
PUSH 0x21
PUSH 0x3
PUSH EAX
LEA EDI,[ESP + 0x3c]
MOV dword ptr [ESP + 0x34],EAX
CALL 0x00029340
ADD ESP,0x18
PUSH 0x0
PUSH EDI
CALL 0x00028e00
MOV EAX,dword ptr [ESP + 0x28]
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],EAX
PUSH 0x0
PUSH EDI
CALL 0x00028e00
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP],EAX
LEA EAX,[EBX + 0xfff74ac0]
PUSH EAX
LEA EAX,[EBX + 0xfffaca34]
PUSH dword ptr [ESP + 0x3c]
PUSH 0x63
PUSH EAX
MOV EDX,dword ptr [ESP + 0x40]
PUSH EDX
MOV dword ptr [ESP + 0x48],EDX
CALL 0x00029690
ADD ESP,0x30
MOV dword ptr [EAX + 0xc],0x1
MOV dword ptr [EAX + 0x20],0x1
LEA EAX,[EBX + 0xfffadb5e]
PUSH EBP
PUSH EBP
PUSH EAX
PUSH dword ptr [ESI + 0x8]
CALL 0x000290d0
MOV dword ptr [ESP + 0x24],EAX
POP EBP
POP EAX
PUSH ESI
PUSH EDI
CALL 0x00028e00
MOV EBP,dword ptr [ESP + 0x28]
SUB ESP,0xc
PUSH 0x0
PUSH EDI
CALL 0x00028e00
LEA EAX,[EBX + 0xfff75720]
MOV dword ptr [ESP],EBP
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x40]
CALL 0x00029700
ADD ESP,0x28
MOV dword ptr [ESI + 0x640],EAX
MOV EDI,EAX
MOV dword ptr [EAX + 0x20],0xa
MOV dword ptr [EAX + 0x28],0x2
MOV dword ptr [EAX + 0x30],0x3
PUSH 0x4
PUSH 0x3
CALL 0x0002e780
MOV dword ptr [EDI + 0x34],EAX
MOV dword ptr [EAX],0x19
MOV EAX,dword ptr [EDI + 0x34]
MOV dword ptr [EAX + 0x4],0xa
MOV EAX,dword ptr [EDI + 0x34]
MOV dword ptr [EAX + 0x8],0x41
CALL 0x00091330
ADD ESP,0xc
MOV EDI,EAX
MOV dword ptr [ESI + 0x4],EAX
LEA EAX,[EBX + 0xfffba589]
PUSH 0x0
PUSH EAX
LEA EAX,[EBX + 0xffffd430]
PUSH dword ptr [EAX]
CALL 0x0002e8e0
MOV EBP,EAX
CALL 0x0001c060
POP EDX
POP ECX
MOV dword ptr [ESP + 0x10],EAX
PUSH EAX
PUSH EDI
CALL 0x0001a5e0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x0001ae10
MOV dword ptr [ESP],EBP
CALL 0x0002f010
POP EBP
POP EAX
PUSH dword ptr [ESP + 0x10]
PUSH EDI
CALL 0x0001a5e0
LEA ECX,[ESI + 0xc]
PUSH EAX
MOV EDX,dword ptr [ESP + 0x2c]
PUSH EDX
PUSH ECX
MOV dword ptr [ESP + 0x34],ECX
PUSH dword ptr [ESP + 0x28]
CALL 0x00086be0
ADD ESP,0x18
PUSH dword ptr [ESP + 0x10]
MOV EBP,EAX
PUSH EDI
CALL 0x0001a5e0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x00091380
MOV dword ptr [ESP],EBP
CALL 0x0001b8b0
POP EBP
POP EAX
PUSH dword ptr [ESP + 0x10]
PUSH EDI
CALL 0x0001a5e0
PUSH EAX
PUSH dword ptr [ESP + 0x28]
MOV ECX,dword ptr [ESP + 0x30]
PUSH ECX
MOV dword ptr [ESP + 0x30],ECX
PUSH dword ptr [ESP + 0x28]
CALL 0x00086be0
ADD ESP,0x20
MOV EBP,EAX
CALL 0x0001aaf0
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL 0x0001a5e0
POP EDX
POP ECX
PUSH 0xa
PUSH EAX
CALL 0x0001ab50
LEA EAX,[EBX + 0xfffbae30]
MOV dword ptr [ESP],EAX
CALL 0x000912d0
ADD ESP,0xc
ADD EAX,0x14
PUSH -0x1
PUSH EAX
PUSH EBP
CALL 0x0001ae40
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x10]
PUSH EDI
CALL 0x0001a5e0
MOV dword ptr [ESP],0x0
PUSH 0x1
PUSH 0x1
PUSH EBP
PUSH EAX
CALL 0x000914a0
ADD ESP,0x14
PUSH EBP
CALL 0x0001b8b0
MOV ECX,dword ptr [ESP + 0x24]
MOV dword ptr [ESI + 0x614],ESI
MOV dword ptr [ESI + 0x630],0x0
MOV dword ptr [ESI + 0x620],ECX
MOV dword ptr [ESI + 0x63c],0x0
MOV dword ptr [ESI + 0x624],EDI
POP ECX
POP EBP
PUSH dword ptr [ESP + 0x14]
PUSH 0x0
CALL 0x00086870
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x10]
TEST ECX,ECX
JZ 0x00089afd
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH ECX
CALL 0x0001a5e0
POP ECX
MOV EBP,EAX
POP EAX
PUSH dword ptr [ESP + 0x10]
PUSH EDI
CALL 0x0001a5e0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x0001b9d0
ADD ESP,0x10
SUB ESP,0xc
PUSH EDI
CALL 0x0001b8b0
POP EAX
POP EDX
PUSH 0x50
PUSH EDI
CALL 0x0001a5e0
LEA EDX,[EBX + 0xfff74960]
POP ECX
POP EBP
PUSH 0x0
PUSH 0x0
PUSH ESI
PUSH EDX
LEA EDX,[EBX + 0xfffba4f3]
PUSH EDX
PUSH EAX
CALL 0x0001afe0
ADD ESP,0x18
PUSH 0x50
PUSH EDI
CALL 0x0001a5e0
POP EDX
LEA EDX,[EBX + 0xfff74650]
POP ECX
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x1c]
PUSH EDX
LEA EDX,[EBX + 0xfffba341]
PUSH EDX
PUSH EAX
CALL 0x0001afe0
ADD ESP,0x18
PUSH 0x50
PUSH EDI
CALL 0x0001a5e0
POP EBP
POP EDX
LEA EDX,[EBX + 0xfff73e80]
PUSH 0x0
PUSH 0x0
PUSH ESI
PUSH EDX
LEA EDX,[EBX + 0xfffba594]
PUSH EDX
PUSH EAX
CALL 0x0001afe0
ADD ESP,0x18
PUSH 0x50
PUSH EDI
CALL 0x0001a5e0
LEA EDX,[EBX + 0xfff749b0]
POP ECX
POP EDI
PUSH 0x0
PUSH 0x0
PUSH ESI
PUSH EDX
LEA EDX,[EBX + 0xfffba5a2]
PUSH EDX
PUSH EAX
CALL 0x0001afe0
ADD ESP,0x20
JMP 0x0008977e
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH EDI
CALL 0x0001a5e0
POP EBP
POP EDX
PUSH 0x1
PUSH EAX
CALL 0x0001a5b0
ADD ESP,0x10
JMP 0x00089a52
CALL 0x000a39d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00089730(int param_1,undefined1 *param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}\n\n" comment (function_definition "void FUN_00089730(int param_1,undefined1 *param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}" primitive_type (function_declarator "FUN_00089730(int param_1,undefined1 *param_2)" identifier (parameter_list "(int param_1,undefined1 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined1 **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined1 *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "undefined *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined *puStack_50;" type_identifier (pointer_declarator "*puStack_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (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 = 0x89739;" (assignment_expression "uStack_14 = 0x89739" identifier = number_literal) ;) (expression_statement "ppuVar6 = (undefined1 **)&local_4c;" (assignment_expression "ppuVar6 = (undefined1 **)&local_4c" identifier = (cast_expression "(undefined1 **)&local_4c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_4c" & 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) ))))) ;) (expression_statement "puStack_50 = (undefined *)0x89757;" (assignment_expression "puStack_50 = (undefined *)0x89757" identifier = (cast_expression "(undefined *)0x89757" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_58 = (undefined *)gtk_widget_get_type();" (assignment_expression "puStack_58 = (undefined *)gtk_widget_get_type()" identifier = (cast_expression "(undefined *)gtk_widget_get_type()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_5c = param_2;" (assignment_expression "local_5c = param_2" identifier = identifier) ;) (expression_statement "local_3c = g_type_check_instance_cast();" (assignment_expression "local_3c = g_type_check_instance_cast()" identifier = (call_expression "g_type_check_instance_cast()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" if (parenthesized_expression "(*(undefined **)(param_1 + 4) == (undefined *)0x0)" ( (binary_expression "*(undefined **)(param_1 + 4) == (undefined *)0x0" (pointer_expression "*(undefined **)(param_1 + 4)" * (cast_expression "(undefined **)(param_1 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }" { (expression_statement "local_40 = param_1 + 0x60c;" (assignment_expression "local_40 = param_1 + 0x60c" identifier = (binary_expression "param_1 + 0x60c" identifier + number_literal)) ;) (expression_statement "puStack_50 = (undefined *)0x897a6;" (assignment_expression "puStack_50 = (undefined *)0x897a6" identifier = (cast_expression "(undefined *)0x897a6" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00084570();" (call_expression "FUN_00084570()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar2 = (undefined4 *)(param_1 + 0x14);" (assignment_expression "puVar2 = (undefined4 *)(param_1 + 0x14)" identifier = (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) ;) (do_statement "do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));" do (compound_statement "{\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    }" { (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2 = puVar2 + 3;" (assignment_expression "puVar2 = puVar2 + 3" identifier = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar2 != (undefined4 *)(param_1 + 0x614))" ( (binary_expression "puVar2 != (undefined4 *)(param_1 + 0x614)" identifier != (cast_expression "(undefined4 *)(param_1 + 0x614)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x614)" ( (binary_expression "param_1 + 0x614" identifier + number_literal) )))) )) ;) (expression_statement "puStack_50 = (undefined *)0x897c2;" (assignment_expression "puStack_50 = (undefined *)0x897c2" identifier = (cast_expression "(undefined *)0x897c2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = (undefined1 *)FUN_00028f00();" (assignment_expression "local_5c = (undefined1 *)FUN_00028f00()" identifier = (cast_expression "(undefined1 *)FUN_00028f00()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00028f00()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined1 **)(param_1 + 8) = local_5c;" (assignment_expression "*(undefined1 **)(param_1 + 8) = local_5c" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puStack_58 = &DAT_000bc8ae;" (assignment_expression "puStack_58 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "local_54 = &DAT_000bc8ae;" (assignment_expression "local_54 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "puStack_50 = &DAT_000bc8ae;" (assignment_expression "puStack_50 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "local_38 = FUN_000290d0();" (assignment_expression "local_38 = FUN_000290d0()" identifier = (call_expression "FUN_000290d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_5c = (undefined1 *)0x21;" (assignment_expression "local_5c = (undefined1 *)0x21" identifier = (cast_expression "(undefined1 *)0x21" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00029340(local_38,3,0x21,0x22);" (call_expression "FUN_00029340(local_38,3,0x21,0x22)" identifier (argument_list "(local_38,3,0x21,0x22)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "puStack_58 = (undefined *)0x0;" (assignment_expression "puStack_58 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = local_30;" (assignment_expression "local_5c = local_30" identifier = identifier) ;) (expression_statement "FUN_00028e00();" (call_expression "FUN_00028e00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_48 = local_34;" (assignment_expression "local_48 = local_34" identifier = identifier) ;) (expression_statement "FUN_00028e00(local_30,0);" (call_expression "FUN_00028e00(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal ))) ;) (expression_statement "local_3c = local_40;" (assignment_expression "local_3c = local_40" identifier = identifier) ;) (expression_statement "iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);" (assignment_expression "iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c)" identifier = (call_expression "FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c)" identifier (argument_list "(local_40,"Close",99,local_38,FUN_00085210,local_4c)" ( identifier , (string_literal ""Close"" " string_content ") , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0xc) = 1;" (assignment_expression "*(undefined4 *)(iVar1 + 0xc) = 1" (pointer_expression "*(undefined4 *)(iVar1 + 0xc)" * (cast_expression "(undefined4 *)(iVar1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x20) = 1;" (assignment_expression "*(undefined4 *)(iVar1 + 0x20) = 1" (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" * (cast_expression "(undefined4 *)(iVar1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_5c = &DAT_000bc8ae;" (assignment_expression "local_5c = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "puStack_58 = &DAT_000bc8ae;" (assignment_expression "puStack_58 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");" (assignment_expression "local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x")" identifier = (call_expression "FUN_000290d0(*(undefined4 *)(param_1 + 8),"x")" identifier (argument_list "(*(undefined4 *)(param_1 + 8),"x")" ( (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (string_literal ""x"" " string_content ") )))) ;) (expression_statement "FUN_00028e00(local_30,param_1);" (call_expression "FUN_00028e00(local_30,param_1)" identifier (argument_list "(local_30,param_1)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = local_3c;" (assignment_expression "iVar1 = local_3c" identifier = identifier) ;) (expression_statement "FUN_00028e00(local_30,0);" (call_expression "FUN_00028e00(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal ))) ;) (expression_statement "iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);" (assignment_expression "iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1)" identifier = (call_expression "FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1)" identifier (argument_list "(local_48,0,0,local_40,FUN_00085e70,iVar1)" ( identifier , number_literal , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(param_1 + 0x640) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x640) = iVar1" (pointer_expression "*(int *)(param_1 + 0x640)" * (cast_expression "(int *)(param_1 + 0x640)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x640)" ( (binary_expression "param_1 + 0x640" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x20) = 10;" (assignment_expression "*(undefined4 *)(iVar1 + 0x20) = 10" (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" * (cast_expression "(undefined4 *)(iVar1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x28) = 2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x28) = 2" (pointer_expression "*(undefined4 *)(iVar1 + 0x28)" * (cast_expression "(undefined4 *)(iVar1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x30) = 3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x30) = 3" (pointer_expression "*(undefined4 *)(iVar1 + 0x30)" * (cast_expression "(undefined4 *)(iVar1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)FUN_0002e780(3,4);" (assignment_expression "puVar2 = (undefined4 *)FUN_0002e780(3,4)" identifier = (cast_expression "(undefined4 *)FUN_0002e780(3,4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002e780(3,4)" identifier (argument_list "(3,4)" ( number_literal , number_literal ))))) ;) (expression_statement "*(undefined4 **)(iVar1 + 0x34) = puVar2;" (assignment_expression "*(undefined4 **)(iVar1 + 0x34) = puVar2" (pointer_expression "*(undefined4 **)(iVar1 + 0x34)" * (cast_expression "(undefined4 **)(iVar1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar2 = 0x19;" (assignment_expression "*puVar2 = 0x19" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;" (assignment_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10" (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x34) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x34) + 4)" ( (binary_expression "*(int *)(iVar1 + 0x34) + 4" (pointer_expression "*(int *)(iVar1 + 0x34)" * (cast_expression "(int *)(iVar1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;" (assignment_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41" (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8)" * (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x34) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x34) + 8)" ( (binary_expression "*(int *)(iVar1 + 0x34) + 8" (pointer_expression "*(int *)(iVar1 + 0x34)" * (cast_expression "(int *)(iVar1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "uVar3 = FUN_00091330();" (assignment_expression "uVar3 = FUN_00091330()" identifier = (call_expression "FUN_00091330()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);" (assignment_expression "uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0)" identifier = (call_expression "FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0)" identifier (argument_list "(PTR_s_PuTTY_0010db80," Event Log",0)" ( identifier , (string_literal "" Event Log"" " string_content ") , number_literal )))) ;) (expression_statement "local_54 = (undefined *)gtk_window_get_type();" (assignment_expression "local_54 = (undefined *)gtk_window_get_type()" identifier = (cast_expression "(undefined *)gtk_window_get_type()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "gtk_window_get_type()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_title(uVar5,uVar4);" (call_expression "gtk_window_set_title(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) (expression_statement "FUN_0002f010(uVar4);" (call_expression "FUN_0002f010(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = local_44;" (assignment_expression "iVar1 = local_44" identifier = identifier) ;) (expression_statement "local_44 = param_1 + 0xc;" (assignment_expression "local_44 = param_1 + 0xc" identifier = (binary_expression "param_1 + 0xc" identifier + number_literal)) ;) (expression_statement "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);" (assignment_expression "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier = (call_expression "FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier (argument_list "(puStack_50,local_44,iVar1,uVar4)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "FUN_00091380(uVar5,uVar4);" (call_expression "FUN_00091380(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) (expression_statement "gtk_widget_show(uVar4);" (call_expression "gtk_widget_show(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = local_48;" (assignment_expression "iVar1 = local_48" identifier = identifier) ;) (expression_statement "local_48 = local_44;" (assignment_expression "local_48 = local_44" identifier = identifier) ;) (expression_statement "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);" (assignment_expression "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier = (call_expression "FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier (argument_list "(puStack_50,local_44,iVar1,uVar4)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = gtk_container_get_type();" (assignment_expression "uVar5 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar4,uVar5);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar4,uVar5)" identifier = (call_expression "g_type_check_instance_cast(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier )))) ;) (expression_statement "gtk_container_set_border_width(uVar5,10);" (call_expression "gtk_container_set_border_width(uVar5,10)" identifier (argument_list "(uVar5,10)" ( identifier , number_literal ))) ;) (expression_statement "iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );" (assignment_expression "iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" identifier = (call_expression "FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" identifier (argument_list "(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" ( (string_literal ""LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"" " string_content escape_sequence string_content ") )))) ;) (expression_statement "gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);" (call_expression "gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff)" identifier (argument_list "(uVar4,iVar1 + 0x14,0xffffffff)" ( identifier , (binary_expression "iVar1 + 0x14" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "FUN_000914a0(uVar5,uVar4,1,1,0);" (call_expression "FUN_000914a0(uVar5,uVar4,1,1,0)" identifier (argument_list "(uVar5,uVar4,1,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "gtk_widget_show(uVar4);" (call_expression "gtk_widget_show(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "*(int *)(param_1 + 0x614) = param_1;" (assignment_expression "*(int *)(param_1 + 0x614) = param_1" (pointer_expression "*(int *)(param_1 + 0x614)" * (cast_expression "(int *)(param_1 + 0x614)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x614)" ( (binary_expression "param_1 + 0x614" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x630) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x630) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x630)" * (cast_expression "(undefined4 *)(param_1 + 0x630)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x630)" ( (binary_expression "param_1 + 0x630" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(param_1 + 0x620) = local_48;" (assignment_expression "*(int *)(param_1 + 0x620) = local_48" (pointer_expression "*(int *)(param_1 + 0x620)" * (cast_expression "(int *)(param_1 + 0x620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x620)" ( (binary_expression "param_1 + 0x620" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x63c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x63c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x63c)" * (cast_expression "(undefined4 *)(param_1 + 0x63c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x63c)" ( (binary_expression "param_1 + 0x63c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x624) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 0x624) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 0x624)" * (cast_expression "(undefined4 *)(param_1 + 0x624)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x624)" ( (binary_expression "param_1 + 0x624" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00086870(0,puStack_50);" (call_expression "FUN_00086870(0,puStack_50)" identifier (argument_list "(0,puStack_50)" ( number_literal , identifier ))) ;) (if_statement "if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }" { (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_position(uVar4,1);" (call_expression "gtk_window_set_position(uVar4,1)" identifier (argument_list "(uVar4,1)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" else (compound_statement "{\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" { (expression_statement "uVar4 = g_type_check_instance_cast(local_4c,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(local_4c,local_54)" identifier = (call_expression "g_type_check_instance_cast(local_4c,local_54)" identifier (argument_list "(local_4c,local_54)" ( identifier , identifier )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_transient_for(uVar5,uVar4);" (call_expression "gtk_window_set_transient_for(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) }))) (expression_statement "ppuVar6 = &local_5c;" (assignment_expression "ppuVar6 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "gtk_widget_show(uVar3);" (call_expression "gtk_widget_show(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);" (call_expression "g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0)" identifier (argument_list "(uVar4,"destroy",FUN_000850b0,param_1,0,0)" ( identifier , (string_literal ""destroy"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);" (call_expression "g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0)" identifier (argument_list "(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0)" ( identifier , (string_literal ""key_press_event"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);" (call_expression "g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0)" identifier (argument_list "(uVar4,"selection_get",FUN_000845d0,param_1,0,0)" ( identifier , (string_literal ""selection_get"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar3 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);" (call_expression "g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0)" identifier (argument_list "(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0)" ( identifier , (string_literal ""selection_clear_event"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" else (compound_statement "{\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" { (expression_statement "local_5c = *(undefined **)(param_1 + 4);" (assignment_expression "local_5c = *(undefined **)(param_1 + 4)" identifier = (pointer_expression "*(undefined **)(param_1 + 4)" * (cast_expression "(undefined **)(param_1 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "gtk_widget_grab_focus();" (call_expression "gtk_widget_grab_focus()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)ppuVar6 + 0x2c)" * (cast_expression "(int *)((int)ppuVar6 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar6 + 0x2c)" ( (binary_expression "(int)ppuVar6 + 0x2c" (cast_expression "(int)ppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "*(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;" (assignment_expression "*(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21" (pointer_expression "*(undefined **)((int)ppuVar6 + -4)" * (cast_expression "(undefined **)((int)ppuVar6 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar6 + -4)" ( (binary_expression "(int)ppuVar6 + -4" (cast_expression "(int)ppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_00089b21" & identifier)) ;) (expression_statement "FUN_000a39d0();" (call_expression "FUN_000a39d0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "GdkEventType": Some values do not have unique names */\n\nvoid showeventlog(void *estuff,void *parentwin)\n\n{\n  Shortcuts *scs;\n  dlgparam *dp;\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  controlbox *b;\n  controlset *s;\n  control *pcVar5;\n  controlset *s_00;\n  int *piVar6;\n  GtkWidget *pGVar7;\n  char *ptr;\n  undefined4 uVar8;\n  GtkWindow *pGVar9;\n  GtkWidget *pGVar10;\n  int iVar11;\n  int in_GS_OFFSET;\n  intorptr local_30;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar2 = gtk_widget_get_type();\n  iVar3 = g_type_check_instance_cast(parentwin,uVar2);\n  if (*(int *)((int)estuff + 4) == 0) {\n    dp = (dlgparam *)((int)estuff + 0x60c);\n    dlg_init(dp);\n    puVar4 = (undefined4 *)((int)estuff + 0x14);\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 3;\n    } while (puVar4 != (undefined4 *)((int)estuff + 0x614));\n    b = ctrl_new_box();\n    *(controlbox **)((int)estuff + 8) = b;\n    s = ctrl_getset(b,"","","");\n    ctrl_columns(s,3,0x21,0x22,0x21);\n    P((void *)0x0);\n    P((void *)0x0);\n    pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30);\n    (pcVar5->generic).column = 1;\n    (pcVar5->editbox).percentwidth = 1;\n    s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","");\n    P(estuff);\n    P((void *)0x0);\n    pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);\n    *(control **)((int)estuff + 0x640) = pcVar5;\n    (pcVar5->editbox).percentwidth = 10;\n    (pcVar5->editbox).has_list = 2;\n    (pcVar5->listbox).ncols = 3;\n    piVar6 = (int *)safemalloc(3,4);\n    (pcVar5->listbox).percentages = piVar6;\n    *piVar6 = 0x19;\n    (pcVar5->listbox).percentages[1] = 10;\n    (pcVar5->listbox).percentages[2] = 0x41;\n    pGVar7 = our_dialog_new();\n    *(GtkWidget **)((int)estuff + 4) = pGVar7;\n    ptr = dupcat(appname," Event Log",0);\n    uVar2 = gtk_window_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar7,uVar2);\n    gtk_window_set_title(uVar8,ptr);\n    safefree(ptr);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    scs = (Shortcuts *)((int)estuff + 0xc);\n    pGVar10 = layout_ctrls(dp,scs,s,pGVar9);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_set_action_area(pGVar9,pGVar10);\n    gtk_widget_show(pGVar10);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9);\n    uVar8 = gtk_container_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar10,uVar8);\n    gtk_container_set_border_width(uVar8,10);\n    iVar11 = string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         );\n    gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0);\n    gtk_widget_show(pGVar10);\n    *(void **)((int)estuff + 0x614) = estuff;\n    *(undefined4 *)((int)estuff + 0x630) = 0;\n    *(Shortcuts **)((int)estuff + 0x620) = scs;\n    *(undefined4 *)((int)estuff + 0x63c) = 0;\n    *(GtkWidget **)((int)estuff + 0x624) = pGVar7;\n    dlg_refresh((control *)0x0,dp);\n    if (iVar3 == 0) {\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_position(uVar2,1);\n    }\n    else {\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }\n    gtk_widget_show(pGVar7);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);\n  }\n  else {\n    gtk_widget_grab_focus(*(int *)((int)estuff + 4));\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment comment (function_definition "void showeventlog(void *estuff,void *parentwin)\n\n{\n  Shortcuts *scs;\n  dlgparam *dp;\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  controlbox *b;\n  controlset *s;\n  control *pcVar5;\n  controlset *s_00;\n  int *piVar6;\n  GtkWidget *pGVar7;\n  char *ptr;\n  undefined4 uVar8;\n  GtkWindow *pGVar9;\n  GtkWidget *pGVar10;\n  int iVar11;\n  int in_GS_OFFSET;\n  intorptr local_30;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar2 = gtk_widget_get_type();\n  iVar3 = g_type_check_instance_cast(parentwin,uVar2);\n  if (*(int *)((int)estuff + 4) == 0) {\n    dp = (dlgparam *)((int)estuff + 0x60c);\n    dlg_init(dp);\n    puVar4 = (undefined4 *)((int)estuff + 0x14);\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 3;\n    } while (puVar4 != (undefined4 *)((int)estuff + 0x614));\n    b = ctrl_new_box();\n    *(controlbox **)((int)estuff + 8) = b;\n    s = ctrl_getset(b,"","","");\n    ctrl_columns(s,3,0x21,0x22,0x21);\n    P((void *)0x0);\n    P((void *)0x0);\n    pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30);\n    (pcVar5->generic).column = 1;\n    (pcVar5->editbox).percentwidth = 1;\n    s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","");\n    P(estuff);\n    P((void *)0x0);\n    pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);\n    *(control **)((int)estuff + 0x640) = pcVar5;\n    (pcVar5->editbox).percentwidth = 10;\n    (pcVar5->editbox).has_list = 2;\n    (pcVar5->listbox).ncols = 3;\n    piVar6 = (int *)safemalloc(3,4);\n    (pcVar5->listbox).percentages = piVar6;\n    *piVar6 = 0x19;\n    (pcVar5->listbox).percentages[1] = 10;\n    (pcVar5->listbox).percentages[2] = 0x41;\n    pGVar7 = our_dialog_new();\n    *(GtkWidget **)((int)estuff + 4) = pGVar7;\n    ptr = dupcat(appname," Event Log",0);\n    uVar2 = gtk_window_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar7,uVar2);\n    gtk_window_set_title(uVar8,ptr);\n    safefree(ptr);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    scs = (Shortcuts *)((int)estuff + 0xc);\n    pGVar10 = layout_ctrls(dp,scs,s,pGVar9);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_set_action_area(pGVar9,pGVar10);\n    gtk_widget_show(pGVar10);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9);\n    uVar8 = gtk_container_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar10,uVar8);\n    gtk_container_set_border_width(uVar8,10);\n    iVar11 = string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         );\n    gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0);\n    gtk_widget_show(pGVar10);\n    *(void **)((int)estuff + 0x614) = estuff;\n    *(undefined4 *)((int)estuff + 0x630) = 0;\n    *(Shortcuts **)((int)estuff + 0x620) = scs;\n    *(undefined4 *)((int)estuff + 0x63c) = 0;\n    *(GtkWidget **)((int)estuff + 0x624) = pGVar7;\n    dlg_refresh((control *)0x0,dp);\n    if (iVar3 == 0) {\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_position(uVar2,1);\n    }\n    else {\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }\n    gtk_widget_show(pGVar7);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);\n  }\n  else {\n    gtk_widget_grab_focus(*(int *)((int)estuff + 4));\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (function_declarator "showeventlog(void *estuff,void *parentwin)" identifier (parameter_list "(void *estuff,void *parentwin)" ( (parameter_declaration "void *estuff" primitive_type (pointer_declarator "*estuff" * identifier)) , (parameter_declaration "void *parentwin" primitive_type (pointer_declarator "*parentwin" * identifier)) ))) (compound_statement "{\n  Shortcuts *scs;\n  dlgparam *dp;\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  controlbox *b;\n  controlset *s;\n  control *pcVar5;\n  controlset *s_00;\n  int *piVar6;\n  GtkWidget *pGVar7;\n  char *ptr;\n  undefined4 uVar8;\n  GtkWindow *pGVar9;\n  GtkWidget *pGVar10;\n  int iVar11;\n  int in_GS_OFFSET;\n  intorptr local_30;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar2 = gtk_widget_get_type();\n  iVar3 = g_type_check_instance_cast(parentwin,uVar2);\n  if (*(int *)((int)estuff + 4) == 0) {\n    dp = (dlgparam *)((int)estuff + 0x60c);\n    dlg_init(dp);\n    puVar4 = (undefined4 *)((int)estuff + 0x14);\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 3;\n    } while (puVar4 != (undefined4 *)((int)estuff + 0x614));\n    b = ctrl_new_box();\n    *(controlbox **)((int)estuff + 8) = b;\n    s = ctrl_getset(b,"","","");\n    ctrl_columns(s,3,0x21,0x22,0x21);\n    P((void *)0x0);\n    P((void *)0x0);\n    pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30);\n    (pcVar5->generic).column = 1;\n    (pcVar5->editbox).percentwidth = 1;\n    s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","");\n    P(estuff);\n    P((void *)0x0);\n    pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);\n    *(control **)((int)estuff + 0x640) = pcVar5;\n    (pcVar5->editbox).percentwidth = 10;\n    (pcVar5->editbox).has_list = 2;\n    (pcVar5->listbox).ncols = 3;\n    piVar6 = (int *)safemalloc(3,4);\n    (pcVar5->listbox).percentages = piVar6;\n    *piVar6 = 0x19;\n    (pcVar5->listbox).percentages[1] = 10;\n    (pcVar5->listbox).percentages[2] = 0x41;\n    pGVar7 = our_dialog_new();\n    *(GtkWidget **)((int)estuff + 4) = pGVar7;\n    ptr = dupcat(appname," Event Log",0);\n    uVar2 = gtk_window_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar7,uVar2);\n    gtk_window_set_title(uVar8,ptr);\n    safefree(ptr);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    scs = (Shortcuts *)((int)estuff + 0xc);\n    pGVar10 = layout_ctrls(dp,scs,s,pGVar9);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_set_action_area(pGVar9,pGVar10);\n    gtk_widget_show(pGVar10);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9);\n    uVar8 = gtk_container_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar10,uVar8);\n    gtk_container_set_border_width(uVar8,10);\n    iVar11 = string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         );\n    gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0);\n    gtk_widget_show(pGVar10);\n    *(void **)((int)estuff + 0x614) = estuff;\n    *(undefined4 *)((int)estuff + 0x630) = 0;\n    *(Shortcuts **)((int)estuff + 0x620) = scs;\n    *(undefined4 *)((int)estuff + 0x63c) = 0;\n    *(GtkWidget **)((int)estuff + 0x624) = pGVar7;\n    dlg_refresh((control *)0x0,dp);\n    if (iVar3 == 0) {\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_position(uVar2,1);\n    }\n    else {\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }\n    gtk_widget_show(pGVar7);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);\n  }\n  else {\n    gtk_widget_grab_focus(*(int *)((int)estuff + 4));\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "Shortcuts *scs;" type_identifier (pointer_declarator "*scs" * identifier) ;) (declaration "dlgparam *dp;" type_identifier (pointer_declarator "*dp" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "controlbox *b;" type_identifier (pointer_declarator "*b" * identifier) ;) (declaration "controlset *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "control *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "controlset *s_00;" type_identifier (pointer_declarator "*s_00" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "GtkWidget *pGVar7;" type_identifier (pointer_declarator "*pGVar7" * identifier) ;) (declaration "char *ptr;" primitive_type (pointer_declarator "*ptr" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "GtkWindow *pGVar9;" type_identifier (pointer_declarator "*pGVar9" * identifier) ;) (declaration "GtkWidget *pGVar10;" type_identifier (pointer_declarator "*pGVar10" * identifier) ;) (declaration "int iVar11;" 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) ))))) ;) (expression_statement "uVar2 = gtk_widget_get_type();" (assignment_expression "uVar2 = gtk_widget_get_type()" identifier = (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar3 = g_type_check_instance_cast(parentwin,uVar2);" (assignment_expression "iVar3 = g_type_check_instance_cast(parentwin,uVar2)" identifier = (call_expression "g_type_check_instance_cast(parentwin,uVar2)" identifier (argument_list "(parentwin,uVar2)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)((int)estuff + 4) == 0) {\n    dp = (dlgparam *)((int)estuff + 0x60c);\n    dlg_init(dp);\n    puVar4 = (undefined4 *)((int)estuff + 0x14);\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 3;\n    } while (puVar4 != (undefined4 *)((int)estuff + 0x614));\n    b = ctrl_new_box();\n    *(controlbox **)((int)estuff + 8) = b;\n    s = ctrl_getset(b,"","","");\n    ctrl_columns(s,3,0x21,0x22,0x21);\n    P((void *)0x0);\n    P((void *)0x0);\n    pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30);\n    (pcVar5->generic).column = 1;\n    (pcVar5->editbox).percentwidth = 1;\n    s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","");\n    P(estuff);\n    P((void *)0x0);\n    pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);\n    *(control **)((int)estuff + 0x640) = pcVar5;\n    (pcVar5->editbox).percentwidth = 10;\n    (pcVar5->editbox).has_list = 2;\n    (pcVar5->listbox).ncols = 3;\n    piVar6 = (int *)safemalloc(3,4);\n    (pcVar5->listbox).percentages = piVar6;\n    *piVar6 = 0x19;\n    (pcVar5->listbox).percentages[1] = 10;\n    (pcVar5->listbox).percentages[2] = 0x41;\n    pGVar7 = our_dialog_new();\n    *(GtkWidget **)((int)estuff + 4) = pGVar7;\n    ptr = dupcat(appname," Event Log",0);\n    uVar2 = gtk_window_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar7,uVar2);\n    gtk_window_set_title(uVar8,ptr);\n    safefree(ptr);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    scs = (Shortcuts *)((int)estuff + 0xc);\n    pGVar10 = layout_ctrls(dp,scs,s,pGVar9);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_set_action_area(pGVar9,pGVar10);\n    gtk_widget_show(pGVar10);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9);\n    uVar8 = gtk_container_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar10,uVar8);\n    gtk_container_set_border_width(uVar8,10);\n    iVar11 = string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         );\n    gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0);\n    gtk_widget_show(pGVar10);\n    *(void **)((int)estuff + 0x614) = estuff;\n    *(undefined4 *)((int)estuff + 0x630) = 0;\n    *(Shortcuts **)((int)estuff + 0x620) = scs;\n    *(undefined4 *)((int)estuff + 0x63c) = 0;\n    *(GtkWidget **)((int)estuff + 0x624) = pGVar7;\n    dlg_refresh((control *)0x0,dp);\n    if (iVar3 == 0) {\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_position(uVar2,1);\n    }\n    else {\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }\n    gtk_widget_show(pGVar7);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);\n  }\n  else {\n    gtk_widget_grab_focus(*(int *)((int)estuff + 4));\n  }" if (parenthesized_expression "(*(int *)((int)estuff + 4) == 0)" ( (binary_expression "*(int *)((int)estuff + 4) == 0" (pointer_expression "*(int *)((int)estuff + 4)" * (cast_expression "(int *)((int)estuff + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 4)" ( (binary_expression "(int)estuff + 4" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    dp = (dlgparam *)((int)estuff + 0x60c);\n    dlg_init(dp);\n    puVar4 = (undefined4 *)((int)estuff + 0x14);\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 3;\n    } while (puVar4 != (undefined4 *)((int)estuff + 0x614));\n    b = ctrl_new_box();\n    *(controlbox **)((int)estuff + 8) = b;\n    s = ctrl_getset(b,"","","");\n    ctrl_columns(s,3,0x21,0x22,0x21);\n    P((void *)0x0);\n    P((void *)0x0);\n    pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30);\n    (pcVar5->generic).column = 1;\n    (pcVar5->editbox).percentwidth = 1;\n    s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","");\n    P(estuff);\n    P((void *)0x0);\n    pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);\n    *(control **)((int)estuff + 0x640) = pcVar5;\n    (pcVar5->editbox).percentwidth = 10;\n    (pcVar5->editbox).has_list = 2;\n    (pcVar5->listbox).ncols = 3;\n    piVar6 = (int *)safemalloc(3,4);\n    (pcVar5->listbox).percentages = piVar6;\n    *piVar6 = 0x19;\n    (pcVar5->listbox).percentages[1] = 10;\n    (pcVar5->listbox).percentages[2] = 0x41;\n    pGVar7 = our_dialog_new();\n    *(GtkWidget **)((int)estuff + 4) = pGVar7;\n    ptr = dupcat(appname," Event Log",0);\n    uVar2 = gtk_window_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar7,uVar2);\n    gtk_window_set_title(uVar8,ptr);\n    safefree(ptr);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    scs = (Shortcuts *)((int)estuff + 0xc);\n    pGVar10 = layout_ctrls(dp,scs,s,pGVar9);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_set_action_area(pGVar9,pGVar10);\n    gtk_widget_show(pGVar10);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9);\n    uVar8 = gtk_container_get_type();\n    uVar8 = g_type_check_instance_cast(pGVar10,uVar8);\n    gtk_container_set_border_width(uVar8,10);\n    iVar11 = string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         );\n    gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff);\n    pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);\n    our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0);\n    gtk_widget_show(pGVar10);\n    *(void **)((int)estuff + 0x614) = estuff;\n    *(undefined4 *)((int)estuff + 0x630) = 0;\n    *(Shortcuts **)((int)estuff + 0x620) = scs;\n    *(undefined4 *)((int)estuff + 0x63c) = 0;\n    *(GtkWidget **)((int)estuff + 0x624) = pGVar7;\n    dlg_refresh((control *)0x0,dp);\n    if (iVar3 == 0) {\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_position(uVar2,1);\n    }\n    else {\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }\n    gtk_widget_show(pGVar7);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);\n    uVar2 = g_type_check_instance_cast(pGVar7,0x50);\n    g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);\n  }" { (expression_statement "dp = (dlgparam *)((int)estuff + 0x60c);" (assignment_expression "dp = (dlgparam *)((int)estuff + 0x60c)" identifier = (cast_expression "(dlgparam *)((int)estuff + 0x60c)" ( (type_descriptor "dlgparam *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x60c)" ( (binary_expression "(int)estuff + 0x60c" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "dlg_init(dp);" (call_expression "dlg_init(dp)" identifier (argument_list "(dp)" ( identifier ))) ;) (expression_statement "puVar4 = (undefined4 *)((int)estuff + 0x14);" (assignment_expression "puVar4 = (undefined4 *)((int)estuff + 0x14)" identifier = (cast_expression "(undefined4 *)((int)estuff + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x14)" ( (binary_expression "(int)estuff + 0x14" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 3;\n    } while (puVar4 != (undefined4 *)((int)estuff + 0x614));" do (compound_statement "{\n      *puVar4 = 0;\n      puVar4 = puVar4 + 3;\n    }" { (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "puVar4 = puVar4 + 3;" (assignment_expression "puVar4 = puVar4 + 3" identifier = (binary_expression "puVar4 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar4 != (undefined4 *)((int)estuff + 0x614))" ( (binary_expression "puVar4 != (undefined4 *)((int)estuff + 0x614)" identifier != (cast_expression "(undefined4 *)((int)estuff + 0x614)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x614)" ( (binary_expression "(int)estuff + 0x614" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) ;) (expression_statement "b = ctrl_new_box();" (assignment_expression "b = ctrl_new_box()" identifier = (call_expression "ctrl_new_box()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(controlbox **)((int)estuff + 8) = b;" (assignment_expression "*(controlbox **)((int)estuff + 8) = b" (pointer_expression "*(controlbox **)((int)estuff + 8)" * (cast_expression "(controlbox **)((int)estuff + 8)" ( (type_descriptor "controlbox **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 8)" ( (binary_expression "(int)estuff + 8" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "s = ctrl_getset(b,"","","");" (assignment_expression "s = ctrl_getset(b,"","","")" identifier = (call_expression "ctrl_getset(b,"","","")" identifier (argument_list "(b,"","","")" ( identifier , (string_literal """" " ") , (string_literal """" " ") , (string_literal """" " ") )))) ;) (expression_statement "ctrl_columns(s,3,0x21,0x22,0x21);" (call_expression "ctrl_columns(s,3,0x21,0x22,0x21)" identifier (argument_list "(s,3,0x21,0x22,0x21)" ( identifier , number_literal , number_literal , number_literal , 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 "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 "pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30);" (assignment_expression "pcVar5 = ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30)" identifier = (call_expression "ctrl_pushbutton(s,"Close",'c',local_30,eventlog_ok_handler,local_30)" identifier (argument_list "(s,"Close",'c',local_30,eventlog_ok_handler,local_30)" ( identifier , (string_literal ""Close"" " string_content ") , (char_literal "'c'" ' character ') , identifier , identifier , identifier )))) ;) (expression_statement "(pcVar5->generic).column = 1;" (assignment_expression "(pcVar5->generic).column = 1" (field_expression "(pcVar5->generic).column" (parenthesized_expression "(pcVar5->generic)" ( (field_expression "pcVar5->generic" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pcVar5->editbox).percentwidth = 1;" (assignment_expression "(pcVar5->editbox).percentwidth = 1" (field_expression "(pcVar5->editbox).percentwidth" (parenthesized_expression "(pcVar5->editbox)" ( (field_expression "pcVar5->editbox" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","");" (assignment_expression "s_00 = ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","")" identifier = (call_expression "ctrl_getset(*(controlbox **)((int)estuff + 8),"x","","")" identifier (argument_list "(*(controlbox **)((int)estuff + 8),"x","","")" ( (pointer_expression "*(controlbox **)((int)estuff + 8)" * (cast_expression "(controlbox **)((int)estuff + 8)" ( (type_descriptor "controlbox **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 8)" ( (binary_expression "(int)estuff + 8" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (string_literal ""x"" " string_content ") , (string_literal """" " ") , (string_literal """" " ") )))) ;) (expression_statement "P(estuff);" (call_expression "P(estuff)" identifier (argument_list "(estuff)" ( 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 "pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);" (assignment_expression "pcVar5 = ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30)" identifier = (call_expression "ctrl_listbox(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30)" identifier (argument_list "(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (char_literal "'\0'" ' escape_sequence ') , identifier , identifier , identifier )))) ;) (expression_statement "*(control **)((int)estuff + 0x640) = pcVar5;" (assignment_expression "*(control **)((int)estuff + 0x640) = pcVar5" (pointer_expression "*(control **)((int)estuff + 0x640)" * (cast_expression "(control **)((int)estuff + 0x640)" ( (type_descriptor "control **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 0x640)" ( (binary_expression "(int)estuff + 0x640" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "(pcVar5->editbox).percentwidth = 10;" (assignment_expression "(pcVar5->editbox).percentwidth = 10" (field_expression "(pcVar5->editbox).percentwidth" (parenthesized_expression "(pcVar5->editbox)" ( (field_expression "pcVar5->editbox" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pcVar5->editbox).has_list = 2;" (assignment_expression "(pcVar5->editbox).has_list = 2" (field_expression "(pcVar5->editbox).has_list" (parenthesized_expression "(pcVar5->editbox)" ( (field_expression "pcVar5->editbox" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pcVar5->listbox).ncols = 3;" (assignment_expression "(pcVar5->listbox).ncols = 3" (field_expression "(pcVar5->listbox).ncols" (parenthesized_expression "(pcVar5->listbox)" ( (field_expression "pcVar5->listbox" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "piVar6 = (int *)safemalloc(3,4);" (assignment_expression "piVar6 = (int *)safemalloc(3,4)" identifier = (cast_expression "(int *)safemalloc(3,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(3,4)" identifier (argument_list "(3,4)" ( number_literal , number_literal ))))) ;) (expression_statement "(pcVar5->listbox).percentages = piVar6;" (assignment_expression "(pcVar5->listbox).percentages = piVar6" (field_expression "(pcVar5->listbox).percentages" (parenthesized_expression "(pcVar5->listbox)" ( (field_expression "pcVar5->listbox" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*piVar6 = 0x19;" (assignment_expression "*piVar6 = 0x19" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "(pcVar5->listbox).percentages[1] = 10;" (assignment_expression "(pcVar5->listbox).percentages[1] = 10" (subscript_expression "(pcVar5->listbox).percentages[1]" (field_expression "(pcVar5->listbox).percentages" (parenthesized_expression "(pcVar5->listbox)" ( (field_expression "pcVar5->listbox" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(pcVar5->listbox).percentages[2] = 0x41;" (assignment_expression "(pcVar5->listbox).percentages[2] = 0x41" (subscript_expression "(pcVar5->listbox).percentages[2]" (field_expression "(pcVar5->listbox).percentages" (parenthesized_expression "(pcVar5->listbox)" ( (field_expression "pcVar5->listbox" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "pGVar7 = our_dialog_new();" (assignment_expression "pGVar7 = our_dialog_new()" identifier = (call_expression "our_dialog_new()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(GtkWidget **)((int)estuff + 4) = pGVar7;" (assignment_expression "*(GtkWidget **)((int)estuff + 4) = pGVar7" (pointer_expression "*(GtkWidget **)((int)estuff + 4)" * (cast_expression "(GtkWidget **)((int)estuff + 4)" ( (type_descriptor "GtkWidget **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 4)" ( (binary_expression "(int)estuff + 4" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "ptr = dupcat(appname," Event Log",0);" (assignment_expression "ptr = dupcat(appname," Event Log",0)" identifier = (call_expression "dupcat(appname," Event Log",0)" identifier (argument_list "(appname," Event Log",0)" ( identifier , (string_literal "" Event Log"" " string_content ") , number_literal )))) ;) (expression_statement "uVar2 = gtk_window_get_type();" (assignment_expression "uVar2 = gtk_window_get_type()" identifier = (call_expression "gtk_window_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = g_type_check_instance_cast(pGVar7,uVar2);" (assignment_expression "uVar8 = g_type_check_instance_cast(pGVar7,uVar2)" identifier = (call_expression "g_type_check_instance_cast(pGVar7,uVar2)" identifier (argument_list "(pGVar7,uVar2)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_title(uVar8,ptr);" (call_expression "gtk_window_set_title(uVar8,ptr)" identifier (argument_list "(uVar8,ptr)" ( identifier , identifier ))) ;) (expression_statement "safefree(ptr);" (call_expression "safefree(ptr)" identifier (argument_list "(ptr)" ( identifier ))) ;) (expression_statement "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);" (assignment_expression "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" identifier = (cast_expression "(GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" ( (type_descriptor "GtkWindow *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_type_check_instance_cast(pGVar7,uVar2)" identifier (argument_list "(pGVar7,uVar2)" ( identifier , identifier ))))) ;) (expression_statement "scs = (Shortcuts *)((int)estuff + 0xc);" (assignment_expression "scs = (Shortcuts *)((int)estuff + 0xc)" identifier = (cast_expression "(Shortcuts *)((int)estuff + 0xc)" ( (type_descriptor "Shortcuts *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0xc)" ( (binary_expression "(int)estuff + 0xc" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pGVar10 = layout_ctrls(dp,scs,s,pGVar9);" (assignment_expression "pGVar10 = layout_ctrls(dp,scs,s,pGVar9)" identifier = (call_expression "layout_ctrls(dp,scs,s,pGVar9)" identifier (argument_list "(dp,scs,s,pGVar9)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);" (assignment_expression "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" identifier = (cast_expression "(GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" ( (type_descriptor "GtkWindow *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_type_check_instance_cast(pGVar7,uVar2)" identifier (argument_list "(pGVar7,uVar2)" ( identifier , identifier ))))) ;) (expression_statement "our_dialog_set_action_area(pGVar9,pGVar10);" (call_expression "our_dialog_set_action_area(pGVar9,pGVar10)" identifier (argument_list "(pGVar9,pGVar10)" ( identifier , identifier ))) ;) (expression_statement "gtk_widget_show(pGVar10);" (call_expression "gtk_widget_show(pGVar10)" identifier (argument_list "(pGVar10)" ( identifier ))) ;) (expression_statement "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);" (assignment_expression "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" identifier = (cast_expression "(GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" ( (type_descriptor "GtkWindow *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_type_check_instance_cast(pGVar7,uVar2)" identifier (argument_list "(pGVar7,uVar2)" ( identifier , identifier ))))) ;) (expression_statement "pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9);" (assignment_expression "pGVar10 = layout_ctrls(dp,scs,s_00,pGVar9)" identifier = (call_expression "layout_ctrls(dp,scs,s_00,pGVar9)" identifier (argument_list "(dp,scs,s_00,pGVar9)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar8 = gtk_container_get_type();" (assignment_expression "uVar8 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = g_type_check_instance_cast(pGVar10,uVar8);" (assignment_expression "uVar8 = g_type_check_instance_cast(pGVar10,uVar8)" identifier = (call_expression "g_type_check_instance_cast(pGVar10,uVar8)" identifier (argument_list "(pGVar10,uVar8)" ( identifier , identifier )))) ;) (expression_statement "gtk_container_set_border_width(uVar8,10);" (call_expression "gtk_container_set_border_width(uVar8,10)" identifier (argument_list "(uVar8,10)" ( identifier , number_literal ))) ;) (expression_statement "iVar11 = string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         );" (assignment_expression "iVar11 = string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         )" identifier = (call_expression "string_width(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         )" identifier (argument_list "(\n                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                         )" ( (string_literal ""LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"" " string_content escape_sequence string_content ") )))) ;) (expression_statement "gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff);" (call_expression "gtk_widget_set_size_request(pGVar10,iVar11 + 0x14,0xffffffff)" identifier (argument_list "(pGVar10,iVar11 + 0x14,0xffffffff)" ( identifier , (binary_expression "iVar11 + 0x14" identifier + number_literal) , number_literal ))) ;) (expression_statement "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2);" (assignment_expression "pGVar9 = (GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" identifier = (cast_expression "(GtkWindow *)g_type_check_instance_cast(pGVar7,uVar2)" ( (type_descriptor "GtkWindow *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_type_check_instance_cast(pGVar7,uVar2)" identifier (argument_list "(pGVar7,uVar2)" ( identifier , identifier ))))) ;) (expression_statement "our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0);" (call_expression "our_dialog_add_to_content_area(pGVar9,pGVar10,1,1,0)" identifier (argument_list "(pGVar9,pGVar10,1,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "gtk_widget_show(pGVar10);" (call_expression "gtk_widget_show(pGVar10)" identifier (argument_list "(pGVar10)" ( identifier ))) ;) (expression_statement "*(void **)((int)estuff + 0x614) = estuff;" (assignment_expression "*(void **)((int)estuff + 0x614) = estuff" (pointer_expression "*(void **)((int)estuff + 0x614)" * (cast_expression "(void **)((int)estuff + 0x614)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 0x614)" ( (binary_expression "(int)estuff + 0x614" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)estuff + 0x630) = 0;" (assignment_expression "*(undefined4 *)((int)estuff + 0x630) = 0" (pointer_expression "*(undefined4 *)((int)estuff + 0x630)" * (cast_expression "(undefined4 *)((int)estuff + 0x630)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x630)" ( (binary_expression "(int)estuff + 0x630" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(Shortcuts **)((int)estuff + 0x620) = scs;" (assignment_expression "*(Shortcuts **)((int)estuff + 0x620) = scs" (pointer_expression "*(Shortcuts **)((int)estuff + 0x620)" * (cast_expression "(Shortcuts **)((int)estuff + 0x620)" ( (type_descriptor "Shortcuts **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 0x620)" ( (binary_expression "(int)estuff + 0x620" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)estuff + 0x63c) = 0;" (assignment_expression "*(undefined4 *)((int)estuff + 0x63c) = 0" (pointer_expression "*(undefined4 *)((int)estuff + 0x63c)" * (cast_expression "(undefined4 *)((int)estuff + 0x63c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x63c)" ( (binary_expression "(int)estuff + 0x63c" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(GtkWidget **)((int)estuff + 0x624) = pGVar7;" (assignment_expression "*(GtkWidget **)((int)estuff + 0x624) = pGVar7" (pointer_expression "*(GtkWidget **)((int)estuff + 0x624)" * (cast_expression "(GtkWidget **)((int)estuff + 0x624)" ( (type_descriptor "GtkWidget **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 0x624)" ( (binary_expression "(int)estuff + 0x624" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "dlg_refresh((control *)0x0,dp);" (call_expression "dlg_refresh((control *)0x0,dp)" identifier (argument_list "((control *)0x0,dp)" ( (cast_expression "(control *)0x0" ( (type_descriptor "control *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) (if_statement "if (iVar3 == 0) {\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_position(uVar2,1);\n    }\n    else {\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_position(uVar2,1);\n    }" { (expression_statement "uVar2 = g_type_check_instance_cast(pGVar7,uVar2);" (assignment_expression "uVar2 = g_type_check_instance_cast(pGVar7,uVar2)" identifier = (call_expression "g_type_check_instance_cast(pGVar7,uVar2)" identifier (argument_list "(pGVar7,uVar2)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_position(uVar2,1);" (call_expression "gtk_window_set_position(uVar2,1)" identifier (argument_list "(uVar2,1)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }" else (compound_statement "{\n      uVar8 = g_type_check_instance_cast(iVar3,uVar2);\n      uVar2 = g_type_check_instance_cast(pGVar7,uVar2);\n      gtk_window_set_transient_for(uVar2,uVar8);\n    }" { (expression_statement "uVar8 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar8 = g_type_check_instance_cast(iVar3,uVar2)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar2)" identifier (argument_list "(iVar3,uVar2)" ( identifier , identifier )))) ;) (expression_statement "uVar2 = g_type_check_instance_cast(pGVar7,uVar2);" (assignment_expression "uVar2 = g_type_check_instance_cast(pGVar7,uVar2)" identifier = (call_expression "g_type_check_instance_cast(pGVar7,uVar2)" identifier (argument_list "(pGVar7,uVar2)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_transient_for(uVar2,uVar8);" (call_expression "gtk_window_set_transient_for(uVar2,uVar8)" identifier (argument_list "(uVar2,uVar8)" ( identifier , identifier ))) ;) }))) (expression_statement "gtk_widget_show(pGVar7);" (call_expression "gtk_widget_show(pGVar7)" identifier (argument_list "(pGVar7)" ( identifier ))) ;) (expression_statement "uVar2 = g_type_check_instance_cast(pGVar7,0x50);" (assignment_expression "uVar2 = g_type_check_instance_cast(pGVar7,0x50)" identifier = (call_expression "g_type_check_instance_cast(pGVar7,0x50)" identifier (argument_list "(pGVar7,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0);" (call_expression "g_signal_connect_data(uVar2,"destroy",eventlog_destroy,estuff,0,0)" identifier (argument_list "(uVar2,"destroy",eventlog_destroy,estuff,0,0)" ( identifier , (string_literal ""destroy"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar2 = g_type_check_instance_cast(pGVar7,0x50);" (assignment_expression "uVar2 = g_type_check_instance_cast(pGVar7,0x50)" identifier = (call_expression "g_type_check_instance_cast(pGVar7,0x50)" identifier (argument_list "(pGVar7,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0);" (call_expression "g_signal_connect_data(uVar2,"key_press_event",win_key_press,dp,0,0)" identifier (argument_list "(uVar2,"key_press_event",win_key_press,dp,0,0)" ( identifier , (string_literal ""key_press_event"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar2 = g_type_check_instance_cast(pGVar7,0x50);" (assignment_expression "uVar2 = g_type_check_instance_cast(pGVar7,0x50)" identifier = (call_expression "g_type_check_instance_cast(pGVar7,0x50)" identifier (argument_list "(pGVar7,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);" (call_expression "g_signal_connect_data(uVar2,"selection_get",eventlog_selection_get,estuff,0,0)" identifier (argument_list "(uVar2,"selection_get",eventlog_selection_get,estuff,0,0)" ( identifier , (string_literal ""selection_get"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar2 = g_type_check_instance_cast(pGVar7,0x50);" (assignment_expression "uVar2 = g_type_check_instance_cast(pGVar7,0x50)" identifier = (call_expression "g_type_check_instance_cast(pGVar7,0x50)" identifier (argument_list "(pGVar7,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);" (call_expression "g_signal_connect_data(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0)" identifier (argument_list "(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0)" ( identifier , (string_literal ""selection_clear_event"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n    gtk_widget_grab_focus(*(int *)((int)estuff + 4));\n  }" else (compound_statement "{\n    gtk_widget_grab_focus(*(int *)((int)estuff + 4));\n  }" { (expression_statement "gtk_widget_grab_focus(*(int *)((int)estuff + 4));" (call_expression "gtk_widget_grab_focus(*(int *)((int)estuff + 4))" identifier (argument_list "(*(int *)((int)estuff + 4))" ( (pointer_expression "*(int *)((int)estuff + 4)" * (cast_expression "(int *)((int)estuff + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 4)" ( (binary_expression "(int)estuff + 4" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) }))) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\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    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_00089730(int param_1,undefined1 *param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}\n\n" (function_definition "void FUN_00089730(int param_1,undefined1 *param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}" primitive_type (function_declarator "FUN_00089730(int param_1,undefined1 *param_2)" identifier (parameter_list "(int param_1,undefined1 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined1 **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined1 *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "undefined *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined *puStack_50;" type_identifier (pointer_declarator "*puStack_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (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 = 0x89739;" (assignment_expression "uStack_14 = 0x89739" identifier = number_literal) ;) (expression_statement "ppuVar6 = (undefined1 **)&local_4c;" (assignment_expression "ppuVar6 = (undefined1 **)&local_4c" identifier = (cast_expression "(undefined1 **)&local_4c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_4c" & 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) ))))) ;) (expression_statement "puStack_50 = (undefined *)0x89757;" (assignment_expression "puStack_50 = (undefined *)0x89757" identifier = (cast_expression "(undefined *)0x89757" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_58 = (undefined *)gtk_widget_get_type();" (assignment_expression "puStack_58 = (undefined *)gtk_widget_get_type()" identifier = (cast_expression "(undefined *)gtk_widget_get_type()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_5c = param_2;" (assignment_expression "local_5c = param_2" identifier = identifier) ;) (expression_statement "local_3c = g_type_check_instance_cast();" (assignment_expression "local_3c = g_type_check_instance_cast()" identifier = (call_expression "g_type_check_instance_cast()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" if (parenthesized_expression "(*(undefined **)(param_1 + 4) == (undefined *)0x0)" ( (binary_expression "*(undefined **)(param_1 + 4) == (undefined *)0x0" (pointer_expression "*(undefined **)(param_1 + 4)" * (cast_expression "(undefined **)(param_1 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }" { (expression_statement "local_40 = param_1 + 0x60c;" (assignment_expression "local_40 = param_1 + 0x60c" identifier = (binary_expression "param_1 + 0x60c" identifier + number_literal)) ;) (expression_statement "puStack_50 = (undefined *)0x897a6;" (assignment_expression "puStack_50 = (undefined *)0x897a6" identifier = (cast_expression "(undefined *)0x897a6" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00084570();" (call_expression "FUN_00084570()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar2 = (undefined4 *)(param_1 + 0x14);" (assignment_expression "puVar2 = (undefined4 *)(param_1 + 0x14)" identifier = (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) ;) (do_statement "do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));" do (compound_statement "{\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    }" { (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2 = puVar2 + 3;" (assignment_expression "puVar2 = puVar2 + 3" identifier = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar2 != (undefined4 *)(param_1 + 0x614))" ( (binary_expression "puVar2 != (undefined4 *)(param_1 + 0x614)" identifier != (cast_expression "(undefined4 *)(param_1 + 0x614)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x614)" ( (binary_expression "param_1 + 0x614" identifier + number_literal) )))) )) ;) (expression_statement "puStack_50 = (undefined *)0x897c2;" (assignment_expression "puStack_50 = (undefined *)0x897c2" identifier = (cast_expression "(undefined *)0x897c2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = (undefined1 *)FUN_00028f00();" (assignment_expression "local_5c = (undefined1 *)FUN_00028f00()" identifier = (cast_expression "(undefined1 *)FUN_00028f00()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00028f00()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined1 **)(param_1 + 8) = local_5c;" (assignment_expression "*(undefined1 **)(param_1 + 8) = local_5c" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puStack_58 = &DAT_000bc8ae;" (assignment_expression "puStack_58 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "local_54 = &DAT_000bc8ae;" (assignment_expression "local_54 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "puStack_50 = &DAT_000bc8ae;" (assignment_expression "puStack_50 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "local_38 = FUN_000290d0();" (assignment_expression "local_38 = FUN_000290d0()" identifier = (call_expression "FUN_000290d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_5c = (undefined1 *)0x21;" (assignment_expression "local_5c = (undefined1 *)0x21" identifier = (cast_expression "(undefined1 *)0x21" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00029340(local_38,3,0x21,0x22);" (call_expression "FUN_00029340(local_38,3,0x21,0x22)" identifier (argument_list "(local_38,3,0x21,0x22)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "puStack_58 = (undefined *)0x0;" (assignment_expression "puStack_58 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = local_30;" (assignment_expression "local_5c = local_30" identifier = identifier) ;) (expression_statement "FUN_00028e00();" (call_expression "FUN_00028e00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_48 = local_34;" (assignment_expression "local_48 = local_34" identifier = identifier) ;) (expression_statement "FUN_00028e00(local_30,0);" (call_expression "FUN_00028e00(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal ))) ;) (expression_statement "local_3c = local_40;" (assignment_expression "local_3c = local_40" identifier = identifier) ;) (expression_statement "iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);" (assignment_expression "iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c)" identifier = (call_expression "FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c)" identifier (argument_list "(local_40,"Close",99,local_38,FUN_00085210,local_4c)" ( identifier , (string_literal ""Close"" " string_content ") , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0xc) = 1;" (assignment_expression "*(undefined4 *)(iVar1 + 0xc) = 1" (pointer_expression "*(undefined4 *)(iVar1 + 0xc)" * (cast_expression "(undefined4 *)(iVar1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x20) = 1;" (assignment_expression "*(undefined4 *)(iVar1 + 0x20) = 1" (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" * (cast_expression "(undefined4 *)(iVar1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_5c = &DAT_000bc8ae;" (assignment_expression "local_5c = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "puStack_58 = &DAT_000bc8ae;" (assignment_expression "puStack_58 = &DAT_000bc8ae" identifier = (pointer_expression "&DAT_000bc8ae" & identifier)) ;) (expression_statement "local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");" (assignment_expression "local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x")" identifier = (call_expression "FUN_000290d0(*(undefined4 *)(param_1 + 8),"x")" identifier (argument_list "(*(undefined4 *)(param_1 + 8),"x")" ( (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (string_literal ""x"" " string_content ") )))) ;) (expression_statement "FUN_00028e00(local_30,param_1);" (call_expression "FUN_00028e00(local_30,param_1)" identifier (argument_list "(local_30,param_1)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = local_3c;" (assignment_expression "iVar1 = local_3c" identifier = identifier) ;) (expression_statement "FUN_00028e00(local_30,0);" (call_expression "FUN_00028e00(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal ))) ;) (expression_statement "iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);" (assignment_expression "iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1)" identifier = (call_expression "FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1)" identifier (argument_list "(local_48,0,0,local_40,FUN_00085e70,iVar1)" ( identifier , number_literal , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(param_1 + 0x640) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x640) = iVar1" (pointer_expression "*(int *)(param_1 + 0x640)" * (cast_expression "(int *)(param_1 + 0x640)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x640)" ( (binary_expression "param_1 + 0x640" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x20) = 10;" (assignment_expression "*(undefined4 *)(iVar1 + 0x20) = 10" (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" * (cast_expression "(undefined4 *)(iVar1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x28) = 2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x28) = 2" (pointer_expression "*(undefined4 *)(iVar1 + 0x28)" * (cast_expression "(undefined4 *)(iVar1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x30) = 3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x30) = 3" (pointer_expression "*(undefined4 *)(iVar1 + 0x30)" * (cast_expression "(undefined4 *)(iVar1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)FUN_0002e780(3,4);" (assignment_expression "puVar2 = (undefined4 *)FUN_0002e780(3,4)" identifier = (cast_expression "(undefined4 *)FUN_0002e780(3,4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002e780(3,4)" identifier (argument_list "(3,4)" ( number_literal , number_literal ))))) ;) (expression_statement "*(undefined4 **)(iVar1 + 0x34) = puVar2;" (assignment_expression "*(undefined4 **)(iVar1 + 0x34) = puVar2" (pointer_expression "*(undefined4 **)(iVar1 + 0x34)" * (cast_expression "(undefined4 **)(iVar1 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar2 = 0x19;" (assignment_expression "*puVar2 = 0x19" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;" (assignment_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10" (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x34) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x34) + 4)" ( (binary_expression "*(int *)(iVar1 + 0x34) + 4" (pointer_expression "*(int *)(iVar1 + 0x34)" * (cast_expression "(int *)(iVar1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;" (assignment_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41" (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8)" * (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x34) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x34) + 8)" ( (binary_expression "*(int *)(iVar1 + 0x34) + 8" (pointer_expression "*(int *)(iVar1 + 0x34)" * (cast_expression "(int *)(iVar1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x34)" ( (binary_expression "iVar1 + 0x34" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "uVar3 = FUN_00091330();" (assignment_expression "uVar3 = FUN_00091330()" identifier = (call_expression "FUN_00091330()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);" (assignment_expression "uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0)" identifier = (call_expression "FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0)" identifier (argument_list "(PTR_s_PuTTY_0010db80," Event Log",0)" ( identifier , (string_literal "" Event Log"" " string_content ") , number_literal )))) ;) (expression_statement "local_54 = (undefined *)gtk_window_get_type();" (assignment_expression "local_54 = (undefined *)gtk_window_get_type()" identifier = (cast_expression "(undefined *)gtk_window_get_type()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "gtk_window_get_type()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_title(uVar5,uVar4);" (call_expression "gtk_window_set_title(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) (expression_statement "FUN_0002f010(uVar4);" (call_expression "FUN_0002f010(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = local_44;" (assignment_expression "iVar1 = local_44" identifier = identifier) ;) (expression_statement "local_44 = param_1 + 0xc;" (assignment_expression "local_44 = param_1 + 0xc" identifier = (binary_expression "param_1 + 0xc" identifier + number_literal)) ;) (expression_statement "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);" (assignment_expression "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier = (call_expression "FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier (argument_list "(puStack_50,local_44,iVar1,uVar4)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "FUN_00091380(uVar5,uVar4);" (call_expression "FUN_00091380(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) (expression_statement "gtk_widget_show(uVar4);" (call_expression "gtk_widget_show(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = local_48;" (assignment_expression "iVar1 = local_48" identifier = identifier) ;) (expression_statement "local_48 = local_44;" (assignment_expression "local_48 = local_44" identifier = identifier) ;) (expression_statement "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);" (assignment_expression "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier = (call_expression "FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" identifier (argument_list "(puStack_50,local_44,iVar1,uVar4)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = gtk_container_get_type();" (assignment_expression "uVar5 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar4,uVar5);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar4,uVar5)" identifier = (call_expression "g_type_check_instance_cast(uVar4,uVar5)" identifier (argument_list "(uVar4,uVar5)" ( identifier , identifier )))) ;) (expression_statement "gtk_container_set_border_width(uVar5,10);" (call_expression "gtk_container_set_border_width(uVar5,10)" identifier (argument_list "(uVar5,10)" ( identifier , number_literal ))) ;) (expression_statement "iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );" (assignment_expression "iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" identifier = (call_expression "FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" identifier (argument_list "(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" ( (string_literal ""LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"" " string_content escape_sequence string_content ") )))) ;) (expression_statement "gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);" (call_expression "gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff)" identifier (argument_list "(uVar4,iVar1 + 0x14,0xffffffff)" ( identifier , (binary_expression "iVar1 + 0x14" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "FUN_000914a0(uVar5,uVar4,1,1,0);" (call_expression "FUN_000914a0(uVar5,uVar4,1,1,0)" identifier (argument_list "(uVar5,uVar4,1,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "gtk_widget_show(uVar4);" (call_expression "gtk_widget_show(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "*(int *)(param_1 + 0x614) = param_1;" (assignment_expression "*(int *)(param_1 + 0x614) = param_1" (pointer_expression "*(int *)(param_1 + 0x614)" * (cast_expression "(int *)(param_1 + 0x614)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x614)" ( (binary_expression "param_1 + 0x614" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x630) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x630) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x630)" * (cast_expression "(undefined4 *)(param_1 + 0x630)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x630)" ( (binary_expression "param_1 + 0x630" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(param_1 + 0x620) = local_48;" (assignment_expression "*(int *)(param_1 + 0x620) = local_48" (pointer_expression "*(int *)(param_1 + 0x620)" * (cast_expression "(int *)(param_1 + 0x620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x620)" ( (binary_expression "param_1 + 0x620" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x63c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x63c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x63c)" * (cast_expression "(undefined4 *)(param_1 + 0x63c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x63c)" ( (binary_expression "param_1 + 0x63c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x624) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 0x624) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 0x624)" * (cast_expression "(undefined4 *)(param_1 + 0x624)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x624)" ( (binary_expression "param_1 + 0x624" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00086870(0,puStack_50);" (call_expression "FUN_00086870(0,puStack_50)" identifier (argument_list "(0,puStack_50)" ( number_literal , identifier ))) ;) (if_statement "if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }" { (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_position(uVar4,1);" (call_expression "gtk_window_set_position(uVar4,1)" identifier (argument_list "(uVar4,1)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" else (compound_statement "{\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" { (expression_statement "uVar4 = g_type_check_instance_cast(local_4c,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(local_4c,local_54)" identifier = (call_expression "g_type_check_instance_cast(local_4c,local_54)" identifier (argument_list "(local_4c,local_54)" ( identifier , identifier )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" identifier = (call_expression "g_type_check_instance_cast(uVar3,local_54)" identifier (argument_list "(uVar3,local_54)" ( identifier , identifier )))) ;) (expression_statement "gtk_window_set_transient_for(uVar5,uVar4);" (call_expression "gtk_window_set_transient_for(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) }))) (expression_statement "ppuVar6 = &local_5c;" (assignment_expression "ppuVar6 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "gtk_widget_show(uVar3);" (call_expression "gtk_widget_show(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);" (call_expression "g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0)" identifier (argument_list "(uVar4,"destroy",FUN_000850b0,param_1,0,0)" ( identifier , (string_literal ""destroy"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);" (call_expression "g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0)" identifier (argument_list "(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0)" ( identifier , (string_literal ""key_press_event"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);" (call_expression "g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0)" identifier (argument_list "(uVar4,"selection_get",FUN_000845d0,param_1,0,0)" ( identifier , (string_literal ""selection_get"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar3 = g_type_check_instance_cast(uVar3,0x50)" identifier = (call_expression "g_type_check_instance_cast(uVar3,0x50)" identifier (argument_list "(uVar3,0x50)" ( identifier , number_literal )))) ;) (expression_statement "g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);" (call_expression "g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0)" identifier (argument_list "(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0)" ( identifier , (string_literal ""selection_clear_event"" " string_content ") , identifier , identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" else (compound_statement "{\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" { (expression_statement "local_5c = *(undefined **)(param_1 + 4);" (assignment_expression "local_5c = *(undefined **)(param_1 + 4)" identifier = (pointer_expression "*(undefined **)(param_1 + 4)" * (cast_expression "(undefined **)(param_1 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "gtk_widget_grab_focus();" (call_expression "gtk_widget_grab_focus()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)ppuVar6 + 0x2c)" * (cast_expression "(int *)((int)ppuVar6 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar6 + 0x2c)" ( (binary_expression "(int)ppuVar6 + 0x2c" (cast_expression "(int)ppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;" (assignment_expression "*(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21" (pointer_expression "*(undefined **)((int)ppuVar6 + -4)" * (cast_expression "(undefined **)((int)ppuVar6 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar6 + -4)" ( (binary_expression "(int)ppuVar6 + -4" (cast_expression "(int)ppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_00089b21" & identifier)) ;) (expression_statement "FUN_000a39d0();" (call_expression "FUN_000a39d0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , IDENT , IDENT , 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , IDENT , 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) )))) = 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , 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 (pointer_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) )))) + LIT) )))) = 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) )))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( 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) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (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 (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_00089730(int param_1,undefined1 *param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}" (primitive_type "void") (function_declarator "FUN_00089730(int param_1,undefined1 *param_2)" (identifier "FUN_00089730") (parameter_list "(int param_1,undefined1 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined1 **ppuVar6;\n  int in_GS_OFFSET;\n  undefined1 *local_5c;\n  undefined *puStack_58;\n  undefined *local_54;\n  undefined *puStack_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x89739;\n  ppuVar6 = (undefined1 **)&local_4c;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puStack_50 = (undefined *)0x89757;\n  puStack_58 = (undefined *)gtk_widget_get_type();\n  local_5c = param_2;\n  local_3c = g_type_check_instance_cast();\n  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }\n  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;\n  FUN_000a39d0();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined1 **ppuVar6;" (type_identifier "undefined1") (pointer_declarator "**ppuVar6" (* "*") (pointer_declarator "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined1 *local_5c;" (type_identifier "undefined1") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "undefined *puStack_58;" (type_identifier "undefined") (pointer_declarator "*puStack_58" (* "*") (identifier "puStack_58")) (; ";")) (declaration "undefined *local_54;" (type_identifier "undefined") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined *puStack_50;" (type_identifier "undefined") (pointer_declarator "*puStack_50" (* "*") (identifier "puStack_50")) (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (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 = 0x89739;" (assignment_expression "uStack_14 = 0x89739" (identifier "uStack_14") (= "=") (number_literal "0x89739")) (; ";")) (expression_statement "ppuVar6 = (undefined1 **)&local_4c;" (assignment_expression "ppuVar6 = (undefined1 **)&local_4c" (identifier "ppuVar6") (= "=") (cast_expression "(undefined1 **)&local_4c" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")))) (; ";")) (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")) () ")"))))) (; ";")) (expression_statement "puStack_50 = (undefined *)0x89757;" (assignment_expression "puStack_50 = (undefined *)0x89757" (identifier "puStack_50") (= "=") (cast_expression "(undefined *)0x89757" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x89757"))) (; ";")) (expression_statement "puStack_58 = (undefined *)gtk_widget_get_type();" (assignment_expression "puStack_58 = (undefined *)gtk_widget_get_type()" (identifier "puStack_58") (= "=") (cast_expression "(undefined *)gtk_widget_get_type()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gtk_widget_get_type()" (identifier "gtk_widget_get_type") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_5c = param_2;" (assignment_expression "local_5c = param_2" (identifier "local_5c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_3c = g_type_check_instance_cast();" (assignment_expression "local_3c = g_type_check_instance_cast()" (identifier "local_3c") (= "=") (call_expression "g_type_check_instance_cast()" (identifier "g_type_check_instance_cast") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }\n  else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" (if "if") (parenthesized_expression "(*(undefined **)(param_1 + 4) == (undefined *)0x0)" (( "(") (binary_expression "*(undefined **)(param_1 + 4) == (undefined *)0x0" (pointer_expression "*(undefined **)(param_1 + 4)" (* "*") (cast_expression "(undefined **)(param_1 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_40 = param_1 + 0x60c;\n    puStack_50 = (undefined *)0x897a6;\n    FUN_00084570();\n    puVar2 = (undefined4 *)(param_1 + 0x14);\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));\n    puStack_50 = (undefined *)0x897c2;\n    local_5c = (undefined1 *)FUN_00028f00();\n    *(undefined1 **)(param_1 + 8) = local_5c;\n    puStack_58 = &DAT_000bc8ae;\n    local_54 = &DAT_000bc8ae;\n    puStack_50 = &DAT_000bc8ae;\n    local_38 = FUN_000290d0();\n    local_5c = (undefined1 *)0x21;\n    FUN_00029340(local_38,3,0x21,0x22);\n    puStack_58 = (undefined *)0x0;\n    local_5c = local_30;\n    FUN_00028e00();\n    local_48 = local_34;\n    FUN_00028e00(local_30,0);\n    local_3c = local_40;\n    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);\n    *(undefined4 *)(iVar1 + 0xc) = 1;\n    *(undefined4 *)(iVar1 + 0x20) = 1;\n    local_5c = &DAT_000bc8ae;\n    puStack_58 = &DAT_000bc8ae;\n    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");\n    FUN_00028e00(local_30,param_1);\n    iVar1 = local_3c;\n    FUN_00028e00(local_30,0);\n    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);\n    *(int *)(param_1 + 0x640) = iVar1;\n    *(undefined4 *)(iVar1 + 0x20) = 10;\n    *(undefined4 *)(iVar1 + 0x28) = 2;\n    *(undefined4 *)(iVar1 + 0x30) = 3;\n    puVar2 = (undefined4 *)FUN_0002e780(3,4);\n    *(undefined4 **)(iVar1 + 0x34) = puVar2;\n    *puVar2 = 0x19;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;\n    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;\n    uVar3 = FUN_00091330();\n    *(undefined4 *)(param_1 + 4) = uVar3;\n    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);\n    local_54 = (undefined *)gtk_window_get_type();\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    gtk_window_set_title(uVar5,uVar4);\n    FUN_0002f010(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_44;\n    local_44 = param_1 + 0xc;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_00091380(uVar5,uVar4);\n    gtk_widget_show(uVar4);\n    uVar4 = g_type_check_instance_cast(uVar3,local_54);\n    iVar1 = local_48;\n    local_48 = local_44;\n    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);\n    uVar5 = gtk_container_get_type();\n    uVar5 = g_type_check_instance_cast(uVar4,uVar5);\n    gtk_container_set_border_width(uVar5,10);\n    iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );\n    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);\n    uVar5 = g_type_check_instance_cast(uVar3,local_54);\n    FUN_000914a0(uVar5,uVar4,1,1,0);\n    gtk_widget_show(uVar4);\n    *(int *)(param_1 + 0x614) = param_1;\n    *(undefined4 *)(param_1 + 0x630) = 0;\n    *(int *)(param_1 + 0x620) = local_48;\n    *(undefined4 *)(param_1 + 0x63c) = 0;\n    *(undefined4 *)(param_1 + 0x624) = uVar3;\n    FUN_00086870(0,puStack_50);\n    if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }\n    ppuVar6 = &local_5c;\n    gtk_widget_show(uVar3);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);\n    uVar4 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);\n    uVar3 = g_type_check_instance_cast(uVar3,0x50);\n    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);\n  }" ({ "{") (expression_statement "local_40 = param_1 + 0x60c;" (assignment_expression "local_40 = param_1 + 0x60c" (identifier "local_40") (= "=") (binary_expression "param_1 + 0x60c" (identifier "param_1") (+ "+") (number_literal "0x60c"))) (; ";")) (expression_statement "puStack_50 = (undefined *)0x897a6;" (assignment_expression "puStack_50 = (undefined *)0x897a6" (identifier "puStack_50") (= "=") (cast_expression "(undefined *)0x897a6" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x897a6"))) (; ";")) (expression_statement "FUN_00084570();" (call_expression "FUN_00084570()" (identifier "FUN_00084570") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(param_1 + 0x14);" (assignment_expression "puVar2 = (undefined4 *)(param_1 + 0x14)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (; ";")) (do_statement "do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    } while (puVar2 != (undefined4 *)(param_1 + 0x614));" (do "do") (compound_statement "{\n      *puVar2 = 0;\n      puVar2 = puVar2 + 3;\n    }" ({ "{") (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = puVar2 + 3;" (assignment_expression "puVar2 = puVar2 + 3" (identifier "puVar2") (= "=") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar2 != (undefined4 *)(param_1 + 0x614))" (( "(") (binary_expression "puVar2 != (undefined4 *)(param_1 + 0x614)" (identifier "puVar2") (!= "!=") (cast_expression "(undefined4 *)(param_1 + 0x614)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x614)" (( "(") (binary_expression "param_1 + 0x614" (identifier "param_1") (+ "+") (number_literal "0x614")) () ")")))) () ")")) (; ";")) (expression_statement "puStack_50 = (undefined *)0x897c2;" (assignment_expression "puStack_50 = (undefined *)0x897c2" (identifier "puStack_50") (= "=") (cast_expression "(undefined *)0x897c2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x897c2"))) (; ";")) (expression_statement "local_5c = (undefined1 *)FUN_00028f00();" (assignment_expression "local_5c = (undefined1 *)FUN_00028f00()" (identifier "local_5c") (= "=") (cast_expression "(undefined1 *)FUN_00028f00()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00028f00()" (identifier "FUN_00028f00") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(param_1 + 8) = local_5c;" (assignment_expression "*(undefined1 **)(param_1 + 8) = local_5c" (pointer_expression "*(undefined1 **)(param_1 + 8)" (* "*") (cast_expression "(undefined1 **)(param_1 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "puStack_58 = &DAT_000bc8ae;" (assignment_expression "puStack_58 = &DAT_000bc8ae" (identifier "puStack_58") (= "=") (pointer_expression "&DAT_000bc8ae" (& "&") (identifier "DAT_000bc8ae"))) (; ";")) (expression_statement "local_54 = &DAT_000bc8ae;" (assignment_expression "local_54 = &DAT_000bc8ae" (identifier "local_54") (= "=") (pointer_expression "&DAT_000bc8ae" (& "&") (identifier "DAT_000bc8ae"))) (; ";")) (expression_statement "puStack_50 = &DAT_000bc8ae;" (assignment_expression "puStack_50 = &DAT_000bc8ae" (identifier "puStack_50") (= "=") (pointer_expression "&DAT_000bc8ae" (& "&") (identifier "DAT_000bc8ae"))) (; ";")) (expression_statement "local_38 = FUN_000290d0();" (assignment_expression "local_38 = FUN_000290d0()" (identifier "local_38") (= "=") (call_expression "FUN_000290d0()" (identifier "FUN_000290d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_5c = (undefined1 *)0x21;" (assignment_expression "local_5c = (undefined1 *)0x21" (identifier "local_5c") (= "=") (cast_expression "(undefined1 *)0x21" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x21"))) (; ";")) (expression_statement "FUN_00029340(local_38,3,0x21,0x22);" (call_expression "FUN_00029340(local_38,3,0x21,0x22)" (identifier "FUN_00029340") (argument_list "(local_38,3,0x21,0x22)" (( "(") (identifier "local_38") (, ",") (number_literal "3") (, ",") (number_literal "0x21") (, ",") (number_literal "0x22") () ")"))) (; ";")) (expression_statement "puStack_58 = (undefined *)0x0;" (assignment_expression "puStack_58 = (undefined *)0x0" (identifier "puStack_58") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_5c = local_30;" (assignment_expression "local_5c = local_30" (identifier "local_5c") (= "=") (identifier "local_30")) (; ";")) (expression_statement "FUN_00028e00();" (call_expression "FUN_00028e00()" (identifier "FUN_00028e00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_48 = local_34;" (assignment_expression "local_48 = local_34" (identifier "local_48") (= "=") (identifier "local_34")) (; ";")) (expression_statement "FUN_00028e00(local_30,0);" (call_expression "FUN_00028e00(local_30,0)" (identifier "FUN_00028e00") (argument_list "(local_30,0)" (( "(") (identifier "local_30") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_3c = local_40;" (assignment_expression "local_3c = local_40" (identifier "local_3c") (= "=") (identifier "local_40")) (; ";")) (expression_statement "iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);" (assignment_expression "iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c)" (identifier "iVar1") (= "=") (call_expression "FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c)" (identifier "FUN_00029690") (argument_list "(local_40,"Close",99,local_38,FUN_00085210,local_4c)" (( "(") (identifier "local_40") (, ",") (string_literal ""Close"" (" """) (string_content "Close") (" """)) (, ",") (number_literal "99") (, ",") (identifier "local_38") (, ",") (identifier "FUN_00085210") (, ",") (identifier "local_4c") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0xc) = 1;" (assignment_expression "*(undefined4 *)(iVar1 + 0xc) = 1" (pointer_expression "*(undefined4 *)(iVar1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xc)" (( "(") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x20) = 1;" (assignment_expression "*(undefined4 *)(iVar1 + 0x20) = 1" (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_5c = &DAT_000bc8ae;" (assignment_expression "local_5c = &DAT_000bc8ae" (identifier "local_5c") (= "=") (pointer_expression "&DAT_000bc8ae" (& "&") (identifier "DAT_000bc8ae"))) (; ";")) (expression_statement "puStack_58 = &DAT_000bc8ae;" (assignment_expression "puStack_58 = &DAT_000bc8ae" (identifier "puStack_58") (= "=") (pointer_expression "&DAT_000bc8ae" (& "&") (identifier "DAT_000bc8ae"))) (; ";")) (expression_statement "local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");" (assignment_expression "local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x")" (identifier "local_40") (= "=") (call_expression "FUN_000290d0(*(undefined4 *)(param_1 + 8),"x")" (identifier "FUN_000290d0") (argument_list "(*(undefined4 *)(param_1 + 8),"x")" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (string_literal ""x"" (" """) (string_content "x") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00028e00(local_30,param_1);" (call_expression "FUN_00028e00(local_30,param_1)" (identifier "FUN_00028e00") (argument_list "(local_30,param_1)" (( "(") (identifier "local_30") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar1 = local_3c;" (assignment_expression "iVar1 = local_3c" (identifier "iVar1") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "FUN_00028e00(local_30,0);" (call_expression "FUN_00028e00(local_30,0)" (identifier "FUN_00028e00") (argument_list "(local_30,0)" (( "(") (identifier "local_30") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);" (assignment_expression "iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1)" (identifier "iVar1") (= "=") (call_expression "FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1)" (identifier "FUN_00029700") (argument_list "(local_48,0,0,local_40,FUN_00085e70,iVar1)" (( "(") (identifier "local_48") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_40") (, ",") (identifier "FUN_00085e70") (, ",") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "*(int *)(param_1 + 0x640) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x640) = iVar1" (pointer_expression "*(int *)(param_1 + 0x640)" (* "*") (cast_expression "(int *)(param_1 + 0x640)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x640)" (( "(") (binary_expression "param_1 + 0x640" (identifier "param_1") (+ "+") (number_literal "0x640")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x20) = 10;" (assignment_expression "*(undefined4 *)(iVar1 + 0x20) = 10" (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x28) = 2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x28) = 2" (pointer_expression "*(undefined4 *)(iVar1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x28)" (( "(") (binary_expression "iVar1 + 0x28" (identifier "iVar1") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x30) = 3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x30) = 3" (pointer_expression "*(undefined4 *)(iVar1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x30)" (( "(") (binary_expression "iVar1 + 0x30" (identifier "iVar1") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_0002e780(3,4);" (assignment_expression "puVar2 = (undefined4 *)FUN_0002e780(3,4)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_0002e780(3,4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0002e780(3,4)" (identifier "FUN_0002e780") (argument_list "(3,4)" (( "(") (number_literal "3") (, ",") (number_literal "4") () ")"))))) (; ";")) (expression_statement "*(undefined4 **)(iVar1 + 0x34) = puVar2;" (assignment_expression "*(undefined4 **)(iVar1 + 0x34) = puVar2" (pointer_expression "*(undefined4 **)(iVar1 + 0x34)" (* "*") (cast_expression "(undefined4 **)(iVar1 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x34)" (( "(") (binary_expression "iVar1 + 0x34" (identifier "iVar1") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*puVar2 = 0x19;" (assignment_expression "*puVar2 = 0x19" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "0x19")) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;" (assignment_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10" (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x34) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar1 + 0x34) + 4)" (( "(") (binary_expression "*(int *)(iVar1 + 0x34) + 4" (pointer_expression "*(int *)(iVar1 + 0x34)" (* "*") (cast_expression "(int *)(iVar1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x34)" (( "(") (binary_expression "iVar1 + 0x34" (identifier "iVar1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;" (assignment_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41" (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x34) + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x34) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar1 + 0x34) + 8)" (( "(") (binary_expression "*(int *)(iVar1 + 0x34) + 8" (pointer_expression "*(int *)(iVar1 + 0x34)" (* "*") (cast_expression "(int *)(iVar1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x34)" (( "(") (binary_expression "iVar1 + 0x34" (identifier "iVar1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0x41")) (; ";")) (expression_statement "uVar3 = FUN_00091330();" (assignment_expression "uVar3 = FUN_00091330()" (identifier "uVar3") (= "=") (call_expression "FUN_00091330()" (identifier "FUN_00091330") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);" (assignment_expression "uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0)" (identifier "uVar4") (= "=") (call_expression "FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0)" (identifier "FUN_0002e8e0") (argument_list "(PTR_s_PuTTY_0010db80," Event Log",0)" (( "(") (identifier "PTR_s_PuTTY_0010db80") (, ",") (string_literal "" Event Log"" (" """) (string_content " Event Log") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_54 = (undefined *)gtk_window_get_type();" (assignment_expression "local_54 = (undefined *)gtk_window_get_type()" (identifier "local_54") (= "=") (cast_expression "(undefined *)gtk_window_get_type()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gtk_window_get_type()" (identifier "gtk_window_get_type") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" (identifier "uVar5") (= "=") (call_expression "g_type_check_instance_cast(uVar3,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,local_54)" (( "(") (identifier "uVar3") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "gtk_window_set_title(uVar5,uVar4);" (call_expression "gtk_window_set_title(uVar5,uVar4)" (identifier "gtk_window_set_title") (argument_list "(uVar5,uVar4)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "FUN_0002f010(uVar4);" (call_expression "FUN_0002f010(uVar4)" (identifier "FUN_0002f010") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(uVar3,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,local_54)" (( "(") (identifier "uVar3") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "iVar1 = local_44;" (assignment_expression "iVar1 = local_44" (identifier "iVar1") (= "=") (identifier "local_44")) (; ";")) (expression_statement "local_44 = param_1 + 0xc;" (assignment_expression "local_44 = param_1 + 0xc" (identifier "local_44") (= "=") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);" (assignment_expression "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" (identifier "uVar4") (= "=") (call_expression "FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" (identifier "FUN_00086be0") (argument_list "(puStack_50,local_44,iVar1,uVar4)" (( "(") (identifier "puStack_50") (, ",") (identifier "local_44") (, ",") (identifier "iVar1") (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" (identifier "uVar5") (= "=") (call_expression "g_type_check_instance_cast(uVar3,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,local_54)" (( "(") (identifier "uVar3") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "FUN_00091380(uVar5,uVar4);" (call_expression "FUN_00091380(uVar5,uVar4)" (identifier "FUN_00091380") (argument_list "(uVar5,uVar4)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "gtk_widget_show(uVar4);" (call_expression "gtk_widget_show(uVar4)" (identifier "gtk_widget_show") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(uVar3,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,local_54)" (( "(") (identifier "uVar3") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "iVar1 = local_48;" (assignment_expression "iVar1 = local_48" (identifier "iVar1") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_48 = local_44;" (assignment_expression "local_48 = local_44" (identifier "local_48") (= "=") (identifier "local_44")) (; ";")) (expression_statement "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);" (assignment_expression "uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" (identifier "uVar4") (= "=") (call_expression "FUN_00086be0(puStack_50,local_44,iVar1,uVar4)" (identifier "FUN_00086be0") (argument_list "(puStack_50,local_44,iVar1,uVar4)" (( "(") (identifier "puStack_50") (, ",") (identifier "local_44") (, ",") (identifier "iVar1") (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "uVar5 = gtk_container_get_type();" (assignment_expression "uVar5 = gtk_container_get_type()" (identifier "uVar5") (= "=") (call_expression "gtk_container_get_type()" (identifier "gtk_container_get_type") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar5 = g_type_check_instance_cast(uVar4,uVar5);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar4,uVar5)" (identifier "uVar5") (= "=") (call_expression "g_type_check_instance_cast(uVar4,uVar5)" (identifier "g_type_check_instance_cast") (argument_list "(uVar4,uVar5)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "gtk_container_set_border_width(uVar5,10);" (call_expression "gtk_container_set_border_width(uVar5,10)" (identifier "gtk_container_set_border_width") (argument_list "(uVar5,10)" (( "(") (identifier "uVar5") (, ",") (number_literal "10") () ")"))) (; ";")) (expression_statement "iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        );" (assignment_expression "iVar1 = FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" (identifier "iVar1") (= "=") (call_expression "FUN_000912d0(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" (identifier "FUN_000912d0") (argument_list "(\n                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"\n                        )" (( "(") (string_literal ""LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"" (" """) (string_content "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG ") (escape_sequence "\'") (string_content "COS SSH LOG ENTRIES ARE WIDE") (" """)) () ")")))) (; ";")) (expression_statement "gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);" (call_expression "gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff)" (identifier "gtk_widget_set_size_request") (argument_list "(uVar4,iVar1 + 0x14,0xffffffff)" (( "(") (identifier "uVar4") (, ",") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" (identifier "uVar5") (= "=") (call_expression "g_type_check_instance_cast(uVar3,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,local_54)" (( "(") (identifier "uVar3") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "FUN_000914a0(uVar5,uVar4,1,1,0);" (call_expression "FUN_000914a0(uVar5,uVar4,1,1,0)" (identifier "FUN_000914a0") (argument_list "(uVar5,uVar4,1,1,0)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar4") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "gtk_widget_show(uVar4);" (call_expression "gtk_widget_show(uVar4)" (identifier "gtk_widget_show") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x614) = param_1;" (assignment_expression "*(int *)(param_1 + 0x614) = param_1" (pointer_expression "*(int *)(param_1 + 0x614)" (* "*") (cast_expression "(int *)(param_1 + 0x614)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x614)" (( "(") (binary_expression "param_1 + 0x614" (identifier "param_1") (+ "+") (number_literal "0x614")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x630) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x630) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x630)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x630)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x630)" (( "(") (binary_expression "param_1 + 0x630" (identifier "param_1") (+ "+") (number_literal "0x630")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(param_1 + 0x620) = local_48;" (assignment_expression "*(int *)(param_1 + 0x620) = local_48" (pointer_expression "*(int *)(param_1 + 0x620)" (* "*") (cast_expression "(int *)(param_1 + 0x620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x620)" (( "(") (binary_expression "param_1 + 0x620" (identifier "param_1") (+ "+") (number_literal "0x620")) () ")")))) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x63c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x63c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x63c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x63c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x63c)" (( "(") (binary_expression "param_1 + 0x63c" (identifier "param_1") (+ "+") (number_literal "0x63c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x624) = uVar3;" (assignment_expression "*(undefined4 *)(param_1 + 0x624) = uVar3" (pointer_expression "*(undefined4 *)(param_1 + 0x624)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x624)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x624)" (( "(") (binary_expression "param_1 + 0x624" (identifier "param_1") (+ "+") (number_literal "0x624")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "FUN_00086870(0,puStack_50);" (call_expression "FUN_00086870(0,puStack_50)" (identifier "FUN_00086870") (argument_list "(0,puStack_50)" (( "(") (number_literal "0") (, ",") (identifier "puStack_50") () ")"))) (; ";")) (if_statement "if (local_4c == 0) {\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }\n    else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" (if "if") (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_position(uVar4,1);\n    }" ({ "{") (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,local_54)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(uVar3,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,local_54)" (( "(") (identifier "uVar3") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "gtk_window_set_position(uVar4,1);" (call_expression "gtk_window_set_position(uVar4,1)" (identifier "gtk_window_set_position") (argument_list "(uVar4,1)" (( "(") (identifier "uVar4") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" (else "else") (compound_statement "{\n      uVar4 = g_type_check_instance_cast(local_4c,local_54);\n      uVar5 = g_type_check_instance_cast(uVar3,local_54);\n      gtk_window_set_transient_for(uVar5,uVar4);\n    }" ({ "{") (expression_statement "uVar4 = g_type_check_instance_cast(local_4c,local_54);" (assignment_expression "uVar4 = g_type_check_instance_cast(local_4c,local_54)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(local_4c,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(local_4c,local_54)" (( "(") (identifier "local_4c") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "uVar5 = g_type_check_instance_cast(uVar3,local_54);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar3,local_54)" (identifier "uVar5") (= "=") (call_expression "g_type_check_instance_cast(uVar3,local_54)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,local_54)" (( "(") (identifier "uVar3") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "gtk_window_set_transient_for(uVar5,uVar4);" (call_expression "gtk_window_set_transient_for(uVar5,uVar4)" (identifier "gtk_window_set_transient_for") (argument_list "(uVar5,uVar4)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (} "}")))) (expression_statement "ppuVar6 = &local_5c;" (assignment_expression "ppuVar6 = &local_5c" (identifier "ppuVar6") (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "gtk_widget_show(uVar3);" (call_expression "gtk_widget_show(uVar3)" (identifier "gtk_widget_show") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(uVar3,0x50)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,0x50)" (( "(") (identifier "uVar3") (, ",") (number_literal "0x50") () ")")))) (; ";")) (expression_statement "g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);" (call_expression "g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0)" (identifier "g_signal_connect_data") (argument_list "(uVar4,"destroy",FUN_000850b0,param_1,0,0)" (( "(") (identifier "uVar4") (, ",") (string_literal ""destroy"" (" """) (string_content "destroy") (" """)) (, ",") (identifier "FUN_000850b0") (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(uVar3,0x50)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,0x50)" (( "(") (identifier "uVar3") (, ",") (number_literal "0x50") () ")")))) (; ";")) (expression_statement "g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);" (call_expression "g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0)" (identifier "g_signal_connect_data") (argument_list "(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0)" (( "(") (identifier "uVar4") (, ",") (string_literal ""key_press_event"" (" """) (string_content "key_press_event") (" """)) (, ",") (identifier "FUN_00084da0") (, ",") (identifier "puStack_50") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar4 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar4 = g_type_check_instance_cast(uVar3,0x50)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(uVar3,0x50)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,0x50)" (( "(") (identifier "uVar3") (, ",") (number_literal "0x50") () ")")))) (; ";")) (expression_statement "g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);" (call_expression "g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0)" (identifier "g_signal_connect_data") (argument_list "(uVar4,"selection_get",FUN_000845d0,param_1,0,0)" (( "(") (identifier "uVar4") (, ",") (string_literal ""selection_get"" (" """) (string_content "selection_get") (" """)) (, ",") (identifier "FUN_000845d0") (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar3 = g_type_check_instance_cast(uVar3,0x50);" (assignment_expression "uVar3 = g_type_check_instance_cast(uVar3,0x50)" (identifier "uVar3") (= "=") (call_expression "g_type_check_instance_cast(uVar3,0x50)" (identifier "g_type_check_instance_cast") (argument_list "(uVar3,0x50)" (( "(") (identifier "uVar3") (, ",") (number_literal "0x50") () ")")))) (; ";")) (expression_statement "g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);" (call_expression "g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0)" (identifier "g_signal_connect_data") (argument_list "(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0)" (( "(") (identifier "uVar3") (, ",") (string_literal ""selection_clear_event"" (" """) (string_content "selection_clear_event") (" """)) (, ",") (identifier "FUN_00085100") (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" (else "else") (compound_statement "{\n    local_5c = *(undefined **)(param_1 + 4);\n    gtk_widget_grab_focus();\n  }" ({ "{") (expression_statement "local_5c = *(undefined **)(param_1 + 4);" (assignment_expression "local_5c = *(undefined **)(param_1 + 4)" (identifier "local_5c") (= "=") (pointer_expression "*(undefined **)(param_1 + 4)" (* "*") (cast_expression "(undefined **)(param_1 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "gtk_widget_grab_focus();" (call_expression "gtk_widget_grab_focus()" (identifier "gtk_widget_grab_focus") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)ppuVar6 + 0x2c)" (* "*") (cast_expression "(int *)((int)ppuVar6 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar6 + 0x2c)" (( "(") (binary_expression "(int)ppuVar6 + 0x2c" (cast_expression "(int)ppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar6")) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;" (assignment_expression "*(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21" (pointer_expression "*(undefined **)((int)ppuVar6 + -4)" (* "*") (cast_expression "(undefined **)((int)ppuVar6 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar6 + -4)" (( "(") (binary_expression "(int)ppuVar6 + -4" (cast_expression "(int)ppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar6")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00089b21" (& "&") (identifier "UNK_00089b21"))) (; ";")) (expression_statement "FUN_000a39d0();" (call_expression "FUN_000a39d0()" (identifier "FUN_000a39d0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

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

void function_1(void *estuff,void *parentwin)

{
  type_1 *scs;
  type_2 *dp;
  int var_33;
  type_3 uVar2;
  int var_28;
  type_3 *var_5;
  type_4 *b;
  type_5 *s;
  type_6 *pcVar5;
  type_5 *s_00;
  int *piVar6;
  type_7 *pGVar7;
  char *ptr;
  type_3 uVar8;
  type_8 *pGVar9;
  type_7 *pGVar10;
  int var_25;
  int var_1;
  type_9 local_30;
  
  var_33 = *(int *)(var_1 + 0x14);
  uVar2 = var_2();
  var_28 = var_3(parentwin,uVar2);
  if (*(int *)((int)estuff + 4) == 0) {
    dp = (type_2 *)((int)estuff + 0x60c);
    var_4(dp);
    var_5 = (type_3 *)((int)estuff + 0x14);
    do {
      *var_5 = 0;
      var_5 = var_5 + 3;
    } while (var_5 != (type_3 *)((int)estuff + 0x614));
    b = var_6();
    *(type_4 **)((int)estuff + 8) = b;
    s = var_7(b,"","","");
    var_8(s,3,0x21,0x22,0x21);
    var_9((void *)0x0);
    var_9((void *)0x0);
    pcVar5 = var_10(s,"Close",'c',local_30,eventlog_ok_handler,local_30);
    (pcVar5->generic).column = 1;
    (pcVar5->editbox).percentwidth = 1;
    s_00 = var_7(*(type_4 **)((int)estuff + 8),"x","","");
    var_9(estuff);
    var_9((void *)0x0);
    pcVar5 = var_11(s_00,(char *)0x0,'\0',local_30,eventlog_list_handler,local_30);
    *(type_6 **)((int)estuff + 0x640) = pcVar5;
    (pcVar5->editbox).percentwidth = 10;
    (pcVar5->editbox).has_list = 2;
    (pcVar5->listbox).ncols = 3;
    piVar6 = (int *)var_12(3,4);
    (pcVar5->listbox).percentages = piVar6;
    *piVar6 = 0x19;
    (pcVar5->listbox).percentages[1] = 10;
    (pcVar5->listbox).percentages[2] = 0x41;
    pGVar7 = var_13();
    *(type_7 **)((int)estuff + 4) = pGVar7;
    ptr = var_14(appname," Event Log",0);
    uVar2 = var_15();
    uVar8 = var_3(pGVar7,uVar2);
    var_16(uVar8,ptr);
    var_17(ptr);
    pGVar9 = (type_8 *)var_3(pGVar7,uVar2);
    scs = (type_1 *)((int)estuff + 0xc);
    pGVar10 = var_18(dp,scs,s,pGVar9);
    pGVar9 = (type_8 *)var_3(pGVar7,uVar2);
    var_19(pGVar9,pGVar10);
    var_20(pGVar10);
    pGVar9 = (type_8 *)var_3(pGVar7,uVar2);
    pGVar10 = var_18(dp,scs,s_00,pGVar9);
    uVar8 = var_21();
    uVar8 = var_3(pGVar10,uVar8);
    var_22(uVar8,10);
    var_25 = var_23(
                         "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"
                         );
    var_24(pGVar10,var_25 + 0x14,0xffffffff);
    pGVar9 = (type_8 *)var_3(pGVar7,uVar2);
    var_26(pGVar9,pGVar10,1,1,0);
    var_20(pGVar10);
    *(void **)((int)estuff + 0x614) = estuff;
    *(type_3 *)((int)estuff + 0x630) = 0;
    *(type_1 **)((int)estuff + 0x620) = scs;
    *(type_3 *)((int)estuff + 0x63c) = 0;
    *(type_7 **)((int)estuff + 0x624) = pGVar7;
    var_27((type_6 *)0x0,dp);
    if (var_28 == 0) {
      uVar2 = var_3(pGVar7,uVar2);
      var_29(uVar2,1);
    }
    else {
      uVar8 = var_3(var_28,uVar2);
      uVar2 = var_3(pGVar7,uVar2);
      var_30(uVar2,uVar8);
    }
    var_20(pGVar7);
    uVar2 = var_3(pGVar7,0x50);
    var_31(uVar2,"destroy",eventlog_destroy,estuff,0,0);
    uVar2 = var_3(pGVar7,0x50);
    var_31(uVar2,"key_press_event",win_key_press,dp,0,0);
    uVar2 = var_3(pGVar7,0x50);
    var_31(uVar2,"selection_get",eventlog_selection_get,estuff,0,0);
    uVar2 = var_3(pGVar7,0x50);
    var_31(uVar2,"selection_clear_event",eventlog_selection_clear,estuff,0,0);
  }
  else {
    var_32(*(int *)((int)estuff + 4));
  }
  if (var_33 == *(int *)(var_1 + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_34();
}


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

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

void MASKED(int param_1,undefined1 *param_2)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined1 **ppuVar6;
  int in_GS_OFFSET;
  undefined1 *local_5c;
  undefined *puStack_58;
  undefined *local_54;
  undefined *puStack_50;
  int local_4c;
  int local_48;
  int local_44;
  int local_40;
  int local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined1 local_30 [16];
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x89739;
  ppuVar6 = (undefined1 **)&local_4c;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puStack_50 = (undefined *)0x89757;
  puStack_58 = (undefined *)gtk_widget_get_type();
  local_5c = param_2;
  local_3c = g_type_check_instance_cast();
  if (*(undefined **)(param_1 + 4) == (undefined *)0x0) {
    local_40 = param_1 + 0x60c;
    puStack_50 = (undefined *)0x897a6;
    FUN_00084570();
    puVar2 = (undefined4 *)(param_1 + 0x14);
    do {
      *puVar2 = 0;
      puVar2 = puVar2 + 3;
    } while (puVar2 != (undefined4 *)(param_1 + 0x614));
    puStack_50 = (undefined *)0x897c2;
    local_5c = (undefined1 *)FUN_00028f00();
    *(undefined1 **)(param_1 + 8) = local_5c;
    puStack_58 = &DAT_000bc8ae;
    local_54 = &DAT_000bc8ae;
    puStack_50 = &DAT_000bc8ae;
    local_38 = FUN_000290d0();
    local_5c = (undefined1 *)0x21;
    FUN_00029340(local_38,3,0x21,0x22);
    puStack_58 = (undefined *)0x0;
    local_5c = local_30;
    FUN_00028e00();
    local_48 = local_34;
    FUN_00028e00(local_30,0);
    local_3c = local_40;
    iVar1 = FUN_00029690(local_40,"Close",99,local_38,FUN_00085210,local_4c);
    *(undefined4 *)(iVar1 + 0xc) = 1;
    *(undefined4 *)(iVar1 + 0x20) = 1;
    local_5c = &DAT_000bc8ae;
    puStack_58 = &DAT_000bc8ae;
    local_40 = FUN_000290d0(*(undefined4 *)(param_1 + 8),"x");
    FUN_00028e00(local_30,param_1);
    iVar1 = local_3c;
    FUN_00028e00(local_30,0);
    iVar1 = FUN_00029700(local_48,0,0,local_40,FUN_00085e70,iVar1);
    *(int *)(param_1 + 0x640) = iVar1;
    *(undefined4 *)(iVar1 + 0x20) = 10;
    *(undefined4 *)(iVar1 + 0x28) = 2;
    *(undefined4 *)(iVar1 + 0x30) = 3;
    puVar2 = (undefined4 *)FUN_0002e780(3,4);
    *(undefined4 **)(iVar1 + 0x34) = puVar2;
    *puVar2 = 0x19;
    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 4) = 10;
    *(undefined4 *)(*(int *)(iVar1 + 0x34) + 8) = 0x41;
    uVar3 = FUN_00091330();
    *(undefined4 *)(param_1 + 4) = uVar3;
    uVar4 = FUN_0002e8e0(PTR_s_PuTTY_0010db80," Event Log",0);
    local_54 = (undefined *)gtk_window_get_type();
    uVar5 = g_type_check_instance_cast(uVar3,local_54);
    gtk_window_set_title(uVar5,uVar4);
    FUN_0002f010(uVar4);
    uVar4 = g_type_check_instance_cast(uVar3,local_54);
    iVar1 = local_44;
    local_44 = param_1 + 0xc;
    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);
    uVar5 = g_type_check_instance_cast(uVar3,local_54);
    FUN_00091380(uVar5,uVar4);
    gtk_widget_show(uVar4);
    uVar4 = g_type_check_instance_cast(uVar3,local_54);
    iVar1 = local_48;
    local_48 = local_44;
    uVar4 = FUN_00086be0(puStack_50,local_44,iVar1,uVar4);
    uVar5 = gtk_container_get_type();
    uVar5 = g_type_check_instance_cast(uVar4,uVar5);
    gtk_container_set_border_width(uVar5,10);
    iVar1 = FUN_000912d0(
                        "LINE OF TEXT GIVING WIDTH OF EVENT LOG IS QUITE LONG \'COS SSH LOG ENTRIES ARE WIDE"
                        );
    gtk_widget_set_size_request(uVar4,iVar1 + 0x14,0xffffffff);
    uVar5 = g_type_check_instance_cast(uVar3,local_54);
    FUN_000914a0(uVar5,uVar4,1,1,0);
    gtk_widget_show(uVar4);
    *(int *)(param_1 + 0x614) = param_1;
    *(undefined4 *)(param_1 + 0x630) = 0;
    *(int *)(param_1 + 0x620) = local_48;
    *(undefined4 *)(param_1 + 0x63c) = 0;
    *(undefined4 *)(param_1 + 0x624) = uVar3;
    FUN_00086870(0,puStack_50);
    if (local_4c == 0) {
      uVar4 = g_type_check_instance_cast(uVar3,local_54);
      gtk_window_set_position(uVar4,1);
    }
    else {
      uVar4 = g_type_check_instance_cast(local_4c,local_54);
      uVar5 = g_type_check_instance_cast(uVar3,local_54);
      gtk_window_set_transient_for(uVar5,uVar4);
    }
    ppuVar6 = &local_5c;
    gtk_widget_show(uVar3);
    uVar4 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar4,"destroy",FUN_000850b0,param_1,0,0);
    uVar4 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar4,"key_press_event",FUN_00084da0,puStack_50,0,0);
    uVar4 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar4,"selection_get",FUN_000845d0,param_1,0,0);
    uVar3 = g_type_check_instance_cast(uVar3,0x50);
    g_signal_connect_data(uVar3,"selection_clear_event",FUN_00085100,param_1,0,0);
  }
  else {
    local_5c = *(undefined **)(param_1 + 4);
    gtk_widget_grab_focus();
  }
  if (*(int *)((int)ppuVar6 + 0x2c) == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined **)((int)ppuVar6 + -4) = &UNK_00089b21;
  FUN_000a39d0();
}

