Function at 0x4015d0
Capabilities:
Check for software breakpoints
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2430
call fcn.004aea90
push ebx
push ebp
push esi
push edi
mov esi, edx
mov dword [esp + 0xb8], esi
mov ebp, ecx
mov dword [esp + 0x18], ebp
mov byte [esp + 0x3d], 0
cmp esi, 2
jne 0x40161e
cmp byte [0x4dc2e3], 0
mov esi, 1
mov dword [esp + 0xb8], esi
jne 0x40161e
mov byte [0x4dc2e3], 1
mov byte [esp + 0x3d], 1
cmp dword [0x4de7f8], 0
je 0x401660
cmp dword [0x4de7e8], 0
je 0x401646
push dword [0x4de7e0]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [0x4de7e8], 0
call dword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x4de7f8], 0
mov dword [0x4de7e0], 0
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x10], eax
cmp ebp, 0x8000012f
jne 0x40168c
mov ebp, 0xa
mov byte [esp + 0x22], 1
mov dword [esp + 0x18], ebp
mov dword [esp + 0xa4], 0
jmp 0x4016ac
cmp ebp, 5
setle byte [esp + 0x22]
jg 0x4016a3
mov dword [esp + 0xa4], 0
jmp 0x4016ac
call eax
mov dword [esp + 0xa4], eax
cmp dword [0x4dcefc], 0
je 0x4016ba
call fcn.00404270
xor bl, bl
mov edi, 1
cmp dword [0x4de74c], 0
mov dword [esp + 0x84], ebx
je 0x4016e5
call fcn.00403f40
test al, al
movzx ebx, bl
cmovne ebx, edi
mov dword [esp + 0x84], ebx
test ebp, ebp
jle 0x40171f
cmp esi, 1
jne 0x40171f
inc dword [0x4dc428]
cmp byte [0x4dc2e2], 0
mov byte [esp + 0x3e], 1
jne 0x401724
push 0
push 0xa
push 9
push dword [0x4dc424]
call dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
setne byte [0x4dc2e2]
jmp 0x401724
mov byte [esp + 0x3e], 0
mov eax, dword [sym.imp.USER32.dll_GetMessageW]
xorps xmm0, xmm0
mov dword [esp + 0x160], 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 + 0xbc], eax
mov eax, dword [sym.imp.USER32.dll_GetFocus]
mov dword [esp + 0xf0], eax
mov eax, dword [sym.imp.USER32.dll_PeekMessageW]
mov dword [esp + 0x7c], eax
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0xc0], eax
mov eax, dword [sym.imp.USER32.dll_TranslateAcceleratorW]
mov dword [esp + 0xec], eax
mov eax, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [esp + 0xc4], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [esp + 0x98], eax
mov eax, dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [esp + 0x164], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x30], 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 + 0x168], eax
mov eax, dword [sym.imp.SHELL32.dll_DragFinish]
mov dword [esp + 0x94], eax
mov eax, dword [sym.imp.USER32.dll_ScreenToClient]
mov dword [esp + 0x174], eax
mov eax, dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [esp + 0xf4], 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 + 0xb4], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [esp + 0xe8], 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 + 0x44], eax
mov eax, dword [sym.imp.USER32.dll_GetParent]
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x44]
mov dword [esp + 0xac], eax
mov eax, dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [esp + 0xa8], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageW]
mov dword [esp + 0xd8], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [esp + 0x90], eax
mov eax, dword [sym.imp.USER32.dll_MapWindowPoints]
mov dword [esp + 0x170], eax
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb0], eax
mov al, byte [esp + 0x3f]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x4b], 0
mov byte [esp + 0x3c], 0
mov dword [esp + 0x14], 0
movsd qword [esp + 0x1d8], xmm0
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x88], ecx
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x44]
xor edi, edi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x9c], eax
jmp 0x401938
mov esi, dword [esp + 0x10]
jmp 0x401938
mov ebp, dword [esp + 0x18]
jmp 0x401938
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
call esi
mov ebx, eax
test ebp, ebp
jle 0x4019f4
cmp byte [esp + 0x3c], 0
jne 0x4019f4
cmp byte [0x4dc2e3], 0
jne 0x401a01
cmp dword [0x4d98d0], 0
je 0x4019b5
cmp dword [0x4dc2ec], 0
jne 0x4019b5
mov ecx, dword [0x4d98d8]
cmp byte [ecx + 0xec], 0
jne 0x4019ac
cmp byte [ecx + 0xee], 0
jne 0x4019ac
cmp dword [ecx + 0xe0], 0xffffffff
jle 0x4019ac
call esi
mov ecx, dword [0x4d98d8]
sub eax, dword [ecx + 0xdc]
cmp eax, dword [ecx + 0xe0]
jb 0x4019ac
mov byte [ecx + 0xec], 1
movzx ecx, byte [ecx + 0xec]
jmp 0x4019b7
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 + 0x170]
cmp eax, 0xffffffff
je 0x401938
call esi
mov ecx, eax
sub ecx, ebx
cmp ecx, 3
jbe 0x401cd8
mov dword [0x4de798], eax
jmp 0x401cd8
cmp byte [0x4dc2e3], 0
je 0x401bc0
call dword [esp + 0xdc]
mov esi, eax
test esi, esi
je 0x401bbc
push 0
push esi
call dword [esp + 0xe8]
cmp eax, dword [0x4ddc88]
jne 0x401bbc
cmp dword [0x4dc420], 0
je 0x401a82
push 0x20
lea eax, [esp + 0x24c]
push eax
push esi
mov esi, dword [esp + 0xc8]
call esi
mov ecx, str.32770
lea eax, [esp + 0x248]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401a77
test dx, dx
je 0x401a73
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401a77
add eax, 4
add ecx, 4
test dx, dx
jne 0x401a51
xor eax, eax
jmp 0x401a7c
sbb eax, eax
or eax, 1
test eax, eax
je 0x401adb
jmp 0x401a89
mov esi, dword [esp + 0xbc]
call dword [esp + 0xf0]
test eax, eax
je 0x401bbc
push 0x20
lea ecx, [esp + 0x24c]
push ecx
push eax
call esi
lea eax, [esp + 0x248]
push str.SysTreeView32
push eax
call fcn.00499643
add esp, 8
test eax, eax
je 0x401adb
lea eax, [esp + 0x248]
push str.SysListView32
push eax
call fcn.00499643
add esp, 8
test eax, eax
jne 0x401bbc
cmp dword [0x4d98d0], 0
je 0x401b38
cmp dword [0x4dc2ec], 0
jne 0x401b38
mov ecx, dword [0x4d98d8]
cmp byte [ecx + 0xec], 0
jne 0x401b2f
cmp byte [ecx + 0xee], 0
jne 0x401b2f
cmp dword [ecx + 0xe0], 0xffffffff
jle 0x401b2f
mov eax, dword [esp + 0x10]
call eax
mov ecx, dword [0x4d98d8]
sub eax, dword [ecx + 0xdc]
cmp eax, dword [ecx + 0xe0]
jb 0x401b2f
mov byte [ecx + 0xec], 1
movzx eax, byte [ecx + 0xec]
jmp 0x401b3a
xor eax, eax
mov edi, dword [esp + 0x7c]
test eax, eax
push 0
push 0x1ff
mov eax, 0xffffffff
mov esi, 0x311
push 0
cmovne esi, eax
lea eax, [esp + 0x60]
push 0
push eax
call edi
test eax, eax
lea eax, [esp + 0x54]
jne 0x401b79
push 1
push esi
push 0x20e
push 0
push eax
call edi
jmp 0x401c3a
mov edi, dword [esp + 0x64]
push 0
push esi
push 0x20e
push 0
push eax
call dword [esp + 0x90]
push 1
test eax, eax
jne 0x401b9f
push 0x1ff
jmp 0x401c2a
mov eax, dword [esp + 0x68]
sub eax, edi
test eax, eax
lea eax, [esp + 0x58]
jle 0x401bb4
push 0x1ff
jmp 0x401c2e
push esi
push 0x20e
jmp 0x401c30
mov esi, dword [esp + 0x10]
cmp dword [0x4d98d0], 0
je 0x401c19
cmp dword [0x4dc2ec], 0
jne 0x401c19
mov ecx, dword [0x4d98d8]
cmp byte [ecx + 0xec], 0
jne 0x401c10
cmp byte [ecx + 0xee], 0
jne 0x401c10
cmp dword [ecx + 0xe0], 0xffffffff
jle 0x401c10
call esi
mov ecx, dword [0x4d98d8]
sub eax, dword [ecx + 0xdc]
cmp eax, dword [ecx + 0xe0]
jb 0x401c10
mov byte [ecx + 0xec], 1
movzx ecx, byte [ecx + 0xec]
jmp 0x401c1b
xor ecx, ecx
xor edx, edx
mov eax, 0x311
test ecx, ecx
push 1
cmovne eax, edx
push eax
lea eax, [esp + 0x5c]
push 0
push 0
push eax
call dword [esp + 0x90]
mov esi, dword [esp + 0x10]
test eax, eax
jne 0x401cd4
call esi
mov edx, dword [0x4de798]
mov ecx, eax
sub ecx, ebx
cmp ecx, 3
cmova edx, eax
mov dword [0x4de798], edx
test ebp, ebp
jne 0x401c7b
cmp byte [esp + 0x4b], 0
jne 0x401c7b
push ebp
call dword [esp + 0xc4]
mov byte [esp + 0x4b], 1
jmp 0x401934
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x401ca5
cmp byte [esp + 0x22], 0
je 0x401ca5
test ebp, ebp
jle 0x401c97
push 5
call dword [esp + 0xc4]
mov edi, 1
mov dword [esp + 0x14], edi
jmp 0x401938
call esi
cmp byte [esp + 0x22], 0
jne 0x403d7f
mov ecx, dword [esp + 0xa4]
sub ecx, eax
add ecx, ebp
cmp ecx, 5
jle 0x403d7f
push 5
call dword [esp + 0xc4]
jmp 0x401938
mov edi, dword [esp + 0x14]
inc edi
cmp dword [0x4ddc98], 0
mov dword [esp + 0x14], edi
je 0x401d13
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x1e4]
mov ecx, dword [esp + 0x54]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x68]
push dword [esp + 0x68]
call fcn.00404340
add esp, 0x10
test al, al
jne 0x401938
mov ecx, dword [0x4dc41c]
mov ebx, dword [esp + 0x54]
test ecx, ecx
je 0x4021fd
test ebx, ebx
je 0x4021fd
cmp ebx, dword [0x4dc424]
je 0x4021fd
mov edx, dword [esp + 0x58]
cmp edx, 0x414
je 0x4021fd
cmp edx, 0x402
je 0x4021fd
lea eax, [edx - 0x100]
cmp eax, 9
ja 0x40219c
call dword [esp + 0xf0]
mov ebp, eax
mov dword [esp + 0x4c], ebp
test ebp, ebp
je 0x40218e
mov ebx, dword [esp + 0x98]
mov esi, ebp
push 0xfffffffffffffff0
push ebp
call ebx
test eax, 0x40000000
je 0x401dae
mov ebp, dword [esp + 0xac]
push esi
call ebp
test eax, eax
je 0x401daa
push 0xfffffffffffffff0
push eax
mov esi, eax
call ebx
test eax, 0x40000000
jne 0x401d95
mov ebp, dword [esp + 0x4c]
test esi, esi
je 0x40218e
mov ecx, ebp
call fcn.004619e0
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x40218e
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x401dec
lea eax, [esp + 0x54]
push eax
push ecx
push esi
call dword [esp + 0xf8]
mov esi, dword [esp + 0x10]
test eax, eax
jne 0x40192a
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
cmp edx, 0x100
jne 0x402135
cmp byte [ebx + 0xb8], 0
je 0x40200a
cmp edi, 0x22
je 0x401e2a
cmp edi, 0x21
je 0x401e2a
cmp edi, 9
je 0x401e2a
cmp edi, 0x25
je 0x401e2a
cmp edi, 0x27
jne 0x40200a
push ebp
mov edi, ebp
call dword [esp + 0xac]
lea esi, [eax - 3]
cmp esi, dword [ebx + 0x10]
jb 0x401e5e
push ebp
call dword [esp + 0xb0]
mov edi, eax
test edi, edi
je 0x401e55
push edi
call dword [esp + 0xac]
lea esi, [eax - 3]
cmp esi, dword [ebx + 0x10]
jae 0x401fee
mov eax, dword [ebx + 0x18]
lea ecx, [esi + esi*4]
lea ecx, [eax + ecx*4]
mov dword [esp + 0x34], ecx
cmp dword [ecx], edi
jne 0x401fee
cmp esi, 0x2af8
je 0x401fee
test ecx, ecx
je 0x401ff6
mov al, byte [ecx + 4]
cmp al, 0xf
je 0x401ff6
mov edi, dword [esp + 0x5c]
xor esi, esi
cmp al, 0x13
jne 0x401ec7
mov esi, ecx
cmp edi, 0x25
je 0x401ea8
cmp edi, 0x27
jne 0x401ec7
cmp edi, 0x27
push 0
sete al
push 0
movzx eax, al
push eax
push ecx
mov ecx, ebx
call fcn.0046ff60
mov esi, dword [esp + 0x10]
jmp 0x401930
cmp edi, 0x25
je 0x401ffa
cmp edi, 0x27
je 0x401ffa
push 0x11
call dword [esp + 0xc8]
mov ecx, 0x8000
test cx, ax
je 0x401ff6
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
cmp edi, 9
jne 0x401f1e
cmp byte [eax + 4], 0xc
jne 0x401f1e
push 0xfffffffffffffff0
push dword [eax]
call dword [esp + 0xa0]
test al, 4
jne 0x401ff6
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
test esi, esi
jne 0x401f90
mov bl, byte [eax + 6]
cmp bl, 0xff
je 0x401f5a
mov esi, dword [esp + 0x1c]
xor al, al
xor ecx, ecx
mov edx, dword [esi + 0x10]
test edx, edx
je 0x401f5a
mov esi, dword [esi + 0x18]
nop dword [eax]
cmp byte [esi + 4], 0x13
jne 0x401f4c
cmp al, bl
je 0x401f56
inc al
inc ecx
add esi, 0x14
cmp ecx, edx
jb 0x401f40
jmp 0x401f5a
test esi, esi
jne 0x401f8c
mov ebx, dword [esp + 0x1c]
xor al, al
xor ecx, ecx
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x401ffa
mov esi, dword [ebx + 0x18]
cmp byte [esi + 4], 0x13
jne 0x401f7c
test al, al
je 0x401f86
inc al
inc ecx
add esi, 0x14
cmp ecx, edx
jb 0x401f70
jmp 0x401ffa
test esi, esi
je 0x401ffa
jmp 0x401f90
mov ebx, dword [esp + 0x1c]
push dword [esi]
call dword [esp + 0x168]
test eax, eax
je 0x401ff6
mov eax, dword [esp + 0x5c]
cmp eax, 0x22
je 0x401fd6
cmp eax, 9
jne 0x401fbe
push 0x10
call dword [esp + 0xc8]
mov ecx, 0x8000
test cx, ax
je 0x401fd6
push 1
push 1
xor al, al
mov ecx, ebx
push eax
push esi
call fcn.0046ff60
mov esi, dword [esp + 0x10]
jmp 0x401930
push 1
push 1
mov al, 1
mov ecx, ebx
push eax
push esi
call fcn.0046ff60
mov esi, dword [esp + 0x10]
jmp 0x401930
mov dword [esp + 0x34], 0
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp edx, 0x100
jne 0x402135
cmp edi, 0x1b
je 0x402046
cmp edi, 9
je 0x402046
cmp edi, 0x41
jne 0x402135
mov esi, dword [esp + 0xc4]
push 0x11
call esi
mov edi, 0x8000
test di, ax
je 0x40212d
push 0xa5
call esi
test di, ax
jne 0x40212d
mov edi, dword [esp + 0xa8]
push ebp
call edi
lea esi, [eax - 3]
cmp esi, dword [ebx + 0x10]
jb 0x402075
push ebp
call dword [esp + 0xb0]
mov ebp, eax
test ebp, ebp
je 0x40206c
push ebp
call edi
lea esi, [eax - 3]
cmp esi, dword [ebx + 0x10]
jae 0x402125
mov eax, dword [ebx + 0x18]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [esp + 0x34], eax
cmp ecx, ebp
jne 0x402125
cmp esi, 0x2af8
je 0x402125
test eax, eax
je 0x40212d
cmp byte [eax + 4], 0xc
jne 0x40212d
mov edi, dword [esp + 0x5c]
cmp edi, 0x1b
je 0x4020f4
mov al, byte [eax + 5]
cmp edi, 0x41
je 0x4020d9
test al, al
jns 0x402131
push 0x4b7148
push 1
push 0xc2
push ecx
call dword [esp + 0x40]
mov esi, dword [esp + 0x10]
jmp 0x401930
test al, 2
jne 0x402131
push 0xffffffffffffffff
push 0
push 0xb1
push ecx
call dword [esp + 0x40]
mov esi, dword [esp + 0x10]
jmp 0x401930
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp dword [ebp + 0x28], 0
je 0x40192a
push 0
push 0x2af80007
push 0x414
push dword [ebp + 4]
call dword [esp + 0xe8]
jmp 0x401930
mov dword [esp + 0x34], 0
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov eax, dword [0x4ddc58]
test eax, eax
je 0x40217e
cmp edx, 0x100
jne 0x40217e
cmp edi, 0xd
jne 0x402162
push 0
push 0
push 0x1116
push eax
call dword [esp + 0x40]
mov esi, dword [esp + 0x10]
jmp 0x401930
cmp edi, 0x1b
jne 0x40217e
push 0
push 1
push 0x1116
push eax
call dword [esp + 0x40]
mov esi, dword [esp + 0x10]
jmp 0x401930
mov ebx, dword [esp + 0x54]
mov ecx, dword [0x4dc41c]
mov ebp, dword [esp + 0x18]
jmp 0x4021a0
mov ebx, dword [esp + 0x54]
mov ecx, dword [0x4dc41c]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x5c]
xor esi, esi
test ecx, ecx
jle 0x402201
nop word [eax + eax]
mov ecx, dword [0x4d98d8]
mov byte [ecx + 0xe8], 1
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xe4], eax
lea eax, [esp + 0x54]
push eax
mov eax, dword [0x4dc418]
mov eax, dword [eax + esi*4]
push dword [eax + 4]
call dword [esp + 0xec]
test eax, eax
mov eax, dword [0x4d98d8]
mov byte [eax + 0xe8], 0
jne 0x402240
mov ecx, dword [0x4dc41c]
inc esi
cmp esi, ecx
jl 0x4021b0
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp edx, 0x401
ja 0x40241f
cmp edx, 0x400
jae case.0x402435.1045
cmp edx, 0x100
ja 0x402285
je 0x402260
cmp edx, 0x12
je 0x402249
cmp edx, 0x4b
jne case.0x402435.1027
mov dword [0x4dc404], 0
mov byte [esp + 0x3c], 1
mov esi, dword [esp + 0x10]
jmp 0x401934
push 0
push 5
mov ecx, 0x4ddca0
call fcn.004177e0
mov esi, dword [esp + 0x10]
jmp 0x401934
cmp ebx, dword [0x4dc400]
jne case.0x402435.1027
cmp edi, 0x1b
jne case.0x402435.1027
push 0
push dword [0x4dc424]
call dword [esp + 0xbc]
mov esi, dword [esp + 0x10]
jmp 0x401934
cmp edx, 0x113
je 0x402313
cmp edx, 0x312
je case.0x402435.1026
call dword [esp + 0xdc]
mov esi, eax
test esi, esi
je 0x403d08
push 0
push esi
call dword [esp + 0xe8]
cmp eax, dword [0x4ddc88]
jne 0x403d08
push 0x20
lea eax, [esp + 0x24c]
push eax
push esi
call dword [esp + 0xc8]
mov ecx, str.32770
lea eax, [esp + 0x248]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x403c8d
test dx, dx
je 0x40230c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x403c8d
add eax, 4
add ecx, 4
test dx, dx
jne 0x4022e2
xor eax, eax
jmp 0x403c92
cmp dword [esp + 0x60], 0
jne case.0x402435.1027
cmp ebx, dword [0x4dc424]
jne case.0x402435.1027
cmp dword [0x4dcefc], 0
je 0x402334
call fcn.00404270
cmp dword [0x4de74c], 0
je 0x40235f
call fcn.00403f40
mov edx, dword [esp + 0x84]
test al, al
movzx ebx, dl
mov eax, 1
cmovne ebx, eax
mov dword [esp + 0x84], ebx
jmp 0x402366
mov ebx, dword [esp + 0x84]
cmp dword [esp + 0xb8], 0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
je 0x401938
cmp ebp, 1
jl 0x401938
call esi
cmp byte [esp + 0x22], 0
jne 0x4023a2
mov ecx, dword [esp + 0xa4]
sub ecx, eax
add ecx, ebp
cmp ecx, 5
jg 0x401934
xor ecx, ecx
mov dword [0x4de798], eax
cmp byte [esp + 0x3d], cl
xorps xmm0, xmm0
mov dword [0x4de79c], eax
movzx eax, byte [0x4dc2e3]
cmovne eax, ecx
movlpd qword [0x4de788], xmm0
mov byte [0x4dc2e3], al
cmp byte [esp + 0x3e], cl
je 0x402415
sub dword [0x4dc428], 1
jne 0x402415
cmp dword [0x4de74c], ecx
jne 0x402415
cmp dword [0x4dcefc], ecx
jne 0x402415
cmp byte [0x4dc2e2], cl
je 0x402415
push 9
push dword [0x4dc424]
call dword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x4dc2e2]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov byte [0x4dc2e2], cl
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edx - 0x402]
cmp eax, 0x1c
ja case.0x402435.1027
movzx eax, byte [eax + 0x403e20]
jmp dword [eax*4 + 0x403e14]
test ebx, ebx
je case.0x402435.1026
cmp ebx, dword [0x4dc424]
jne case.0x402435.1027
lea eax, [edx - 0x401]
mov dword [esp + 0x4c], 0
cmp eax, 0x1d
ja case.0x40246a.1027
movzx eax, byte [eax + 0x403e5c]
jmp dword [eax*4 + 0x403e40]
xor eax, eax
test ecx, ecx
jle 0x402493
mov esi, dword [0x4dc418]
nop dword [eax]
mov ebp, dword [esi + eax*4]
mov dword [esp + 0x1c], ebp
mov edx, dword [ebp + 4]
cmp edx, ebx
je 0x4024a0
inc eax
cmp eax, ecx
jl 0x402480
mov dword [esp + 0x1c], 0
jmp case.0x402435.1027
test ebp, ebp
je case.0x402435.1027
movzx esi, di
xor ecx, ecx
shr edi, 0x10
cmp esi, 8
mov eax, edi
mov dword [esp + 0x38], ecx
cmovne edi, dword [esp + 0x60]
mov ecx, 0x2af8
cmove eax, ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x60]
cmovne eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov ebx, eax
mov eax, dword [esp + 0xb0]
cmp eax, dword [ebp + 0x10]
jae 0x4024f7
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*4]
jmp 0x4024f9
xor ecx, ecx
lea eax, [esi - 5]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x88], 0
mov byte [esp + 0x23], 0
cmp eax, 4
ja case.default.0x402519
jmp dword [eax*4 + 0x403e7c]
mov eax, dword [ebp + 0x2c]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
test eax, eax
je 0x401930
mov eax, 0x3a
jmp 0x402588
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x401930
mov eax, 0x38
jmp 0x402588
mov eax, dword [ebp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x401930
mov eax, 0x39
add eax, ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x88], eax
je 0x4026cd
cmp byte [eax], 0
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x88], eax
jne 0x401938
mov esi, dword [esp + 0x28]
xor ebp, ebp
mov dword [esp + 0x2c], ebx
jmp 0x402ab7
mov esi, dword [ebp + 0x34]
test esi, esi
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], eax
je 0x401934
mov esi, dword [esp + 0x28]
xor ebp, ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebx
jmp 0x402ab7
mov ecx, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x68]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x24], edi
mov esi, dword [ecx + 0x30]
mov dword [esp + 0x28], esi
test esi, esi
je 0x402642
mov dword [esp + 0x24], edi
test ebp, ebp
je 0x402659
push 0
push 0
push 0xffffffffffffffff
push ebp
call dword [esp + 0x178]
mov edi, eax
mov dword [esp + 0x24], edi
test edi, edi
jne 0x4026cd
test ebp, ebp
je 0x402659
push ebp
call dword [esp + 0x98]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x68], 0
mov esi, dword [esp + 0x10]
mov dword [esp + 0x2c], ebx
jmp 0x401930
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], eax
test ecx, ecx
je 0x401934
mov eax, dword [ecx + 0xc]
mov cl, byte [ecx + 5]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4026af
test cl, 1
je 0x4026a2
test edx, edx
je 0x4026a2
push eax
push edx
call dword [esp + 0xbc]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebx
jmp 0x401930
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebx
test cl, 4
jne 0x401934
mov byte [esp + 0x23], 1
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0x28]
xor ebp, ebp
mov dword [esp + 0x2c], ebx
jmp 0x402ab7
test edi, edi
je 0x402721
xor eax, eax
test ecx, ecx
jle 0x402701
mov edx, dword [0x4dc418]
nop dword [eax]
mov ebp, dword [edx + eax*4]
mov dword [esp + 0x1c], ebp
cmp dword [ebp + 4], edi
je 0x40271b
inc eax
cmp eax, ecx
jl 0x4026f0
mov dword [esp + 0x1c], 0
test ebx, ebx
je 0x402729
cmp ebx, dword [0x4dc424]
jne case.0x402435.1027
jmp 0x402729
test ebp, ebp
jne 0x402729
jmp 0x402709
mov dword [esp + 0x1c], 0
mov ecx, dword [0x4de750]
test ecx, ecx
je 0x402759
mov eax, dword [esp + 0x60]
mov edi, dword [ecx + 4]
mov dword [esp + 0x70], edi
test edi, edi
je 0x402752
cmp dword [edi + 0x14], eax
je 0x402768
mov edi, dword [edi + 0x20]
mov dword [esp + 0x70], edi
test edi, edi
jne 0x402742
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x402737
mov esi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x70], eax
jmp 0x401930
mov esi, dword [edi + 8]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], esi
test esi, esi
je 0x402240
mov ebp, dword [edi + 0x18]
jmp 0x402abb
mov esi, dword [esp + 0x10]
cmp edi, dword [0x4dcef8]
jae 0x401934
mov eax, dword [0x4dcef4]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x80], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4027dd
mov edx, dword [eax + 4]
call fcn.0040a5f0
mov edi, eax
mov dword [esp + 0x74], edi
test edi, edi
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x14]
je 0x401938
mov edi, dword [esp + 0x80]
mov ecx, dword [edi + 0x10]
mov cl, byte [ecx]
cmp cl, 1
je 0x4027ee
cmp cl, 3
je 0x4027ee
xor edi, edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x80]
push dword [esp + 0x60]
mov ecx, edi
call fcn.0040d260
cmp dword [edi + 0xc], 0
mov esi, dword [esp + 0x10]
jne 0x401934
cmp byte [edi + 0x2a], 0
je 0x402822
mov ax, word [esp + 0x60]
mov word [0x4de764], ax
mov esi, dword [edi]
mov ebp, dword [edi + 0x14]
jmp 0x402ab3
xor eax, eax
mov word [0x4de764], ax
mov esi, dword [edi]
mov ebp, dword [edi + 0x14]
jmp 0x402ab3
cmp byte [0x4de738], 0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jne 0x401938
mov esi, dword [0x4de72c]
test esi, esi
cmove esi, dword [0x4de2d8]
xor ebp, ebp
jmp 0x402ab3
mov ebx, edi
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x402878
xor esi, esi
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x10]
jmp 0x401934
mov eax, dword [0x4dc414]
cmp eax, ebx
jne 0x40288b
mov eax, dword [edi + 4]
mov dword [0x4dc414], eax
jmp 0x4028b1
test eax, eax
je 0x402869
nop
lea ecx, [eax + 4]
mov eax, dword [ecx]
cmp eax, edi
je 0x4028ac
test eax, eax
jne 0x402890
xor esi, esi
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x10]
jmp 0x401934
mov eax, dword [edi + 4]
mov dword [ecx], eax
call fcn.0040a290
mov eax, dword [ebx + 8]
mov dword [edi + 4], 0
test eax, eax
je 0x402869
cmp dword [0x4dc414], 0
mov ecx, eax
mov esi, eax
jne 0x4028ed
cmp dword [0x4dcf08], 0
jne 0x4028ed
test byte [0x4dcf12], 1
jne 0x4028ed
call fcn.0040a910
mov ecx, dword [ebx + 8]
mov esi, ecx
cmp dword [ecx + 0x35c], 0
je 0x40290b
mov esi, dword [esi + 0x35c]
xor ebp, ebp
mov edi, dword [esp + 0x70]
mov dword [esp + 0x28], esi
jmp 0x402abf
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor esi, esi
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x10]
jmp 0x401934
mov ebx, dword [0x4dc414]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x401934
cmp ebx, edi
je 0x40294a
mov ebx, dword [ebx + 4]
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x402936
jmp 0x401934
mov edi, dword [esp + 0x14]
test ebx, ebx
je 0x401938
mov esi, dword [ebx + 8]
cmp edx, 0x41c
jne 0x402969
mov esi, dword [esi + 0x360]
jmp 0x40297f
cmp edx, 0x41e
jne 0x402979
mov esi, dword [esi + 0x368]
jmp 0x40297f
mov esi, dword [esi + 0x364]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x28], esi
test esi, esi
je 0x401924
mov edi, dword [esp + 0x70]
xor ebp, ebp
jmp 0x402abf
mov esi, dword [esp + 0x10]
mov eax, edi
and eax, 0x7fff
cmp ax, word [0x4dcf10]
jae 0x401934
mov ecx, eax
shr edi, 0x10
mov eax, dword [0x4dcf00]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa0], eax
test di, di
je 0x4029f9
mov ebp, dword [eax + 0x20]
add edi, 0xffff
mov dword [esp + 0x9c], ebp
test di, di
je 0x4029f5
mov ebp, dword [ebp + 8]
add edi, 0xffff
test di, di
jne 0x4029e0
mov dword [esp + 0x9c], ebp
test ebp, ebp
jne 0x402a1e
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call fcn.0040b070
mov edi, dword [esp + 0x78]
mov ebp, eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x74], edi
test ebp, ebp
je 0x401930
mov esi, dword [ebp]
mov ecx, esi
call fcn.004774b0
sub eax, 0
je 0x402a32
sub eax, 1
jne 0x402a3d
mov eax, dword [esi + 8]
test eax, eax
je 0x402a3d
mov cl, byte [eax]
jmp 0x402a3f
xor cl, cl
mov al, byte [ebp + 0x16]
cmp al, byte [ebp + 0x17]
jb 0x402a87
cmp cl, 0xe0
je 0x402a87
cmp cl, 0xcc
je 0x402a87
cmp cl, 0xda
je 0x402a87
cmp cl, 0xdb
je 0x402a87
cmp cl, 0xd6
je 0x402a87
cmp cl, 0xd7
je 0x402a87
cmp cl, 0xd8
je 0x402a87
cmp cl, 0xd9
je 0x402a87
cmp byte [ebp + 0x1a], 0
je 0x402a79
mov byte [ebp + 0x1b], 1
mov esi, dword [esp + 0x10]
call esi
mov dword [ebp + 0xc], eax
jmp 0x401930
mov eax, dword [ebp + 4]
test eax, eax
je 0x402aa3
mov al, byte [eax]
cmp al, 2
je 0x402aa3
cmp al, 4
je 0x402aa3
cmp al, 5
jb 0x402aad
mov eax, dword [0x4dc410]
jmp 0x402aa5
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov esi, dword [ebp]
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
mov ecx, esi
mov dword [esp + 0x16c], eax
call fcn.004774b0
sub eax, 0
je 0x402adb
sub eax, 1
jne 0x402ae6
mov eax, dword [esi + 8]
test eax, eax
je 0x402ae6
mov cl, byte [eax]
jmp 0x402ae8
xor cl, cl
mov edx, dword [0x4dc40c]
mov eax, dword [0x4d98d4]
mov byte [esp + 0x3f], cl
cmp edx, eax
jl 0x402b6d
add eax, 2
cmp edx, eax
jge 0x402b2a
cmp cl, 0xe0
je 0x402b6d
cmp cl, 0xcc
je 0x402b6d
cmp cl, 0xda
je 0x402b6d
cmp cl, 0xdb
je 0x402b6d
cmp cl, 0xd6
je 0x402b6d
cmp cl, 0xd7
je 0x402b6d
cmp cl, 0xd8
je 0x402b6d
cmp cl, 0xd9
je 0x402b6d
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x402b45
push eax
call dword [esp + 0x98]
mov ebp, dword [esp + 0x1c]
mov dword [ebp + 0x68], 0
cmp dword [esp + 0x58], 0x41b
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jne 0x401938
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x401930
mov eax, dword [0x4d98d8]
cmp ebp, dword [eax + 0x2c]
jl 0x402b2a
mov edx, dword [esp + 0x58]
mov byte [esp + 0x84], 1
lea eax, [edx - 0x402]
cmp eax, 0x1c
ja case.0x402b95.1027
movzx eax, byte [eax + 0x403e9c]
jmp dword [eax*4 + 0x403e90]
push 0x104
push dword [edi]
push 0x4de2e0
call fcn.004a1eb4
xor eax, eax
add esp, 0xc
mov word [0x4de4e8], ax
mov eax, dword [edi + 0x10]
push 0x104
push dword [eax]
push 0x4de4ea
call fcn.004a1eb4
add esp, 0xc
mov dword [0x4de2dc], edi
xor eax, eax
mov word [0x4de6f2], ax
jmp case.0x402b95.1044
mov eax, dword [0x4de6f4]
mov dword [0x4de6f8], eax
mov eax, dword [0x4de75c]
mov dword [0x4de760], eax
cmp edx, 0x401
jne 0x402c07
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 4]
jmp 0x402c11
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0x1c]
mov dword [0x4de6f4], eax
mov eax, dword [esp + 0x10]
call eax
mov dword [0x4de75c], eax
mov ecx, dword [0x4dc408]
push 0
push 1
call fcn.004014c0
push 0x7f
push eax
lea eax, [esp + 0x290]
push eax
call fcn.004a1eb4
mov ebx, dword [0x4d98d8]
xor eax, eax
inc dword [0x4dc40c]
add ebx, 0x108
add esp, 0xc
mov word [esp + 0x386], ax
mov ecx, 0x42
mov dword [0x4d98d8], ebx
mov esi, 0x4dc2f0
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x4ddca0
mov dword [ebx + 0x2c], ebp
call fcn.004174d0
cmp dword [0x4dc420], 0
xorps xmm0, xmm0
movlpd qword [0x4de788], xmm0
je 0x402cb2
mov eax, dword [0x4db004]
mov ecx, 0x4b70dc
test eax, eax
je 0x402caa
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
call dword [esp + 0xec]
mov al, byte [ebx + 0xee]
test al, al
jne 0x402ce0
cmp byte [esp + 0x3f], 0x65
sete al
mov byte [ebx + 0xee], al
jne 0x402ce0
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 0x24], 0xffffffff
cmp dword [0x4de794], 0
je 0x402cf2
cmp dword [0x4de790], 0
jne 0x402cf6
test al, al
je 0x402d2f
mov byte [ebx + 0xec], 0
test al, al
jne 0x402d2f
cmp dword [0x4de794], 0
mov esi, dword [esp + 0x10]
jge 0x402d1a
mov dword [ebx + 0xe0], 0xffffffff
jmp 0x402d33
call esi
mov dword [ebx + 0xdc], eax
mov eax, dword [0x4de794]
mov dword [ebx + 0xe0], eax
jmp 0x402d33
mov esi, dword [esp + 0x10]
mov ebx, dword [0x4d98d8]
call esi
mov dword [0x4de79c], eax
mov dword [0x4de798], eax
mov eax, dword [esp + 0x58]
add eax, 0xfffffbff
cmp eax, 0x1d
ja case.0x402d5e.1027
movzx eax, byte [eax + 0x403edc]
jmp dword [eax*4 + 0x403ebc]
mov esi, dword [esp + 0x34]
xor eax, eax
mov edi, dword [esp + 0x1c]
mov word [esp + 0x1b8], ax
cmp byte [esp + 0x23], al
je 0x402d81
mov ecx, dword [esi]
jmp 0x402d84
mov ecx, dword [edi + 4]
mov ebp, dword [esp + 0x38]
mov eax, ebp
mov edx, dword [esp + 0x50]
add eax, eax
inc ebp
mov dword [esp + 0x38], ebp
mov dword [esp + eax*8 + 0x108], 1
mov dword [esp + eax*8 + 0x100], ecx
mov dword [esp + eax*8 + 0x104], 0
lea eax, [edx - 5]
cmp eax, 4
ja case.default.0x402dbe
jmp dword [eax*4 + 0x403efc]
xor ecx, ecx
cmp dword [esp + 0x24], ecx
sete cl
xor ebp, ebp
mov dword [esp + 0x24], ebp
lea ecx, [ecx*2 + 1]
mov dword [ebx + 0x34], ecx
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x40], eax
test esi, esi
je 0x402fa7
cmp dword [esp + 0x16c], ebp
je 0x402f18
movzx eax, byte [esi + 4]
add eax, 0xfffffff7
mov dword [esp + 0xc8], VariantInit
cmp eax, 8
ja case.0x402e1c.12
jmp dword [eax*4 + 0x403f10]
push 0
push 0
push 0x19f
push dword [esi]
call dword [esp + 0x40]
cmp eax, 0xffffffff
je case.0x402e1c.12
lea ecx, [esp + 0xc8]
push ecx
push eax
push 0x198
jmp 0x402eb4
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi]
call dword [esp + 0x40]
cmp eax, 0xffffffff
je case.0x402e1c.12
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], 2
push ecx
push eax
push 0x100e
jmp 0x402eb4
push 0
push 9
push 0x110a
push dword [esi]
call dword [esp + 0x40]
test eax, eax
je case.0x402e1c.12
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc8]
push eax
push 1
push 0x1104
jmp 0x402eb4
lea eax, [esp + 0xc8]
push eax
push 0
push 0x419
push dword [esi]
call dword [esp + 0x40]
cmp dword [esp + 0xc8], 0x80000000
lea ecx, [esp + 0xc8]
mov eax, dword [esi]
jne 0x402edb
push ecx
push eax
call dword [esp + 0x98]
jmp 0x402ee8
push 2
push ecx
push 0
push eax
call dword [esp + 0x180]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0xd4]
sub eax, ecx
mov eax, eax
test eax, eax
jns 0x402f0b
add eax, 1
sar eax, 1
add ecx, 2
add eax, ecx
mov dword [ebx + 0x40], eax
mov ecx, dword [ebx + 0x34]
movzx eax, byte [esi + 4]
sub eax, 9
je 0x402f91
sub eax, 1
je 0x402f86
sub eax, 1
jne 0x402fa7
cmp ecx, 1
jne 0x402f46
push eax
push 9
push 0x110a
push dword [esi]
call dword [esp + 0x40]
mov ebp, eax
jmp 0x402fa3
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x1e8]
push eax
push dword [esi]
call dword [esp + 0x17c]
lea eax, [esp + 0x1e8]
push eax
push 0
push 0x1111
push dword [esi]
call dword [esp + 0x40]
mov ebp, eax
jmp 0x402fa3
push 1
push 0xffffffffffffffff
push 0x100c
jmp 0x402f9a
push 0
push 0
push 0x19f
push dword [esi]
call dword [esp + 0x40]
lea ebp, [eax + 1]
mov dword [esp + 0x24], ebp
lea eax, [esp + 0x208]
push eax
push dword [edi + 4]
call dword [esp + 0x98]
mov eax, dword [esp + 0x208]
sub dword [ebx + 0x3c], eax
mov edx, dword [esp + 0x38]
mov ecx, edx
mov eax, dword [esp + 0x20c]
add ecx, ecx
sub dword [ebx + 0x40], eax
test esi, esi
je 0x402ff4
mov eax, dword [esi]
mov dword [esp + ecx*8 + 0x100], eax
mov eax, 1
mov dword [esp + ecx*8 + 0x104], 0
jmp 0x403001
mov dword [esp + ecx*8 + 0x100], 0x4b70dc
xor eax, eax
mov dword [esp + ecx*8 + 0x108], eax
lea edi, [edx + 2]
mov dword [esp + ecx*8 + 0x118], 1
lea esi, [edx + 4]
mov dword [esp + ecx*8 + 0x110], ebp
add edi, edi
mov dword [esp + ecx*8 + 0x114], 0
xor ecx, ecx
mov eax, dword [ebx + 0x34]
cmp eax, 3
mov dword [esp + edi*8 + 0x108], 1
sete cl
mov dword [esp + edi*8 + 0x100], ecx
mov ecx, esi
mov dword [esp + edi*8 + 0x104], 0
add ecx, ecx
mov eax, dword [ebx + 0x3c]
cdq
mov dword [esp + edi*8 + 0x110], eax
lea eax, [esi + 1]
mov dword [esp + edi*8 + 0x114], edx
mov dword [esp + edi*8 + 0x118], 1
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x40]
cdq
mov dword [esp + ecx*8 + 0x104], edx
mov edx, dword [esp + 0x50]
mov dword [esp + ecx*8 + 0x108], 1
mov dword [esp + ecx*8 + 0x100], eax
jmp 0x4033d5
mov dword [ebx + 0x34], edx
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x40], eax
lea eax, [esp + 0x218]
push eax
push dword [edi + 4]
call dword [esp + 0x98]
mov eax, dword [esp + 0x218]
sub dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x21c]
sub dword [ebx + 0x40], eax
push 0xffffffffffffffec
push dword [edi + 4]
call dword [esp + 0xa0]
and eax, 0xffffffef
push eax
push 0xffffffffffffffec
push dword [edi + 4]
call dword [esp + pe_nt_image_headers32]
mov esi, ebp
mov ebp, dword [esp + 0x4c]
mov ecx, ebp
add esi, esi
call fcn.004643b0
mov dword [esp + esi*8 + 0x100], eax
mov eax, dword [esp + 0x34]
mov dword [esp + esi*8 + 0x108], 6
test eax, eax
je 0x40313a
mov eax, dword [eax]
mov dword [esp + esi*8 + 0x110], eax
mov eax, 1
mov dword [esp + esi*8 + 0x114], 0
jmp 0x403147
mov dword [esp + esi*8 + 0x110], 0x4b70dc
xor eax, eax
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov dword [esp + esi*8 + 0x118], eax
mov eax, dword [ebx + 0x3c]
lea esi, [edi + 2]
add esi, esi
cmp byte [ecx + 0xc0], 0
je 0x403177
push dword [0x4ddc8c]
push 0x60
push eax
call dword [esp + 0x98]
cdq
mov dword [esp + esi*8 + 0x100], eax
lea eax, [edi + 4]
mov edi, dword [esp + 0x1c]
mov dword [esp + esi*8 + 0x108], 1
mov dword [esp + esi*8 + 0x104], edx
mov dword [esp + 0x38], eax
cmp byte [edi + 0xc0], 0
mov eax, dword [ebx + 0x40]
je 0x4031b8
push dword [0x4ddc8c]
push 0x60
push eax
call dword [esp + 0x98]
cdq
mov dword [esp + esi*8 + 0x114], edx
mov edx, dword [esp + 0x50]
mov dword [esp + esi*8 + 0x118], 1
mov dword [esp + esi*8 + 0x110], eax
jmp 0x4033dd
mov dword [ebx + 0x34], 1
cmp edx, 8
jne 0x4033d5
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x2c]
add esi, esi
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x3c], ebp
mov dword [esp + esi*8 + 0x100], eax
mov dword [esp + esi*8 + 0x108], 1
mov dword [esp + esi*8 + 0x104], 0
cmp byte [edi + 0xc0], 0
movzx eax, bp
je 0x403235
push dword [0x4ddc8c]
push 0x60
push eax
call dword [esp + 0x98]
cdq
mov dword [esp + esi*8 + 0x110], eax
mov eax, dword [esp + 0x38]
mov dword [esp + esi*8 + 0x118], 1
mov dword [esp + esi*8 + 0x114], edx
mov esi, eax
add eax, 3
add esi, esi
mov dword [esp + 0x38], eax
mov eax, ebp
shr eax, 0x10
cmp byte [edi + 0xc0], 0
je 0x40327c
push dword [0x4ddc8c]
push 0x60
push eax
call dword [esp + 0x98]
cdq
mov dword [esp + esi*8 + 0x124], edx
mov edx, dword [esp + 0x50]
mov dword [esp + esi*8 + 0x128], 1
mov dword [esp + esi*8 + 0x120], eax
jmp 0x4033d5
mov al, byte [esi + 4]
cmp al, 0xa
je 0x4032eb
cmp al, 0x19
jne 0x403378
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x40], eax
lea eax, [esp + 0x228]
push eax
push dword [edi + 4]
call dword [esp + 0x98]
mov eax, dword [esp + 0x228]
sub dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x22c]
sub dword [ebx + 0x40], eax
mov edx, dword [esp + 0x50]
jmp 0x403378
cmp dl, 0x49
jne 0x403378
lea eax, [esp + 0x1b8]
test edx, 0x100
je 0x40330a
mov eax, 0x53
jmp 0x403317
test edx, 0x200
je 0x403326
mov eax, 0x73
mov word [esp + 0x1b8], ax
lea eax, [esp + 0x1ba]
test edx, 0x400
je 0x403335
mov ecx, 0x46
jmp 0x403342
test edx, 0x800
je 0x403348
mov ecx, 0x66
mov word [eax], cx
add eax, 2
test edx, 0x1000
je 0x403357
mov ecx, 0x43
jmp 0x403364
test edx, 0x2000
je 0x40336a
mov ecx, 0x63
mov word [eax], cx
add eax, 2
xor ecx, ecx
mov edx, 0x49
mov word [eax], cx
mov dword [esp + 0x50], edx
mov ecx, ebp
mov dword [ebx + 0x34], edx
add ecx, ecx
cmp edx, 5
jae 0x40338d
mov eax, dword [edx*4 + 0x4d378c]
jmp 0x40339b
movzx eax, dl
mov word [0x4dfc60], ax
mov eax, 0x4dfc60
mov dword [esp + ecx*8 + 0x100], eax
add ebp, 2
mov eax, dword [esp + 0x24]
mov dword [esp + ecx*8 + 0x108], 0
mov dword [esp + ecx*8 + 0x118], 1
mov dword [esp + ecx*8 + 0x110], eax
mov dword [esp + ecx*8 + 0x114], 0
mov dword [esp + 0x38], ebp
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x4c]
cmp byte [esp + 0x23], 0
je 0x4034a0
mov esi, dword [esp + 0x34]
cmp byte [esi + 4], 0x17
jne 0x4034a0
push 0x10b0
lea eax, [esp + 0x394]
push 0
push eax
call fcn.004971b0
mov eax, dword [esp + 0x30]
add esp, 0xc
dec eax
mov dword [esp + 0x388], 0xd
mov dword [esp + 0x38c], eax
lea eax, [esp + 0x388]
push eax
push 0
push 0x703
push dword [esi]
call dword [esp + 0x40]
test eax, eax
je 0x40354f
cmp word [esp + 0x3f8], 0
lea ecx, [esp + 0x398]
push 1
push 0
lea eax, [esp + 0x400]
cmove eax, ecx
mov ecx, dword [0x4dc408]
push 0xffffffffffffffff
push eax
call fcn.0047faa0
mov eax, dword [esp + 0x38]
mov esi, eax
mov ecx, dword [0x4dc408]
inc eax
push 0
push 1
add esi, esi
mov dword [esp + 0x40], eax
call fcn.004014c0
mov dword [esp + esi*8 + 0x108], 0
mov dword [esp + esi*8 + 0x100], eax
jmp 0x40354f
cmp word [esp + 0x1b8], 0
je 0x4034d1
mov ecx, dword [esp + 0x38]
mov eax, ecx
add eax, eax
inc ecx
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x1b8]
mov dword [esp + eax*8 + 0x108], 0
mov dword [esp + eax*8 + 0x100], ecx
cmp edx, 8
je 0x4034f6
cmp edx, 5
je 0x4034f6
mov ecx, dword [0x4dc408]
lea eax, [esp + 0x1b8]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.0047faa0
jmp 0x40354f
mov esi, dword [0x4dc408]
cmp byte [esi + 0x17], 0
jne 0x403505
mov esi, dword [esi + 0xc]
mov al, byte [esi + 0x15]
test al, 2
je 0x40351c
and al, 0x3d
mov byte [esi + 0x15], al
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [esi + 0x15]
mov ecx, dword [esp + 0x24]
and al, 0x9b
or al, 0x18
mov dword [esi], ecx
mov dword [esi + 4], 0
mov byte [esi + 0x15], al
jge 0x40353f
mov ecx, esi
call fcn.00401330
and byte [esi + 0x15], 0x8f
jmp 0x40354f
cmp dword [0x4dc430], 0
je 0x40354f
mov ecx, esi
call fcn.00401330
mov eax, dword [edi + 4]
mov dword [ebx + 0xc4], eax
add dword [edi + 0x20], 2
mov eax, dword [esp + 0xb0]
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x44], edi
test eax, eax
je 0x403612
mov byte [eax], 1
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x178]
mov esi, dword [esp + 0x28]
mov edx, esi
push 0
push eax
push ecx
lea eax, [esp + 0x10c]
mov ecx, esi
push eax
push 0x4b7154
call fcn.00473ca0
add esp, 0x14
cmp dword [edi + 4], 0
je 0x40367c
mov eax, dword [esp + 0x88]
test eax, eax
je 0x40362a
mov byte [eax], 0
mov eax, dword [esp + 0x50]
cmp eax, 6
jne 0x403639
cmp dword [esp + 0x178], 0
jne 0x40367c
mov ecx, esi
call fcn.004774b0
test eax, eax
jne 0x4035f7
test esi, esi
jne 0x40367c
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp + 4]
test eax, eax
je 0x403680
push 0
push eax
call dword [esp + 0xbc]
jmp 0x403680
cmp byte [esp + 0x23], 0
je 0x403585
mov ebx, dword [esp + 0x34]
or byte [ebx + 5], 4
jmp 0x403589
cmp byte [esp + 0x23], 0
mov eax, dword [esp + 0x50]
je 0x403639
and byte [ebx + 5], 0xfb
cmp eax, 5
jne 0x40367c
mov eax, dword [esp + 0x110]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push ebp
call dword [esp + 0x98]
mov ebp, dword [esp + 0x1c]
push 0xffffffffffffffec
push dword [ebp + 4]
mov dword [ebp + 0x68], 0
call dword [esp + 0xa0]
or eax, 0x10
push eax
push 0xffffffffffffffec
push dword [ebp + 4]
call dword [esp + pe_nt_image_headers32]
jmp 0x403680
mov ebp, dword [esp + 0x1c]
add dword [ebp + 0x20], 0xffffffff
jne 0x4039e3
push dword [ebp]
call fcn.0049b8d4
add esp, 4
push 0xc4
push ebp
call fcn.00495a61
add esp, 8
jmp 0x4039e3
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x4036ca
mov eax, dword [ebp + 4]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0x34], 1
add dword [ebp + 0x20], 2
mov dword [ebx + 0x48], ebp
mov dword [ebx + 0x44], ebp
mov ecx, 0x4ddca0
mov dword [esp + 0x190], 0
mov dword [esp + 0x188], 0x4de2e0
call fcn.00448500
mov edx, dword [esp + 0x28]
inc eax
push 0
push 0
mov dword [esp + 0x1a0], eax
mov ecx, edx
push 3
lea eax, [esp + 0x194]
mov dword [esp + 0x1ac], 1
push eax
push 0x4b7154
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1bc], 0x4de4ea
call fcn.00473ca0
add esp, 0x14
test ebp, ebp
je 0x4039e7
add dword [ebp + 0x20], 0xffffffff
jne 0x4039e7
push dword [ebp]
call fcn.0049b8d4
add esp, 4
push 0xc4
push ebp
call fcn.00495a61
add esp, 8
jmp 0x4039e7
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x74]
mov dword [ebx + 0xc4], eax
mov al, byte [edi + 0x21]
mov byte [ebx + 0xf6], al
mov esi, dword [edi]
mov ecx, esi
call fcn.004774b0
sub eax, 0
je 0x40379c
sub eax, 1
jne 0x4037a7
mov eax, dword [esi + 8]
test eax, eax
je 0x4037a7
mov cl, byte [eax]
jmp 0x4037a9
xor cl, cl
mov al, byte [edi + 0x24]
cmp al, byte [edi + 0x25]
jb 0x4037dd
cmp cl, 0xe0
je 0x4037dd
cmp cl, 0xcc
je 0x4037dd
cmp cl, 0xda
je 0x4037dd
cmp cl, 0xdb
je 0x4037dd
cmp cl, 0xd6
je 0x4037dd
cmp cl, 0xd7
je 0x4037dd
cmp cl, 0xd8
je 0x4037dd
cmp cl, 0xd9
jne 0x4039e3
push 0
push 0
mov byte [0x4de766], 0
inc byte [edi + 0x24]
mov ecx, dword [edi]
mov edx, ecx
push 0
push 0
push 0x4b7154
call fcn.00473ca0
add esp, 0x14
dec byte [edi + 0x24]
jmp 0x4039e3
call dword [esp + 0x17c]
test eax, eax
je 0x403836
mov ebp, dword [esp + 0x180]
push 0xd
call ebp
test eax, eax
jne 0x40382f
push 0xf
call ebp
test eax, eax
jne 0x40382f
lea edi, [eax + 2]
jmp 0x403838
mov edi, 1
jmp 0x403838
xor edi, edi
mov esi, dword [0x4dc408]
mov dword [ebx + 0x38], edi
cmp byte [esi + 0x17], 0
jne 0x40384a
mov esi, dword [esi + 0xc]
mov al, byte [esi + 0x15]
test al, 2
je 0x403861
and al, 0x3d
mov byte [esi + 0x15], al
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [esi + 0x15]
and al, 0x9b
mov dword [esi], edi
or al, 0x18
mov dword [esi + 4], 0
mov byte [esi + 0x15], al
jge 0x403880
mov ecx, esi
call fcn.00401330
and byte [esi + 0x15], 0x8f
jmp 0x403890
cmp dword [0x4dc430], 0
je 0x403890
mov ecx, esi
call fcn.00401330
mov eax, dword [ebx + 0x38]
mov ecx, dword [0x4de72c]
mov dword [esp + 0x200], 1
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], 0
mov byte [0x4de738], 1
test ecx, ecx
je 0x4038f1
mov eax, dword [0x4d98d8]
push 0
push 0
push 1
mov esi, dword [eax + 0xbc]
mov dword [eax + 0xbc], ecx
mov ecx, dword [ecx + 8]
call fcn.00426700
mov eax, dword [0x4d98d8]
mov dword [eax + 0xbc], esi
mov ecx, dword [0x4de72c]
cmp dword [esp + 0x5c], 0
jne 0x403914
xor eax, eax
test ecx, ecx
mov ecx, 0x4de70c
sete al
push eax
push 1
lea eax, [esp + 0x200]
push eax
call fcn.00477530
mov byte [0x4de738], 0
jmp 0x4039e3
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
mov ecx, edx
push 0
push 0
mov eax, dword [esi + 8]
mov dword [esp + 0x240], eax
lea eax, [esp + 0x240]
push 1
push eax
push 0x4b7154
mov dword [esp + 0x254], 6
call fcn.00473ca0
mov eax, dword [esi + 8]
add esp, 0x14
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4039e3
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
push 0
push 0
mov eax, dword [esi + 8]
mov dword [esp + 0x190], eax
movzx eax, cl
cdq
mov dword [esp + 0x1a0], eax
sar ecx, 0x10
movzx eax, cx
mov dword [esp + 0x1a4], edx
cdq
mov dword [esp + 0x1b0], eax
lea eax, [esp + 0x190]
mov dword [esp + 0x198], 6
mov dword [esp + 0x1a8], 1
mov dword [esp + 0x1b8], 1
mov dword [esp + 0x1b4], edx
push 3
mov edx, dword [esp + 0x34]
mov ecx, edx
push eax
push 0x4b7154
call fcn.00473ca0
add esp, 0x14
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x288]
call fcn.00404810
cmp dword [esp + 0xb8], 0
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
je 0x401938
call esi
cmp byte [esp + 0x22], 0
jne 0x403a26
mov ecx, dword [esp + 0xa4]
sub ecx, eax
add ecx, ebp
cmp ecx, 5
jg 0x401938
cmp ebp, 0xffffffff
jle 0x403a3b
xorps xmm0, xmm0
mov dword [0x4de798], eax
movlpd qword [0x4de788], xmm0
mov dword [0x4de79c], eax
mov byte [esp + 0x3c], 1
mov byte [esp + 0x22], 1
jmp 0x401934
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x40]
mov word [esp + 0xf8], ax
sar eax, 0x10
mov word [esp + 0xfa], ax
xor eax, eax
mov word [esp + 0xfc], ax
mov eax, dword [esi + 8]
mov dword [esp + 0x188], eax
lea eax, [esp + 0xf8]
push 0
push 0
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x190]
mov dword [esp + 0x198], 6
mov dword [esp + 0x1a8], 0
push 2
jmp 0x4039cf
mov edi, dword [esp + 0xa0]
mov al, byte [edi + 0x10]
add al, 0x64
cmp al, 3
ja 0x403acb
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x38], eax
cmp byte [0x4df410], 0
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0x74]
mov dword [ebx + 0xc4], eax
mov al, byte [ebp + 0x18]
mov byte [ebx + 0xf6], al
jne 0x4039e7
cmp dword [0x4dcf18], 0
jne 0x403b02
call esi
mov dword [0x4dcf18], eax
inc dword [0x4df40c]
call esi
mov esi, dword [0x4df40c]
mov ecx, eax
sub ecx, dword [0x4dcf18]
mov edx, dword [0x4daae4]
mov dword [0x4dcf14], eax
cmp esi, dword [0x4daae8]
jbe 0x403b36
cmp ecx, edx
jae 0x403b36
mov edi, 1
jmp 0x403b38
xor edi, edi
test edi, edi
je 0x403bf7
push ecx
push esi
push str._u_hotkeys_have_been_received_in_the_last__ums._n_nDo_you_want_to_continue__n_see_MaxHotkeysPerInterval_in_the_help_file_
lea eax, [esp + 0x144c]
push 0x800
push eax
call fcn.0047c9c0
mov cx, word [0x4dcf10]
xor eax, eax
add esp, 0x14
xor edx, edx
cmp ax, cx
jae 0x403b9a
nop dword [eax]
mov eax, dword [0x4dcf00]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x403b92
nop
mov byte [eax + 0x1b], 0
mov eax, dword [eax + 8]
test eax, eax
jne 0x403b80
mov cx, word [0x4dcf10]
inc edx
movzx eax, cx
cmp edx, eax
jl 0x403b70
movsd xmm3, qword [esp + 0x1d8]
lea ecx, [esp + 0x1440]
push 0
push 0
mov edx, 4
mov byte [0x4df410], 1
mov dword [0x4d98d0], 0
call fcn.00481980
add esp, 8
cmp eax, 7
jne 0x403bdf
push 0
push 5
mov ecx, 0x4ddca0
call fcn.004177e0
mov eax, dword [0x4dcf14]
mov dword [0x4d98d0], 1
mov byte [0x4df410], 0
jmp 0x403bfb
cmp ecx, edx
jbe 0x403c12
mov dword [0x4df40c], 0
mov dword [0x4dcf18], eax
test edi, edi
jne 0x4039e3
mov edi, dword [esp + 0xa0]
push 0
push 0
push 0
mov al, byte [edi + 0xf]
mov byte [0x4de766], al
inc byte [ebp + 0x16]
mov ecx, dword [ebp]
mov edx, ecx
push 0
push 0x4b7154
call fcn.00473ca0
dec byte [ebp + 0x16]
add esp, 0x14
test eax, eax
jne 0x403c4d
mov byte [ebp + 0x1b], al
jmp 0x4039e3
cmp byte [ebp + 0x1b], 0
je 0x4039e3
mov esi, dword [esp + 0x10]
mov byte [ebp + 0x1b], 0
call esi
sub eax, dword [ebp + 0xc]
cmp eax, 0x3e8
ja 0x4039e7
movzx eax, word [edi + 4]
push 0
push eax
push 0x312
push dword [0x4dc424]
call dword [esp + 0xe8]
jmp 0x4039e7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403d08
mov ecx, dword [0x4d98d8]
mov byte [ecx + 0xe8], 1
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xe4], eax
lea eax, [esp + 0x54]
push eax
push esi
call dword [esp + 0xec]
test eax, eax
je 0x403cf9
cmp dword [0x4dc420], 0
je 0x403ce4
mov eax, dword [0x4db004]
mov ecx, 0x4b70dc
test eax, eax
je 0x403cdc
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
call dword [esp + 0xec]
mov eax, dword [0x4d98d8]
mov esi, dword [esp + 0x10]
mov byte [eax + 0xe8], 0
jmp 0x401930
mov ecx, dword [0x4d98d8]
mov byte [ecx + 0xe8], 0
jmp 0x403d0e
mov ecx, dword [0x4d98d8]
mov eax, dword [0x4dc3fc]
test eax, eax
je 0x403d44
lea ecx, [esp + 0x54]
push ecx
push eax
push dword [0x4dc424]
call dword [esp + 0xf8]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
test eax, eax
jne 0x401938
mov ecx, dword [0x4d98d8]
mov byte [ecx + 0xe8], 1
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xe4], eax
lea eax, [esp + 0x54]
push eax
call dword [esp + 0x188]
lea eax, [esp + 0x54]
push eax
call dword [esp + 0x48]
mov eax, dword [0x4d98d8]
mov esi, dword [esp + 0x10]
mov byte [eax + 0xe8], 0
jmp 0x401930
cmp ebp, 0xffffffff
jle 0x403d94
xorps xmm0, xmm0
mov dword [0x4de798], eax
movlpd qword [0x4de788], xmm0
xor ecx, ecx
mov dword [0x4de79c], eax
cmp byte [esp + 0x3d], cl
movzx eax, byte [0x4dc2e3]
cmovne eax, ecx
mov byte [0x4dc2e3], al
cmp byte [esp + 0x3e], cl
je 0x403e01
mov eax, dword [0x4dc428]
dec eax
mov dword [0x4dc428], eax
test ebp, ebp
jle 0x403e01
test eax, eax
jne 0x403e01
cmp dword [0x4de74c], ecx
jne 0x403e01
cmp dword [0x4dcefc], ecx
jne 0x403e01
cmp byte [0x4dc2e2], cl
je 0x403e01
push 9
push dword [0x4dc424]
call dword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x4dc2e2]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov byte [0x4dc2e2], cl
mov edx, dword [esp + 0x84]
mov al, dl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret