Function at 0x4019f0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2438
call fcn.004b79a0
push ebx
push ebp
push esi
push edi
mov ebp, edx
mov dword [esp + 0xac], ebp
mov esi, ecx
mov dword [esp + 0x18], esi
mov byte [esp + 0x39], 0
cmp ebp, 2
jne 0x401a3e
cmp byte [0x4e58a7], 0
mov ebp, 1
mov dword [esp + 0xac], ebp
jne 0x401a3e
mov byte [0x4e58a7], 1
mov byte [esp + 0x39], 1
cmp dword [0x4e86e8], 0
je 0x401a80
cmp dword [0x4e86d8], 0
je 0x401a66
push dword [0x4e86d0]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [0x4e86d8], 0
call dword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x4e86e8], 0
mov dword [0x4e86d0], 0
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x10], eax
cmp esi, 0x8000012f
jne 0x401aac
mov esi, 0xa
mov byte [esp + 0x23], 1
mov dword [esp + 0x18], esi
mov dword [esp + 0x98], 0
jmp 0x401acc
cmp esi, 5
setle byte [esp + 0x23]
jg 0x401ac3
mov dword [esp + 0x98], 0
jmp 0x401acc
call eax
mov dword [esp + 0x98], eax
cmp dword [0x4e653c], 0
je 0x401ada
call fcn.00404270
xor bl, bl
mov edi, 1
cmp dword [0x4e8634], 0
mov dword [esp + 0x80], ebx
je 0x401b05
call fcn.004040a0
test al, al
movzx ebx, bl
cmovne ebx, edi
mov dword [esp + 0x80], ebx
test esi, esi
jle 0x401b3f
cmp ebp, 1
jne 0x401b3f
inc dword [0x4e59ec]
cmp byte [0x4e58a6], 0
mov byte [esp + 0x3a], 1
jne 0x401b44
push 0
push 0xa
push 9
push dword [0x4e59e8]
call dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
setne byte [0x4e58a6]
jmp 0x401b44
mov byte [esp + 0x3a], 0
mov eax, dword [sym.imp.USER32.dll_GetMessageW]
xorps xmm0, xmm0
mov dword [esp + 0x184], eax
mov eax, dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [esp + 0xcc], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [esp + 0xd0], eax
mov eax, dword [sym.imp.USER32.dll_GetClassNameW]
mov dword [esp + 0xb0], eax
mov eax, dword [sym.imp.USER32.dll_GetFocus]
mov dword [esp + 0xdc], eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov dword [esp + 0x188], eax
mov eax, dword [sym.imp.USER32.dll_PeekMessageW]
mov dword [esp + 0x74], eax
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x9c], eax
mov eax, dword [sym.imp.USER32.dll_TranslateAcceleratorW]
mov dword [esp + 0xd8], eax
mov eax, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [esp + 0xa0], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [esp + 0x90], eax
mov eax, dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [esp + 0x18c], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x3c], eax
mov eax, dword [sym.imp.USER32.dll_WindowFromPoint]
mov dword [esp + 0x154], eax
mov eax, dword [sym.imp.USER32.dll_GetParent]
mov dword [esp + 0x158], eax
mov eax, dword [sym.imp.USER32.dll_IsDialogMessageW]
mov dword [esp + 0xd4], eax
mov eax, dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [esp + 0x160], eax
mov eax, dword [sym.imp.SHELL32.dll_DragFinish]
mov dword [esp + 0x8c], eax
mov eax, dword [sym.imp.USER32.dll_ScreenToClient]
mov dword [esp + 0x16c], eax
mov eax, dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [esp + 0xc4], eax
mov eax, dword [sym.imp.USER32.dll_CountClipboardFormats]
mov dword [esp + 0x174], eax
mov eax, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov dword [esp + 0xc8], eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 0x15c], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [esp + 0x17c], eax
mov eax, dword [sym.imp.USER32.dll_TranslateMessage]
mov dword [esp + 0x180], eax
mov eax, dword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [esp + 0x5c], eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0xa4], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [esp + 0x84], eax
mov eax, dword [sym.imp.USER32.dll_MapWindowPoints]
mov dword [esp + 0x168], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageW]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x3b], 0
mov byte [esp + 0x38], 0
mov dword [esp + 0x14], 0
movsd qword [esp + 0x1e8], xmm0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x88], ecx
mov al, byte [esp + 0x3b]
xor edi, edi
mov esi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x10]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
jmp 0x401d6d
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
jmp 0x401d6d
push dword [esi]
call dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
call ebp
mov ebx, eax
test esi, esi
jle 0x401dc7
cmp byte [esp + 0x38], 0
jne 0x401dc7
cmp byte [0x4e58a7], 0
jne 0x401dd4
call fcn.00404930
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0
push 0
lea eax, [esp + 0x4c]
push eax
call dword [esp + 0x194]
cmp eax, 0xffffffff
je 0x401d6d
call ebp
mov ecx, eax
sub ecx, ebx
cmp ecx, 3
jbe 0x402053
mov dword [0x4e8688], eax
jmp 0x402053
cmp byte [0x4e58a7], 0
je 0x401f37
call dword [esp + 0xcc]
mov esi, eax
test esi, esi
je 0x401f37
push 0
push esi
call dword [esp + 0xd8]
cmp eax, dword [0x4e72e4]
jne 0x401f37
cmp dword [0x4e59e4], 0
je 0x401e55
push 0x20
lea eax, [esp + 0x254]
push eax
push esi
mov esi, dword [esp + 0xbc]
call esi
mov ecx, str.32770
lea eax, [esp + 0x250]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401e4a
test dx, dx
je 0x401e46
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401e4a
add eax, 4
add ecx, 4
test dx, dx
jne 0x401e24
xor eax, eax
jmp 0x401e4f
sbb eax, eax
or eax, 1
test eax, eax
je 0x401eaf
jmp 0x401e5c
mov esi, dword [esp + 0xb0]
call dword [esp + 0xdc]
test eax, eax
je 0x401f37
push 0x20
lea ecx, [esp + 0x254]
push ecx
push eax
call esi
mov esi, dword [esp + 0x188]
lea eax, [esp + 0x250]
push str.SysTreeView32
push eax
call esi
add esp, 8
test eax, eax
je 0x401eaf
lea eax, [esp + 0x250]
push str.SysListView32
push eax
call esi
add esp, 8
test eax, eax
jne 0x401f37
call fcn.00404930
mov edi, dword [esp + 0x74]
neg eax
push 0
push 0x1ff
sbb esi, esi
lea eax, [esp + 0x48]
push 0
push 0
and esi, 0xfffffcee
push eax
add esi, 0x311
call edi
test eax, eax
lea eax, [esp + 0x40]
jne 0x401ef4
push 1
push esi
push 0x20e
push 0
push eax
call edi
jmp 0x401fb1
mov edi, dword [esp + 0x50]
push 0
push esi
push 0x20e
push 0
push eax
call dword [esp + 0x88]
push 1
test eax, eax
jne 0x401f1a
push 0x1ff
jmp 0x401fa1
mov eax, dword [esp + 0x54]
sub eax, edi
test eax, eax
lea eax, [esp + 0x44]
jle 0x401f2f
push 0x1ff
jmp 0x401fa5
push esi
push 0x20e
jmp 0x401fa7
cmp dword [0x4e30ec], 0
je 0x401f90
cmp dword [0x4e59b8], 0
jne 0x401f90
mov ecx, dword [0x4e30f4]
cmp byte [ecx + 0xec], 0
jne 0x401f87
cmp byte [ecx + 0xee], 0
jne 0x401f87
cmp dword [ecx + 0xe0], 0xffffffff
jle 0x401f87
call ebp
mov ecx, dword [0x4e30f4]
sub eax, dword [ecx + 0xdc]
cmp eax, dword [ecx + 0xe0]
jb 0x401f87
mov byte [ecx + 0xec], 1
movzx ecx, byte [ecx + 0xec]
jmp 0x401f92
xor ecx, ecx
xor edx, edx
mov eax, 0x311
test ecx, ecx
push 1
cmovne eax, edx
push eax
lea eax, [esp + 0x48]
push 0
push 0
push eax
call dword [esp + 0x88]
test eax, eax
jne 0x40204b
call ebp
mov edx, dword [0x4e8688]
mov ecx, eax
mov esi, dword [esp + 0x18]
sub ecx, ebx
cmp ecx, 3
cmova edx, eax
mov dword [0x4e8688], edx
test esi, esi
jne 0x401ff2
cmp byte [esp + 0x3b], 0
jne 0x401ff2
push esi
call dword [esp + 0xa0]
mov byte [esp + 0x3b], 1
jmp 0x401d69
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x40201c
cmp byte [esp + 0x23], 0
je 0x40201c
test esi, esi
jle 0x40200e
push 5
call dword [esp + 0xa0]
mov edi, 1
mov dword [esp + 0x14], edi
jmp 0x401d6d
call ebp
cmp byte [esp + 0x23], 0
jne 0x403ee5
mov ecx, dword [esp + 0x98]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jle 0x403ee5
push 5
call dword [esp + 0xa0]
jmp 0x401d6d
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
inc edi
cmp dword [0x4e7b68], 0
mov dword [esp + 0x14], edi
je 0x40208e
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x1e4]
mov ecx, dword [esp + 0x40]
push eax
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.00404340
add esp, 0x10
test al, al
jne 0x401d6d
mov esi, dword [0x4e59e0]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
test esi, esi
je 0x40259a
test ebx, ebx
je 0x40259a
cmp ebx, dword [0x4e59e8]
je 0x40259a
cmp ebp, 0x414
je 0x40259a
cmp ebp, 0x402
je 0x40259a
lea eax, [ebp - 0x100]
cmp eax, 9
ja 0x4023bf
call dword [esp + 0xdc]
mov ebx, eax
test ebx, ebx
je 0x4023b5
mov ecx, ebx
call fcn.004a2880
mov esi, eax
test esi, esi
je 0x4023b5
mov ecx, ebx
call fcn.00478ed0
mov ebp, eax
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x4023b5
mov ecx, dword [ebp + 0x74]
test ecx, ecx
je 0x40213b
lea eax, [esp + 0x40]
push eax
push ecx
push esi
call dword [esp + 0xe4]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
test eax, eax
jne 0x401d6d
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
cmp ebp, 0x100
jne 0x402370
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0xc0], 0
je 0x4022d4
cmp edi, 0x22
je 0x40217d
cmp edi, 0x21
je 0x40217d
cmp edi, 9
je 0x40217d
cmp edi, 0x25
je 0x40217d
cmp edi, 0x27
jne 0x4022d4
mov ebp, dword [esp + 0x28]
mov ecx, ebp
push ebx
call fcn.00401860
mov edx, eax
mov dword [esp + 0x34], edx
test edx, edx
je 0x4022c0
mov cl, byte [edx + 4]
cmp cl, 0xf
je 0x4022c0
mov edi, dword [esp + 0x48]
xor esi, esi
cmp cl, 0x13
jne 0x4021d5
mov esi, edx
cmp edi, 0x25
je 0x4021ba
cmp edi, 0x27
jne 0x4021d5
cmp edi, 0x27
mov ecx, ebp
push 0
sete al
push 0
movzx eax, al
push eax
push edx
call fcn.004887e0
jmp 0x401d61
cmp edi, 0x25
je 0x4022c4
cmp edi, 0x27
je 0x4022c4
push 0x11
call dword [esp + 0xa4]
mov ecx, 0x8000
test cx, ax
je 0x4022c0
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
cmp edi, 9
jne 0x40222c
cmp byte [eax + 4], 0xc
jne 0x40222c
push 0xfffffffffffffff0
push dword [eax]
call dword [esp + 0x98]
test al, 4
jne 0x4022c0
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
test esi, esi
jne 0x40226a
movzx eax, byte [eax + 6]
mov ecx, ebp
push eax
call fcn.00488520
mov esi, eax
test esi, esi
jne 0x40226a
mov edx, dword [ebp + 0x10]
xor al, al
xor ecx, ecx
test edx, edx
je 0x4022c4
mov esi, dword [ebp + 0x18]
cmp byte [esi + 4], 0x13
jne 0x40225c
test al, al
je 0x402266
add al, 1
inc ecx
add esi, 0x40
cmp ecx, edx
jb 0x402250
jmp 0x4022c4
test esi, esi
je 0x4022c4
push dword [esi]
call dword [esp + 0x190]
test eax, eax
je 0x4022c0
mov eax, dword [esp + 0x48]
cmp eax, 0x22
je 0x4022ac
cmp eax, 9
jne 0x402298
push 0x10
call dword [esp + 0xa4]
mov ecx, 0x8000
test cx, ax
je 0x4022ac
push 1
push 1
xor al, al
mov ecx, ebp
push eax
push esi
call fcn.004887e0
jmp 0x401d61
push 1
push 1
mov al, 1
mov ecx, ebp
push eax
push esi
call fcn.004887e0
jmp 0x401d61
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x44]
cmp ebp, 0x100
jne 0x402370
cmp edi, 0x1b
je 0x402308
cmp edi, 9
je 0x402308
cmp edi, 0x41
jne 0x402370
mov ebp, dword [esp + 0xa0]
push 0x11
call ebp
mov esi, 0x8000
test si, ax
je 0x402368
push 0xa5
call ebp
test si, ax
jne 0x402368
mov ebp, dword [esp + 0x28]
mov ecx, ebp
push ebx
call fcn.00401860
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x402368
cmp byte [esi + 4], 0xc
jne 0x402368
mov edi, dword [esp + 0x48]
cmp edi, 0x1b
je 0x40235c
mov al, byte [esi + 5]
cmp edi, 0x41
je 0x40234a
test al, al
jns 0x40236c
push 0x4b9cb4
push 1
push 0xc2
jmp 0x401d5b
test al, 2
jne 0x40236c
push 0xffffffffffffffff
push 0
push 0xb1
jmp 0x401d5b
mov ecx, ebp
call fcn.00483a90
jmp 0x401d61
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x44]
mov eax, dword [0x4e72b0]
test eax, eax
je 0x402523
cmp ebp, 0x100
jne 0x402523
cmp edi, 0xd
jne 0x40239d
push 0
push 0
push 0x1116
push eax
jmp 0x401d5d
cmp edi, 0x1b
jne 0x402523
push 0
push 1
push 0x1116
push eax
jmp 0x401d5d
mov ebp, dword [esp + 0x44]
mov esi, dword [0x4e59e0]
cmp ebp, 0x20a
je 0x4023d8
cmp ebp, 0x20e
je 0x4023d8
mov edi, dword [esp + 0x48]
jmp 0x402529
push dword [esp + 0x58]
push dword [esp + 0x58]
call dword [esp + 0x15c]
mov ebp, dword [esp + 0x90]
mov esi, eax
push 0xfffffffffffffff0
push esi
call ebp
mov ebx, dword [esp + 0x158]
mov edi, eax
push esi
call ebx
mov ecx, eax
call fcn.00478ea0
test eax, eax
je 0x40245a
cmp esi, dword [esp + 0x40]
jne 0x402431
push dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov ecx, esi
push edi
call fcn.00401920
add esp, 8
test eax, eax
jne 0x40245a
mov eax, dword [esp + 0x40]
cmp esi, eax
je 0x40245e
push dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov ecx, esi
push edi
call fcn.00401920
add esp, 8
test eax, eax
je 0x40245a
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push esi
jmp 0x401d5d
mov eax, dword [esp + 0x40]
push dword [esp + 0x48]
push 0xfffffffffffffff0
push eax
call ebp
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
call fcn.00401920
add esp, 8
test eax, eax
jne 0x40251b
push dword [esp + 0x40]
call ebx
mov ecx, eax
call fcn.00478ea0
mov ebp, eax
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x40251b
nop dword [eax + eax]
push dword [esp + 0x48]
mov edx, dword [esp + 0x48]
push dword [ebp + 0x3c]
mov ecx, dword [ebp + 4]
call fcn.00401920
add esp, 8
test eax, eax
jne 0x402507
push dword [ebp + 4]
call ebx
mov esi, dword [0x4e59e0]
xor edx, edx
test esi, esi
jle 0x4024e7
nop dword [eax + eax]
mov ecx, dword [0x4e59dc]
mov ebp, dword [ecx + edx*4]
mov dword [esp + 0x28], ebp
cmp dword [ebp + 4], eax
je 0x4024f9
inc edx
cmp edx, esi
jl 0x4024d0
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x28], 0
jmp 0x402529
test ebp, ebp
jne 0x4024a0
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x44]
jmp 0x402529
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [ebp + 4]
jmp 0x401d5d
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov esi, dword [0x4e59e0]
xor ebx, ebx
test esi, esi
jle 0x4025de
mov edx, dword [0x4e59dc]
mov eax, dword [edx + ebx*4]
cmp dword [eax + 0x10], 0
jne 0x40254a
cmp ebp, 0x106
je 0x402591
mov ecx, dword [0x4e30f4]
mov byte [ecx + 0xe8], 1
mov eax, dword [esp + 0x44]
mov dword [ecx + 0xe4], eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [edx + ebx*4]
push dword [eax + 4]
call dword [esp + 0xdc]
test eax, eax
jne 0x403e52
mov eax, dword [0x4e30f4]
mov esi, dword [0x4e59e0]
mov byte [eax + 0xe8], 0
mov ebp, dword [esp + 0x44]
inc ebx
cmp ebx, esi
jl 0x402533
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
cmp ebp, 0x401
ja 0x4027d4
cmp ebp, 0x400
jae case.0x4027ea.1045
cmp ebp, 0x100
ja 0x402618
je 0x4025f7
cmp ebp, 0x12
je 0x4025e4
cmp ebp, 0x4b
jne case.0x4027ea.1027
mov dword [0x4e59c8], 0
mov byte [esp + 0x38], 1
jmp 0x401d61
mov ebx, dword [esp + 0x40]
jmp 0x40259e
push 0
push 5
mov ecx, 0x4e7b70
call fcn.0042c260
jmp 0x401d61
cmp ebx, dword [0x4e59c4]
jne case.0x4027ea.1027
cmp edi, 0x1b
jne case.0x4027ea.1027
push 0
push dword [0x4e59e8]
call dword [esp + 0x164]
jmp 0x401d61
cmp ebp, 0x113
je 0x4026b1
cmp ebp, 0x312
je case.0x4027ea.1026
call dword [esp + 0xcc]
mov esi, eax
test esi, esi
je 0x403e72
push 0
push esi
call dword [esp + 0xd8]
cmp eax, dword [0x4e72e4]
jne 0x403e72
push 0x20
lea eax, [esp + 0x254]
push eax
push esi
call dword [esp + 0xbc]
mov ecx, str.32770
lea eax, [esp + 0x250]
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x403dfb
test dx, dx
je 0x4026aa
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x403dfb
add eax, 4
add ecx, 4
test dx, dx
jne 0x402680
xor eax, eax
jmp 0x403e00
cmp dword [esp + 0x4c], 0
jne case.0x4027ea.1027
cmp ebx, dword [0x4e59e8]
jne case.0x4027ea.1027
cmp dword [0x4e653c], 0
je 0x4026d6
call fcn.00404270
cmp dword [0x4e8634], 0
je 0x402701
call fcn.004040a0
mov edx, dword [esp + 0x80]
test al, al
movzx ebx, dl
mov eax, 1
cmovne ebx, eax
mov dword [esp + 0x80], ebx
jmp 0x402708
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0xac], 0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
je 0x401d6d
cmp esi, 1
jl 0x401d6d
call ebp
cmp byte [esp + 0x23], 0
jne 0x402748
mov ecx, dword [esp + 0x98]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jg 0x401d69
cmp esi, 0xffffffff
jle 0x40275d
xorps xmm0, xmm0
mov dword [0x4e8688], eax
movlpd qword [0x4e8678], xmm0
xor ecx, ecx
mov dword [0x4e868c], eax
cmp byte [esp + 0x39], cl
movzx eax, byte [0x4e58a7]
cmovne eax, ecx
mov byte [0x4e58a7], al
cmp byte [esp + 0x3a], cl
je 0x4027ca
mov eax, dword [0x4e59ec]
dec eax
mov dword [0x4e59ec], eax
test esi, esi
jle 0x4027ca
test eax, eax
jne 0x4027ca
cmp dword [0x4e8634], ecx
jne 0x4027ca
cmp dword [0x4e653c], ecx
jne 0x4027ca
cmp byte [0x4e58a6], cl
je 0x4027ca
push 9
push dword [0x4e59e8]
call dword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x4e58a6]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov byte [0x4e58a6], cl
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x402]
cmp eax, 0x1c
ja case.0x4027ea.1027
movzx eax, byte [eax + 0x403f84]
jmp dword [eax*4 + 0x403f78]
test ebx, ebx
je case.0x4027ea.1026
cmp ebx, dword [0x4e59e8]
jne case.0x4027ea.1027
lea eax, [ebp - 0x401]
mov dword [esp + 0x70], 0
cmp eax, 0x1d
ja case.0x40281f.1027
movzx eax, byte [eax + 0x403fc0]
jmp dword [eax*4 + 0x403fa4]
mov ecx, ebx
call fcn.00478ea0
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
je case.0x4027ea.1027
movzx edx, di
mov ecx, 0x2af8
shr edi, 0x10
cmp edx, 8
mov eax, edi
mov dword [esp + 0x60], edx
cmovne edi, dword [esp + 0x4c]
cmove eax, ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x4c]
cmovne eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
mov ebx, eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], 0
cmp eax, dword [esi + 0x10]
jae 0x40288d
shl eax, 6
add eax, dword [esi + 0x18]
mov dword [esp + 0x34], eax
jmp 0x402895
mov dword [esp + 0x34], 0
lea eax, [edx - 5]
mov dword [esp + 0x88], 0
mov byte [esp + 0x22], 0
cmp eax, 4
ja case.default.0x4028b1
jmp dword [eax*4 + 0x403fe0]
mov esi, dword [esi + 0x2c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edi
test esi, esi
je 0x401d61
mov eax, 0x3a
jmp 0x402914
mov esi, dword [esi + 0x24]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x401d61
mov eax, 0x38
jmp 0x402914
mov esi, dword [esi + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x401d61
mov eax, 0x39
add eax, dword [esp + 0x28]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x88], eax
je 0x402a3c
cmp byte [eax], 0
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x88], eax
jne 0x401d51
xor edi, edi
mov dword [esp + 0x30], ebx
jmp 0x402da1
mov esi, dword [esi + 0x34]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x401d61
mov dword [esp + 0x1c], edi
xor edi, edi
mov dword [esp + 0x30], ebx
jmp 0x402da1
mov ebp, dword [esi + 0x68]
mov esi, dword [esi + 0x30]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edi
test esi, esi
je 0x4029bf
mov dword [esp + 0x1c], edi
test ebp, ebp
je 0x4029d6
push 0
push 0
push 0xffffffffffffffff
push ebp
call dword [esp + 0x170]
mov ecx, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x4029bf
mov ebp, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x30], ebx
jmp 0x402da1
test ebp, ebp
je 0x4029d6
push ebp
call dword [esp + 0x90]
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x68], 0
mov dword [esp + 0x30], ebx
jmp 0x401d61
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x401d61
mov eax, dword [esp + 0x34]
mov esi, dword [esi + 0xc]
mov dword [esp + 0x2c], esi
mov al, byte [eax + 5]
test esi, esi
jne 0x402a23
test al, 1
je 0x402a16
mov ecx, dword [esp + 0x28]
call fcn.00483a30
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], ebx
jmp 0x401d61
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], ebx
test al, 4
jne 0x401d61
mov byte [esp + 0x22], 1
mov dword [esp + 0x1c], edi
xor edi, edi
mov dword [esp + 0x30], ebx
jmp 0x402da1
test edi, edi
je 0x402a6e
mov ecx, edi
call fcn.00478ea0
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
jne 0x402a74
test ebx, ebx
je 0x402a74
cmp ebx, dword [0x4e59e8]
jne case.0x4027ea.1027
jmp 0x402a74
xor ecx, ecx
mov dword [esp + 0x28], ecx
push dword [esp + 0x4c]
mov ecx, 0x4e7b70
call fcn.004018f0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
test eax, eax
je 0x401d55
mov esi, dword [eax + 8]
test esi, esi
je 0x401d51
mov edi, dword [eax + 0x18]
jmp 0x402d9d
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
cmp edi, dword [0x4e6538]
jae 0x401d69
mov eax, dword [0x4e6534]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x78], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x402b04
mov edx, dword [eax + 4]
call fcn.00413430
mov edi, eax
mov dword [esp + 0x68], edi
test edi, edi
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x14]
je 0x401d6d
mov edi, dword [esp + 0x78]
mov ecx, dword [edi + 0x10]
mov cl, byte [ecx]
cmp cl, 1
je 0x402b12
cmp cl, 3
je 0x402b12
xor edi, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x78]
push dword [esp + 0x4c]
mov ecx, edi
call fcn.00415ea0
cmp dword [edi + 0xc], 0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
jne 0x401d69
cmp byte [edi + 0x2a], 0
je 0x402b4e
mov ax, word [esp + 0x4c]
mov ebp, dword [esp + 0x44]
mov word [0x4e864c], ax
mov esi, dword [edi]
mov edi, dword [edi + 0x14]
jmp 0x402d9d
mov ebp, dword [esp + 0x44]
xor eax, eax
mov word [0x4e864c], ax
mov esi, dword [edi]
mov edi, dword [edi + 0x14]
jmp 0x402d9d
cmp byte [0x4e8620], 0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jne 0x401d55
mov esi, dword [0x4e8614]
test esi, esi
cmove esi, dword [0x4e81c0]
xor edi, edi
jmp 0x402d9d
mov ecx, edi
call fcn.0044d080
mov esi, dword [esp + 0x18]
mov ebx, eax
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x64], ebx
test ebx, ebx
je 0x401d6d
mov esi, dword [ebx + 8]
xor edi, edi
mov ebp, dword [esp + 0x44]
mov esi, dword [esi + 0x35c]
mov dword [esp + 0x2c], esi
jmp 0x402da5
mov ebx, dword [0x4e59d8]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x64], ebx
test ebx, ebx
je 0x401d65
nop
cmp ebx, edi
je 0x402bf4
mov ebx, dword [ebx + 4]
mov dword [esp + 0x64], ebx
test ebx, ebx
jne 0x402be0
jmp 0x401d61
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
test ebx, ebx
je 0x401d55
mov esi, dword [ebx + 8]
cmp ebp, 0x41c
jne 0x402c17
mov esi, dword [esi + 0x360]
jmp 0x402c2d
cmp ebp, 0x41e
jne 0x402c27
mov esi, dword [esi + 0x368]
jmp 0x402c2d
mov esi, dword [esi + 0x364]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x401d51
xor edi, edi
jmp 0x402da5
mov esi, dword [esp + 0x18]
mov eax, edi
and eax, 0x7fff
cmp ax, word [0x4e6550]
jae 0x401d65
mov ecx, eax
shr edi, 0x10
mov eax, dword [0x4e6540]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x94], eax
test di, di
je 0x402ca6
mov esi, dword [eax + 0x20]
add edi, 0xffff
mov dword [esp + 0x7c], esi
test di, di
je 0x402ca2
nop word [eax + eax]
mov esi, dword [esi + 8]
add edi, 0xffff
test di, di
jne 0x402c90
mov dword [esp + 0x7c], esi
test esi, esi
jne 0x402ccc
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call fcn.00413e70
mov edi, dword [esp + 0x6c]
mov esi, eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x68], edi
test esi, esi
je 0x401d61
mov ebp, dword [esp + 0x44]
mov eax, dword [0x4ea094]
mov edx, dword [esi]
test al, 1
jne 0x402cf0
or dword [0x4ea094], 1
mov ecx, 0x4ea098
push 0
push 0
call fcn.0042a780
mov ebp, dword [esp + 0x44]
mov eax, dword [0x4e81c0]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x402cff
xor eax, eax
jmp 0x402d0b
xor eax, eax
cmp ecx, dword [0x4ea098]
setne al
inc eax
sub eax, 0
je 0x402d15
sub eax, 1
jne 0x402d20
mov eax, dword [edx + 8]
test eax, eax
je 0x402d20
mov cl, byte [eax]
jmp 0x402d22
xor cl, cl
mov al, byte [esi + 0x16]
cmp al, byte [esi + 0x17]
jb 0x402d6e
cmp cl, 0xe2
je 0x402d6e
cmp cl, 0xce
je 0x402d6e
cmp cl, 0xdc
je 0x402d6e
cmp cl, 0xdd
je 0x402d6e
cmp cl, 0xd8
je 0x402d6e
cmp cl, 0xd9
je 0x402d6e
cmp cl, 0xda
je 0x402d6e
cmp cl, 0xdb
je 0x402d6e
cmp byte [esi + 0x1a], 0
je 0x402d5c
mov byte [esi + 0x1b], 1
mov ebp, dword [esp + 0x10]
call ebp
mov dword [esi + 0xc], eax
mov esi, dword [esp + 0x18]
jmp 0x401d69
mov eax, dword [esi + 4]
test eax, eax
je 0x402d8a
mov al, byte [eax]
cmp al, 2
je 0x402d8a
cmp al, 4
je 0x402d8a
cmp al, 5
jb 0x402d94
mov eax, dword [0x4e59d4]
jmp 0x402d8c
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov edi, dword [esp + 0x7c]
mov esi, dword [esi]
mov edi, dword [edi + 0x10]
mov dword [esp + 0x2c], esi
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x164], eax
mov eax, dword [0x4ea094]
test al, 1
jne 0x402dd2
or dword [0x4ea094], 1
mov ecx, 0x4ea098
push 0
push 0
call fcn.0042a780
mov ebp, dword [esp + 0x44]
mov eax, dword [0x4e81c0]
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x402de1
xor eax, eax
jmp 0x402ded
xor eax, eax
cmp ecx, dword [0x4ea098]
setne al
inc eax
sub eax, 0
je 0x402df7
sub eax, 1
jne 0x402e02
mov eax, dword [esi + 8]
test eax, eax
je 0x402e02
mov cl, byte [eax]
jmp 0x402e04
xor cl, cl
mov edx, dword [0x4e59d0]
mov eax, dword [0x4e30f0]
mov byte [esp + 0xe4], cl
cmp edx, eax
jl 0x402e8e
add eax, 2
cmp edx, eax
jge 0x402e49
cmp cl, 0xe2
je 0x402e8e
cmp cl, 0xce
je 0x402e8e
cmp cl, 0xdc
je 0x402e8e
cmp cl, 0xdd
je 0x402e8e
cmp cl, 0xd8
je 0x402e8e
cmp cl, 0xd9
je 0x402e8e
cmp cl, 0xda
je 0x402e8e
cmp cl, 0xdb
je 0x402e8e
mov eax, dword [esp + 0x70]
test eax, eax
je 0x402e68
push eax
call dword [esp + 0x90]
mov esi, dword [esp + 0x28]
mov dword [esi + 0x68], 0
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x18]
cmp ebp, 0x41b
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jne 0x401d6d
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x401d69
mov eax, dword [0x4e30f4]
cmp edi, dword [eax + 0x2c]
jl 0x402e49
lea eax, [ebp - 0x402]
mov byte [esp + 0x80], 1
cmp eax, 0x1c
ja case.0x402eb2.1027
movzx eax, byte [eax + 0x404000]
jmp dword [eax*4 + 0x403ff4]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xa4]
push 0x104
push dword [ebx]
push 0x4e81c8
call ebp
xor eax, eax
add esp, 0xc
mov word [0x4e83d0], ax
mov eax, dword [ebx + 0x10]
push 0x104
push dword [eax]
push 0x4e83d2
call ebp
add esp, 0xc
mov dword [0x4e81c4], ebx
xor eax, eax
mov word [0x4e85da], ax
jmp 0x402f48
mov eax, dword [0x4e85dc]
mov dword [0x4e85e0], eax
mov eax, dword [0x4e8644]
mov dword [0x4e8648], eax
cmp ebp, 0x401
jne 0x402f29
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
jmp 0x402f33
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x1c]
mov dword [0x4e85dc], eax
call dword [esp + 0x10]
mov dword [0x4e8644], eax
mov ebp, dword [esp + 0xa4]
mov esi, dword [0x4e59cc]
cmp byte [esi + 0x17], 0
jne 0x402f57
mov esi, dword [esi + 0xc]
test byte [esi + 0x15], 8
je 0x402f64
mov ecx, esi
call fcn.00401560
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x402f7c
test byte [esi + 0x15], 4
je 0x402f77
push esi
call fcn.004485c0
mov ecx, dword [esi + 8]
jmp 0x402fcd
cmp al, 2
jne 0x402fc8
mov ecx, dword [0x4e86dc]
test ecx, ecx
jne 0x402fcd
mov ebx, dword [esp + 0xc8]
push 0xd
call ebx
test eax, eax
jne 0x402fae
push 0xf
call ebx
test eax, eax
mov ecx, 0x4b9c34
mov eax, 0x4b9c40
cmove ecx, eax
jmp 0x402fcd
push 0
call fcn.00405ee0
mov edx, 0x4b9c40
cmp eax, 0xffffffff
mov ecx, edx
cmovne ecx, dword [0x4e86d8]
jmp 0x402fcd
mov ecx, 0x4e72d0
push 0x7f
push ecx
lea eax, [esp + 0x298]
push eax
call ebp
add esp, 0xc
xor eax, eax
xor dl, dl
mov word [esp + 0x38e], ax
mov ecx, edi
push dword [esp + 0xe4]
push 1
call fcn.00404740
mov ebx, dword [0x4e30f4]
add esp, 8
mov esi, dword [esp + 0x10]
call esi
mov dword [0x4e868c], eax
mov dword [0x4e8688], eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffbff
cmp eax, 0x1d
ja case.0x40302b.1027
movzx eax, byte [eax + 0x404040]
jmp dword [eax*4 + 0x404020]
mov esi, dword [esp + 0x34]
xor eax, eax
mov ebp, dword [esp + 0x28]
mov word [esp + 0x1c4], ax
cmp byte [esp + 0x22], al
je 0x40304e
mov ecx, dword [esi]
jmp 0x403051
mov ecx, dword [ebp + 4]
mov edi, dword [esp + 0x24]
mov eax, edi
mov edx, dword [esp + 0x60]
add eax, eax
inc edi
mov dword [esp + 0x24], edi
mov dword [esp + eax*8 + 0xf8], 1
mov dword [esp + eax*8 + 0xf0], ecx
mov dword [esp + eax*8 + 0xf4], 0
lea eax, [edx - 5]
cmp eax, 4
ja case.default.0x40308b
jmp dword [eax*4 + 0x404060]
xor ecx, ecx
cmp dword [esp + 0x1c], ecx
mov dword [esp + 0x1c], 0
sete cl
lea ecx, [ecx*2 + 1]
mov dword [ebx + 0x34], ecx
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x40], eax
test esi, esi
je 0x4032aa
cmp dword [esp + 0x164], 0
je 0x4031fa
movzx eax, byte [esi + 4]
add eax, 0xfffffff7
mov dword [esp + 0xb4], connect
cmp eax, 8
ja case.0x4030ec.12
jmp dword [eax*4 + 0x404074]
mov edi, dword [esp + 0x3c]
push 0
push 0
push 0x19f
push dword [esi]
call edi
cmp eax, 0xffffffff
je case.0x4030ec.12
lea ecx, [esp + 0xb4]
push ecx
push eax
push 0x198
push dword [esi]
call edi
jmp case.0x4030ec.12
mov edi, dword [esp + 0x3c]
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi]
call edi
cmp eax, 0xffffffff
je case.0x4030ec.12
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb4], 2
push ecx
push eax
push 0x100e
push dword [esi]
call edi
jmp case.0x4030ec.12
mov edi, dword [esp + 0x3c]
push 0
push 9
push 0x110a
push dword [esi]
call edi
test eax, eax
je case.0x4030ec.12
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb4]
push eax
push 1
push 0x1104
push dword [esi]
call edi
jmp case.0x4030ec.12
lea eax, [esp + 0xb4]
push eax
push 0
push 0x419
push dword [esi]
call dword [esp + 0x4c]
cmp dword [esp + 0xb4], 0x80000000
lea ecx, [esp + 0xb4]
mov eax, dword [esi]
jne 0x4031bd
push ecx
push eax
call dword [esp + 0x8c]
jmp 0x4031ca
push 2
push ecx
push 0
push eax
call dword [esp + 0x178]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0xc0]
sub eax, ecx
mov eax, eax
test eax, eax
jns 0x4031ed
add eax, 1
sar eax, 1
add ecx, 2
add eax, ecx
mov dword [ebx + 0x40], eax
mov ecx, dword [ebx + 0x34]
movzx eax, byte [esi + 4]
sub eax, 9
je 0x40328c
sub eax, 1
je 0x403274
sub eax, 1
jne 0x4032a4
cmp ecx, 1
jne 0x403230
push eax
push 9
push 0x110a
push dword [esi]
call dword [esp + 0x4c]
mov edi, eax
mov dword [esp + 0x1c], edi
jmp 0x4032ac
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1f4], eax
lea eax, [esp + 0x1f0]
push eax
push dword [esi]
call dword [esp + 0x174]
lea eax, [esp + 0x1f0]
push eax
push 0
push 0x1111
push dword [esi]
call dword [esp + 0x4c]
mov edi, eax
mov dword [esp + 0x1c], edi
jmp 0x4032ac
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi]
call dword [esp + 0x4c]
lea edi, [eax + 1]
mov dword [esp + 0x1c], edi
jmp 0x4032ac
push 0
push 0
push 0x19f
push dword [esi]
call dword [esp + 0x4c]
lea edi, [eax + 1]
mov dword [esp + 0x1c], edi
jmp 0x4032ac
mov edi, dword [esp + 0x1c]
jmp 0x4032ac
xor edi, edi
lea eax, [esp + 0x210]
push eax
push dword [ebp + 4]
call dword [esp + 0x8c]
mov eax, dword [esp + 0x210]
sub dword [ebx + 0x3c], eax
mov edx, dword [esp + 0x24]
mov ecx, edx
mov eax, dword [esp + 0x214]
add ecx, ecx
sub dword [ebx + 0x40], eax
test esi, esi
je 0x4032f9
mov eax, dword [esi]
mov dword [esp + ecx*8 + 0xf0], eax
mov eax, 1
mov dword [esp + ecx*8 + 0xf4], 0
jmp 0x403306
mov dword [esp + ecx*8 + 0xf0], 0x4b9c40
xor eax, eax
mov dword [esp + ecx*8 + 0xf8], eax
lea esi, [edx + 4]
mov dword [esp + ecx*8 + 0x100], edi
lea edi, [edx + 2]
mov dword [esp + ecx*8 + 0x108], 1
add edi, edi
mov dword [esp + ecx*8 + 0x104], 0
xor ecx, ecx
mov eax, dword [ebx + 0x34]
cmp eax, 3
mov dword [esp + edi*8 + 0xf8], 1
sete cl
mov dword [esp + edi*8 + 0xf0], ecx
mov ecx, esi
mov dword [esp + edi*8 + 0xf4], 0
add ecx, ecx
mov eax, dword [ebx + 0x3c]
cdq
mov dword [esp + edi*8 + 0x100], eax
lea eax, [esi + 1]
mov dword [esp + edi*8 + 0x104], edx
mov dword [esp + edi*8 + 0x108], 1
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x40]
cdq
mov dword [esp + ecx*8 + 0xf4], edx
mov edx, dword [esp + 0x60]
mov dword [esp + ecx*8 + 0xf8], 1
mov dword [esp + ecx*8 + 0xf0], eax
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x1c]
cmp byte [esp + 0x22], 0
je 0x40375a
mov esi, dword [esp + 0x34]
cmp byte [esi + 4], 0x17
jne 0x40375a
push 0x10b0
lea eax, [esp + 0x39c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x28]
add esp, 0xc
dec eax
mov dword [esp + 0x390], 0xd
mov dword [esp + 0x394], eax
lea eax, [esp + 0x390]
push eax
push 0
push 0x703
push dword [esi]
call dword [esp + 0x4c]
test eax, eax
je 0x4037b9
cmp word [esp + 0x400], 0
lea ecx, [esp + 0x3a0]
push 1
push 0
lea eax, [esp + 0x408]
cmove eax, ecx
mov ecx, dword [0x4e59cc]
push 0xffffffffffffffff
push eax
call fcn.004a0a20
mov eax, dword [esp + 0x24]
mov esi, eax
mov ecx, dword [0x4e59cc]
inc eax
push 0
push 1
add esi, esi
mov dword [esp + 0x2c], eax
call fcn.00401640
mov dword [esp + esi*8 + 0xf8], 0
mov dword [esp + esi*8 + 0xf0], eax
jmp 0x4037b9
mov dword [ebx + 0x34], edx
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x40], eax
lea eax, [esp + 0x220]
push eax
push dword [ebp + 4]
call dword [esp + 0x8c]
mov eax, dword [esp + 0x220]
sub dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x224]
sub dword [ebx + 0x40], eax
push 0xffffffffffffffec
push dword [ebp + 4]
call dword [esp + 0x98]
and eax, 0xffffffef
push eax
push 0xffffffffffffffec
push dword [ebp + 4]
call dword [esp + 0xd0]
mov esi, edi
mov edi, dword [esp + 0x70]
mov ecx, edi
add esi, esi
call fcn.0047b340
mov dword [esp + esi*8 + 0xf0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + esi*8 + 0xf8], 6
test eax, eax
je 0x403509
mov eax, dword [eax]
mov dword [esp + esi*8 + 0x100], eax
mov eax, 1
mov dword [esp + esi*8 + 0x104], 0
jmp 0x403516
mov dword [esp + esi*8 + 0x100], 0x4b9c40
xor eax, eax
mov dword [esp + esi*8 + 0x108], eax
mov ecx, ebp
mov esi, dword [esp + 0x24]
push dword [ebx + 0x3c]
add esi, 2
add esi, esi
call fcn.004018c0
cdq
mov ecx, ebp
mov dword [esp + esi*8 + 0xf8], 1
mov dword [esp + esi*8 + 0xf0], eax
mov dword [esp + esi*8 + 0xf4], edx
push dword [ebx + 0x40]
call fcn.004018c0
cdq
mov dword [esp + esi*8 + 0x100], eax
mov eax, dword [esp + 0x24]
add eax, 4
mov dword [esp + esi*8 + 0x104], edx
mov edx, dword [esp + 0x60]
mov dword [esp + esi*8 + 0x108], 1
mov dword [esp + 0x24], eax
jmp 0x4033ab
mov dword [ebx + 0x34], 1
cmp edx, 8
jne 0x4033a3
mov esi, dword [esp + 0x24]
mov ecx, ebp
mov edi, dword [esp + 0x30]
add esi, esi
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x3c], edi
mov dword [esp + esi*8 + 0xf0], eax
movzx eax, di
push eax
mov dword [esp + esi*8 + 0xfc], 1
mov dword [esp + esi*8 + 0xf8], 0
call fcn.004018c0
cdq
mov ecx, ebp
mov dword [esp + esi*8 + 0x100], eax
mov eax, edi
mov dword [esp + esi*8 + 0x108], 1
mov dword [esp + esi*8 + 0x104], edx
mov esi, dword [esp + 0x24]
shr eax, 0x10
add esi, esi
push eax
call fcn.004018c0
cdq
mov dword [esp + esi*8 + 0x110], eax
mov eax, dword [esp + 0x24]
add eax, 3
mov dword [esp + esi*8 + 0x114], edx
mov edx, dword [esp + 0x60]
mov dword [esp + esi*8 + 0x118], 1
mov dword [esp + 0x24], eax
jmp 0x4033a7
mov al, byte [esi + 4]
cmp al, 0xa
je 0x403672
cmp al, 0x19
jne 0x4036ff
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x40], eax
lea eax, [esp + 0x230]
push eax
push dword [ebp + 4]
call dword [esp + 0x8c]
mov eax, dword [esp + 0x230]
sub dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x234]
sub dword [ebx + 0x40], eax
mov edx, dword [esp + 0x60]
jmp 0x4036ff
cmp dl, 0x49
jne 0x4036ff
lea eax, [esp + 0x1c4]
test edx, 0x100
je 0x403691
mov eax, 0x53
jmp 0x40369e
test edx, 0x200
je 0x4036ad
mov eax, 0x73
mov word [esp + 0x1c4], ax
lea eax, [esp + 0x1c6]
test edx, 0x400
je 0x4036bc
mov ecx, 0x46
jmp 0x4036c9
test edx, 0x800
je 0x4036cf
mov ecx, 0x66
mov word [eax], cx
add eax, 2
test edx, 0x1000
je 0x4036de
mov ecx, 0x43
jmp 0x4036eb
test edx, 0x2000
je 0x4036f1
mov ecx, 0x63
mov word [eax], cx
add eax, 2
xor ecx, ecx
mov edx, 0x49
mov word [eax], cx
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x60]
mov dword [ebx + 0x34], edx
mov edx, edi
add edx, edx
mov dword [esp + edx*8 + 0xf8], 0
call fcn.0047b320
mov ecx, dword [esp + 0x1c]
add edi, 2
mov dword [esp + edx*8 + 0xf0], eax
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
mov dword [esp + edx*8 + 0x108], 1
mov dword [esp + edx*8 + 0x100], ecx
mov dword [esp + edx*8 + 0x104], 0
mov edx, dword [esp + 0x60]
jmp 0x4033af
cmp word [esp + 0x1c4], 0
je 0x403784
add eax, eax
lea esi, [esp + 0x1c4]
inc dword [esp + 0x24]
mov dword [esp + eax*8 + 0xf8], 0
mov dword [esp + eax*8 + 0xf0], esi
cmp edx, 8
je 0x4037a9
cmp edx, 5
je 0x4037a9
mov ecx, dword [0x4e59cc]
lea eax, [esp + 0x1c4]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004a0a20
jmp 0x4037b9
push 0x18
push 0
push ecx
mov ecx, dword [0x4e59cc]
call fcn.004014e0
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x88]
mov dword [ebx + 0xc4], eax
add dword [ebp + 0x20], 2
mov eax, dword [esp + 0xa8]
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x48], ebp
mov dword [ebx + 0x44], ebp
mov dword [ebx + 0x38], eax
test esi, esi
je 0x403855
mov byte [esi], 1
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0x170]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0xf8]
push eax
push 0x4b9c50
lea ecx, [esp + 0x3c]
call fcn.0048f370
cmp dword [ebp + 4], 0
je 0x4038ae
mov eax, dword [esp + 0x60]
test esi, esi
je 0x403866
mov byte [esi], 0
cmp eax, 6
jne 0x403871
cmp dword [esp + 0x170], 0
jne 0x4038ae
lea ecx, [esp + 0x2c]
call fcn.00401790
test eax, eax
jne 0x4038ae
mov ecx, ebp
call fcn.00483a30
mov ecx, ebp
call fcn.0047b130
jmp 0x403b96
cmp byte [esp + 0x22], 0
je 0x4037eb
mov ebx, dword [esp + 0x34]
or byte [ebx + 5], 4
jmp 0x4037ef
cmp byte [esp + 0x22], 0
je 0x403871
and byte [ebx + 5], 0xfb
cmp eax, 5
jne 0x4038ae
mov eax, dword [esp + 0x100]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push edi
call dword [esp + 0x90]
push 0xffffffffffffffec
push dword [ebp + 4]
mov dword [ebp + 0x68], 0
call dword [esp + 0x98]
or eax, 0x10
push eax
push 0xffffffffffffffec
push dword [ebp + 4]
call dword [esp + 0xd0]
mov ecx, ebp
call fcn.0047b130
jmp 0x403b96
mov ebp, dword [esp + 0x28]
test ebp, ebp
je 0x4038dc
mov eax, dword [ebp + 4]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0x34], 1
add dword [ebp + 0x20], 2
mov dword [ebx + 0x48], ebp
mov dword [ebx + 0x44], ebp
mov ecx, 0x4e7b70
mov dword [esp + 0x198], 0
mov dword [esp + 0x190], 0x4e81c8
call fcn.0045e8a0
inc eax
mov dword [esp + 0x1a8], 1
push 0
mov dword [esp + 0x1a4], eax
lea ecx, [esp + 0x30]
push 3
lea eax, [esp + 0x198]
mov dword [esp + 0x1ac], 0
push eax
push str.Menu
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1c0], 0x4e83d2
call fcn.0048f370
test ebp, ebp
je 0x403955
mov ecx, ebp
call fcn.0047b130
mov ebp, esi
jmp 0x403b9a
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x68]
mov dword [ebx + 0xc4], eax
mov al, byte [edi + 0x21]
mov byte [ebx + 0xf6], al
mov eax, dword [0x4ea094]
mov edx, dword [edi]
test al, 1
jne 0x403994
push 0
or eax, 1
mov ecx, 0x4ea098
push 0
mov dword [0x4ea094], eax
call fcn.0042a780
mov eax, dword [0x4e81c0]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x4039a3
xor eax, eax
jmp 0x4039af
xor eax, eax
cmp ecx, dword [0x4ea098]
setne al
inc eax
sub eax, 0
je 0x4039b9
sub eax, 1
jne 0x4039c4
mov eax, dword [edx + 8]
test eax, eax
je 0x4039c4
mov cl, byte [eax]
jmp 0x4039c6
xor cl, cl
mov al, byte [edi + 0x24]
cmp al, byte [edi + 0x25]
jb 0x4039fa
cmp cl, 0xe2
je 0x4039fa
cmp cl, 0xce
je 0x4039fa
cmp cl, 0xdc
je 0x4039fa
cmp cl, 0xdd
je 0x4039fa
cmp cl, 0xd8
je 0x4039fa
cmp cl, 0xd9
je 0x4039fa
cmp cl, 0xda
je 0x4039fa
cmp cl, 0xdb
jne 0x403955
push 0
push 0
mov byte [0x4e864e], 0
mov ecx, edi
inc byte [edi + 0x24]
push 0
push dword [0x4e85dc]
call fcn.0048f370
dec byte [edi + 0x24]
mov ebp, esi
jmp 0x403b9a
call dword [esp + 0x174]
test eax, eax
je 0x403a51
mov ebp, dword [esp + 0xc8]
push 0xd
call ebp
test eax, eax
jne 0x403a4a
push 0xf
call ebp
test eax, eax
jne 0x403a4a
mov eax, 2
jmp 0x403a53
mov eax, 1
jmp 0x403a53
xor eax, eax
mov ecx, dword [0x4e59cc]
push 0x18
push 0
push eax
mov dword [ebx + 0x38], eax
call fcn.004014e0
mov eax, dword [ebx + 0x38]
push 0x4b9cb8
mov dword [esp + 0x20c], 1
mov dword [esp + 0x204], eax
mov dword [esp + 0x208], 0
mov byte [0x4e8620], 1
call fcn.0040c020
mov ecx, dword [0x4e8614]
test ecx, ecx
je 0x403aac
call fcn.00401700
mov ecx, dword [0x4e8614]
cmp dword [esp + 0x48], 0
jne 0x403acf
xor eax, eax
test ecx, ecx
mov ecx, 0x4e85f4
sete al
push eax
push 1
lea eax, [esp + 0x208]
push eax
call fcn.0048f4f0
sub dword [0x4e4af4], 0xc
mov ebp, esi
mov byte [0x4e8620], 0
jmp 0x403b9a
mov esi, dword [esp + 0x64]
lea ecx, [esp + 0x2c]
push 0
push 1
mov dword [esp + 0x250], 6
mov eax, dword [esi + 8]
mov dword [esp + 0x248], eax
lea eax, [esp + 0x248]
push eax
push str.InputHook
call fcn.0048f370
mov eax, dword [esi + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x403b96
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x4c]
push 0
mov dword [esp + 0x19c], 6
mov eax, dword [esi + 8]
mov dword [esp + 0x194], eax
movzx eax, cl
cdq
mov dword [esp + 0x1a4], eax
sar ecx, 0x10
movzx eax, cx
mov dword [esp + 0x1a8], edx
cdq
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0x194]
mov dword [esp + 0x1ac], 1
mov dword [esp + 0x1bc], 1
mov dword [esp + 0x1b8], edx
push 3
push eax
push str.InputHook
lea ecx, [esp + 0x3c]
call fcn.0048f370
mov ebp, dword [esp + 0x10]
lea ecx, [esp + 0x290]
call fcn.00404850
cmp dword [esp + 0xac], 0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
je 0x401d6d
call ebp
cmp byte [esp + 0x23], 0
jne 0x403bd9
mov ecx, dword [esp + 0x98]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jg 0x401d6d
cmp esi, 0xffffffff
jle 0x403bee
xorps xmm0, xmm0
mov dword [0x4e8688], eax
movlpd qword [0x4e8678], xmm0
mov dword [0x4e868c], eax
mov byte [esp + 0x38], 1
mov byte [esp + 0x23], 1
jmp 0x401d69
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x64]
mov word [esp + 0xe8], ax
sar eax, 0x10
mov word [esp + 0xea], ax
xor eax, eax
mov word [esp + 0xec], ax
mov eax, dword [esi + 8]
mov dword [esp + 0x190], eax
lea eax, [esp + 0xe8]
push 0
mov dword [esp + 0x1a4], eax
lea eax, [esp + 0x194]
mov dword [esp + 0x19c], 6
mov dword [esp + 0x1ac], 0
push 2
jmp 0x403b87
mov edi, dword [esp + 0x94]
mov al, byte [edi + 0x10]
add al, 0x64
cmp al, 3
ja 0x403c7c
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x38], eax
cmp byte [0x4e9aec], 0
mov eax, dword [esp + 0x68]
mov dword [ebx + 0xc4], eax
mov eax, dword [esp + 0x7c]
mov al, byte [eax + 0x18]
mov byte [ebx + 0xf6], al
jne 0x403955
cmp dword [0x4e6558], 0
jne 0x403cb0
call esi
mov dword [0x4e6558], eax
inc dword [0x4e9ae8]
call esi
mov edi, dword [0x4e9ae8]
mov ecx, eax
sub ecx, dword [0x4e6558]
mov edx, dword [0x4e4350]
mov dword [0x4e6554], eax
cmp edi, dword [0x4e4354]
jbe 0x403ce4
cmp ecx, edx
jae 0x403ce4
mov esi, 1
jmp 0x403ce6
xor esi, esi
test esi, esi
je 0x403d68
push ecx
push edi
push str._u_hotkeys_have_been_received_in_the_last__ums._n_nDo_you_want_to_continue__n_see_MaxHotkeysPerInterval_in_the_help_file_
lea eax, [esp + 0x1454]
push 0x800
push eax
call fcn.0049c650
add esp, 0x14
call fcn.0040cea0
movsd xmm3, qword [esp + 0x1e8]
lea ecx, [esp + 0x1448]
push 0
push 0
mov edx, 4
mov byte [0x4e9aec], 1
mov dword [0x4e30ec], 0
call fcn.004a25e0
add esp, 8
cmp eax, 7
jne 0x403d50
push 0
push 5
mov ecx, 0x4e7b70
call fcn.0042c260
mov eax, dword [0x4e6554]
mov dword [0x4e30ec], 1
mov byte [0x4e9aec], 0
jmp 0x403d6c
cmp ecx, edx
jbe 0x403d83
mov dword [0x4e9ae8], 0
mov dword [0x4e6558], eax
test esi, esi
jne 0x403b96
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x7c]
mov ecx, esi
push 0
push 0
mov al, byte [edi + 0xf]
mov byte [0x4e864e], al
inc byte [esi + 0x16]
push 0
push dword [0x4e85dc]
call fcn.0048f370
dec byte [esi + 0x16]
test eax, eax
jne 0x403dbb
mov byte [esi + 0x1b], al
jmp 0x403b96
cmp byte [esi + 0x1b], 0
je 0x403b96
mov ebp, dword [esp + 0x10]
mov byte [esi + 0x1b], 0
call ebp
sub eax, dword [esi + 0xc]
cmp eax, 0x3e8
ja 0x403b9a
movzx eax, word [edi + 4]
push 0
push eax
push 0x312
push dword [0x4e59e8]
call dword [esp + 0x188]
jmp 0x403b9a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403e72
mov ecx, dword [0x4e30f4]
mov byte [ecx + 0xe8], 1
mov eax, dword [esp + 0x44]
mov dword [ecx + 0xe4], eax
lea eax, [esp + 0x40]
push eax
push esi
call dword [esp + 0xdc]
test eax, eax
je 0x403e63
cmp dword [0x4e59e4], 0
je 0x403e52
mov eax, dword [0x4e4ae8]
mov ecx, 0x4b9c40
test eax, eax
je 0x403e4a
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
call dword [esp + 0x180]
mov eax, dword [0x4e30f4]
mov byte [eax + 0xe8], 0
jmp 0x401d61
mov ecx, dword [0x4e30f4]
mov byte [ecx + 0xe8], 0
jmp 0x403e78
mov ecx, dword [0x4e30f4]
mov eax, dword [0x4e59c0]
test eax, eax
je 0x403eae
lea ecx, [esp + 0x40]
push ecx
push eax
push dword [0x4e59e8]
call dword [esp + 0xe4]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
test eax, eax
jne 0x401d6d
mov ecx, dword [0x4e30f4]
mov byte [ecx + 0xe8], 1
mov eax, dword [esp + 0x44]
mov dword [ecx + 0xe4], eax
lea eax, [esp + 0x40]
push eax
call dword [esp + 0x184]
lea eax, [esp + 0x40]
push eax
call dword [esp + 0x60]
mov eax, dword [0x4e30f4]
mov byte [eax + 0xe8], 0
jmp 0x401d61
cmp esi, 0xffffffff
jle 0x403efa
xorps xmm0, xmm0
mov dword [0x4e8688], eax
movlpd qword [0x4e8678], xmm0
xor ecx, ecx
mov dword [0x4e868c], eax
cmp byte [esp + 0x39], cl
movzx eax, byte [0x4e58a7]
cmovne eax, ecx
mov byte [0x4e58a7], al
cmp byte [esp + 0x3a], cl
je 0x403f67
mov eax, dword [0x4e59ec]
dec eax
mov dword [0x4e59ec], eax
test esi, esi
jle 0x403f67
test eax, eax
jne 0x403f67
cmp dword [0x4e8634], ecx
jne 0x403f67
cmp dword [0x4e653c], ecx
jne 0x403f67
cmp byte [0x4e58a6], cl
je 0x403f67
push 9
push dword [0x4e59e8]
call dword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x4e58a6]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov byte [0x4e58a6], cl
mov edx, dword [esp + 0x80]
mov al, dl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret