Function at 0x43a87d
Capabilities:
Get keyboard layout
Read file via mapping
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x884
mov eax, dword [ebp + 0x70]
push ebx
xor ebx, ebx
push esi
mov dword [0x468868], eax
mov dword [0x468854], ebx
mov dword [0x466630], 5
call fcn.0043b57c
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.004347e9
call fcn.0043b4e4
test eax, eax
jne 0x43a8f3
push dword [0x44b478]
push str._s_Fatal_Error
call fcn.004094dc
pop ecx
pop ecx
push 0x30
mov esi, eax
push esi
push str.Windows_refuses_to_report_a_version
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push esi
call fcn.0040927f
pop ecx
xor eax, eax
pop esi
inc eax
pop ebx
add ebp, 0x68
leave
ret 0x10
mov eax, dword [0x466584]
cmp eax, 4
jb 0x43a908
jne 0x43a918
cmp dword [0x466590], 2
je 0x43a918
push str.MSWHEEL_ROLLMSG
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [0x463214], eax
push edi
push 0x7ff
lea eax, [ebp - 0x81c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edi, [ebp - 0x81c]
mov eax, edi
push 0x5c
push eax
call fcn.00442300
cmp eax, ebx
pop ecx
pop ecx
je 0x43a94b
mov ecx, edi
cmp eax, ecx
jb 0x43a94b
lea edi, [eax + 1]
lea eax, [ebp - 0x81c]
push 0x3a
push eax
call fcn.00442300
cmp eax, ebx
pop ecx
pop ecx
je 0x43a966
cmp eax, edi
jb 0x43a966
lea edi, [eax + 1]
push str.putty.hlp
push edi
call fcn.0043fe70
mov esi, 0x44b54c
lea eax, [ebp - 0x81c]
push esi
push eax
call fcn.0043fc6a
add esp, 0x10
cmp eax, ebx
mov dword [ebp + 0x60], eax
je 0x43a9aa
lea eax, [ebp - 0x81c]
push eax
call fcn.0040928c
push dword [ebp + 0x60]
mov dword [0x466614], eax
call fcn.004412fe
pop ecx
pop ecx
jmp 0x43a9b0
mov dword [0x466614], ebx
push str.putty.cnt
push edi
call fcn.0043fe70
lea eax, [ebp - 0x81c]
push esi
push eax
call fcn.0043fc6a
add esp, 0x10
cmp eax, ebx
je 0x43a9e2
push eax
mov dword [0x468858], 1
call fcn.004412fe
pop ecx
jmp 0x43a9e8
mov dword [0x468858], ebx
mov eax, dword [0x44b47c]
xor edx, edx
cmp dword [0x463048], ebx
mov dword [ebp + 0x58], ebx
mov dword [0x466618], eax
mov dword [0x46661c], ebx
je 0x43aa2b
mov ecx, 0x463048
cmp dword [ecx - 8], eax
je 0x43aa19
add ecx, 0xc
inc edx
cmp dword [ecx], ebx
jne 0x43aa0a
jmp 0x43aa2b
lea eax, [edx + edx*2]
mov eax, dword [eax*4 + 0x463048]
mov eax, dword [eax + 0x40]
mov dword [0x46661c], eax
mov esi, 0x466640
push esi
push ebx
mov dword [0x467e08], ebx
call fcn.0040dd19
mov edi, dword [ebp + 0x78]
mov eax, edi
cmp byte [eax], bl
pop ecx
pop ecx
je 0x43aa76
cmp dword [0x46327c], 1
movsx eax, byte [edi]
jle 0x43aa60
push 8
push eax
call fcn.00440805
pop ecx
pop ecx
jmp 0x43aa6d
mov ecx, dword [str.________________________________H]
movzx eax, byte [ecx + eax*2]
and eax, 8
cmp eax, ebx
je 0x43aa76
inc edi
cmp byte [edi], bl
jne 0x43aa48
mov al, byte [edi]
cmp al, 0x40
jne 0x43aae9
push edi
call fcn.0043fd50
cmp eax, 1
pop ecx
mov dword [ebp + 0x78], eax
jle 0x43aac2
cmp dword [0x46327c], 1
mov eax, dword [ebp + 0x78]
movsx eax, byte [eax + edi - 1]
jle 0x43aaa8
push 8
push eax
call fcn.00440805
pop ecx
pop ecx
jmp 0x43aab5
mov ecx, dword [str.________________________________H]
movzx eax, byte [ecx + eax*2]
and eax, 8
cmp eax, ebx
je 0x43aac2
dec dword [ebp + 0x78]
cmp dword [ebp + 0x78], 1
jg 0x43aa8b
mov eax, dword [ebp + 0x78]
mov byte [eax + edi], bl
push esi
inc edi
push edi
call fcn.0040dd19
cmp byte [0x466640], bl
pop ecx
pop ecx
jne 0x43ab42
call fcn.0043481c
test eax, eax
jne 0x43ab42
push ebx
jmp 0x43b468
cmp al, 0x26
jne 0x43ac54
lea eax, [ebp + 0x78]
push eax
push 0x45cf58
inc edi
push edi
call fcn.004419a4
add esp, 0xc
cmp eax, 1
jne 0x43aada
push 0x2214
push ebx
push ebx
push 4
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, ebx
je 0x43aada
mov esi, eax
mov ecx, 0x885
mov edi, 0x466640
push eax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 0x466640
push esi
call fcn.00401951
cmp byte [0x466640], bl
pop ecx
jne 0x43ab5a
call fcn.0043481c
test eax, eax
je 0x43aae3
push 0x45cf54
push esi
call fcn.00442510
push esi
mov edi, eax
call fcn.0043fd50
xor ecx, ecx
inc ecx
sub ecx, edi
add eax, ecx
push eax
lea eax, [edi + 0x466640]
push eax
push esi
call fcn.004403b0
add esp, 0x18
cmp byte [0x466640], bl
je 0x43abcc
push 0x40
push esi
call fcn.00442300
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x43abcc
sub eax, esi
cmp eax, 0x64
jae 0x43abb9
push eax
push esi
push 0x467920
call fcn.0043f6d0
add esp, 0xc
mov byte [edi + 0x12e0], bl
inc edi
push edi
call fcn.0043fd50
inc eax
push eax
push edi
push esi
call fcn.004403b0
add esp, 0x10
push 0x3a
push esi
call fcn.0043fc90
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x43abef
lea eax, [edi + 1]
push 0x3a
push eax
call fcn.0043fc90
test eax, eax
pop ecx
pop ecx
jne 0x43abef
mov byte [edi], bl
xor edx, edx
cmp byte [0x466640], bl
je 0x43ac11
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x43ac0c
cmp al, 9
je 0x43ac0c
mov byte [edx + 0x466640], al
inc edx
inc ecx
cmp byte [ecx], bl
jne 0x43abfb
mov byte [edx + 0x466640], bl
cmp dword [0x466840], ebx
jne 0x43aec3
push dword [0x44b478]
push str._s_Internal_Error
call fcn.004094dc
pop ecx
pop ecx
push 0x30
mov esi, eax
push esi
push str.Invalid_Port_Number
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push esi
call fcn.0040927f
pop ecx
push 1
jmp 0x43b468
push ebx
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x78]
call fcn.0043e9c8
mov ecx, dword [ebp + 0x60]
add esp, 0x10
cmp ecx, ebx
mov dword [ebp + 0x78], ebx
jle 0x43ab42
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x64], ecx
mov eax, dword [ebp + 0x44]
mov edx, dword [ebp + 0x78]
lea eax, [eax + edx*4]
mov edi, dword [eax]
jge 0x43ac92
mov eax, dword [eax + 4]
jmp 0x43ac94
xor eax, eax
push esi
push 1
push eax
push edi
call fcn.004010d9
add esp, 0x10
cmp eax, 0xfffffffe
jne 0x43acb1
push edi
push str.option___s__requires_an_argument
jmp 0x43ae1e
cmp eax, 2
jne 0x43acc1
inc dword [ebp + 0x78]
inc dword [ebp + 0x64]
jmp 0x43ae25
cmp eax, 1
je 0x43ae25
push str._cleanup
push edi
call fcn.0043fde0
test eax, eax
pop ecx
pop ecx
je 0x43ae45
push str._cleanup_during_uninstall
push edi
call fcn.0043fde0
test eax, eax
pop ecx
pop ecx
je 0x43ae45
push str._pgpfp
push edi
call fcn.0043fde0
test eax, eax
pop ecx
pop ecx
je 0x43ae3c
cmp byte [edi], 0x2d
je 0x43ae18
cmp dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], edi
je 0x43ad50
push esi
push 1
push edi
push 0x44b524
call fcn.004010d9
add esp, 0x10
cmp eax, 2
je 0x43ae25
push 0x1f0
push str...windowswindow.c
push str.ret__2
call fcn.0043f7f4
add esp, 0xc
jmp 0x43ae25
push 7
push str.telnet:
push edi
call fcn.004424d0
add esp, 0xc
test eax, eax
jne 0x43add6
add edi, 7
cmp byte [edi], 0x2f
jne 0x43ad74
cmp byte [edi + 1], 0x2f
jne 0x43ad74
inc edi
inc edi
mov dword [0x466844], 1
cmp byte [edi], bl
mov eax, edi
je 0x43ad95
mov cl, byte [eax]
cmp cl, 0x3a
je 0x43ad95
cmp cl, 0x2f
je 0x43ad95
inc eax
cmp byte [eax], bl
jne 0x43ad84
mov cl, byte [eax]
cmp cl, bl
je 0x43ad9e
mov byte [eax], bl
inc eax
cmp cl, 0x3a
jne 0x43adb1
push eax
call fcn.0043fc21
pop ecx
mov dword [0x466840], eax
jmp 0x43adb8
or dword [0x466840], 0xffffffff
push 0x1ff
push edi
push esi
call fcn.0043f6d0
add esp, 0xc
mov byte [0x46683f], bl
mov dword [ebp + 0x58], 1
jmp 0x43ae25
cmp byte [edi], bl
je 0x43ae0e
cmp dword [0x46327c], 1
movsx eax, byte [edi]
jle 0x43adf2
push 8
push eax
call fcn.00440805
pop ecx
pop ecx
jmp 0x43adff
mov ecx, dword [str.________________________________H]
movzx eax, byte [ecx + eax*2]
and eax, 8
cmp eax, ebx
jne 0x43ae08
inc edi
cmp byte [edi], bl
jne 0x43adda
cmp byte [edi], bl
je 0x43ae0e
mov byte [edi], bl
push 0x1ff
push dword [ebp + 0x5c]
jmp 0x43adbe
push edi
push str.unknown_option___s_
call fcn.0043533f
pop ecx
pop ecx
inc dword [ebp + 0x78]
mov ecx, dword [ebp + 0x60]
inc dword [ebp + 0x64]
cmp dword [ebp + 0x78], ecx
jl 0x43ac7d
jmp 0x43ab42
call fcn.0043e9b1
push 1
jmp 0x43aebe
push str._cleanup_during_uninstall
push edi
call fcn.0043fde0
test eax, eax
pop ecx
pop ecx
push dword [0x44b478]
jne 0x43ae73
push str.Remove_saved_sessions_and_random_seed_file__n_nIf_you_hit_Yes__ALL_Registry_entries_associated_nwith__s_will_be_removed__as_well_as_the_nrandom_seed_file._THIS_PROCESS_WILL_nDESTROY_YOUR_SAVED_SESSIONS._n_This_only_affects_the_currently_logged_in_user.__n_nIf_you_hit_No__uninstallation_will_proceed__but_nsaved_sessions_etc_will_be_left_on_the_machine.
call fcn.004094dc
push dword [0x44b478]
push str._s_Uninstallation
jmp 0x43ae88
push str.This_procedure_will_remove_ALL_Registry_entries_nassociated_with__s__and_will_also_remove_nthe_random_seed_file.__This_only_affects_the_ncurrently_logged_in_user.__n_nTHIS_PROCESS_WILL_DESTROY_YOUR_SAVED_SESSIONS._nAre_you_really_sure_you_want_to_continue_
call fcn.004094dc
push dword [0x44b478]
push str._s_Warning
mov esi, eax
call fcn.004094dc
add esp, 0x10
push 4
mov edi, eax
push 0x134
push edi
push esi
call fcn.0043e950
add esp, 0x10
cmp eax, 6
jne 0x43aeaf
call fcn.0043dbde
push esi
call fcn.0040927f
push edi
call fcn.0040927f
pop ecx
pop ecx
push ebx
call fcn.00442488
cmp dword [ebp + 0x74], ebx
jne 0x43af14
mov eax, dword [ebp + 0x70]
push 0xc8
push eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 0x438f60
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], eax
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f01
push ebx
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 4], eax
mov eax, dword [str.PuTTY]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp], ebx
mov dword [ebp + 4], ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0xb10
push ebx
mov edi, 0x464a68
push edi
call fcn.00440010
call fcn.004375a4
mov eax, dword [0x467cb0]
lea eax, [eax + eax*4]
lea eax, [eax + eax + 0x19]
mov dword [ebp + 0x74], eax
mov eax, dword [0x467cb4]
lea eax, [eax + eax*4]
lea eax, [eax*4 + 0x1c]
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x48]
push eax
mov dword [0x464a58], 0xa
mov dword [0x4655b4], 0x14
mov dword [0x464708], 0x19
mov dword [0x4655ac], 0x1c
call fcn.00437206
mov eax, dword [ebp + 0x50]
sub eax, dword [ebp + 0x48]
add esp, 0x10
cmp dword [ebp + 0x74], eax
jle 0x43af8d
mov dword [ebp + 0x74], eax
mov eax, dword [ebp + 0x54]
sub eax, dword [ebp + 0x4c]
cmp dword [ebp + 0x78], eax
jle 0x43af9b
mov dword [ebp + 0x78], eax
xor ecx, ecx
cmp dword [0x467c98], ebx
mov edx, 0xef0000
jne 0x43afaf
mov edx, 0xcf0000
cmp dword [0x467ca0], 1
jne 0x43afbe
and edx, 0xfffaffff
cmp dword [0x467a48], ebx
je 0x43afc9
push 8
pop ecx
cmp dword [0x467e20], ebx
je 0x43afd7
or ecx, 0x200
push ebx
push dword [ebp + 0x70]
mov eax, 0x80000000
push ebx
push ebx
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push eax
push eax
mov eax, dword [str.PuTTY]
push edx
push eax
push eax
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExA]
push ebx
push edi
push esi
mov dword [0x468854], eax
call fcn.0042c06e
push esi
push ebx
mov dword [0x46662c], eax
call fcn.0040734c
push eax
push dword [0x46662c]
mov dword [0x466624], eax
call fcn.0042a994
push dword [0x467b64]
push dword [0x467cb0]
push dword [0x467cb4]
push dword [0x46662c]
call fcn.0042c215
push ebx
push ebx
call fcn.0043559c
add esp, 0x34
lea eax, [ebp + 0x34]
push eax
push dword [0x468854]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp + 0x48]
push eax
push dword [0x468854]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x467e24]
mov ecx, dword [ebp + 0x4c]
sub ecx, dword [ebp + 0x54]
lea edx, [eax + eax]
sub ecx, dword [ebp + 0x38]
mov dword [0x4659e8], eax
add ecx, dword [ebp + 0x40]
mov dword [0x46557c], eax
mov eax, dword [ebp + 0x48]
sub eax, dword [ebp + 0x50]
add ecx, edx
sub eax, dword [ebp + 0x34]
mov dword [0x4655ac], ecx
add eax, dword [ebp + 0x3c]
push 0xe
add eax, edx
mov edx, dword [0x46662c]
mov esi, dword [edx + 0x108]
imul esi, dword [0x4655b4]
add esi, ecx
mov ecx, dword [edx + 0x10c]
imul ecx, dword [0x464a58]
push esi
add ecx, eax
push ecx
push ebx
push ebx
push ebx
push dword [0x468854]
mov dword [0x464708], eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x464a58]
add eax, 0xf
push 0x10
cdq
pop ecx
idiv ecx
xor edi, edi
inc edi
push edi
mov esi, eax
imul esi, dword [0x4655b4]
shl esi, 1
push esi
call fcn.004091c4
push esi
push ebx
push eax
mov dword [ebp + 0x78], eax
call fcn.00440010
add esp, 0x14
push dword [ebp + 0x78]
push edi
push edi
push dword [0x4655b4]
push dword [0x464a58]
call dword [sym.imp.GDI32.dll_CreateBitmap]
push dword [ebp + 0x78]
mov dword [0x4655c8], eax
call fcn.0040927f
pop ecx
push dword [0x4655b4]
push dword [0x464a58]
push dword [0x4655c8]
push dword [0x468854]
call dword [sym.imp.USER32.dll_CreateCaret]
mov eax, dword [0x46662c]
add eax, 0x108
mov dword [ebp + 0x28], 0x1c
mov dword [ebp + 0x2c], 0x1f
mov dword [ebp + 0x30], ebx
mov ecx, dword [eax]
dec ecx
mov dword [ebp + 0x34], ecx
mov eax, dword [eax]
push ebx
mov dword [ebp + 0x38], eax
lea eax, [ebp + 0x28]
push eax
push edi
push dword [0x468854]
mov dword [ebp + 0x3c], ebx
call dword [sym.imp.USER32.dll_SetScrollInfo]
mov dword [0x464538], ebx
mov dword [0x464a5c], ebx
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
push ebx
push dword [0x468854]
mov dword [0x4655a8], eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov dword [0x464710], eax
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, dword [sym.imp.USER32.dll_AppendMenuA]
push str.Paste
push 0x190
push ebx
push eax
mov dword [0x464718], eax
call esi
call dword [sym.imp.USER32.dll_CreateMenu]
push edi
push 0x468870
mov dword [ebp + 0x74], eax
call fcn.0040db66
pop ecx
pop ecx
mov dword [ebp + 0x78], 0x1000
mov eax, dword [0x468870]
mov ecx, 0x401
cmp eax, ecx
jle 0x43b1fe
mov eax, ecx
cmp edi, eax
jge 0x43b21a
mov eax, dword [0x468874]
push dword [eax + edi*4]
push dword [ebp + 0x78]
push ebx
push dword [ebp + 0x74]
call esi
inc edi
add dword [ebp + 0x78], 0x10
jmp 0x43b1ee
mov dword [ebp + 0x70], ebx
mov edi, 0x800
mov eax, dword [ebp + 0x70]
mov eax, dword [eax + 0x464710]
push ebx
push ebx
push edi
push eax
mov dword [ebp + 0x78], eax
call esi
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov ecx, dword [ebp + 0x70]
push str.Event_Log
push 0x10
push ebx
push dword [ebp + 0x78]
mov dword [ecx + 0x464714], eax
call esi
push ebx
push ebx
push edi
push dword [ebp + 0x78]
call esi
push str.New_Session...
push 0x20
push ebx
push dword [ebp + 0x78]
call esi
push str.Duplicate_Session
push 0x30
push ebx
push dword [ebp + 0x78]
call esi
push str.Saved_Sessions
push dword [ebp + 0x74]
push 0x10
push dword [ebp + 0x78]
call esi
push str.Change_Settings...
push 0x50
push ebx
push dword [ebp + 0x78]
call esi
push ebx
push ebx
push edi
push dword [ebp + 0x78]
call esi
push str.Copy_All_to_Clipboard
push 0x170
push ebx
push dword [ebp + 0x78]
call esi
push str.Clear_Scrollback
push 0x60
push ebx
push dword [ebp + 0x78]
call esi
push str.Reset_Terminal
push 0x70
push ebx
push dword [ebp + 0x78]
call esi
push ebx
push ebx
push edi
push dword [ebp + 0x78]
call esi
xor eax, eax
cmp dword [0x467ca0], 1
push str.Full_Screen
sete al
push 0x180
push eax
push dword [ebp + 0x78]
call esi
push ebx
push ebx
push edi
push dword [ebp + 0x78]
call esi
cmp dword [0x466614], ebx
je 0x43b307
push str.Help
push 0x140
push ebx
push dword [ebp + 0x78]
call esi
push dword [0x44b478]
push str.About__s
call fcn.004094dc
pop ecx
pop ecx
push eax
push 0x150
push ebx
push dword [ebp + 0x78]
mov dword [ebp + 0x5c], eax
call esi
push dword [ebp + 0x5c]
call fcn.0040927f
add dword [ebp + 0x70], 8
cmp dword [ebp + 0x70], 0x10
pop ecx
jb 0x43b222
call fcn.00438c68
push ebx
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
call fcn.00435a6b
push dword [0x466624]
call fcn.004074bf
pop ecx
pop ecx
push dword [ebp + 0x7c]
push dword [0x468854]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x468854]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [0x4655b8], ebx
mov dword [0x46470c], ebx
call fcn.004353e8
mov esi, dword [sym.imp.USER32.dll_GetForegroundWindow]
call esi
sub eax, dword [0x468854]
neg eax
sbb eax, eax
inc eax
push eax
push dword [0x46662c]
call fcn.0042b60f
pop ecx
pop ecx
push dword [0x468854]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [sym.imp.USER32.dll_GetMessageA]
push ebx
push ebx
push ebx
lea eax, [ebp + 0xc]
push eax
call edi
cmp eax, 1
jne 0x43b465
cmp dword [ebp + 0x10], 0x12
je 0x43b465
push dword [0x466628]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43b3fd
lea eax, [ebp + 0xc]
push eax
push dword [0x466628]
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x43b407
lea eax, [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push dword [0x46662c]
call fcn.0042a86d
pop ecx
push 1
push ebx
push ebx
push ebx
lea eax, [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x43b45a
call esi
sub eax, dword [0x468854]
neg eax
sbb eax, eax
inc eax
push eax
push dword [0x46662c]
call fcn.0042b60f
pop ecx
pop ecx
call fcn.0043c849
call dword [sym.imp.USER32.dll_WaitMessage]
push ebx
push ebx
push ebx
lea eax, [ebp + 0xc]
push eax
call edi
cmp eax, 1
jne 0x43b465
cmp dword [ebp + 0x10], 0x12
jne 0x43b3d9
pop edi
push dword [ebp + 0x14]
call fcn.00437492
int3