Function at 0x4016d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1308
call fcn.004badd0
push ebx
push ebp
push esi
push edi
mov ebp, edx
mov dword [esp + 0xbc], ebp
mov esi, ecx
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], 0
cmp ebp, 2
jne 0x40171e
cmp byte [0x4eedf5], 0
mov ebp, 1
mov dword [esp + 0xbc], ebp
jne 0x40171e
mov byte [0x4eedf5], 1
mov byte [esp + 0x3f], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1c], edi
cmp esi, 0x8000012f
jne 0x40174b
mov esi, 0xa
mov byte [esp + 0x27], 1
mov dword [esp + 0x20], esi
mov dword [esp + 0xa4], 0
jmp 0x40176b
cmp esi, 5
setle byte [esp + 0x27]
jg 0x401762
mov dword [esp + 0xa4], 0
jmp 0x40176b
call edi
mov dword [esp + 0xa4], eax
cmp dword [0x4ef168], 0
je 0x401779
call fcn.00404180
xor bl, bl
cmp dword [0x4f06e0], 0
mov dword [esp + 0x40], ebx
je 0x40179e
call fcn.00403e50
test al, al
movzx ebx, bl
mov eax, 1
cmovne ebx, eax
mov dword [esp + 0x40], ebx
test esi, esi
jle 0x4017d8
cmp ebp, 1
jne 0x4017d8
inc dword [0x4eedf8]
cmp byte [0x4eedf4], 0
mov byte [esp + 0x2e], 1
jne 0x4017dd
push 0
push 0xa
push 9
push dword [0x4eedf0]
call dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
setne byte [0x4eedf4]
jmp 0x4017dd
mov byte [esp + 0x2e], 0
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_PeekMessageW]
mov dword [esp + 0x8c], eax
mov eax, dword [sym.imp.USER32.dll_GetMessageW]
mov dword [esp + 0x164], eax
mov eax, dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [esp + 0xf0], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [esp + 0xf4], eax
mov eax, dword [sym.imp.USER32.dll_GetFocus]
mov dword [esp + 0x188], eax
mov eax, dword [sym.imp.USER32.dll_GetClassNameW]
mov dword [esp + 0x18c], eax
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0xa8], eax
mov eax, dword [sym.imp.USER32.dll_TranslateAcceleratorW]
mov dword [esp + 0xe0], eax
mov eax, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [esp + 0xac], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [esp + 0x74], eax
mov eax, dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [esp + 0x194], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x48], eax
mov eax, dword [sym.imp.USER32.dll_IsDialogMessageW]
mov dword [esp + 0xdc], eax
mov eax, dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [esp + 0x168], eax
mov eax, dword [sym.imp.SHELL32.dll_DragFinish]
mov dword [esp + 0x90], eax
mov eax, dword [sym.imp.USER32.dll_ScreenToClient]
mov dword [esp + 0x84], eax
mov eax, dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [esp + 0xe8], eax
mov eax, dword [sym.imp.USER32.dll_CountClipboardFormats]
mov dword [esp + 0x17c], eax
mov eax, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov dword [esp + 0x180], eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 0xe4], eax
mov eax, dword [sym.imp.USER32.dll_TranslateMessage]
mov dword [esp + 0x184], eax
mov eax, dword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [esp + 0x50], eax
mov eax, dword [sym.imp.USER32.dll_GetParent]
mov dword [esp + 0x190], eax
mov eax, dword [sym.imp.USER32.dll_GetClassLongW]
mov dword [esp + 0x44], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageW]
mov dword [esp + 0xec], eax
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x9c], eax
mov eax, dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [esp + 0x178], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x16c], eax
mov eax, dword [sym.imp.USER32.dll_MapWindowPoints]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x88], eax
mov al, byte [esp + 0x2e]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x94], eax
mov al, byte [esp + 0x2e]
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
mov byte [esp + 0x17], 0
mov byte [esp + 0x16], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x18], ebp
mov al, byte [esp + 0x16]
mov ecx, dword [0x4ea828]
test esi, esi
jle 0x401a70
test al, al
jne 0x401a70
cmp byte [0x4eedf5], 0
jne 0x401a7d
cmp dword [0x4ea820], 0
je 0x401a3d
cmp byte [0x4eedbe], 0
jne 0x401a3d
cmp dword [0x4eeddc], 0
jne 0x401a01
mov ecx, 1
jmp 0x401a3f
cmp byte [ecx + 0x4e], 0
jne 0x401a37
cmp dword [ecx + 0x44], 0xffffffff
jle 0x401a37
call edi
mov ecx, dword [0x4ea828]
sub eax, dword [ecx + 0x48]
cmp eax, dword [ecx + 0x44]
jb 0x401a37
cmp dword [ecx + 0x40], 0
je 0x401a37
cmp byte [ecx + 0x8e], 0
mov byte [ecx + 0x4e], 1
jne 0x401a37
mov dword [ecx + 0x54], 5
movzx ecx, byte [ecx + 0x4e]
jmp 0x401a3f
xor ecx, ecx
xor edx, edx
mov eax, 0x311
test ecx, ecx
cmovne eax, edx
push eax
push edx
push edx
lea eax, [esp + 0x60]
push eax
call dword [esp + 0x174]
cmp eax, 0xffffffff
jne 0x401cc4
mov ecx, dword [0x4ea828]
jmp 0x4019d2
cmp byte [0x4eedf5], 0
je 0x401c19
call dword [esp + 0xf0]
mov esi, eax
test esi, esi
je 0x401c13
push 0
push esi
call dword [esp + 0xfc]
cmp eax, dword [0x4f0038]
jne 0x401c13
cmp dword [0x4eedec], 0
je 0x401abb
push 0xffffffffffffffe0
push esi
call dword [esp + 0x4c]
cmp eax, 0x8002
je 0x401b12
call dword [esp + 0x188]
test eax, eax
je 0x401c13
push 0x20
lea ecx, [esp + 0x224]
push ecx
push eax
call dword [esp + 0x198]
lea eax, [esp + 0x220]
push str.SysTreeView32
push eax
call fcn.004a44b1
add esp, 8
test eax, eax
je 0x401b12
lea eax, [esp + 0x220]
push str.SysListView32
push eax
call fcn.004a44b1
add esp, 8
test eax, eax
jne 0x401c13
cmp dword [0x4ea820], 0
je 0x401b76
cmp byte [0x4eedbe], 0
jne 0x401b76
cmp dword [0x4eeddc], 0
jne 0x401b34
mov eax, 1
jmp 0x401b78
mov ecx, dword [0x4ea828]
cmp byte [ecx + 0x4e], 0
jne 0x401b70
cmp dword [ecx + 0x44], 0xffffffff
jle 0x401b70
call edi
mov ecx, dword [0x4ea828]
sub eax, dword [ecx + 0x48]
cmp eax, dword [ecx + 0x44]
jb 0x401b70
cmp dword [ecx + 0x40], 0
je 0x401b70
cmp byte [ecx + 0x8e], 0
mov byte [ecx + 0x4e], 1
jne 0x401b70
mov dword [ecx + 0x54], 5
movzx eax, byte [ecx + 0x4e]
jmp 0x401b78
xor eax, eax
push 0
test eax, eax
mov esi, 0x311
push 0x1ff
mov eax, 0xffffffff
push 0
cmovne esi, eax
lea eax, [esp + 0x60]
push 0
push eax
call ebx
test eax, eax
lea eax, [esp + 0x54]
jne 0x401bae
push 1
push esi
push 0x20f
jmp 0x401c8d
mov edi, dword [esp + 0x64]
push 0
push esi
push 0x20f
push 0
push eax
call ebx
push 1
test eax, eax
jne 0x401bdc
push 0x1ff
push eax
push eax
lea eax, [esp + 0x64]
push eax
call ebx
mov edi, dword [esp + 0x1c]
jmp 0x401c92
mov eax, dword [esp + 0x68]
sub eax, edi
test eax, eax
lea eax, [esp + 0x58]
jle 0x401bff
push 0x1ff
push 0
push 0
push eax
call ebx
mov edi, dword [esp + 0x1c]
jmp 0x401c92
push esi
push 0x20f
push 0
push eax
call ebx
mov edi, dword [esp + 0x1c]
jmp 0x401c92
mov ecx, dword [0x4ea828]
cmp dword [0x4ea820], 0
je 0x401c77
cmp byte [0x4eedbe], 0
jne 0x401c77
cmp dword [0x4eeddc], 0
jne 0x401c3b
mov ecx, 1
jmp 0x401c79
cmp byte [ecx + 0x4e], 0
jne 0x401c71
cmp dword [ecx + 0x44], 0xffffffff
jle 0x401c71
call edi
mov ecx, dword [0x4ea828]
sub eax, dword [ecx + 0x48]
cmp eax, dword [ecx + 0x44]
jb 0x401c71
cmp dword [ecx + 0x40], 0
je 0x401c71
cmp byte [ecx + 0x8e], 0
mov byte [ecx + 0x4e], 1
jne 0x401c71
mov dword [ecx + 0x54], 5
movzx ecx, byte [ecx + 0x4e]
jmp 0x401c79
xor ecx, ecx
xor edx, edx
mov eax, 0x311
test ecx, ecx
push 1
cmovne eax, edx
push eax
push edx
lea eax, [esp + 0x60]
push 0
push eax
call ebx
test eax, eax
jne 0x401cc4
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x40214c
cmp byte [esp + 0x17], al
jne 0x40214c
push esi
call dword [esp + 0xac]
mov ecx, dword [0x4ea828]
mov byte [esp + 0x17], 1
jmp 0x401a70
inc dword [esp + 0x8c]
cmp dword [0x4f0048], 0
je 0x401d01
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x1cc]
mov ecx, dword [esp + 0x54]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x68]
push dword [esp + 0x68]
call fcn.00404250
add esp, 0x10
test al, al
jne 0x4021e5
cmp dword [0x4eedfc], 0
mov edx, dword [esp + 0x58]
je 0x401d7b
cmp edx, 0x100
jb 0x401d1e
cmp edx, 0x109
jbe 0x401d29
lea eax, [edx - 0x200]
cmp eax, 0xe
ja 0x401d7b
mov esi, dword [esp + 0x54]
test esi, esi
je 0x401d75
push 0xffffffffffffffe0
push esi
call dword [esp + 0x4c]
movzx eax, ax
cmp ax, word [0x4f09cc]
jne 0x401d55
push 0xffffffffffffffeb
push esi
call dword [esp + 0x7c]
mov ebp, eax
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x401d84
push 0xfffffffffffffff0
push esi
call dword [esp + 0x7c]
test eax, 0x40000000
je 0x401d71
push esi
call dword [esp + 0x194]
mov esi, eax
test esi, esi
jne 0x401d31
mov edx, dword [esp + 0x58]
xor ebp, ebp
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0x5c]
jmp 0x401fe5
mov eax, dword [ebp + 0x48]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc0], ebx
test eax, eax
je 0x401dae
lea ecx, [esp + 0x54]
push ecx
push eax
push dword [ebp + 0x24]
call dword [esp + 0xec]
test eax, eax
jne 0x4021e5
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
cmp edx, 0x100
jne 0x401f7e
cmp byte [ebp + 0xc4], 0
je 0x401f2f
cmp esi, 0x22
je 0x401dec
cmp esi, 0x21
je 0x401dec
cmp esi, 9
je 0x401dec
cmp esi, 0x25
je 0x401dec
cmp esi, 0x27
jne 0x401f2f
push ebx
mov ecx, ebp
call fcn.00401680
mov ecx, eax
cmp ecx, 0x2af8
jne 0x401e09
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x401f14
mov eax, dword [ebp + 0x34]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x401f14
mov al, byte [ebx + 0x38]
cmp al, 0xf
je 0x401f14
mov esi, dword [esp + 0x5c]
xor edi, edi
cmp al, 0x13
jne 0x401e44
mov edi, ebx
cmp esi, 0x25
je 0x4021cf
cmp esi, 0x27
je 0x4021cf
cmp esi, 0x25
je 0x401f18
cmp esi, 0x27
je 0x401f18
push 0x11
call dword [esp + 0xb0]
test ax, ax
jns 0x401f14
mov esi, dword [esp + 0x5c]
cmp esi, 9
jne 0x401e8c
cmp byte [ebx + 0x38], 0xc
jne 0x401e8c
push 0xfffffffffffffff0
push dword [ebx + 0x20]
call dword [esp + 0x7c]
test al, 4
jne 0x401f14
mov esi, dword [esp + 0x5c]
test edi, edi
jne 0x401f02
mov ch, byte [ebx + 0x3a]
add ebp, 0x64
cmp ch, 0xff
je 0x401ecc
mov ebx, dword [ebp]
xor cl, cl
xor edx, edx
test ebx, ebx
je 0x401ecc
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x34]
nop dword [eax]
mov edi, dword [eax]
cmp byte [edi + 0x38], 0x13
jne 0x401ebe
cmp cl, ch
je 0x401ec8
inc cl
inc edx
add eax, 4
cmp edx, ebx
jb 0x401eb0
jmp 0x401ecc
test edi, edi
jne 0x401efe
mov ebx, dword [ebp]
xor cl, cl
xor edx, edx
test ebx, ebx
je 0x401f18
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0x34]
nop
mov edi, dword [eax]
cmp byte [edi + 0x38], 0x13
jne 0x401eee
test cl, cl
je 0x401ef8
inc cl
inc edx
add eax, 4
cmp edx, ebx
jb 0x401ee0
jmp 0x401f18
test edi, edi
je 0x401f18
jmp 0x401f02
mov ebp, dword [esp + 0x18]
push dword [edi + 0x20]
call dword [esp + 0x198]
test eax, eax
jne 0x4021f6
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp edx, 0x100
jne 0x401f7e
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x18]
cmp esi, 0x1b
je 0x401f5a
cmp esi, 9
je 0x401f5a
cmp esi, 0x41
jne 0x401f7e
mov esi, dword [esp + 0xac]
push 0x11
call esi
test ax, ax
jns 0x401f76
push 0xa5
call esi
test ax, ax
js 0x401f76
push ebx
mov ecx, ebp
call fcn.00401680
mov ecx, eax
cmp ecx, 0x2af8
jne 0x4020b2
xor eax, eax
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov eax, dword [0x4efe80]
test eax, eax
je 0x401fa1
cmp edx, 0x100
jne 0x401fa1
cmp esi, 0xd
je 0x4022b3
cmp esi, 0x1b
je 0x402290
mov ebp, dword [esp + 0x18]
cmp dword [ebp + 0x64], 0
jne 0x401fb3
cmp edx, 0x106
je 0x401fe1
lea eax, [esp + 0x54]
push eax
mov dword [0x4eede8], eax
push dword [ebp + 0x24]
call dword [esp + 0xe4]
mov dword [0x4eede8], 0
test eax, eax
jne 0x4021e5
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
cmp edx, 0x400
ja 0x4023e9
je case.0x4023ff.1025
cmp edx, 0x100
jbe 0x40236e
cmp edx, 0x113
jne 0x4022d6
cmp dword [esp + 0x60], 0
jne case.0x4023ff.1027
mov eax, dword [esp + 0x54]
cmp eax, dword [0x4eedf0]
jne case.0x4023ff.1027
cmp dword [0x4ef168], 0
je 0x402038
call fcn.00404180
cmp dword [0x4f06e0], 0
je 0x40205b
call fcn.00403e50
mov edx, dword [esp + 0x40]
test al, al
movzx ecx, dl
mov eax, 1
cmovne ecx, eax
mov byte [esp + 0x40], cl
cmp dword [esp + 0xbc], 0
je 0x4021e5
mov esi, dword [esp + 0x20]
cmp esi, 1
jl 0x4021e5
mov edi, dword [esp + 0x1c]
call edi
cmp byte [esp + 0x27], 0
jne 0x403ca1
mov ecx, dword [esp + 0xa4]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jle 0x403ca1
mov dl, byte [esp + 0x17]
mov ecx, dword [0x4ea828]
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], dl
jmp 0x4019ca
mov eax, dword [ebp + 0x34]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x4c], edi
test edi, edi
je 0x401f76
cmp byte [edi + 0x38], 0xc
jne 0x401f76
mov esi, dword [esp + 0x5c]
cmp esi, 0x1b
je 0x402226
mov al, byte [edi + 0x39]
cmp esi, 0x41
je 0x402123
test al, al
jns 0x401f7a
push 0xfffffffffffffff0
push dword [edi + 0x20]
call dword [esp + 0x7c]
test eax, 0x800
jne 0x401f76
push 0x4d3f30
push 1
push 0xc2
push dword [edi + 0x20]
call dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
test al, 2
jne 0x401f7a
push 0xffffffffffffffff
push 0
push 0xb1
push dword [edi + 0x20]
call dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
cmp dword [esp + 0x8c], 0
jne 0x40217a
cmp byte [esp + 0x27], 0
je 0x40217a
test esi, esi
jle 0x40216a
push 5
call dword [esp + 0xac]
mov dword [esp + 0x8c], 1
jmp 0x4019b8
call edi
cmp byte [esp + 0x27], 0
jne 0x403c74
mov ecx, dword [esp + 0xa4]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jle 0x403c74
push 5
call dword [esp + 0xac]
mov eax, dword [esp + 0x40]
mov dl, byte [esp + 0x17]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x17], dl
mov dword [esp + 0x4c], eax
jmp 0x4019b4
cmp esi, 0x27
push 0
sete al
push 0
movzx eax, al
push eax
push ebx
mov ecx, ebp
call fcn.00474470
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
mov eax, dword [esp + 0x5c]
cmp eax, 0x22
je 0x40221c
cmp eax, 9
jne 0x402212
push 0x10
call dword [esp + 0xb0]
test ax, ax
jns 0x40221c
push 1
push 1
xor al, al
push eax
push edi
jmp 0x4021de
push 1
push 1
mov al, 1
push eax
push edi
jmp 0x4021de
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
test edx, edx
jle 0x4021e5
mov eax, dword [ebp + 0x54]
add eax, 0xa
cmp dword [eax - 6], 3
jne 0x402240
cmp byte [eax], 0
je 0x402259
inc ecx
add eax, 0xc
cmp ecx, edx
jl 0x402235
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
jmp 0x4019b8
push 0
push 0x2af80003
push 0x414
push dword [ebp + 0x24]
call dword [esp + 0xfc]
mov dl, byte [esp + 0x17]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov byte [esp + 0x17], dl
jmp 0x4019b8
push 0
push 1
push 0x1116
push eax
call dword [esp + 0x58]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
push 0
push 0
push 0x1116
push eax
call dword [esp + 0x58]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
cmp edx, 0x312
je case.0x4023ff.1026
mov ebx, dword [esp + 0x44]
call dword [esp + 0xf0]
mov esi, eax
test esi, esi
je 0x402335
push 0
push esi
call dword [esp + 0xfc]
cmp eax, dword [0x4f0038]
jne 0x402335
push 0xffffffffffffffe0
push esi
call ebx
cmp eax, 0x8002
jne 0x402335
lea eax, [esp + 0x54]
push eax
push esi
mov dword [0x4eede8], eax
call dword [esp + 0xe4]
mov dword [0x4eede8], 0
test eax, eax
jne 0x4021e5
mov eax, dword [0x4eedd0]
test eax, eax
je 0x403c3f
lea ecx, [esp + 0x54]
push ecx
push eax
push dword [0x4eedf0]
call dword [esp + 0xec]
test eax, eax
je 0x403c3f
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
jmp 0x4019b8
je 0x4023b4
cmp edx, 0x12
je 0x40239b
cmp edx, 0x4b
jne case.0x4023ff.1027
mov edi, dword [esp + 0x1c]
mov al, 1
mov esi, dword [esp + 0x20]
mov dword [0x4eedd8], 0
mov byte [esp + 0x16], al
jmp 0x4019bc
push 4
mov ecx, 0x4f0050
call fcn.0043b820
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
mov eax, dword [esp + 0x54]
cmp eax, dword [0x4eedd4]
jne case.0x4023ff.1027
cmp esi, 0x1b
jne case.0x4023ff.1027
push 0
push dword [0x4eedf0]
call dword [esp + 0xec]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
lea eax, [edx - 0x401]
cmp eax, 0x1d
ja case.0x4023ff.1027
movzx eax, byte [eax + 0x403d10]
jmp dword [eax*4 + 0x403d04]
mov edi, dword [esp + 0x54]
test edi, edi
je case.0x4023ff.1026
cmp edi, dword [0x4eedf0]
jne case.0x4023ff.1027
lea eax, [edx - 0x401]
xor ebp, ebp
cmp eax, 0x1d
ja case.0x402432.1027
movzx eax, byte [eax + 0x403d4c]
jmp dword [eax*4 + 0x403d30]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x44]
push 0xffffffffffffffe0
push edi
call ebx
movzx eax, ax
cmp ax, word [0x4f09cc]
je 0x40245d
xor ebp, ebp
mov dword [esp + 0x18], ebp
jmp 0x4022e6
push 0xffffffffffffffeb
push edi
call dword [esp + 0x7c]
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
je 0x403c36
mov ecx, dword [esp + 0x5c]
mov ebx, ecx
mov edx, dword [esp + 0x60]
movzx eax, cl
shr ebx, 8
shr ecx, 0x10
mov dword [esp + 0x34], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x94], eax
cmp ecx, dword [edi + 0x64]
jae 0x4024ac
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
jmp 0x4024ae
xor eax, eax
mov dword [esp + 0x4c], eax
lea esi, [edi + 0x54]
mov eax, dword [esp + 0x88]
xor bl, bl
dec eax
mov byte [esp + 0x2f], 0
mov byte [esp + 0xb0], bl
cmp eax, 0x10
ja case.0x4024d7.6
movzx eax, byte [eax + 0x403d80]
jmp dword [eax*4 + 0x403d6c]
mov ebp, dword [edi + 0x3c]
test ebp, ebp
je 0x4022c1
push 0
push 0
push 0xffffffffffffffff
push ebp
call dword [esp + 0x178]
mov edx, eax
mov dword [esp + 0x34], edx
test edx, edx
jne case.0x4024d7.2
push ebp
call dword [esp + 0x94]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [ebp + 0x3c], 0
jmp 0x4019b8
mov bl, 2
mov dword [esp + 0x94], edx
mov byte [esp + 0xb0], bl
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x4022c1
lea esi, [edi + 0x28]
mov byte [esp + 0x2f], 1
test esi, esi
je case.0x4024d7.5
mov ecx, dword [esi + 4]
test ecx, ecx
je case.0x4024d7.5
mov edi, dword [esp + 0x94]
nop dword [eax + eax]
cmp byte [ecx + 0x10], 0
jne 0x40257a
mov eax, dword [ecx + 8]
mov edx, dword [esi]
lea eax, [eax + eax*2]
cmp dword [edx + eax*4 + 4], edi
jne 0x40257a
cmp byte [edx + eax*4 + 0xa], bl
je 0x40258c
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x402560
mov edx, dword [esp + 0x58]
xor edi, edi
jmp 0x4029cf
test ebp, ebp
je 0x4025c4
push ebp
call dword [esp + 0x94]
mov ebp, dword [esp + 0x18]
mov dl, byte [esp + 0x17]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [ebp + 0x3c], 0
mov dword [esp + 0x40], eax
mov byte [esp + 0x17], dl
jmp 0x4019b8
mov dl, byte [esp + 0x17]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov byte [esp + 0x17], dl
jmp 0x4019b8
test esi, esi
je 0x402633
push 0xffffffffffffffe0
push esi
call dword [esp + 0x4c]
movzx eax, ax
cmp ax, word [0x4f09cc]
je 0x402608
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x402619
push 0xffffffffffffffeb
push esi
call dword [esp + 0x7c]
mov ebx, eax
mov dword [esp + 0x18], ebx
test ebx, ebx
jne 0x40262d
mov eax, dword [esp + 0x54]
test eax, eax
je 0x40262d
cmp eax, dword [0x4eedf0]
jne 0x403c2d
mov edx, dword [esp + 0x58]
jmp 0x402639
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov ecx, dword [0x4f06e4]
test ecx, ecx
je 0x40267a
mov eax, dword [esp + 0x60]
nop word [eax + eax]
mov edi, dword [ecx + 0x1c]
mov dword [esp + 0xa0], edi
test edi, edi
je 0x402673
nop
cmp dword [edi + 0x14], eax
je 0x402698
mov edi, dword [edi + 0x20]
mov dword [esp + 0xa0], edi
test edi, edi
jne 0x402660
mov ecx, dword [ecx + 0x28]
test ecx, ecx
jne 0x402650
mov ebp, dword [esp + 0x18]
xor eax, eax
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0xa0], eax
jmp 0x4019b8
cmp dword [edi + 8], ebp
je 0x4022c1
mov edi, dword [edi + 0x18]
jmp 0x4029d3
cmp esi, dword [0x4ef164]
jae 0x4022c1
mov eax, dword [0x4ef160]
mov ebx, dword [eax + esi*4]
mov dword [esp + 0xb4], ebx
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x4026fb
mov edx, dword [ebx + 4]
call fcn.00413d40
mov dword [esp + 0x78], eax
test eax, eax
je 0x4022c1
mov eax, dword [ebx + 0x10]
mov al, byte [eax]
cmp al, 2
je 0x4026fb
cmp al, 4
je 0x4026fb
cmp al, 5
jne 0x4026ff
mov eax, dword [0x4eede4]
mov dword [esp + 0x78], eax
jmp 0x4026ff
mov dword [esp + 0x78], ebp
push dword [esp + 0x60]
mov ecx, ebx
call fcn.00416450
cmp dword [ebx + 0xc], ebp
jne 0x4022c1
cmp byte [ebx + 0x2a], 0
je 0x402730
mov ax, word [esp + 0x60]
mov edx, dword [esp + 0x58]
mov word [0x4f06f8], ax
mov edi, dword [ebx + 0x14]
jmp 0x4029cf
mov edx, dword [esp + 0x58]
xor eax, eax
mov word [0x4f06f8], ax
mov edi, dword [ebx + 0x14]
jmp 0x4029cf
cmp byte [0x4f06cc], 0
jne 0x4022c1
xor edi, edi
jmp 0x4029cf
mov eax, esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x402832
mov edi, dword [0x4eede0]
cmp edi, eax
jne 0x402777
mov ecx, 0x4eede0
jmp 0x4027ab
mov eax, edi
test eax, eax
je 0x402832
lea ecx, [eax + 4]
mov eax, dword [ecx]
cmp eax, esi
je 0x4027a3
test eax, eax
jne 0x402781
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x18]
jmp 0x4019b8
test ecx, ecx
je 0x402832
cmp dword [esi], 1
je 0x4027cd
mov eax, dword [esi + 4]
mov dword [ecx], eax
call fcn.00413b30
mov esi, dword [esp + 0x30]
mov dword [esi + 4], ebp
mov edx, dword [esp + 0x58]
mov edi, dword [0x4eede0]
jmp 0x4027d1
mov esi, dword [esp + 0x30]
cmp dword [esi + 8], ebp
je 0x402832
test edi, edi
jne 0x4027f4
cmp dword [0x4ef174], ebp
jne 0x4027f4
test byte [0x4ef12e], 1
jne 0x4027f4
call fcn.00414090
mov edx, dword [esp + 0x58]
mov ecx, dword [esi + 8]
cmp dword [ecx + 0x370], ebp
je 0x40280a
mov ebx, dword [esp + 0x18]
xor edi, edi
jmp 0x4029d7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
cmp dword [0x4eeddc], ebp
jne 0x402832
mov ecx, 0x4f0050
call fcn.0043b4e0
test al, al
jne 0x402832
push 6
mov ecx, 0x4f0050
call fcn.0043b820
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x18]
jmp 0x4019b8
mov edi, dword [0x4eede0]
mov dword [esp + 0x30], edi
test edi, edi
je 0x4022c1
nop dword [eax]
mov al, byte [esp + 0x17]
mov cl, byte [esp + 0x40]
cmp edi, esi
je 0x402888
mov edi, dword [edi + 4]
mov dword [esp + 0x30], edi
test edi, edi
jne 0x402860
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
mov esi, dword [edi + 8]
cmp edx, 0x41c
jne 0x40289b
mov esi, dword [esi + 0x374]
jmp 0x4028b1
cmp edx, 0x41e
jne 0x4028ab
mov esi, dword [esi + 0x37c]
jmp 0x4028b1
mov esi, dword [esi + 0x378]
mov byte [esp + 0x40], cl
mov byte [esp + 0x17], al
test esi, esi
je 0x4022c1
xor edi, edi
mov byte [esp + 0x40], cl
mov byte [esp + 0x17], al
jmp 0x4029cf
mov eax, esi
and eax, 0x7fff
cmp ax, word [0x4ef17c]
jae 0x4022c1
mov ecx, eax
shr esi, 0x10
mov eax, dword [0x4ef16c]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0xb8], edi
test si, si
je 0x40292b
mov ecx, dword [edi + 0x20]
add esi, 0xffff
mov dword [esp + 0x98], ecx
test si, si
je 0x402927
mov ecx, dword [ecx + 0xc]
add esi, 0xffff
test si, si
jne 0x402912
mov dword [esp + 0x98], ecx
test ecx, ecx
jne 0x402979
cmp edx, 0x400
jne 0x402943
mov eax, dword [esp + 0x60]
mov ecx, 0xffc3d44d
shr eax, 0x10
sub ecx, eax
jmp 0x402945
xor ecx, ecx
push 0
push ecx
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.00414580
mov ecx, eax
mov dword [esp + 0x98], ecx
test ecx, ecx
jne 0x402975
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
mov edx, dword [esp + 0x58]
mov al, byte [ecx + 0x1a]
cmp al, byte [ecx + 0x1b]
jb 0x4029a8
cmp byte [ecx + 0x1e], 0
je 0x40298b
mov byte [ecx + 0x1f], 1
mov edi, dword [esp + 0x1c]
call edi
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov dword [edx + 0x10], eax
jmp 0x4019b8
mov eax, dword [ecx + 8]
test eax, eax
je 0x4029c8
mov al, byte [eax]
cmp al, 2
je 0x4029c8
cmp al, 4
je 0x4029c8
cmp al, 5
jne 0x4029cc
mov eax, dword [0x4eede4]
mov dword [esp + 0x78], eax
jmp 0x4029cc
mov dword [esp + 0x78], ebp
mov edi, dword [ecx + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
mov eax, dword [0x4eeddc]
cmp eax, dword [0x4ea824]
jl 0x402a2b
test ebp, ebp
je 0x402a01
push ebp
call dword [esp + 0x94]
mov ebp, dword [esp + 0x18]
mov dword [ebp + 0x3c], 0
mov edx, dword [esp + 0x58]
jmp 0x402a05
mov ebp, dword [esp + 0x18]
cmp edx, 0x41b
jne 0x4021e5
mov eax, dword [esi + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jmp 0x4019b8
mov ecx, dword [0x4ea828]
cmp edi, dword [ecx + 0x3c]
jge 0x402a8f
test ebp, ebp
je 0x402a59
push ebp
call dword [esp + 0x94]
mov ebp, dword [esp + 0x18]
mov ecx, dword [0x4ea828]
mov dword [ebp + 0x3c], 0
mov edx, dword [esp + 0x58]
jmp 0x402a5d
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov al, byte [esp + 0x16]
cmp edx, 0x41b
jne 0x4019c2
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ebx, dword [esp + 0x28]
jmp 0x4019b8
lea eax, [edx - 0x402]
mov byte [esp + 0x40], 1
cmp eax, 0x1c
ja case.0x402aa6.1027
movzx eax, byte [eax + 0x403d9c]
jmp dword [eax*4 + 0x403d94]
mov eax, dword [0x4f0694]
mov dword [0x4f0698], eax
mov eax, dword [0x4f06f0]
mov dword [0x4f06f4], eax
cmp edx, 0x401
jne 0x402ad5
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 4]
jmp 0x402adf
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + 0x1c]
mov dword [0x4f0694], eax
call dword [esp + 0x1c]
mov ecx, dword [0x4ea828]
mov dword [0x4f06f0], eax
inc dword [0x4eeddc]
lea esi, [ecx + 0x98]
mov eax, dword [0x4eedc8]
mov dword [0x4ea828], esi
test eax, eax
je 0x402b13
add eax, 0x50
jmp 0x402b15
xor eax, eax
test esi, esi
je 0x402b1e
lea ecx, [esi + 0x50]
jmp 0x402b20
xor ecx, ecx
movups xmm0, xmmword [eax]
push 0x50
push 0
movups xmmword [ecx], xmm0
push esi
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ecx + 0x30], xmm0
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
call fcn.004a2dc0
add esp, 0xc
mov byte [esi + 0x4e], 1
mov ecx, 0x4f0050
mov dword [esi + 0x3c], edi
push 0
call fcn.0043aec0
mov al, byte [esi + 0x8e]
test al, al
jne 0x402b74
mov byte [esi + 0x8e], al
cmp dword [0x4f0730], 0
je 0x402b86
cmp dword [0x4f072c], 0
jne 0x402b8a
test al, al
je 0x402bba
mov dword [esi + 0x54], 0x10
mov byte [esi + 0x4e], 0
test al, al
jne 0x402bba
cmp dword [0x4f0730], 0
jge 0x402bab
mov dword [esi + 0x44], 0xffffffff
jmp 0x402bba
call dword [esp + 0x1c]
mov dword [esi + 0x48], eax
mov eax, dword [0x4f0730]
mov dword [esi + 0x44], eax
mov esi, dword [0x4ea828]
call dword [esp + 0x1c]
mov edi, dword [esp + 0x58]
mov dword [0x4f0734], eax
lea eax, [edi - 0x401]
cmp eax, 0x1d
ja case.0x402be3.1027
movzx eax, byte [eax + 0x403ddc]
jmp dword [eax*4 + 0x403dbc]
mov edi, dword [esp + 0x38]
mov eax, ebx
mov edx, dword [esp + 0x88]
mov ecx, edi
mov esi, dword [esp + 0x4c]
add ecx, ecx
inc edi
cmp byte [esp + 0x2f], 0
mov dword [esp + 0x38], edi
cmovne eax, esi
mov dword [esp + ecx*8 + 0x100], eax
lea eax, [edx - 1]
mov dword [esp + ecx*8 + 0x108], 5
cmp eax, 0x10
ja case.0x402c31.6
movzx eax, byte [eax + 0x403e10]
jmp dword [eax*4 + 0x403dfc]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
test esi, esi
je 0x402e84
mov ebx, dword [esp + 0x70]
test bl, bl
je 0x402da5
movzx eax, byte [esi + 0x38]
add eax, 0xfffffff7
mov dword [esp + 0xcc], connect
cmp eax, 8
ja case.0x402c7a.12
jmp dword [eax*4 + 0x403e24]
mov ebx, dword [esp + 0x48]
push 0
push 0
push 0x19f
push dword [esi + 0x20]
call ebx
cmp eax, 0xffffffff
je 0x402cab
lea ecx, [esp + 0xcc]
push ecx
push eax
push 0x198
push dword [esi + 0x20]
call ebx
mov ebx, dword [esp + 0x70]
jmp case.0x402c7a.12
mov ebx, dword [esp + 0x48]
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi + 0x20]
call ebx
cmp eax, 0xffffffff
je 0x402cab
lea ecx, [esp + 0xcc]
mov dword [esp + 0xcc], 2
push ecx
push eax
push 0x100e
push dword [esi + 0x20]
call ebx
mov ebx, dword [esp + 0x70]
jmp case.0x402c7a.12
mov ebx, dword [esp + 0x48]
push 0
push 9
push 0x110a
push dword [esi + 0x20]
call ebx
test eax, eax
je 0x402cab
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xcc]
push eax
push 1
push 0x1104
push dword [esi + 0x20]
call ebx
mov ebx, dword [esp + 0x70]
jmp case.0x402c7a.12
lea eax, [esp + 0xcc]
push eax
push 0
push 0x419
push dword [esi + 0x20]
call dword [esp + 0x58]
cmp dword [esp + 0xcc], 0x80000000
lea ecx, [esp + 0xcc]
mov eax, dword [esi + 0x20]
jne 0x402d5e
push ecx
push eax
call dword [esp + 0x174]
jmp 0x402d6b
push 2
push ecx
push 0
push eax
call dword [esp + 0x180]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xd8]
sub eax, ecx
mov eax, eax
test eax, eax
jns 0x402d8f
add eax, 1
sar eax, 1
mov edx, dword [esp + 0x6c]
add ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x80], eax
movzx eax, byte [esi + 0x38]
sub eax, 9
je 0x402e6e
sub eax, 1
je 0x402e54
sub eax, 1
jne 0x402e84
test bl, bl
je 0x402e08
push eax
push 9
push 0x110a
push dword [esi + 0x20]
call dword [esp + 0x58]
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 0x18]
lea eax, [esp + 0x7c]
push eax
push dword [ebp + 0x24]
call dword [esp + 0x8c]
mov eax, edi
lea ecx, [esp + 0x100]
shl eax, 4
mov edi, 5
add ecx, eax
mov edx, ecx
jmp 0x402ec0
mov ebx, dword [esp + 0x84]
lea eax, [esp + 0x1d0]
push eax
push dword [esi + 0x20]
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], edx
call ebx
lea eax, [esp + 0x1d0]
push eax
push 0
push 0x1111
push dword [esi + 0x20]
call dword [esp + 0x58]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x7c]
push eax
push dword [ebp + 0x24]
call ebx
jmp 0x402dee
test bl, bl
je 0x402ddb
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi + 0x20]
call dword [esp + 0x58]
inc eax
jmp 0x402dd7
push 0
push 0
push 0x19f
push dword [esi + 0x20]
call dword [esp + 0x58]
inc eax
jmp 0x402dd7
mov ebp, dword [esp + 0x18]
lea eax, [esp + 0x7c]
push eax
push dword [ebp + 0x24]
call dword [esp + 0x8c]
mov eax, edi
lea ecx, [esp + 0x100]
shl eax, 4
add ecx, eax
mov edx, ecx
test esi, esi
je 0x402eb2
mov edi, 5
jmp 0x402ec0
mov dword [ecx + 4], 0xffffffff
mov esi, 0x4d3ee8
xor edi, edi
mov ebx, dword [esp + 0x34]
mov dword [ecx + 8], edi
mov dword [edx], esi
mov edx, dword [esp + 0x38]
mov dword [esp + eax + 0x118], 1
mov dword [esp + eax + 0x110], ebx
mov dword [esp + eax + 0x114], 0
xor eax, eax
lea ecx, [edx + 2]
add ecx, ecx
lea esi, [edx + 4]
cmp byte [esp + 0x70], al
lea edi, [esi + 1]
push ebp
sete al
mov dword [esp + 0x3c], edi
mov dword [esp + ecx*8 + 0x104], eax
mov eax, dword [esp + 0x80]
mov dword [esp + ecx*8 + 0x10c], 1
mov dword [esp + ecx*8 + 0x108], 0
cdq
mov dword [esp + ecx*8 + 0x114], eax
mov eax, dword [esp + 0x84]
mov dword [esp + ecx*8 + 0x118], edx
mov dword [esp + ecx*8 + 0x11c], 1
mov ecx, esi
add ecx, ecx
cdq
mov dword [esp + ecx*8 + 0x10c], 1
mov dword [esp + ecx*8 + 0x104], eax
mov dword [esp + ecx*8 + 0x108], edx
mov eax, dword [ebp]
call dword [eax + 4]
mov esi, dword [esp + 0x4c]
jmp 0x403362
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x7c]
push eax
mov dword [esp + 0x84], ecx
push dword [ebx + 0x24]
call dword [esp + 0x8c]
push 0xffffffffffffffec
push dword [ebx + 0x24]
call dword [esp + 0x7c]
and eax, 0xffffffef
push eax
push 0xffffffffffffffec
push dword [ebx + 0x24]
call dword [esp + 0xf4]
mov eax, edi
test esi, esi
je 0x402fbf
mov ecx, esi
mov edx, 5
jmp 0x402fd5
add eax, eax
mov ecx, 0x4d3ee8
xor edx, edx
mov dword [esp + eax*8 + 0x104], 0xffffffff
mov eax, edi
add eax, eax
lea esi, [esp + 0x100]
mov dword [esi + eax*8 + 8], edx
mov dword [esi + eax*8], ecx
lea esi, [edi + 1]
mov ecx, ebp
add esi, esi
call fcn.00468bb0
mov dword [esp + esi*8 + 0x108], 5
mov dword [esp + esi*8 + 0x100], eax
cmp byte [ebx + 0xce], 0
je 0x403024
push dword [0x4f003c]
push 0x60
push dword [esp + 0x84]
call dword [esp + 0xa8]
jmp 0x403028
mov eax, dword [esp + 0x7c]
cdq
mov dword [esp + esi*8 + 0x118], 1
mov dword [esp + esi*8 + 0x110], eax
mov dword [esp + esi*8 + 0x114], edx
lea esi, [edi + 3]
add edi, 4
add esi, esi
cmp byte [ebx + 0xce], 0
mov dword [esp + 0x38], edi
je 0x40306f
push dword [0x4f003c]
push 0x60
push dword [esp + 0x88]
call dword [esp + 0xa8]
jmp 0x403076
mov eax, dword [esp + 0x80]
cdq
push ebp
mov dword [esp + esi*8 + 0x10c], 1
mov dword [esp + esi*8 + 0x104], eax
mov dword [esp + esi*8 + 0x108], edx
call dword [esp + 0x94]
mov ebp, dword [esp + 0x18]
mov dword [ebp + 0x3c], 0
mov eax, dword [ebp]
push ebp
call dword [eax + 4]
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x174]
push eax
push ebp
push dword [esp + 0xb8]
add ecx, 0x28
lea eax, [esp + 0x10c]
push dword [esp + 0xa0]
cmp byte [esp + 0x3f], 0
lea esi, [ebp + 0x54]
push edi
push eax
cmove ecx, esi
call fcn.0047ed00
mov ebp, dword [ebp + 0x24]
mov dword [esp + 0xc0], ebp
test ebp, ebp
je 0x4034df
mov eax, dword [esp + 0x88]
sub eax, 1
je 0x403428
sub eax, 1
jne 0x4034df
cmp dword [esp + 0x174], eax
jne 0x403508
push eax
push ebp
call dword [esp + 0xec]
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x24]
call dword [esp + 0x17c]
mov ecx, eax
test ecx, ecx
setne al
cmp al, byte [ebp + 0xd1]
je 0x403400
mov byte [ebp + 0xd1], al
mov eax, dword [ebp]
push ebp
test ecx, ecx
je 0x4033fd
call dword [eax + 4]
jmp 0x403400
cmp edx, 4
jne 0x403349
mov eax, dword [esp + 0x70]
mov esi, edi
mov ebp, dword [esp + 0x18]
add esi, esi
mov ebx, dword [esp + 0x34]
movsx eax, al
cdq
mov dword [esp + esi*8 + 0x100], eax
mov dword [esp + esi*8 + 0x108], 1
mov dword [esp + esi*8 + 0x104], edx
cmp byte [ebp + 0xce], 0
movzx eax, bx
je 0x4031af
push dword [0x4f003c]
push 0x60
push eax
call dword [esp + 0xa8]
cdq
mov dword [esp + esi*8 + 0x110], eax
mov eax, ebx
mov dword [esp + esi*8 + 0x118], 1
mov dword [esp + esi*8 + 0x114], edx
mov esi, edi
add edi, 3
shr eax, 0x10
add esi, esi
mov dword [esp + 0x38], edi
cmp byte [ebp + 0xce], 0
je 0x4031f2
push dword [0x4f003c]
push 0x60
push eax
call dword [esp + 0xa8]
cdq
mov dword [esp + esi*8 + 0x128], 1
mov dword [esp + esi*8 + 0x120], eax
mov dword [esp + esi*8 + 0x124], edx
jmp 0x4030a3
cmp byte [esi + 0x38], 0x17
jne 0x4032d6
cmp edx, 7
jne 0x4032d6
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x260], 0xd
lea eax, [ebx - 1]
mov dword [esp + 0x264], eax
lea eax, [esp + 0x260]
push eax
push 0
push 0x703
push dword [esi + 0x20]
call dword [esp + 0x58]
test eax, eax
je 0x40325f
mov ax, word [esp + 0x270]
mov ecx, edi
add ecx, ecx
test ax, ax
je 0x403285
lea eax, [esp + 0x270]
mov dword [esp + ecx*8 + 0x104], 0xffffffff
mov dword [esp + ecx*8 + 0x100], eax
xor eax, eax
jmp 0x40329b
mov eax, ebx
cdq
mov dword [esp + ecx*8 + 0x100], eax
mov eax, 1
mov dword [esp + ecx*8 + 0x104], edx
mov dword [esp + ecx*8 + 0x108], eax
add edi, 2
lea eax, [esp + 0x2d0]
mov dword [esp + ecx*8 + 0x118], 0
mov dword [esp + ecx*8 + 0x110], eax
mov dword [esp + ecx*8 + 0x114], 0xffffffff
mov dword [esp + 0x38], edi
mov ebp, dword [esp + 0x18]
jmp 0x4030a3
mov ecx, dword [esp + 0x34]
mov eax, edi
add eax, eax
inc edi
mov dword [esp + 0x38], edi
mov dword [esp + eax*8 + 0x108], 1
mov dword [esp + eax*8 + 0x100], ecx
mov dword [esp + eax*8 + 0x104], 0
mov eax, edx
sub eax, 0xa
je 0x403319
sub eax, 1
je 0x403313
sub eax, 2
je 0x403319
jmp 0x403349
cmp byte [esi + 0x38], 0xa
jne 0x403349
mov eax, dword [esp + 0x70]
mov ecx, edi
add ecx, ecx
movzx eax, al
inc edi
cdq
sub eax, 1
mov dword [esp + 0x38], edi
sbb edx, 0
mov dword [esp + ecx*8 + 0x108], 1
mov dword [esp + ecx*8 + 0x100], eax
mov dword [esp + ecx*8 + 0x104], edx
mov ebp, dword [esp + 0x18]
push ebp
mov eax, dword [ebp]
call dword [eax + 4]
cmp dword [esp + 0x88], 5
jne 0x4030aa
test esi, esi
je 0x4030aa
push 0
push ebp
push dword [esp + 0xb8]
lea eax, [edi - 1]
push dword [esp + 0xa0]
lea ecx, [esi + 0x28]
push eax
lea eax, [esp + 0x124]
push eax
call fcn.0047ed00
cmp eax, 7
je 0x40339e
cmp dword [ebp + 0x24], 0
jne 0x4030aa
mov eax, dword [ebp]
push ebp
call dword [eax + 8]
mov edi, dword [esp + 0x1c]
call fcn.00404610
cmp dword [esp + 0xbc], 0
je 0x4021e5
call edi
cmp byte [esp + 0x27], 0
mov esi, dword [esp + 0x20]
jne 0x4033dd
mov ecx, dword [esp + 0xa4]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jg 0x402365
mov dl, byte [esp + 0x17]
mov ebx, dword [esp + 0x28]
mov dword [0x4f0734], eax
mov al, 1
mov byte [esp + 0x16], al
mov byte [esp + 0x27], al
mov byte [esp + 0x17], dl
jmp 0x4019bc
call dword [eax + 8]
cmp dword [0x4eeddc], 0
jne 0x40339e
mov ecx, 0x4f0050
call fcn.0043b4e0
test al, al
jne 0x40339e
push 4
mov ecx, 0x4f0050
call fcn.0043b820
jmp 0x40339e
mov edx, dword [esi + 8]
xor ecx, ecx
test edx, edx
jle 0x403484
mov eax, dword [esi]
mov bh, byte [esp + 0x17]
add eax, 0xa
nop word [eax + eax]
cmp dword [eax - 6], 1
mov esi, edi
mov ebp, dword [esp + 0x38]
mov bl, bh
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
mov ebp, edi
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0xc0]
jne 0x403468
cmp byte [eax], 0
je 0x40349f
mov edi, dword [esp + 0x38]
inc ecx
add eax, 0xc
cmp ecx, edx
jl 0x403440
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edi
mov byte [esp + 0x17], bh
mov ebp, dword [esp + 0x18]
lea eax, [edi - 3]
add eax, eax
mov eax, dword [esp + eax*8 + 0x100]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x40339e
push 0xffffffffffffffec
push ebp
call dword [esp + 0x7c]
mov ebp, dword [esp + 0x18]
or eax, 0x10
push eax
push 0xffffffffffffffec
push dword [ebp + 0x24]
call dword [esp + 0xf4]
mov dword [esp + 0x34], edi
mov edi, esi
mov dword [esp + 0x38], edi
mov byte [esp + 0x17], bl
lea eax, [edi - 3]
add eax, eax
mov eax, dword [esp + eax*8 + 0x100]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x40339e
cmp dword [esp + 0x88], 1
mov ebp, dword [esp + 0x18]
jne 0x40339e
lea eax, [edi - 3]
add eax, eax
mov eax, dword [esp + eax*8 + 0x100]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x40339e
mov ebp, dword [esp + 0x18]
jmp 0x40339e
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x40352c
mov eax, dword [ebp + 0x24]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [ebp]
push ebp
call dword [eax + 4]
mov edi, dword [esp + 0xa0]
mov esi, dword [edi + 0x10]
push esi
mov eax, dword [esi]
call dword [eax + 4]
mov eax, dword [edi]
xor ecx, ecx
mov dword [esp + 0x198], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x19c], 0xffffffff
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x403573
cmp eax, edi
je 0x403576
mov eax, dword [eax + 0x20]
inc ecx
test eax, eax
jne 0x403567
or ecx, 0xffffffff
lea eax, [ecx + 1]
mov dword [esp + 0x1b0], 1
mov ecx, dword [0x4effcc]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1c0], 5
mov dword [esp + 0x1b8], esi
cmp ecx, dword [0x4effd0]
jne 0x4035c1
call fcn.0040735c
mov ecx, dword [0x4effcc]
cmp ecx, dword [0x4effc8]
jb 0x4035d6
mov eax, dword [0x4f068c]
mov dword [ecx], eax
mov ecx, dword [0x4effcc]
add ecx, 0xc
lea eax, [esp + 0x198]
mov dword [0x4effcc], ecx
push 0
mov dword [ecx], 0
mov dword [ecx + 4], str.Menu
mov dword [ecx + 8], 0
mov ecx, dword [edi + 8]
mov edx, ecx
push ecx
push 0
push 3
push eax
push 0
call fcn.00477600
mov eax, dword [0x4effcc]
add esp, 0x18
sub eax, 0xc
mov dword [0x4effcc], eax
cmp eax, dword [0x4effc8]
jb 0x403632
mov eax, dword [eax]
mov dword [0x4effdc], eax
mov dword [0x4f068c], eax
mov eax, dword [esi]
push esi
call dword [eax + 8]
test ebp, ebp
je 0x4033a5
jmp 0x40339e
mov ebx, dword [esp + 0xb4]
mov eax, dword [esp + 0x78]
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0x21]
mov byte [esi + 0x91], al
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x50], eax
mov al, byte [ebx + 0x24]
cmp al, byte [ebx + 0x25]
jae 0x4036b0
mov byte [0x4f06fa], 0
mov ecx, ebx
mov eax, dword [ebx + 4]
inc byte [ebx + 0x24]
push 0
mov dword [esp + 0x1e4], eax
lea eax, [esp + 0x1e4]
push 1
push eax
push dword [0x4f0694]
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1f4], 0xffffffff
call fcn.0047eb30
dec byte [ebx + 0x24]
mov ebp, dword [esp + 0x18]
jmp 0x4033a5
call dword [esp + 0x17c]
test eax, eax
je 0x4036ed
mov ebx, dword [esp + 0x180]
push 0xd
call ebx
test eax, eax
jne 0x4036e4
push 0xf
call ebx
test eax, eax
jne 0x4036e4
mov eax, 2
xor ecx, ecx
jmp 0x403707
mov eax, 1
xor ecx, ecx
jmp 0x403707
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [0x4effcc]
mov dword [esp + 0x1f8], 1
mov dword [esp + 0x1f0], eax
mov byte [0x4f06cc], 1
cmp ecx, dword [0x4effd0]
jne 0x403740
call fcn.0040735c
mov ecx, dword [0x4effcc]
cmp ecx, dword [0x4effc8]
jb 0x403755
mov eax, dword [0x4f068c]
mov dword [ecx], eax
mov ecx, dword [0x4effcc]
add ecx, 0xc
lea eax, [esp + 0x1f0]
push 0
mov dword [0x4effcc], ecx
push 1
push 1
mov dword [ecx], 0
mov dword [ecx + 4], 0x4d3f34
mov dword [ecx + 8], 0
mov ecx, 0x4f06ac
push eax
call fcn.0047ebd0
mov eax, dword [0x4effcc]
sub eax, 0xc
mov dword [0x4effcc], eax
cmp eax, dword [0x4effc8]
jb 0x4037ab
mov eax, dword [eax]
mov dword [0x4effdc], eax
mov dword [0x4f068c], eax
mov ebp, dword [esp + 0x18]
mov byte [0x4f06cc], 0
jmp 0x4033a5
mov ebx, dword [esp + 0x30]
mov ecx, dword [0x4effcc]
mov dword [esp + 0x218], 5
mov esi, dword [ebx + 8]
mov dword [esp + 0x210], esi
mov esi, dword [esi + 0x370]
cmp ecx, dword [0x4effd0]
jne 0x4037f3
call fcn.0040735c
mov ecx, dword [0x4effcc]
cmp ecx, dword [0x4effc8]
jb 0x403808
mov eax, dword [0x4f068c]
mov dword [ecx], eax
mov ecx, dword [0x4effcc]
add ecx, 0xc
lea eax, [esp + 0x210]
push 0
push ecx
push 0
mov dword [0x4effcc], ecx
mov edx, esi
push 1
push eax
mov dword [ecx], 0
mov dword [ecx + 4], str.InputHook
mov dword [ecx + 8], 0
mov ecx, esi
push 0
call fcn.00477600
mov eax, dword [0x4effcc]
add esp, 0x18
sub eax, 0xc
mov dword [0x4effcc], eax
cmp eax, dword [0x4effc8]
jb 0x403863
mov eax, dword [eax]
mov dword [0x4effdc], eax
mov dword [0x4f068c], eax
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ebp, dword [esp + 0x18]
jmp 0x4033a5
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x30]
movzx eax, cl
cdq
sar ecx, 0x10
mov esi, dword [ebx + 8]
mov dword [esp + 0x1a8], eax
movzx eax, cx
mov dword [esp + 0x1ac], edx
cdq
mov dword [esp + 0x1a0], 5
mov dword [esp + 0x198], esi
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1c0], 1
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], edx
cmp edi, 0x41c
jne 0x4038df
mov esi, dword [esi + 0x374]
jmp 0x4038e5
mov esi, dword [esi + 0x37c]
mov ecx, dword [0x4effcc]
cmp ecx, dword [0x4effd0]
jne 0x4038fe
call fcn.0040735c
mov ecx, dword [0x4effcc]
cmp ecx, dword [0x4effc8]
jb 0x403913
mov eax, dword [0x4f068c]
mov dword [ecx], eax
mov ecx, dword [0x4effcc]
add ecx, 0xc
lea eax, [esp + 0x198]
push 0
push ecx
push 0
mov dword [0x4effcc], ecx
mov edx, esi
push 3
push eax
mov dword [ecx], 0
mov dword [ecx + 4], str.InputHook
mov dword [ecx + 8], 0
mov ecx, esi
push 0
call fcn.00477600
mov eax, dword [0x4effcc]
add esp, 0x18
mov ebp, dword [esp + 0x18]
sub eax, 0xc
mov edi, dword [esp + 0x1c]
mov dword [0x4effcc], eax
cmp eax, dword [0x4effc8]
jb 0x4033a9
mov eax, dword [eax]
mov dword [0x4effdc], eax
mov dword [0x4f068c], eax
jmp 0x4033a9
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x30]
mov ecx, dword [0x4effcc]
mov word [esp + 0xf8], ax
sar eax, 0x10
mov esi, dword [ebx + 8]
mov word [esp + 0xfa], ax
xor eax, eax
mov word [esp + 0xfc], ax
mov dword [esp + 0x1b0], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x1a0], 5
mov dword [esp + 0x198], esi
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0xffffffff
mov esi, dword [esi + 0x378]
cmp ecx, dword [0x4effd0]
jne 0x4039f8
call fcn.0040735c
mov ecx, dword [0x4effcc]
cmp ecx, dword [0x4effc8]
jb 0x403a0d
mov eax, dword [0x4f068c]
mov dword [ecx], eax
mov ecx, dword [0x4effcc]
add ecx, 0xc
lea eax, [esp + 0x198]
push 0
push ecx
push 0
mov dword [0x4effcc], ecx
mov edx, esi
push 2
push eax
mov dword [ecx], 0
mov dword [ecx + 4], str.InputHook
mov dword [ecx + 8], 0
mov ecx, esi
push 0
call fcn.00477600
mov eax, dword [0x4effcc]
add esp, 0x18
mov ebp, dword [esp + 0x18]
sub eax, 0xc
mov edi, dword [esp + 0x1c]
mov dword [0x4effcc], eax
cmp eax, dword [0x4effc8]
jb 0x4033a9
mov eax, dword [eax]
mov dword [0x4effdc], eax
mov dword [0x4f068c], eax
jmp 0x4033a9
mov ebp, dword [esp + 0xb8]
mov al, byte [ebp + 0x10]
add al, 0x64
cmp al, 3
ja 0x403a91
movzx eax, word [esp + 0x60]
mov dword [esi + 0x24], eax
cmp byte [0x4f09e4], 0
mov ebx, dword [esp + 0x98]
mov eax, dword [esp + 0x78]
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0x1c]
mov byte [esi + 0x91], al
mov eax, dword [ebx + 8]
mov dword [esi + 0x50], eax
jne 0x4036b0
cmp dword [0x4ef184], 0
jne 0x403acd
call dword [esp + 0x1c]
mov dword [0x4ef184], eax
inc dword [0x4f09e0]
call dword [esp + 0x1c]
mov edi, dword [0x4f09e0]
mov ecx, eax
sub ecx, dword [0x4ef184]
mov edx, dword [0x4ead98]
mov dword [0x4ef180], eax
cmp edi, dword [0x4ead9c]
jbe 0x403b03
cmp ecx, edx
jae 0x403b03
mov esi, 1
jmp 0x403b05
xor esi, esi
test esi, esi
je 0x403b7f
push ecx
push edi
push str._u_hotkeys_have_been_received_in_the_last__ums._n_nDo_you_want_to_continue__n_see_A_MaxHotkeysPerInterval_in_the_help_file_
lea eax, [esp + 0x26c]
push 0x800
push eax
call fcn.004868c0
add esp, 0x14
call fcn.00413d00
push 0
push 0
xorps xmm3, xmm3
mov byte [0x4f09e4], 1
mov edx, 4
mov dword [0x4ea820], 0
lea ecx, [esp + 0x268]
call fcn.0048be80
add esp, 8
cmp eax, 7
jne 0x403b67
push 4
mov ecx, 0x4f0050
call fcn.0043b820
mov eax, dword [0x4ef180]
mov dword [0x4ea820], 1
mov byte [0x4f09e4], 0
jmp 0x403b83
cmp ecx, edx
jbe 0x403b9a
mov dword [0x4f09e0], 0
mov dword [0x4ef184], eax
test esi, esi
jne 0x4036b0
mov al, byte [ebp + 0xf]
mov ecx, ebx
mov byte [0x4f06fa], al
inc byte [ebx + 0x1a]
mov eax, dword [ebp + 0x1c]
push 0
mov dword [esp + 0x204], eax
lea eax, [esp + 0x204]
push 1
push eax
push dword [0x4f0694]
mov dword [esp + 0x218], 0
mov dword [esp + 0x214], 0xffffffff
call fcn.0047eb30
dec byte [ebx + 0x1a]
test eax, eax
jne 0x403bf1
mov ebp, dword [esp + 0x18]
mov byte [ebx + 0x1f], al
jmp 0x4033a5
cmp byte [ebx + 0x1f], 0
mov edi, dword [esp + 0x1c]
je 0x403c24
mov byte [ebx + 0x1f], 0
call edi
sub eax, dword [ebx + 0x10]
cmp eax, 0x3e8
ja 0x403c24
movzx eax, word [ebp + 4]
push 0
push eax
push 0x312
push dword [0x4eedf0]
call dword [esp + 0xfc]
mov ebp, dword [esp + 0x18]
jmp 0x4033a9
mov ebp, dword [esp + 0x18]
jmp case.0x4023ff.1027
mov ebp, dword [esp + 0x18]
jmp 0x4022e6
lea eax, [esp + 0x54]
push eax
mov dword [0x4eede8], eax
call dword [esp + 0x188]
lea eax, [esp + 0x54]
push eax
call dword [esp + 0x54]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [0x4eede8], 0
jmp 0x4019b8
cmp byte [esp + 0x3f], 0
mov dword [0x4f0734], eax
je 0x403c87
mov byte [0x4eedf5], 0
cmp byte [esp + 0x2e], 0
je 0x403cf8
mov eax, dword [0x4eedf8]
dec eax
mov dword [0x4eedf8], eax
test esi, esi
jle 0x403cf8
test eax, eax
jmp 0x403cc2
cmp byte [esp + 0x3f], 0
mov dword [0x4f0734], eax
je 0x403cb4
mov byte [0x4eedf5], 0
cmp byte [esp + 0x2e], 0
je 0x403cf8
sub dword [0x4eedf8], 1
jne 0x403cf8
cmp dword [0x4f06e0], 0
jne 0x403cf8
cmp dword [0x4ef168], 0
jne 0x403cf8
cmp byte [0x4eedf4], 0
je 0x403cf8
push 9
push dword [0x4eedf0]
call dword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x403cf8
mov byte [0x4eedf4], 0
mov al, byte [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret