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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1310
call fcn.004b5860
push ebx
push ebp
push esi
push edi
mov ebp, edx
mov dword [esp + 0xac], ebp
mov esi, ecx
mov dword [esp + 0x1c], esi
mov byte [esp + 0x37], 0
cmp ebp, 2
jne 0x40164e
cmp byte [0x4e8bc7], 0
mov ebp, 1
mov dword [esp + 0xac], ebp
jne 0x40164e
mov byte [0x4e8bc7], 1
mov byte [esp + 0x37], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x18], edi
cmp esi, 0x8000012f
jne 0x40167b
mov esi, 0xa
mov byte [esp + 0x25], 1
mov dword [esp + 0x1c], esi
mov dword [esp + 0xa0], 0
jmp 0x40169b
cmp esi, 5
setle byte [esp + 0x25]
jg 0x401692
mov dword [esp + 0xa0], 0
jmp 0x40169b
call edi
mov dword [esp + 0xa0], eax
cmp dword [0x4e8f6c], 0
je 0x4016a9
call fcn.00404210
xor bl, bl
cmp dword [0x4ea4e0], 0
mov dword [esp + 0x38], ebx
je 0x4016ce
call fcn.00403ee0
test al, al
movzx ebx, bl
mov eax, 1
cmovne ebx, eax
mov dword [esp + 0x38], ebx
test esi, esi
jle 0x401708
cmp ebp, 1
jne 0x401708
inc dword [0x4e8bf8]
cmp byte [0x4e8bc6], 0
mov byte [esp + 0x26], 1
jne 0x40170d
push 0
push 0xa
push 9
push dword [0x4e8bf4]
call dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
setne byte [0x4e8bc6]
jmp 0x40170d
mov byte [esp + 0x26], 0
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_PeekMessageW]
mov dword [esp + 0x80], eax
xorps xmm0, xmm0
mov eax, dword [sym.imp.USER32.dll_GetMessageW]
mov dword [esp + 0x17c], eax
mov eax, dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [esp + 0xdc], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [esp + 0xe0], 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 + 0x180], eax
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0xb4], eax
mov eax, dword [sym.imp.USER32.dll_TranslateAcceleratorW]
mov dword [esp + 0xe8], eax
mov eax, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [esp + 0xb8], 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 + 0x188], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x3c], eax
mov eax, dword [sym.imp.USER32.dll_IsDialogMessageW]
mov dword [esp + 0xe4], eax
mov eax, dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [esp + 0x18c], eax
mov eax, dword [sym.imp.SHELL32.dll_DragFinish]
mov dword [esp + 0x88], 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 + 0xf0], eax
mov eax, dword [sym.imp.USER32.dll_CountClipboardFormats]
mov dword [esp + 0x170], eax
mov eax, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov dword [esp + 0x174], eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 0xec], eax
mov eax, dword [sym.imp.USER32.dll_TranslateMessage]
mov dword [esp + 0x178], eax
mov eax, dword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [esp + 0x40], eax
mov eax, dword [sym.imp.USER32.dll_GetParent]
mov dword [esp + 0x184], eax
mov eax, dword [sym.imp.USER32.dll_GetClassLongW]
mov dword [esp + 0xbc], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageW]
mov ebp, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov edx, dword [0x4e4798]
mov dword [esp + 0xf4], eax
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x90], eax
mov eax, dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [esp + 0x16c], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [esp + 0x1c4], eax
mov eax, dword [sym.imp.USER32.dll_MapWindowPoints]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov al, byte [esp + 0x26]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x8c], eax
mov al, byte [esp + 0x26]
mov byte [esp + 0x13], 0
mov byte [esp + 0x12], 0
mov dword [esp + 0x20], ebx
movsd qword [esp + 0x1f8], xmm0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x60], ecx
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x9c], eax
mov al, byte [esp + 0x12]
jmp 0x40191c
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
test esi, esi
jle 0x4019d0
test al, al
jne 0x4019d0
nop dword [eax]
cmp byte [0x4e8bc7], 0
jne 0x4019dd
cmp dword [0x4e4790], 0
je 0x40199b
cmp dword [0x4e8bcc], 0
jne 0x40199b
cmp dword [0x4e8be4], 0
jne 0x40195f
mov ecx, 1
jmp 0x40199d
cmp byte [edx + 0x53], 0
jne 0x401995
cmp dword [edx + 0x44], 0xffffffff
jle 0x401995
call edi
mov edx, dword [0x4e4798]
sub eax, dword [edx + 0x48]
cmp eax, dword [edx + 0x44]
jb 0x401995
cmp dword [edx + 0x40], 0
je 0x401995
cmp byte [edx + 0x96], 0
mov byte [edx + 0x53], 1
jne 0x401995
mov dword [edx + 0x5c], 5
movzx ecx, byte [edx + 0x53]
jmp 0x40199d
xor ecx, ecx
xor edx, edx
mov eax, 0x311
test ecx, ecx
cmovne eax, edx
push eax
push edx
push edx
lea eax, [esp + 0x50]
push eax
call dword [esp + 0x18c]
cmp eax, 0xffffffff
jne 0x401c42
mov edx, dword [0x4e4798]
jmp 0x401930
cmp byte [0x4e8bc7], 0
je 0x401b92
call dword [esp + 0xdc]
mov esi, eax
test esi, esi
je 0x401b8c
push 0
push esi
call dword [esp + 0xe8]
cmp eax, dword [0x4e9e38]
jne 0x401b8c
cmp dword [0x4e8bf0], 0
je 0x401a61
push 0x20
lea eax, [esp + 0x22c]
push eax
push esi
mov esi, dword [esp + 0xbc]
call esi
mov ecx, str.32770
lea eax, [esp + 0x228]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401a56
test dx, dx
je 0x401a52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401a56
add eax, 4
add ecx, 4
test dx, dx
jne 0x401a30
xor eax, eax
jmp 0x401a5b
sbb eax, eax
or eax, 1
test eax, eax
je 0x401aba
jmp 0x401a68
mov esi, dword [esp + 0xb0]
call dword [esp + 0x180]
test eax, eax
je 0x401b8c
push 0x20
lea ecx, [esp + 0x22c]
push ecx
push eax
call esi
lea eax, [esp + 0x228]
push str.SysTreeView32
push eax
call fcn.0049f121
add esp, 8
test eax, eax
je 0x401aba
lea eax, [esp + 0x228]
push str.SysListView32
push eax
call fcn.0049f121
add esp, 8
test eax, eax
jne 0x401b8c
cmp dword [0x4e4790], 0
je 0x401b1e
cmp dword [0x4e8bcc], 0
jne 0x401b1e
cmp dword [0x4e8be4], 0
jne 0x401adc
mov eax, 1
jmp 0x401b20
mov ecx, dword [0x4e4798]
cmp byte [ecx + 0x53], 0
jne 0x401b18
cmp dword [ecx + 0x44], 0xffffffff
jle 0x401b18
call edi
mov ecx, dword [0x4e4798]
sub eax, dword [ecx + 0x48]
cmp eax, dword [ecx + 0x44]
jb 0x401b18
cmp dword [ecx + 0x40], 0
je 0x401b18
cmp byte [ecx + 0x96], 0
mov byte [ecx + 0x53], 1
jne 0x401b18
mov dword [ecx + 0x5c], 5
movzx eax, byte [ecx + 0x53]
jmp 0x401b20
xor eax, eax
push 0
test eax, eax
mov esi, 0x311
push 0x1ff
mov eax, 0xffffffff
push 0
cmovne esi, eax
lea eax, [esp + 0x50]
push 0
push eax
call ebx
test eax, eax
lea eax, [esp + 0x44]
jne 0x401b56
push 1
push esi
push 0x20f
jmp 0x401c07
mov edi, dword [esp + 0x54]
push 0
push esi
push 0x20f
push 0
push eax
call ebx
push 1
test eax, eax
jne 0x401b77
push 0x1ff
jmp 0x401c01
mov eax, dword [esp + 0x58]
sub eax, edi
test eax, eax
lea eax, [esp + 0x48]
jle 0x401b4b
push 0x1ff
jmp 0x401c05
mov edx, dword [0x4e4798]
cmp dword [0x4e4790], 0
je 0x401bf0
cmp dword [0x4e8bcc], 0
jne 0x401bf0
cmp dword [0x4e8be4], 0
jne 0x401bb4
mov ecx, 1
jmp 0x401bf2
cmp byte [edx + 0x53], 0
jne 0x401bea
cmp dword [edx + 0x44], 0xffffffff
jle 0x401bea
call edi
mov edx, dword [0x4e4798]
sub eax, dword [edx + 0x48]
cmp eax, dword [edx + 0x44]
jb 0x401bea
cmp dword [edx + 0x40], 0
je 0x401bea
cmp byte [edx + 0x96], 0
mov byte [edx + 0x53], 1
jne 0x401bea
mov dword [edx + 0x5c], 5
movzx ecx, byte [edx + 0x53]
jmp 0x401bf2
xor ecx, ecx
xor edx, edx
mov eax, 0x311
test ecx, ecx
push 1
cmovne eax, edx
push eax
lea eax, [esp + 0x4c]
push 0
push 0
push eax
call ebx
test eax, eax
jne 0x401c42
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x4020cd
cmp byte [esp + 0x13], al
jne 0x4020cd
push esi
call dword [esp + 0xb8]
mov edx, dword [0x4e4798]
mov edi, dword [esp + 0x18]
mov byte [esp + 0x13], 1
jmp 0x4019d0
inc dword [esp + 0x80]
cmp dword [0x4e9e48], 0
je 0x401c7f
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x204]
mov ecx, dword [esp + 0x44]
push eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x58]
push dword [esp + 0x58]
call fcn.004042e0
add esp, 0x10
test al, al
jne 0x402174
cmp dword [0x4e8bfc], 0
mov edi, dword [esp + 0x48]
je 0x401cf1
lea eax, [edi - 0x100]
cmp eax, 9
ja 0x401cf1
mov esi, dword [esp + 0x44]
test esi, esi
je 0x401ceb
nop
push 0xffffffffffffffe0
push esi
call dword [esp + 0xc4]
movzx eax, ax
cmp ax, word [0x4ea7cc]
jne 0x401ccb
push 0xffffffffffffffeb
push esi
call dword [esp + 0x7c]
mov ebp, eax
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x401dd4
push 0xfffffffffffffff0
push esi
call dword [esp + 0x7c]
test eax, 0x40000000
je 0x401ce7
push esi
call dword [esp + 0x188]
mov esi, eax
test esi, esi
jne 0x401ca0
mov edi, dword [esp + 0x48]
xor ebp, ebp
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x4c]
mov edx, dword [0x4e4798]
cmp edi, 0x400
ja 0x402339
je case.0x40234f.1025
cmp edi, 0x100
jbe 0x4022b2
cmp edi, 0x113
jne 0x4022a1
cmp dword [esp + 0x50], 0
jne case.0x40234f.1027
mov eax, dword [esp + 0x44]
cmp eax, dword [0x4e8bf4]
jne case.0x40234f.1027
cmp dword [0x4e8f6c], 0
je 0x401d54
call fcn.00404210
mov edx, dword [0x4e4798]
cmp dword [0x4ea4e0], 0
je 0x401d7d
call fcn.00403ee0
mov edx, dword [esp + 0x38]
test al, al
movzx ecx, dl
mov eax, 1
mov edx, dword [0x4e4798]
cmovne ecx, eax
mov byte [esp + 0x38], cl
cmp dword [esp + 0xac], 0
mov esi, dword [esp + 0x1c]
je 0x402290
cmp esi, 1
jl 0x402290
mov edi, dword [esp + 0x18]
call edi
cmp byte [esp + 0x25], 0
jne 0x403d2d
mov ecx, dword [esp + 0xa0]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jle 0x403d2d
mov ah, byte [esp + 0x13]
mov edx, dword [0x4e4798]
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], ah
jmp 0x401924
mov eax, dword [ebp + 0x40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc0], ebx
test eax, eax
je 0x401dfe
lea ecx, [esp + 0x44]
push ecx
push eax
push dword [ebp + 0x1c]
call dword [esp + 0xf4]
test eax, eax
jne 0x402170
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
cmp edi, 0x100
jne 0x401fce
cmp byte [ebp + 0xbc], 0
je 0x401f7f
cmp esi, 0x22
je 0x401e3c
cmp esi, 0x21
je 0x401e3c
cmp esi, 9
je 0x401e3c
cmp esi, 0x25
je 0x401e3c
cmp esi, 0x27
jne 0x401f7f
push ebx
mov ecx, ebp
call fcn.004015b0
mov ecx, eax
cmp ecx, 0x2af8
jne 0x401e59
xor ecx, ecx
mov dword [esp + 0x60], ecx
jmp 0x401f64
mov eax, dword [ebp + 0x2c]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x60], ebx
test ebx, ebx
je 0x401f64
mov al, byte [ebx + 0x30]
cmp al, 0xf
je 0x401f64
mov esi, dword [esp + 0x4c]
xor edi, edi
cmp al, 0x13
jne 0x401e94
mov edi, ebx
cmp esi, 0x25
je 0x40218b
cmp esi, 0x27
je 0x40218b
cmp esi, 0x25
je 0x401f68
cmp esi, 0x27
je 0x401f68
push 0x11
call dword [esp + 0xbc]
mov ecx, 0x8000
test cx, ax
je 0x401f64
mov esi, dword [esp + 0x4c]
cmp esi, 9
jne 0x401ee1
cmp byte [ebx + 0x30], 0xc
jne 0x401ee1
push 0xfffffffffffffff0
push dword [ebx + 0x18]
call dword [esp + 0x7c]
test al, 4
jne 0x401f64
mov esi, dword [esp + 0x4c]
test edi, edi
jne 0x401f52
mov ch, byte [ebx + 0x32]
add ebp, 0x5c
cmp ch, 0xff
je 0x401f1e
mov ebx, dword [ebp]
xor cl, cl
xor edx, edx
test ebx, ebx
je 0x401f1e
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
mov edi, dword [eax]
cmp byte [edi + 0x30], 0x13
jne 0x401f10
cmp cl, ch
je 0x401f1a
inc cl
inc edx
add eax, 4
cmp edx, ebx
jb 0x401f02
jmp 0x401f1e
test edi, edi
jne 0x401f4e
mov ebx, dword [ebp]
xor cl, cl
xor edx, edx
test ebx, ebx
je 0x401f68
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x2c]
mov edi, dword [eax]
cmp byte [edi + 0x30], 0x13
jne 0x401f3e
test cl, cl
je 0x401f48
inc cl
inc edx
add eax, 4
cmp edx, ebx
jb 0x401f30
jmp 0x401f68
test edi, edi
je 0x401f68
jmp 0x401f52
mov ebp, dword [esp + 0x14]
push dword [edi + 0x18]
call dword [esp + 0x18c]
test eax, eax
jne 0x4021bc
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
cmp edi, 0x100
jne 0x401fce
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x14]
cmp esi, 0x1b
je 0x401fae
cmp esi, 9
je 0x401fae
cmp esi, 0x41
jne 0x401fce
mov esi, dword [esp + 0xb8]
push 0x11
call esi
bt ax, 0xf
jae 0x401fc6
push 0xa5
call esi
bt ax, 0xf
jb 0x401fc6
push ebx
mov ecx, ebp
call fcn.004015b0
mov ecx, eax
cmp ecx, 0x2af8
jne 0x402014
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov eax, dword [0x4e9cf4]
test eax, eax
je 0x401ff1
cmp edi, 0x100
jne 0x401ff1
cmp esi, 0xd
je 0x40225f
cmp esi, 0x1b
je 0x402259
mov ebp, dword [esp + 0x14]
cmp dword [ebp + 0x5c], 0
jne 0x40208a
cmp edi, 0x106
jne 0x40208a
mov ebx, dword [esp + 0x20]
jmp 0x401cf5
mov eax, dword [ebp + 0x2c]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x60], ebx
test ebx, ebx
je 0x401fc6
cmp byte [ebx + 0x30], 0xc
jne 0x401fc6
mov esi, dword [esp + 0x4c]
cmp esi, 0x1b
je 0x4021ee
mov al, byte [ebx + 0x31]
cmp esi, 0x41
je 0x40206d
test al, al
jns 0x401fca
push 0xfffffffffffffff0
push dword [ebx + 0x18]
call dword [esp + 0x7c]
test eax, 0x800
jne 0x401fc6
push 0x4cee78
push 1
push 0xc2
push dword [ebx + 0x18]
call dword [esp + 0x4c]
jmp 0x4021a1
test al, 2
jne 0x401fca
push 0xffffffffffffffff
push 0
push 0xb1
push dword [ebx + 0x18]
call dword [esp + 0x4c]
jmp 0x4021a1
mov ecx, dword [0x4e4798]
mov byte [ecx + 0x52], 1
mov eax, dword [esp + 0x48]
mov dword [ecx + 0x4c], eax
lea eax, [esp + 0x44]
push eax
push dword [ebp + 0x1c]
call dword [esp + 0xec]
mov edx, dword [0x4e4798]
mov byte [edx + 0x52], 0
test eax, eax
jne 0x40228c
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x20]
jmp 0x401cfb
cmp dword [esp + 0x80], 0
jne 0x402105
cmp byte [esp + 0x25], 0
je 0x402105
test esi, esi
jle 0x4020eb
push 5
call dword [esp + 0xb8]
mov edx, dword [0x4e4798]
mov al, byte [esp + 0x12]
mov dword [esp + 0x80], 1
jmp 0x401918
mov edi, dword [esp + 0x18]
call edi
cmp byte [esp + 0x25], 0
jne 0x403cf6
mov ecx, dword [esp + 0xa0]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jle 0x403cf6
push 5
call dword [esp + 0xb8]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x60]
mov edx, dword [0x4e4798]
mov dword [esp + 0x38], eax
mov ah, byte [esp + 0x13]
mov byte [esp + 0x13], ah
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x12]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x60], ecx
jmp 0x40191c
mov ebx, dword [esp + 0x20]
mov edx, dword [0x4e4798]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
cmp esi, 0x27
push 0
sete al
push 0
movzx eax, al
push eax
push ebx
mov ecx, ebp
call fcn.004708a0
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
mov eax, dword [esp + 0x4c]
cmp eax, 0x22
je 0x4021e4
cmp eax, 9
jne 0x4021da
push 0x10
call dword [esp + 0xbc]
bt ax, 0xf
jae 0x4021e4
push 1
push 1
xor al, al
push eax
push edi
jmp 0x40219a
push 1
push 1
mov al, 1
push eax
push edi
jmp 0x40219a
mov edx, dword [ebp + 0x54]
xor ecx, ecx
test edx, edx
jle 0x4021a1
mov eax, dword [ebp + 0x4c]
add eax, 0xa
nop dword [eax]
cmp dword [eax - 6], 3
jne 0x40220b
cmp byte [eax], 0
je 0x40222e
inc ecx
add eax, 0xc
cmp ecx, edx
jl 0x402200
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov al, byte [esp + 0x12]
jmp 0x40191c
push 0
push 0x2af80003
push 0x414
push dword [ebp + 0x1c]
call dword [esp + 0x104]
mov ah, byte [esp + 0x13]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov byte [esp + 0x13], ah
jmp 0x4021a1
push 0
push 1
jmp 0x402263
push 0
push 0
push 0x1116
push eax
call dword [esp + 0x4c]
mov edx, dword [0x4e4798]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov al, byte [esp + 0x12]
jmp 0x40191c
cmp edi, 0x312
je case.0x40234f.1026
jmp case.0x40234f.1027
je 0x4022fa
cmp edi, 0x12
je 0x4022d7
cmp edi, 0x4b
jne case.0x40234f.1027
mov al, 1
mov dword [0x4e8be0], 0
mov byte [esp + 0x12], al
jmp 0x401914
push 4
mov ecx, 0x4e9e50
call fcn.0043a1f0
mov edx, dword [0x4e4798]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
mov eax, dword [esp + 0x44]
cmp eax, dword [0x4e8bdc]
jne case.0x40234f.1027
cmp esi, 0x1b
jne case.0x40234f.1027
push 0
push dword [0x4e8bf4]
call dword [esp + 0xf4]
mov edx, dword [0x4e4798]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
lea eax, [edi - 0x401]
cmp eax, 0x1d
ja case.0x40234f.1027
movzx eax, byte [eax + 0x403da8]
jmp dword [eax*4 + 0x403d9c]
mov ebx, dword [esp + 0x44]
test ebx, ebx
je case.0x40234f.1026
cmp ebx, dword [0x4e8bf4]
jne case.0x40234f.1027
lea eax, [edi - 0x401]
xor ebp, ebp
cmp eax, 0x1d
ja case.0x402382.1027
movzx eax, byte [eax + 0x403de4]
jmp dword [eax*4 + 0x403dc8]
mov ebx, dword [esp + 0x44]
push 0xffffffffffffffe0
push ebx
call dword [esp + 0xc4]
movzx eax, ax
cmp ax, word [0x4ea7cc]
je 0x4023ae
xor ebp, ebp
mov dword [esp + 0x14], ebp
jmp case.0x40234f.1027
push 0xffffffffffffffeb
push ebx
call dword [esp + 0x7c]
mov edx, eax
mov dword [esp + 0x14], edx
test edx, edx
je 0x403ba9
mov ecx, dword [esp + 0x4c]
mov ebx, ecx
mov edi, dword [esp + 0x50]
movzx eax, cl
shr ebx, 8
shr ecx, 0x10
mov dword [esp + 0x2c], edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x8c], eax
cmp ecx, dword [edx + 0x5c]
jae 0x4023fe
mov eax, dword [edx + 0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x68]
jmp 0x402400
xor ecx, ecx
xor bl, bl
mov dword [esp + 0x60], ecx
dec eax
mov byte [esp + 0x27], 0
mov byte [esp + 0xa4], bl
lea esi, [edx + 0x4c]
cmp eax, 0x10
ja case.0x402422.6
movzx eax, byte [eax + 0x403e18]
jmp dword [eax*4 + 0x403e04]
mov ebp, dword [edx + 0x34]
test ebp, ebp
je 0x40226d
push 0
push 0
push 0xffffffffffffffff
push ebp
call dword [esp + 0x19c]
mov edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
jne case.0x402422.2
push ebp
call dword [esp + 0x8c]
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x34], edi
jmp 0x4021a1
mov bl, 2
mov dword [esp + 0x8c], edi
mov byte [esp + 0xa4], bl
test ecx, ecx
je 0x40226d
lea esi, [ecx + 0x20]
mov byte [esp + 0x27], 1
test esi, esi
je case.0x402422.5
mov ecx, dword [esi + 4]
test ecx, ecx
je case.0x402422.5
mov edi, dword [esp + 0x8c]
cmp byte [ecx + 0x10], 0
jne 0x4024ac
mov eax, dword [ecx + 8]
mov edx, dword [esi]
lea eax, [eax + eax*2]
cmp dword [edx + eax*4 + 4], edi
jne 0x4024ac
cmp byte [edx + eax*4 + 0xa], bl
je 0x4024c4
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x402492
mov edi, dword [esp + 0x48]
xor ebx, ebx
mov edx, dword [0x4e4798]
jmp 0x402958
test ebp, ebp
je 0x4024f0
push ebp
call dword [esp + 0x8c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
mov ah, byte [esp + 0x13]
mov dword [ebp + 0x34], 0
mov byte [esp + 0x13], ah
jmp 0x4021a1
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov ah, byte [esp + 0x13]
mov byte [esp + 0x13], ah
jmp 0x4021a1
test esi, esi
je 0x40255a
push 0xffffffffffffffe0
push esi
call dword [esp + 0xc4]
movzx eax, ax
cmp ax, word [0x4ea7cc]
je 0x40252b
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x40253a
push 0xffffffffffffffeb
push esi
call dword [esp + 0x7c]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x40254e
mov eax, dword [esp + 0x44]
test eax, eax
je 0x40254e
cmp eax, dword [0x4e8bf4]
jne 0x403ba9
mov edi, dword [esp + 0x48]
mov edx, dword [0x4e4798]
jmp 0x402560
xor eax, eax
mov dword [esp + 0x14], eax
mov ecx, dword [0x4ea4e4]
test ecx, ecx
je 0x40259a
mov eax, dword [esp + 0x50]
nop
mov esi, dword [ecx + 0x14]
mov dword [esp + 0x94], esi
test esi, esi
je 0x402593
nop
cmp dword [esi + 0x14], eax
je 0x4025bc
mov esi, dword [esi + 0x20]
mov dword [esp + 0x94], esi
test esi, esi
jne 0x402580
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x402570
mov ebp, dword [esp + 0x14]
xor eax, eax
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x94], eax
mov al, byte [esp + 0x12]
jmp 0x40191c
cmp dword [esi + 8], ebp
je 0x402273
mov ebx, dword [esi + 0x18]
jmp 0x402958
cmp esi, dword [0x4e8f68]
jae 0x402273
mov eax, dword [0x4e8f64]
mov esi, dword [eax + esi*4]
mov dword [esp + 0xa8], esi
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x402624
mov edx, dword [esi + 4]
call fcn.00413ab0
mov ecx, eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x40226d
mov ecx, dword [esi + 0x10]
mov cl, byte [ecx]
cmp cl, 1
je 0x40262e
cmp cl, 3
je 0x40262e
xor ebx, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x70], ebx
jmp 0x40262e
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], eax
push dword [esp + 0x50]
mov ecx, esi
call fcn.004162b0
cmp dword [esi + 0xc], ebp
jne 0x40226d
cmp byte [esi + 0x2a], 0
je 0x40264f
mov ax, word [esp + 0x50]
jmp 0x402651
xor eax, eax
mov edi, dword [esp + 0x48]
mov edx, dword [0x4e4798]
mov word [0x4ea4f8], ax
mov ebx, dword [esi + 0x14]
jmp 0x402958
cmp byte [0x4ea4cc], 0
jne 0x402273
xor ebx, ebx
jmp 0x402958
mov eax, esi
mov dword [esp + 0x28], eax
test eax, eax
je 0x40276d
mov ebx, dword [0x4e8bec]
cmp ebx, eax
jne 0x40269c
mov ecx, 0x4e8bec
jmp 0x4026d8
mov eax, ebx
test eax, eax
je 0x40276d
lea ecx, [eax + 4]
mov eax, dword [ecx]
cmp eax, esi
je 0x4026d0
test eax, eax
jne 0x4026a6
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x14]
jmp 0x40191c
test ecx, ecx
je 0x40276d
cmp dword [esi], 1
je 0x402700
mov eax, dword [esi + 4]
mov dword [ecx], eax
call fcn.00413880
mov esi, dword [esp + 0x28]
mov edx, dword [0x4e4798]
mov dword [esi + 4], ebp
mov edi, dword [esp + 0x48]
mov ebx, dword [0x4e8bec]
jmp 0x402704
mov esi, dword [esp + 0x28]
cmp dword [esi + 8], ebp
je 0x40276d
test ebx, ebx
jne 0x40272d
cmp dword [0x4e8f78], ebp
jne 0x40272d
test byte [0x4e8f43], 1
jne 0x40272d
call fcn.00413e10
mov edi, dword [esp + 0x48]
mov edx, dword [0x4e4798]
mov ecx, dword [esi + 8]
cmp dword [ecx + 0x368], ebp
je 0x40273f
xor ebx, ebx
jmp 0x40295c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
cmp dword [0x4e8be4], ebp
jne 0x402767
mov ecx, 0x4e9e50
call fcn.00439eb0
test al, al
jne 0x402767
push 6
mov ecx, 0x4e9e50
call fcn.0043a1f0
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x14]
jmp 0x40191c
mov eax, dword [0x4e8bec]
test eax, eax
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x12]
je 0x401910
mov ah, byte [esp + 0x13]
mov ebx, dword [esp + 0x28]
nop dword [eax + eax]
mov cl, byte [esp + 0x38]
mov al, ah
cmp ebx, esi
je 0x4027de
mov ebx, dword [ebx + 4]
mov dword [esp + 0x28], ebx
test ebx, ebx
jne 0x4027b0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
mov esi, dword [ebx + 8]
cmp edi, 0x41c
jne 0x4027f1
mov esi, dword [esi + 0x36c]
jmp 0x402807
cmp edi, 0x41e
jne 0x402801
mov esi, dword [esi + 0x374]
jmp 0x402807
mov esi, dword [esi + 0x370]
mov byte [esp + 0x38], cl
mov byte [esp + 0x13], al
test esi, esi
je 0x402273
xor ebx, ebx
mov byte [esp + 0x38], cl
mov byte [esp + 0x13], al
jmp 0x402958
mov eax, esi
and eax, 0x7fff
cmp ax, word [0x4e8f80]
jae 0x402273
mov ecx, eax
shr esi, 0x10
mov eax, dword [0x4e8f70]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x98], ebx
test si, si
je 0x402890
mov ebx, dword [ebx + 0x20]
add esi, 0xffff
mov dword [esp + 0x9c], ebx
test si, si
je 0x402885
nop dword [eax + eax]
mov ebx, dword [ebx + 0xc]
add esi, 0xffff
test si, si
jne 0x402870
mov dword [esp + 0x9c], ebx
test ebx, ebx
jne 0x4028f9
mov ebx, dword [esp + 0x98]
cmp edi, 0x400
jne 0x4028a8
mov eax, dword [esp + 0x50]
mov ecx, 0xffc3d44d
shr eax, 0x10
sub ecx, eax
jmp 0x4028aa
xor ecx, ecx
push 0
push ecx
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
call fcn.004143c0
mov edx, dword [0x4e4798]
mov ebx, eax
mov dword [esp + 0x9c], ebx
test ebx, ebx
jne 0x4028ed
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
mov dword [esp + 0x64], ecx
jmp 0x40191c
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x64], eax
mov al, byte [ebx + 0x1a]
cmp al, byte [ebx + 0x1b]
jb 0x40292f
cmp byte [ebx + 0x1e], 0
je 0x40290b
mov byte [ebx + 0x1f], 1
mov edi, dword [esp + 0x18]
call edi
mov edx, dword [0x4e4798]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [ebx + 0x10], eax
mov ebx, dword [esp + 0x20]
mov al, byte [esp + 0x12]
jmp 0x40191c
mov eax, dword [ebx + 8]
test eax, eax
je 0x40294b
mov al, byte [eax]
cmp al, 2
je 0x40294b
cmp al, 4
je 0x40294b
cmp al, 5
jne 0x402955
mov eax, dword [0x4e8be8]
jmp 0x40294d
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], eax
mov ebx, dword [ebx + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [0x4e8be4]
cmp eax, dword [0x4e4794]
jl 0x4029aa
test ebp, ebp
je 0x40298c
push ebp
call dword [esp + 0x8c]
mov ebp, dword [esp + 0x14]
mov edx, dword [0x4e4798]
mov dword [ebp + 0x34], 0
mov edi, dword [esp + 0x48]
jmp 0x402990
mov ebp, dword [esp + 0x14]
cmp edi, 0x41b
jne 0x402273
mov eax, dword [esi + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x4021a1
cmp ebx, dword [edx + 0x3c]
jge 0x4029f7
test ebp, ebp
je 0x4029d2
push ebp
call dword [esp + 0x8c]
mov ebp, dword [esp + 0x14]
mov edx, dword [0x4e4798]
mov dword [ebp + 0x34], 0
mov edi, dword [esp + 0x48]
jmp 0x4029d6
mov ebp, dword [esp + 0x14]
cmp edi, 0x41b
je 0x40299c
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
lea eax, [edi - 0x402]
mov byte [esp + 0x38], 1
cmp eax, 0x1c
ja case.0x402a0e.1027
movzx eax, byte [eax + 0x403e34]
jmp dword [eax*4 + 0x403e2c]
mov eax, dword [0x4ea494]
mov dword [0x4ea498], eax
mov eax, dword [0x4ea4f0]
mov dword [0x4ea4f4], eax
cmp edi, 0x401
jne 0x402a3d
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + 4]
jmp 0x402a47
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [0x4ea494], eax
call edi
mov edx, dword [0x4e4798]
mov dword [0x4ea4f0], eax
jmp 0x402a63
mov edi, dword [esp + 0x18]
inc dword [0x4e8be4]
lea esi, [edx + 0xa0]
mov eax, dword [0x4e8bd0]
mov dword [0x4e4798], esi
test eax, eax
je 0x402a83
add eax, 0x58
jmp 0x402a85
xor eax, eax
test esi, esi
je 0x402a8e
lea ecx, [esi + 0x58]
jmp 0x402a90
xor ecx, ecx
movups xmm0, xmmword [eax]
push 0x58
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.0049da30
add esp, 0xc
mov byte [esi + 0x53], 1
mov ecx, 0x4e9e50
mov dword [esi + 0x3c], ebx
push 0
call fcn.00439870
mov al, byte [esi + 0x96]
test al, al
jne 0x402ae4
mov byte [esi + 0x96], al
cmp dword [0x4ea530], 0
je 0x402af6
cmp dword [0x4ea52c], 0
jne 0x402afa
test al, al
je 0x402b28
mov dword [esi + 0x5c], 0x10
mov byte [esi + 0x53], 0
test al, al
jne 0x402b28
cmp dword [0x4ea530], 0
jge 0x402b1b
mov dword [esi + 0x44], 0xffffffff
jmp 0x402b28
call edi
mov dword [esi + 0x48], eax
mov eax, dword [0x4ea530]
mov dword [esi + 0x44], eax
mov esi, dword [0x4e4798]
call edi
mov edi, dword [esp + 0x48]
mov dword [0x4ea534], eax
lea eax, [edi - 0x401]
cmp eax, 0x1d
ja case.0x402b4f.1027
movzx eax, byte [eax + 0x403e74]
jmp dword [eax*4 + 0x403e54]
mov edi, dword [esp + 0x30]
mov ecx, edi
mov ebx, dword [esp + 0x14]
add ecx, ecx
mov edx, dword [esp + 0x68]
inc edi
cmp byte [esp + 0x27], 0
mov eax, ebx
mov esi, dword [esp + 0x60]
cmovne eax, esi
mov dword [esp + 0x30], edi
mov dword [esp + ecx*8 + 0x100], eax
lea eax, [edx - 1]
mov dword [esp + ecx*8 + 0x108], 5
cmp eax, 0x10
ja case.0x402b9e.6
movzx eax, byte [eax + 0x403ea8]
jmp dword [eax*4 + 0x403e94]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
test esi, esi
je 0x402deb
mov ebx, dword [esp + 0x6c]
test bl, bl
je 0x402d0c
movzx eax, byte [esi + 0x30]
add eax, 0xfffffff7
mov dword [esp + 0xcc], connect
cmp eax, 8
ja case.0x402be4.12
jmp dword [eax*4 + 0x403ebc]
mov ebx, dword [esp + 0x3c]
push 0
push 0
push 0x19f
push dword [esi + 0x18]
call ebx
cmp eax, 0xffffffff
je 0x402c15
lea ecx, [esp + 0xcc]
push ecx
push eax
push 0x198
push dword [esi + 0x18]
call ebx
mov ebx, dword [esp + 0x6c]
jmp case.0x402be4.12
mov ebx, dword [esp + 0x3c]
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi + 0x18]
call ebx
cmp eax, 0xffffffff
je 0x402c15
lea ecx, [esp + 0xcc]
mov dword [esp + 0xcc], 2
push ecx
push eax
push 0x100e
push dword [esi + 0x18]
call ebx
mov ebx, dword [esp + 0x6c]
jmp case.0x402be4.12
mov ebx, dword [esp + 0x3c]
push 0
push 9
push 0x110a
push dword [esi + 0x18]
call ebx
test eax, eax
je 0x402c15
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xcc]
push eax
push 1
push 0x1104
push dword [esi + 0x18]
call ebx
mov ebx, dword [esp + 0x6c]
jmp case.0x402be4.12
lea eax, [esp + 0xcc]
push eax
push 0
push 0x419
push dword [esi + 0x18]
call dword [esp + 0x4c]
cmp dword [esp + 0xcc], 0x80000000
lea ecx, [esp + 0xcc]
mov eax, dword [esi + 0x18]
jne 0x402cc8
push ecx
push eax
call dword [esp + 0x1cc]
jmp 0x402cd5
push 2
push ecx
push 0
push eax
call dword [esp + 0x174]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xd8]
sub eax, ecx
mov eax, eax
test eax, eax
jns 0x402cf9
add eax, 1
sar eax, 1
mov edx, dword [esp + 0x5c]
add ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x7c], eax
movzx eax, byte [esi + 0x30]
sub eax, 9
je 0x402dd5
sub eax, 1
je 0x402dbb
sub eax, 1
jne 0x402deb
test bl, bl
je 0x402d6f
push eax
push 9
push 0x110a
push dword [esi + 0x18]
call dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov ebp, dword [esp + 0x14]
lea eax, [esp + 0x78]
push eax
push dword [ebp + 0x1c]
call dword [esp + 0x8c]
mov eax, edi
lea ecx, [esp + 0x100]
shl eax, 4
mov edi, 5
add ecx, eax
mov edx, ecx
jmp 0x402e27
mov ebx, dword [esp + 0x84]
lea eax, [esp + 0x208]
push eax
push dword [esi + 0x18]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], edx
call ebx
lea eax, [esp + 0x208]
push eax
push 0
push 0x1111
push dword [esi + 0x18]
call dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x78]
push eax
push dword [ebp + 0x1c]
call ebx
jmp 0x402d55
test bl, bl
je 0x402d42
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi + 0x18]
call dword [esp + 0x4c]
inc eax
jmp 0x402d3e
push 0
push 0
push 0x19f
push dword [esi + 0x18]
call dword [esp + 0x4c]
inc eax
jmp 0x402d3e
mov ebp, dword [esp + 0x14]
lea eax, [esp + 0x78]
push eax
push dword [ebp + 0x1c]
call dword [esp + 0x8c]
mov eax, edi
lea ecx, [esp + 0x100]
shl eax, 4
add ecx, eax
mov edx, ecx
test esi, esi
je 0x402e19
mov edi, 5
jmp 0x402e27
mov dword [ecx + 4], 0xffffffff
mov esi, 0x4cee20
xor edi, edi
mov ebx, dword [esp + 0x2c]
mov dword [ecx + 8], edi
mov dword [edx], esi
mov edx, dword [esp + 0x30]
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 + 0x6c], al
lea edi, [esi + 1]
push ebp
sete al
mov dword [esp + 0x34], edi
mov dword [esp + ecx*8 + 0x104], eax
mov eax, dword [esp + 0x7c]
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 + 0x80]
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 + 0x60]
mov ebx, dword [esp + 0x68]
jmp 0x4032c3
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x80], ecx
push dword [ebx + 0x1c]
call dword [esp + 0x8c]
push 0xffffffffffffffec
push dword [ebx + 0x1c]
call dword [esp + 0x7c]
and eax, 0xffffffef
push eax
push 0xffffffffffffffec
push dword [ebx + 0x1c]
call dword [esp + 0xfc]
mov eax, edi
test esi, esi
je 0x402f27
mov ecx, esi
mov edx, 5
jmp 0x402f3d
add eax, eax
mov ecx, 0x4cee20
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.004651d0
mov dword [esp + esi*8 + 0x108], 5
mov dword [esp + esi*8 + 0x100], eax
cmp byte [ebx + 0xc6], 0
je 0x402f8c
push dword [0x4e9e3c]
push 0x60
push dword [esp + 0x80]
call dword [esp + 0x9c]
jmp 0x402f90
mov eax, dword [esp + 0x78]
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 + 0xc6], 0
mov dword [esp + 0x30], edi
je 0x402fd7
push dword [0x4e9e3c]
push 0x60
push dword [esp + 0x84]
call dword [esp + 0x9c]
jmp 0x402fdb
mov eax, dword [esp + 0x7c]
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 + 0x8c]
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x34], 0
mov eax, dword [ebp]
push ebp
call dword [eax + 4]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x168]
push eax
push ebp
push dword [esp + 0xac]
add ecx, 0x20
lea eax, [esp + 0x10c]
push dword [esp + 0x98]
cmp byte [esp + 0x37], 0
lea esi, [ebp + 0x4c]
push edi
push eax
cmove ecx, esi
call fcn.00479900
mov ebp, dword [ebp + 0x1c]
mov dword [esp + 0xc0], ebp
test ebp, ebp
je 0x40340f
mov eax, ebx
sub eax, 1
je 0x40335c
sub eax, 1
jne 0x40340f
cmp dword [esp + 0x168], eax
jne 0x403433
push eax
push ebp
call dword [esp + 0xf4]
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x1c]
call dword [esp + 0x170]
test eax, eax
setne al
cmp al, byte [ebp + 0xc9]
je 0x403337
mov ecx, dword [ebp]
mov byte [ebp + 0xc9], al
push ebp
test al, al
je 0x403334
call dword [ecx + 4]
jmp 0x403337
cmp edx, 4
jne 0x4032ab
mov eax, dword [esp + 0x6c]
mov esi, edi
mov ebp, dword [esp + 0x14]
add esi, esi
mov ebx, dword [esp + 0x2c]
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 + 0xc6], 0
movzx eax, bx
je 0x403111
push dword [0x4e9e3c]
push 0x60
push eax
call dword [esp + 0x9c]
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 + 0x30], edi
cmp byte [ebp + 0xc6], 0
je 0x403154
push dword [0x4e9e3c]
push 0x60
push eax
call dword [esp + 0x9c]
cdq
mov dword [esp + esi*8 + 0x128], 1
mov dword [esp + esi*8 + 0x120], eax
mov dword [esp + esi*8 + 0x124], edx
jmp 0x403008
cmp byte [esi + 0x30], 0x17
jne 0x403238
cmp edx, 7
jne 0x403238
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x268], 0xd
lea eax, [ebx - 1]
mov dword [esp + 0x26c], eax
lea eax, [esp + 0x268]
push eax
push 0
push 0x703
push dword [esi + 0x18]
call dword [esp + 0x4c]
test eax, eax
je 0x4031c1
mov ax, word [esp + 0x278]
mov ecx, edi
add ecx, ecx
test ax, ax
je 0x4031e7
lea eax, [esp + 0x278]
mov dword [esp + ecx*8 + 0x104], 0xffffffff
mov dword [esp + ecx*8 + 0x100], eax
xor eax, eax
jmp 0x4031fd
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 + 0x2d8]
mov dword [esp + ecx*8 + 0x118], 0
mov dword [esp + ecx*8 + 0x110], eax
mov dword [esp + ecx*8 + 0x114], 0xffffffff
mov dword [esp + 0x30], edi
mov ebp, dword [esp + 0x14]
jmp 0x403008
mov ecx, dword [esp + 0x2c]
mov eax, edi
add eax, eax
inc edi
mov dword [esp + 0x30], 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 0x40327b
sub eax, 1
je 0x403275
sub eax, 2
je 0x40327b
jmp 0x4032ab
cmp byte [esi + 0x30], 0xa
jne 0x4032ab
mov eax, dword [esp + 0x6c]
mov ecx, edi
add ecx, ecx
movzx eax, al
inc edi
cdq
sub eax, 1
mov dword [esp + 0x30], 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 + 0x14]
push ebp
mov eax, dword [ebp]
call dword [eax + 4]
mov ebx, dword [esp + 0x68]
cmp ebx, 5
jne 0x403013
test esi, esi
je 0x403013
push 0
push ebp
push dword [esp + 0xac]
lea eax, [edi - 1]
push dword [esp + 0x98]
lea ecx, [esi + 0x20]
push eax
lea eax, [esp + 0x124]
push eax
call fcn.00479900
cmp eax, 7
je 0x4032ff
cmp dword [ebp + 0x1c], 0
jne 0x403013
mov eax, dword [ebp]
push ebp
call dword [eax + 8]
mov edi, dword [esp + 0x18]
call fcn.004046a0
cmp dword [esp + 0xac], 0
jne 0x403b62
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
jmp 0x40191c
call dword [ecx + 8]
cmp dword [0x4e8be4], 0
jne 0x4032ff
mov ecx, 0x4e9e50
call fcn.00439eb0
test al, al
jne 0x4032ff
push 4
mov ecx, 0x4e9e50
call fcn.0043a1f0
jmp 0x4032ff
mov edx, dword [esi + 8]
xor ecx, ecx
test edx, edx
jle 0x4033b4
mov eax, dword [esi]
mov bh, byte [esp + 0x13]
add eax, 0xa
nop
cmp dword [eax - 6], 1
mov esi, edi
mov ebp, dword [esp + 0x30]
mov bl, bh
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
mov ebp, edi
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xc0]
jne 0x403398
cmp byte [eax], 0
je 0x4033cf
mov edi, dword [esp + 0x30]
inc ecx
add eax, 0xc
cmp ecx, edx
jl 0x403370
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
mov byte [esp + 0x13], bh
mov ebp, dword [esp + 0x14]
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 0x4032ff
push 0xffffffffffffffec
push ebp
call dword [esp + 0x7c]
mov ebp, dword [esp + 0x14]
or eax, 0x10
push eax
push 0xffffffffffffffec
push dword [ebp + 0x1c]
call dword [esp + 0xfc]
mov dword [esp + 0x2c], edi
mov edi, esi
mov dword [esp + 0x30], edi
mov byte [esp + 0x13], 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 0x4032ff
mov ebp, dword [esp + 0x14]
cmp ebx, 1
jne 0x4032ff
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 0x4032ff
mov ebp, dword [esp + 0x14]
jmp 0x4032ff
mov ebp, dword [esp + 0x14]
test ebp, ebp
je 0x403457
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x24], eax
mov eax, dword [ebp]
push ebp
call dword [eax + 4]
mov edi, dword [esp + 0x94]
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 + 0x190], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0xffffffff
mov eax, dword [eax + 0x14]
test eax, eax
je 0x40349e
cmp eax, edi
je 0x4034a1
mov eax, dword [eax + 0x20]
inc ecx
test eax, eax
jne 0x403492
or ecx, 0xffffffff
lea eax, [ecx + 1]
mov dword [esp + 0x1a8], 1
mov ecx, dword [0x4e9dcc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1b8], 5
mov dword [esp + 0x1b0], esi
cmp ecx, dword [0x4e9dd0]
jne 0x4034ec
call fcn.0040728a
mov ecx, dword [0x4e9dcc]
cmp ecx, dword [0x4e9dc8]
jb 0x403501
mov eax, dword [0x4ea490]
mov dword [ecx], eax
mov ecx, dword [0x4e9dcc]
add ecx, 0xc
lea eax, [esp + 0x190]
mov dword [0x4e9dcc], 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.00473940
mov eax, dword [0x4e9dcc]
add esp, 0x18
sub eax, 0xc
mov dword [0x4e9dcc], eax
cmp eax, dword [0x4e9dc8]
jb 0x40355d
mov eax, dword [eax]
mov dword [0x4e9ddc], eax
mov dword [0x4ea490], eax
mov eax, dword [esi]
push esi
call dword [eax + 8]
test ebp, ebp
je 0x403306
jmp 0x4032ff
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0x64]
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0x21]
mov byte [esi + 0x99], al
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x58], eax
mov al, byte [ebx + 0x24]
cmp al, byte [ebx + 0x25]
jae 0x4035db
mov byte [0x4ea4fa], 0
mov ecx, ebx
mov eax, dword [ebx + 4]
inc byte [ebx + 0x24]
push 0
mov dword [esp + 0x1cc], eax
lea eax, [esp + 0x1cc]
push 1
push eax
push dword [0x4ea494]
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1dc], 0xffffffff
call fcn.00479730
dec byte [ebx + 0x24]
mov ebp, dword [esp + 0x14]
jmp 0x403306
call dword [esp + 0x170]
test eax, eax
je 0x403618
mov ebx, dword [esp + 0x174]
push 0xd
call ebx
test eax, eax
jne 0x40360f
push 0xf
call ebx
test eax, eax
jne 0x40360f
mov eax, 2
xor ecx, ecx
jmp 0x403632
mov eax, 1
xor ecx, ecx
jmp 0x403632
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1dc], ecx
mov ecx, dword [0x4e9dcc]
mov dword [esp + 0x1e0], 1
mov dword [esp + 0x1d8], eax
mov byte [0x4ea4cc], 1
cmp ecx, dword [0x4e9dd0]
jne 0x40366b
call fcn.0040728a
mov ecx, dword [0x4e9dcc]
cmp ecx, dword [0x4e9dc8]
jb 0x403680
mov eax, dword [0x4ea490]
mov dword [ecx], eax
mov ecx, dword [0x4e9dcc]
add ecx, 0xc
lea eax, [esp + 0x1d8]
push 0
mov dword [0x4e9dcc], ecx
push 1
push 1
mov dword [ecx], 0
mov dword [ecx + 4], 0x4cee7c
mov dword [ecx + 8], 0
mov ecx, 0x4ea4ac
push eax
call fcn.004797d0
mov eax, dword [0x4e9dcc]
sub eax, 0xc
mov dword [0x4e9dcc], eax
cmp eax, dword [0x4e9dc8]
jb 0x4036d6
mov eax, dword [eax]
mov dword [0x4e9ddc], eax
mov dword [0x4ea490], eax
mov ebp, dword [esp + 0x14]
mov byte [0x4ea4cc], 0
jmp 0x403306
mov ebx, dword [esp + 0x28]
mov ecx, dword [0x4e9dcc]
mov dword [esp + 0x220], 5
mov esi, dword [ebx + 8]
mov dword [esp + 0x218], esi
mov esi, dword [esi + 0x368]
cmp ecx, dword [0x4e9dd0]
jne 0x40371e
call fcn.0040728a
mov ecx, dword [0x4e9dcc]
cmp ecx, dword [0x4e9dc8]
jb 0x403733
mov eax, dword [0x4ea490]
mov dword [ecx], eax
mov ecx, dword [0x4e9dcc]
add ecx, 0xc
lea eax, [esp + 0x218]
push 0
push ecx
push 0
mov dword [0x4e9dcc], 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.00473940
mov eax, dword [0x4e9dcc]
add esp, 0x18
sub eax, 0xc
mov dword [0x4e9dcc], eax
cmp eax, dword [0x4e9dc8]
jb 0x40378e
mov eax, dword [eax]
mov dword [0x4e9ddc], eax
mov dword [0x4ea490], eax
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ebp, dword [esp + 0x14]
jmp 0x403306
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x28]
movzx eax, cl
cdq
sar ecx, 0x10
mov esi, dword [ebx + 8]
mov dword [esp + 0x1a0], eax
movzx eax, cx
mov dword [esp + 0x1a4], edx
cdq
mov dword [esp + 0x198], 5
mov dword [esp + 0x190], esi
mov dword [esp + 0x1a8], 1
mov dword [esp + 0x1b8], 1
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], edx
cmp edi, 0x41c
jne 0x40380a
mov esi, dword [esi + 0x36c]
jmp 0x403810
mov esi, dword [esi + 0x374]
mov ecx, dword [0x4e9dcc]
cmp ecx, dword [0x4e9dd0]
jne 0x403829
call fcn.0040728a
mov ecx, dword [0x4e9dcc]
cmp ecx, dword [0x4e9dc8]
jb 0x40383e
mov eax, dword [0x4ea490]
mov dword [ecx], eax
mov ecx, dword [0x4e9dcc]
add ecx, 0xc
lea eax, [esp + 0x190]
push 0
push ecx
push 0
mov dword [0x4e9dcc], 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.00473940
mov eax, dword [0x4e9dcc]
add esp, 0x18
mov ebp, dword [esp + 0x14]
sub eax, 0xc
mov edi, dword [esp + 0x18]
mov dword [0x4e9dcc], eax
cmp eax, dword [0x4e9dc8]
jb 0x40330a
mov eax, dword [eax]
mov dword [0x4e9ddc], eax
mov dword [0x4ea490], eax
jmp 0x40330a
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x28]
mov ecx, dword [0x4e9dcc]
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 + 0x1a8], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x198], 5
mov dword [esp + 0x190], esi
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], 0xffffffff
mov esi, dword [esi + 0x370]
cmp ecx, dword [0x4e9dd0]
jne 0x403923
call fcn.0040728a
mov ecx, dword [0x4e9dcc]
cmp ecx, dword [0x4e9dc8]
jb 0x403938
mov eax, dword [0x4ea490]
mov dword [ecx], eax
mov ecx, dword [0x4e9dcc]
add ecx, 0xc
lea eax, [esp + 0x190]
push 0
push ecx
push 0
mov dword [0x4e9dcc], 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.00473940
mov eax, dword [0x4e9dcc]
add esp, 0x18
mov ebp, dword [esp + 0x14]
sub eax, 0xc
mov edi, dword [esp + 0x18]
mov dword [0x4e9dcc], eax
cmp eax, dword [0x4e9dc8]
jb 0x40330a
mov eax, dword [eax]
mov dword [0x4e9ddc], eax
mov dword [0x4ea490], eax
jmp 0x40330a
mov ebp, dword [esp + 0x98]
mov al, byte [ebp + 0x10]
add al, 0x64
cmp al, 3
ja 0x4039bc
movzx eax, word [esp + 0x50]
mov dword [esi + 0x24], eax
cmp byte [0x4ea7e4], 0
mov ebx, dword [esp + 0x9c]
mov eax, dword [esp + 0x64]
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0x1c]
mov byte [esi + 0x99], al
mov eax, dword [ebx + 8]
mov dword [esi + 0x58], eax
jne 0x4035db
cmp dword [0x4e8f88], 0
mov esi, dword [esp + 0x18]
jne 0x4039fa
call esi
mov dword [0x4e8f88], eax
inc dword [0x4ea7e0]
call esi
mov edi, dword [0x4ea7e0]
mov ecx, eax
sub ecx, dword [0x4e8f88]
mov edx, dword [0x4e4d04]
mov dword [0x4e8f84], eax
cmp edi, dword [0x4e4d08]
jbe 0x403a2e
cmp ecx, edx
jae 0x403a2e
mov esi, 1
jmp 0x403a30
xor esi, esi
test esi, esi
je 0x403ab4
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 + 0x274]
push 0x800
push eax
call fcn.00480f70
add esp, 0x14
call fcn.00413a70
movsd xmm3, qword [esp + 0x1f8]
lea ecx, [esp + 0x268]
push 0
push 0
mov edx, 4
mov byte [0x4ea7e4], 1
mov dword [0x4e4790], 0
call fcn.00486ab0
add esp, 8
cmp eax, 7
jne 0x403a9c
push 4
mov ecx, 0x4e9e50
call fcn.0043a1f0
mov eax, dword [0x4e8f84]
mov dword [0x4e4790], 1
mov byte [0x4ea7e4], 0
jmp 0x403ab8
cmp ecx, edx
jbe 0x403acf
mov dword [0x4ea7e0], 0
mov dword [0x4e8f88], eax
test esi, esi
jne 0x4035db
mov al, byte [ebp + 0xf]
mov ecx, ebx
mov byte [0x4ea4fa], al
inc byte [ebx + 0x1a]
mov eax, dword [ebp + 0x1c]
push 0
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x1ec]
push 1
push eax
push dword [0x4ea494]
mov dword [esp + 0x200], 0
mov dword [esp + 0x1fc], 0xffffffff
call fcn.00479730
dec byte [ebx + 0x1a]
test eax, eax
jne 0x403b26
mov ebp, dword [esp + 0x14]
mov byte [ebx + 0x1f], al
jmp 0x403306
cmp byte [ebx + 0x1f], 0
mov edi, dword [esp + 0x18]
je 0x403b59
mov byte [ebx + 0x1f], 0
call edi
sub eax, dword [ebx + 0x10]
cmp eax, 0x3e8
ja 0x403b59
movzx eax, word [ebp + 4]
push 0
push eax
push 0x312
push dword [0x4e8bf4]
call dword [esp + 0x104]
mov ebp, dword [esp + 0x14]
jmp 0x40330a
call edi
cmp byte [esp + 0x25], 0
mov esi, dword [esp + 0x1c]
jne 0x403b83
mov ecx, dword [esp + 0xa0]
sub ecx, eax
add ecx, esi
cmp ecx, 5
jg 0x403c9e
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov dword [0x4ea534], eax
mov al, 1
mov ah, byte [esp + 0x13]
mov byte [esp + 0x12], al
mov byte [esp + 0x25], al
mov byte [esp + 0x13], ah
jmp 0x40191c
mov ebp, dword [esp + 0x14]
call dword [esp + 0xdc]
mov esi, eax
test esi, esi
je 0x403c70
push 0
push esi
call dword [esp + 0xe8]
cmp eax, dword [0x4e9e38]
jne 0x403c70
push 0x20
lea eax, [esp + 0x22c]
push eax
mov eax, dword [esp + 0xb8]
push esi
call eax
mov ecx, str.32770
lea eax, [esp + 0x228]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x403c1a
test dx, dx
je 0x403c16
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x403c1a
add eax, 4
add ecx, 4
test dx, dx
jne 0x403bf4
xor eax, eax
jmp 0x403c1f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403c70
mov ecx, dword [0x4e4798]
mov byte [ecx + 0x52], 1
mov eax, dword [esp + 0x48]
mov dword [ecx + 0x4c], eax
lea eax, [esp + 0x44]
push eax
push esi
call dword [esp + 0xec]
test eax, eax
je 0x403c64
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
mov byte [edx + 0x52], 0
jmp 0x40191c
mov ecx, dword [0x4e4798]
mov byte [ecx + 0x52], 0
jmp 0x403c76
mov ecx, dword [0x4e4798]
mov eax, dword [0x4e8bd8]
test eax, eax
je 0x403cb7
lea ecx, [esp + 0x44]
push ecx
push eax
push dword [0x4e8bf4]
call dword [esp + 0xf4]
test eax, eax
je 0x403cb1
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov al, byte [esp + 0x12]
jmp 0x40191c
mov ecx, dword [0x4e4798]
mov byte [ecx + 0x52], 1
mov eax, dword [esp + 0x48]
mov dword [ecx + 0x4c], eax
lea eax, [esp + 0x44]
push eax
call dword [esp + 0x17c]
lea eax, [esp + 0x44]
push eax
call dword [esp + 0x44]
mov edx, dword [0x4e4798]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
mov byte [edx + 0x52], 0
jmp 0x40191c
xor ecx, ecx
mov dword [0x4ea534], eax
cmp byte [esp + 0x37], cl
movzx eax, byte [0x4e8bc7]
cmovne eax, ecx
mov byte [0x4e8bc7], al
cmp byte [esp + 0x26], cl
je 0x403d90
mov eax, dword [0x4e8bf8]
dec eax
mov dword [0x4e8bf8], eax
test esi, esi
jle 0x403d90
test eax, eax
jmp 0x403d54
xor ecx, ecx
mov dword [0x4ea534], eax
cmp byte [esp + 0x37], cl
movzx eax, byte [0x4e8bc7]
cmovne eax, ecx
mov byte [0x4e8bc7], al
cmp byte [esp + 0x26], cl
je 0x403d90
sub dword [0x4e8bf8], 1
jne 0x403d90
cmp dword [0x4ea4e0], ecx
jne 0x403d90
cmp dword [0x4e8f6c], ecx
jne 0x403d90
cmp byte [0x4e8bc6], cl
je 0x403d90
push 9
push dword [0x4e8bf4]
call dword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x4e8bc6]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov byte [0x4e8bc6], cl
mov al, byte [esp + 0x38]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret