Function at 0x4019a5
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
movdqa xmm0, xmmword [0xa64c10]
xor eax, eax
push ebx
push esi
push edi
push dword [ebp + 8]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x218]
push ecx
mov dword [ebp - 0x2c], 0xfff7
lea ecx, [ebp - 0x228]
mov dword [ebp - 8], 0x69ad59e5
push ecx
mov dword [ebp - 0x38], 0xe9bf9f36
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x14], 0xfffffff8
push eax
mov byte [ebp - 0x3d], dl
movdqu xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
call fcn.004016de
xor edi, edi
lea ecx, [ebp - 0x164]
inc edi
push edi
call fcn.004011bf
xor eax, eax
mov dword [ebp - 0x38], 0xfd6b2214
mov dword [ebp - 0xc], eax
jmp 0x401a4b
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x164]
mov dword [ecx + edx*4], 0x268dd2ac
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x401a38
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
neg ecx
jne 0x401a76
mov ecx, eax
cmp dword [ebp - 8], eax
je 0x401a78
mov ecx, edi
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 0xe8]
setl dl
xor ecx, ecx
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov edx, 0xbab7215f
sete cl
xor eax, eax
cmp ecx, 0xccb0
setl al
xor ecx, ecx
cmp eax, 0xc51a
mov eax, dword [ebp - 0x164]
setge cl
sub edx, ecx
sub edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x20]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setle al
xor edx, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge bl
xor ecx, ecx
cmp ebx, eax
setg cl
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x164]
call fcn.00401291
lea ecx, [ebp - 0xe8]
call fcn.00401291
push edi
lea ecx, [ebp - 0x12c]
call fcn.004011bf
push 3
pop ebx
push ebx
lea ecx, [ebp - 0x1ac]
call fcn.004011bf
push 2
pop esi
push esi
lea ecx, [ebp - 0x194]
call fcn.004011bf
mov dword [ebp - 0x14], 8
xor eax, eax
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x10], eax
jmp 0x401b75
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0xa0], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x401b64
mov dword [ebp - 0x10], eax
jmp 0x401b92
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x12c]
mov dword [ecx + edx*4], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x401b7f
mov dword [ebp - 0x10], eax
jmp 0x401baf
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + edx*4], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x401b9c
mov dword [ebp - 0x10], eax
jmp 0x401bc9
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x194]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x401bb9
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x1ac]
mov dword [ecx], edx
mov dword [esi + 4], edx
test edx, edx
je 0x401c1f
mov ecx, dword [ebp - 0x194]
cmp dword [ecx], eax
je 0x401c16
mov ecx, dword [ebp - 0xa0]
xor edx, edx
cmp ecx, dword [esi + 4]
mov ecx, dword [ebp - 0x12c]
setne dl
mov dword [ecx], edx
mov ecx, dword [ebp - 0x9c]
mov ecx, edi
cmp dword [esi + 4], eax
je 0x401c18
mov ecx, eax
cmp dword [esi + 4], ecx
mov ecx, edi
je 0x401c21
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], eax
jmp 0x401c45
mov dword [ebp - 0x24], 0xe7ad53a3
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
cmp dword [ebp + ecx*4 - 0xa0], eax
jne 0x401c4a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x401c29
lea ecx, [ebp - 0x194]
call fcn.00401291
lea ecx, [ebp - 0x1ac]
call fcn.00401291
lea ecx, [ebp - 0x12c]
call fcn.00401291
mov dword [ebp - 0x38], 5
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x20], 9
mov dword [ebp - 8], eax
jmp 0x401c94
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x108], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x401c87
mov dword [ebp - 8], eax
jmp 0x401cb0
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x234], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x401c9f
cmp dword [ebp - 0x38], eax
je 0x401cda
mov ecx, dword [ebp - 0x100]
xor edx, edx
cmp ecx, 0xffffffff
setge dl
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x2c]
sub edx, ecx
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0x38]
jge 0x401cfc
mov edx, edi
cmp dword [ebp - 0x20], eax
jne 0x401cfe
mov edx, eax
mov ecx, dword [ebp - 0x100]
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0xfc]
sete bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [0x47525c]
mov dword [ebp - 0x38], ecx
setne dl
mov dword [ebp - 0x22c], edx
xor edx, edx
mov dword [ebp - 0x10], 0xe60f
mov dword [ebp - 8], 0xcf22
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
cmp ecx, edi
mov ecx, dword [ebp - 0x10]
setge dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
setge bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x10]
setge dl
xor ebx, ebx
cmp edx, ecx
setg bl
sub ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
neg ebx
mov ecx, dword [ebp - 0x10]
sbb ebx, ebx
inc ebx
sub esi, ebx
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp ecx, esi
mov ecx, dword [ebp - 0x10]
setge dl
xor ebx, ebx
cmp ecx, edx
setne bl
xor ecx, ecx
add ebx, dword [ebp - 0x10]
cmp ebx, 0xfffffffd
setg cl
imul ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x401eba
mov dword [ebp - 0x1c], edi
lea ecx, [ebp - 0x1c4]
mov eax, 0x6fd0fe1f
mov dword [ebp - 0xc], 0xaeacb2d5
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
push 2
call fcn.004011bf
xor eax, eax
mov dword [ebp - 0x28], 0x401cea02
mov dword [ebp - 0xc], eax
jmp 0x401df1
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c4]
mov dword [ecx + edx*4], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x401de2
cmp dword [ebp - 0x10], eax
jne 0x401e2c
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 8], eax
je 0x401e1a
mov edx, edi
cmp dword [ebp - 0x14], eax
jne 0x401e1c
mov edx, eax
mov ecx, dword [ebp - 0x1c]
mov esi, eax
imul ecx, edx
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x1c], eax
je 0x401e2e
mov esi, edi
mov dword [ebp - 0x148], esi
xor edx, edx
mov ecx, dword [ebp - 0x14]
cmp esi, ecx
setge dl
xor ecx, ecx
cmp edx, 0xe6b7
setl cl
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
cmp ecx, edx
setne bl
xor ecx, ecx
cmp ebx, 5
setg cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x1c4]
setge dl
xor ebx, ebx
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
setle bl
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], 3
cmp dword [ebp - 0xc], eax
jl 0x401eaa
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x14c], 0x7de2e510
dec dword [ebp - 0xc]
jns 0x401e97
lea ecx, [ebp - 0x1c4]
call fcn.00401291
jmp 0x401f8a
mov dword [ebp - 0xc], eax
jmp 0x401ed0
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x1e4], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x401ebf
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x14
jge 0x401f8c
mov esi, 0xda79815c
mov dword [ebp - 0x1e0], esi
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x1dc], esi
mov dword [ebp - 0x1d8], esi
mov dword [ebp - 0x1d4], esi
push 4
call fcn.004011bf
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x401f26
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1d0]
mov dword [ecx + edx*4], 0xfffffffc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x401f13
mov dword [ebp - 0xc], eax
jmp 0x401f6c
mov dword [ebp - 8], 0xfffffff6
cmp dword [ebp - 8], 0x2d
jge 0x401f69
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x14], eax
jmp 0x401f54
cmp dword [ebp - 0x1d4], eax
jne 0x401f59
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x401f49
mov dword [ecx + 0xc], 3
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x2d
jl 0x401f44
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe3
jne 0x401f31
lea ecx, [ebp - 0x1d0]
call fcn.00401291
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x14
jl 0x401ee7
xor eax, eax
mov edx, dword [ebp + 8]
push 0xffffffffffffffeb
mov dword [ebp - 0x1c], 0x13dd33a4
mov dword [ebp - 0x1c], eax
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
pop ebx
jmp 0x401ff9
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x401ff0
mov dword [ebp - 0xc], 0x3690f1d8
mov dword [ebp - 0xc], 0xfffffff6
jmp 0x401fe7
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x401fe4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_UpdateColors]
xor eax, eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 9
jle 0x401fc5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x15
jne 0x401fb5
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x401fa9
cmp byte [ebp - 0x3d], 0
mov esi, dword [ebp - 0x38]
push 0xfffffffffffffffa
pop ebx
je 0x40225a
cmp esi, edi
jne 0x40225a
mov dword [ebp - 0x58], 0xffffffff
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 8], 0xfffffffb
push edi
call fcn.004011bf
mov dword [ebp - 0x20], 0x824ffad6
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x2c], 0x50170a2c
push edi
call fcn.004011bf
push edi
lea ecx, [ebp - 0x170]
call fcn.004011bf
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x3bdeef3a
mov dword [ebp - 0xc], 0xddf4f35d
mov dword [ebp - 0x10], eax
jmp 0x402099
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + edx*4], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x402086
mov dword [ebp - 0x10], eax
jmp 0x4020b6
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x17c]
mov dword [ecx + edx*4], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x4020a3
mov dword [ebp - 0x10], eax
jmp 0x4020cf
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x170]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x4020c0
cmp dword [ebp - 0x54], eax
je 0x402100
mov edx, dword [ebp - 0x54]
xor ebx, ebx
mov ecx, dword [ebp - 0x54]
cmp edx, ecx
setg bl
mov dword [ebp - 8], ebx
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
cmp dword [ebp - 0x54], eax
jne 0x402104
mov esi, eax
jmp 0x402106
mov esi, edi
mov ecx, dword [ebp - 0x54]
xor edx, edx
cmp ecx, esi
mov ecx, dword [ebp - 0x54]
setg dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x58]
sete bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x54]
setl dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x54]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0xd4]
setne dl
mov dword [ebp - 0x54], edx
inc dword [ecx]
cmp dword [ebp - 0x54], eax
je 0x402163
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx]
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [ebp - 8]
cmp ecx, edi
setl dl
xor ecx, ecx
sub edx, dword [ebp - 8]
cmp edx, 0xfffffffb
setge cl
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
je 0x402190
mov esi, edi
cmp dword [ebp - 0x20], eax
jne 0x402192
mov esi, eax
mov ecx, dword [ebp - 0x17c]
xor edx, edx
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
cmp esi, ecx
mov ecx, dword [ebp - 8]
setg dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x170]
setge bl
xor edx, edx
mov dword [ecx], ebx
mov ecx, dword [ebp - 8]
cmp ebx, ecx
setge dl
xor ebx, ebx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
cmp edx, ecx
setle bl
add ebx, dword [ebp - 8]
je 0x4021dc
mov ecx, edi
cmp dword [ebp - 0x54], eax
jne 0x4021de
mov ecx, eax
mov eax, dword [ebp - 8]
xor eax, eax
cmp ecx, 0xa65d
push 0xfffffffffffffff9
setne al
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xd4]
cmp dword [eax], ecx
pop ecx
setl dl
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
push 4
sbb eax, eax
lea ecx, [ebp - 0x170]
inc eax
pop ebx
sub eax, ebx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xc], eax
call fcn.00401291
lea ecx, [ebp - 0x17c]
call fcn.00401291
lea ecx, [ebp - 0xd4]
call fcn.00401291
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x38]
push 0xfffffffffffffffa
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0x47525c
pop ebx
mov dword [ebp - 0x14], 0xfffffffe
xor ecx, ecx
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x24], 0xab721576
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x24], 0x1494fb38
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x48], 0xd978029
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], 0xe360abed
mov dword [ebp - 0x24], 0x7d239f94
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x60], 0xec8e12b6
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x1c], 0xfd208dd2
mov dword [ebp - 8], ecx
jmp 0x4022da
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x84], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x4022cd
push 3
mov dword [ebp - 8], ecx
pop ebx
jmp 0x4022f8
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x240], 0xb826fbc7
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4022e7
mov dword [ebp - 0x14], 0xe
jmp 0x4023ba
mov dword [ebp - 0xc], 7
mov dword [ebp - 0xc], ecx
jmp 0x402326
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x28c], 0x197f
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x402315
mov dword [ebp - 0xc], ecx
jmp 0x4023ad
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], 0xe41b
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 8], 2
cmp dword [ebp - 8], ecx
jl 0x4023aa
mov dword [ebp - 0x2c], 0xfffffffb
mov edx, 0x1b15
mov dword [ebp - 0x34], 0xffffffff
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x84]
sub edx, eax
cmp edx, dword [ebp - 0x34]
jge 0x402372
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov edx, 0xffff17cc
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x84]
sub edx, eax
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebp - 0x34], eax
dec dword [ebp - 8]
jns 0x40234c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x13
jge 0x402330
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jg 0x402309
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
test eax, eax
jne 0x402411
mov eax, dword [ebp - 0x10]
xor ebx, ebx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setle bl
add ebx, 0xb987
je 0x4023ec
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x240], eax
jge 0x402408
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
push 3
pop ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x44], esi
jge 0x4034b2
push ebx
lea ecx, [ebp - 0x188]
call fcn.004011bf
push edi
lea ecx, [ebp - 0x114]
call fcn.004011bf
mov dword [ebp - 0x2c], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x30], 0x8319b885
mov dword [ebp - 0x10], eax
jmp 0x402463
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x188]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x402454
mov dword [ebp - 0x10], eax
jmp 0x40247b
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x5c], 0x48cc3837
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x40246d
mov dword [ebp - 0x10], eax
jmp 0x402495
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x114]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x402485
mov dword [ebp - 0x10], eax
jmp 0x4024ad
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x64], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x40249f
mov ecx, dword [ebp - 0x5c]
xor ebx, ebx
mov esi, dword [ebp - 0x188]
mov ecx, dword [esi]
cmp ecx, dword [esi + 8]
mov ecx, dword [ebp - 0x5c]
setle bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0x5c]
setne dl
add edx, ecx
mov ecx, dword [ebp - 0x114]
mov dword [ecx], edx
xor ecx, ecx
test edx, edx
sete cl
xor ebx, ebx
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
cmp ecx, edx
setge bl
imul ecx, ebx, 0xd1c
cmp ecx, 3
jg 0x402514
mov ecx, dword [ebp - 0x114]
cmp dword [ecx], eax
je 0x402514
cmp dword [ebp - 0x2c], eax
je 0x402514
cmp dword [ebp - 0x64], eax
je 0x402514
mov eax, edi
xor ecx, ecx
cmp eax, dword [esi + 8]
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x64]
sete cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
sete bl
sub ebx, 0x2a90
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
imul edx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp dword [esi + 8], ecx
lea ecx, [ebp - 0x114]
setle dl
sub edx, eax
mov dword [ebp - 0x30], edx
call fcn.00401291
lea ecx, [ebp - 0x188]
call fcn.00401291
mov esi, 0x475260
mov dword [ebp - 8], 0xea5d6c05
mov dword [ebp - 0x20], 8
lea ecx, [ebp - 0x158]
push edi
mov dword [ebp - 0x10], esi
call fcn.004011bf
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x4025a3
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x158]
mov dword [ecx + edx*4], 0xd9964374
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x402590
mov dword [ebp - 8], 4
jmp 0x40268d
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x24], 0xb653b1da
mov dword [ebp - 0x30], edi
mov dword [ebp - 0xc], eax
jmp 0x4025db
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x8c], 0x30a9bca7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x4025ca
mov edx, dword [ebp - 0x88]
xor ebx, ebx
mov ecx, dword [ebp - 0x88]
cmp edx, ecx
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x20]
setg bl
add ecx, ebx
add edx, ecx
imul edx, dword [ebp - 0x24]
imul edx, dword [ebp - 8]
imul ecx, edx, 0xc821
test ecx, ecx
jne 0x40261a
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x40261c
mov ecx, edi
xor edx, edx
cmp ecx, 0x193fe696
mov ecx, dword [ebp - 8]
setge dl
imul edx, ecx
mov dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x20]
sub edx, ecx
je 0x402644
mov edx, edi
cmp dword [ebp - 0x88], eax
jne 0x402646
mov edx, eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], ecx
mov ecx, 0x8c98aac1
cmp ecx, edx
mov ecx, dword [ebp - 0x2c]
sbb edx, edx
xor ebx, ebx
neg edx
cmp ecx, edx
mov ecx, dword [ebp - 8]
setge bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 8]
setge dl
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
neg ecx
cmp ecx, dword [ebp - 0x20]
jne 0x40267f
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x158]
mov dword [ecx], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1d
je 0x4025b4
lea ecx, [ebp - 0x158]
call fcn.00401291
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x44], ecx
jle 0x402e33
mov dword [ebp - 0x1c], 0xffffffff
lea ecx, [ebp - 0x1f8]
push edi
call fcn.004011bf
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4026d7
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xac], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4026ca
mov dword [ebp - 8], eax
jmp 0x4026f1
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1f8]
mov dword [ecx + edx*4], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x4026e2
push 2
mov dword [ebp - 0x1c], eax
pop ebx
cmp dword [ebp - 0x1c], ebx
jg 0x402839
push ebx
lea ecx, [ebp - 0x1b8]
call fcn.004011bf
xor eax, eax
mov dword [ebp - 0x14], 0x8722
mov dword [ebp - 0xc], eax
jmp 0x402732
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1b8]
mov dword [ecx + edx*4], 3
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x40271f
mov edi, dword [ebp - 0x1b8]
mov dword [edi + 4], ebx
mov dword [ebp - 0xc], 0x80e3580d
mov dword [ebp - 0x24], 0x29cbc21b
mov dword [ebp - 0xc], 0xc23afc37
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], eax
jl 0x402811
mov ecx, dword [edi + 4]
xor ebx, ebx
push 2
mov ecx, dword [ebp + ecx*4 - 0xac]
mov ecx, dword [edi + 4]
mov ecx, dword [ebp + ecx*4 - 0xac]
mov edx, dword [edi + 4]
mov esi, dword [ebp + edx*4 - 0xac]
mov ecx, dword [ebp - 0xc]
cmp ecx, edx
mov ecx, dword [ebp - 0x14]
setge bl
xor edx, edx
cmp ebx, esi
setl dl
xor ebx, ebx
cmp edx, ecx
setne bl
xor ecx, ecx
add ebx, dword [ebp - 0xc]
cmp ebx, 0xfffffffb
pop ebx
setne cl
xor edx, edx
cmp ecx, 0x26c71534
mov ecx, dword [edi + 4]
setle dl
mov ecx, dword [ebp + ecx*4 - 0xac]
add edx, ecx
mov ecx, dword [edi + 4]
mov esi, dword [ebp + ecx*4 - 0xac]
mov ecx, dword [edi + 4]
imul esi, edx
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0xac]
sub ecx, 4
cmp ecx, esi
setge dl
sub edx, 0x752570e
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], eax
jmp 0x402803
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x402800
push eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x4027ee
dec dword [ebp - 0xc]
jns 0x402761
dec dword [edi + 4]
jns 0x402740
lea ecx, [ebp - 0x1b8]
call fcn.00401291
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x402705
mov esi, dword [ebp - 0x10]
xor edi, edi
xor eax, eax
inc edi
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x402861
push eax
push 0x1411
push 0x2453
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
lea ecx, [ebp - 0x1f8]
call fcn.00401291
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 8], 0x76820624
mov dword [ebp - 0x20], 0x44184eb3
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 8], ecx
jmp 0x40289f
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x40289c
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor ecx, ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 9
jne 0x402889
mov dword [ebp - 8], 0xfffffff7
cmp dword [ebp - 8], 0xfffffffb
je 0x402a43
mov dword [ebp - 0xc], ecx
jmp 0x4028c9
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x3c], 9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x4028bb
mov dword [ebp - 0x3c], ecx
jmp 0x402a27
mov dword [ebp - 0x1c], 0xc4185a1f
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], 0xfffffffb
jmp 0x4029c2
mov dword [ebp - 0x24], 0xb59008cf
push 7
pop eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0xc], ecx
jmp 0x402924
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x24c], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x402913
cmp dword [ebp - 0x1c], ecx
jne 0x402959
cmp dword [ebp - 0x3c], ecx
jne 0x402950
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov eax, ecx
cmp dword [ebp - 0x3c], ecx
je 0x402949
mov eax, edi
cmp eax, dword [ebp - 0x3c]
mov eax, ecx
jl 0x402952
mov eax, edi
mov esi, ecx
cmp dword [ebp - 0x24], eax
jg 0x40295b
mov esi, edi
mov eax, dword [ebp - 0x130]
xor edx, edx
cmp esi, eax
setg dl
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x3c], ecx
je 0x402984
mov edx, dword [ebp - 0x14]
mov esi, edi
mov eax, dword [ebp - 0x3c]
add eax, edx
mov edx, dword [ebp - 8]
add edx, eax
cmp edx, 0xfffffffc
jne 0x402986
mov esi, ecx
mov eax, dword [ebp - 0x248]
xor edx, edx
cmp esi, eax
setl dl
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ecx
jne 0x4029a2
mov edx, ecx
cmp dword [ebp - 0x3c], ecx
je 0x4029a4
mov edx, edi
xor eax, eax
cmp edx, 0xffffffff
sete al
xor ebx, ebx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
cmp eax, edx
setg bl
mov dword [ebp - 0x28], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x16
jge 0x4028ec
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
neg eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setge bl
xor edx, edx
cmp eax, ebx
setg dl
xor ebx, ebx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setg bl
xor eax, eax
cmp ebx, dword [ebp - 0x24]
setge al
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
cmp eax, edx
setne bl
xor eax, eax
cmp ebx, 0x17c264f8
setle al
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x3c]
push 0xfffffffffffffff9
pop eax
cmp dword [ebp - 0x3c], eax
jg 0x4028d6
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffb
jne 0x4028b6
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
add esi, 4
mov dword [ebp - 0x24], 0xa2fc53d8
mov dword [ebp - 8], ecx
jmp 0x402a66
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x208], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x402a55
push 3
mov dword [ebp - 8], ecx
pop ebx
jmp 0x402a85
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x120], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x402a74
cmp dword [ebp - 0x1c], ecx
je 0x402b23
mov dword [ebp - 0x14], 0x86d6
mov dword [ebp - 0x24], 0xc7ba
mov dword [ebp - 0x1c], ecx
jmp 0x402b1c
mov dword [ebp - 0xc], 0x9ea9831
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ecx
jl 0x402af4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x208], edx
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x402ad1
mov eax, edi
cmp dword [ebp - 0x14], ecx
jne 0x402ad3
mov eax, ecx
cmp eax, dword [ebp - 0x1c]
jg 0x402adf
mov edx, ecx
cmp dword [ebp - 0x24], ecx
je 0x402ae1
mov edx, edi
xor eax, eax
cmp edx, 0xfffffffc
setne al
mov dword [ebp - 0x204], eax
dec dword [ebp - 0xc]
jns 0x402ab5
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ecx
jl 0x402b19
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x120]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x120], edx
dec dword [ebp - 0x14]
jns 0x402b00
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x402aa6
jmp 0x402b46
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x402b46
push edi
push 0x4c8
push 0x1195
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov edx, 0xdda5659c
mov eax, dword [ebp - 0x120]
cmp edx, eax
push 8
sbb edx, edx
add edx, 0xffff287b
neg edx
sbb edx, edx
xor eax, eax
inc edx
neg edx
mov dword [ebp - 0x200], edx
cmp edx, 0xe2e
mov edx, dword [ebp - 0x1c]
setle al
sub edx, eax
mov eax, dword [esi]
neg edx
mov dword [ebp - 0x30], eax
pop eax
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc], ecx
jmp 0x402bbf
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1e8], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x402bb2
mov dword [ebp - 0xc], ecx
jmp 0x402c8a
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 8], ecx
jmp 0x402bef
mov dword [ebp - 0x24], 0x6dd8
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x28], edi
inc dword [ebp - 0x28]
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jle 0x402bd8
mov dword [ebp - 8], ecx
jmp 0x402c7e
mov dword [ebp - 0x1c], 0x868bb4aa
mov dword [ebp - 0x1c], ecx
jmp 0x402c6a
mov dword [ebp - 0x14], 0x348cc383
mov dword [ebp - 0x14], ecx
jmp 0x402c25
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x264], 0xfffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x402c14
mov dword [ebp - 0x14], ecx
jmp 0x402c62
mov dword [ebp - 0x28], 0x233fd52
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xf8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf8], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x402c2f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x402c08
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0xf8], ecx
jne 0x402c87
cmp dword [ebp - 8], ebx
jle 0x402bfc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x1d
jge 0x402bcc
push 4
pop eax
mov dword [ebp - 0xc], eax
add esi, eax
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x24], 0xf32b7b88
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], ecx
jmp 0x402cc9
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x298], 0x7e291920
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x402cb8
mov dword [ebp - 0xc], 0xfffffff7
cmp dword [ebp - 0xc], 0xffffffeb
jne 0x402e14
mov dword [ebp - 0x28], edi
lea ecx, [ebp - 0x1a0]
push edi
call fcn.004011bf
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x402d06
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xc8], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x402cf5
mov dword [ebp - 8], eax
jmp 0x402d24
cmp dword [ebp - 8], edi
jl 0x402d11
cmp dword [ebp - 0x30], 0
jne 0x402e1d
add esi, 8
add esi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x34]
inc ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x34], ebx
cmp ebx, dword [ebp - 0x44]
jl 0x4026b0
mov dword [ebp - 0xc], 0xe8cff0ea
push 3
pop edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x24], 0x4114
mov dword [ebp - 0x30], 0xe495761b
mov dword [ebp - 0xc], ecx
jmp 0x402e67
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x270], 0x8f82
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x402e56
mov dword [ebp - 0xc], 0x13
cmp dword [ebp - 0xc], 0xfffffffe
jl 0x402f18
push 0xfffffffffffffffa
pop ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xb32a831d
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x30], 0x5440874b
mov dword [ebp - 0x14], ecx
jmp 0x402eb1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x402ea4
mov dword [ebp - 0xb4], 2
cmp dword [ebp - 0xb4], ecx
jl 0x402f18
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x14], ecx
jmp 0x402ee4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1ec], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x402ed7
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0xb4]
cmp dword [ebp + eax*4 - 0x270], ecx
jne 0x402f03
dec dword [ebp - 0xb4]
jns 0x402ec8
cmp dword [ebp - 0xb4], ecx
jne 0x402f18
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffe
jge 0x402e80
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
mov eax, 0x49f
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 8], 0x1c1ec2db
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0x21fd
mov dword [ebp - 0x34], 0xdf93c581
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x24], 0x7dfb9db6
mov dword [ebp - 0x24], edi
mov dword [ebp - 8], edx
cmp dword [ebp - 8], ecx
jl 0x4030ae
mov dword [ebp - 0xc], 0x4edf0ebf
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x7c], ecx
je 0x40303f
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x1c], ecx
jmp 0x403034
mov dword [ebp - 0xc], 0xe21afa9b
mov edx, 0x76038591
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0xc]
sub edx, eax
mov eax, dword [ebp - 0x1c]
imul esi, edx
cmp dword [ebp + eax*4 - 0x7c], esi
jl 0x40301c
xor ebx, ebx
mov dword [ebp - 0x44], 0xfffffffe
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
setg bl
mov dword [ebp - 0x24], ebx
xor ebx, ebx
cmp eax, edx
setne bl
sub ebx, dword [ebp - 0x24]
jne 0x402ff2
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
jmp 0x40302e
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x40302e
push ecx
call dword [sym.imp.USER32.dll_SetCursor]
xor ecx, ecx
inc dword [ebp - 0x1c]
push 3
pop edx
cmp dword [ebp - 0x1c], edx
jle 0x402fa2
jmp 0x4030a2
mov dword [ebp - 0x1c], 5
xor ebx, ebx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x74]
cmp edx, eax
push 3
setle bl
mov dword [ebp - 0x24], ebx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
pop edx
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
dec dword [ebp - 8]
jns 0x402f79
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x1c], 0x66fe7d8a
mov dword [ebp - 0xc], 0xc5ec62bb
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x48], 0xfeac8e4c
mov dword [ebp - 0x218], 0xffffffff
push 4
mov dword [ebp - 0x214], 0xffffffff
pop ebx
mov dword [ebp - 0x210], 0xffffffff
add esi, ebx
mov dword [ebp - 0x20c], 0xffffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], ecx
jmp 0x40310f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd8], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x403102
mov dword [ebp - 8], ecx
jmp 0x403123
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x68], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x403119
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ecx
jl 0x403220
mov dword [ebp - 0x20], 0x4d073ff8
mov dword [ebp - 0x28], 0xa6c84902
mov dword [ebp - 0x28], 0xc46158e9
mov dword [ebp - 0x20], ecx
jmp 0x40315f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x258], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x40314e
mov dword [ebp - 0x20], 0xfffffffd
cmp dword [ebp - 0x20], ecx
jne 0x40320c
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov eax, dword [ebp - 0xc]
cmp eax, edx
setg bl
neg ebx
jne 0x40318c
mov esi, ecx
cmp dword [ebp - 0x20], ecx
je 0x40318e
mov esi, edi
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp esi, eax
setne dl
xor eax, eax
cmp edx, edi
setge al
xor edx, edx
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x250], esi
mov eax, dword [ebp - 0x68]
cmp esi, eax
setge dl
imul eax, edx, 0xa770
xor edx, edx
cmp eax, 0x6160cbeb
mov eax, dword [ebp - 0xd8]
setg dl
xor ebx, ebx
cmp edx, 0xcc70
setge bl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x20]
setne dl
mov dword [ebp - 0x48], edx
xor edx, edx
cmp dword [ebp - 0x48], eax
setge dl
xor ebx, ebx
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setne bl
imul ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x403208
cmp dword [ebp - 0x68], ecx
jne 0x40320c
mov eax, ecx
jmp 0x40320e
mov eax, edi
mov dword [ebp - 0x68], eax
dec dword [ebp - 0x1c]
push 3
pop edx
jns 0x403134
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ecx
jl 0x40323e
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x403239
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
dec dword [ebp - 0xc]
jns 0x403228
mov eax, dword [esi]
xor ebx, ebx
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0x20]
setge bl
xor edx, edx
dec ebx
cmp ebx, eax
setg dl
cmp edx, dword [ebp - 0x1c]
jge 0x403287
mov edx, edi
cmp dword [ebp - 0x20], ecx
jne 0x403289
mov edx, ecx
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
add eax, edx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp eax, edx
setge bl
imul ebx, dword [ebp - 0x20]
imul ebx, dword [ebp - 0x1c]
imul eax, ebx, 0xa6d0
xor ebx, ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
dec edx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setge bl
xor edx, edx
cmp ebx, eax
setg dl
xor eax, eax
test edx, edx
sets al
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x4032ff
push 0x254d
push ecx
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
xor ecx, ecx
mov dword [ebp - 8], 6
add esi, 4
mov dword [ebp - 0x24], 0x328f6c74
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], ecx
jmp 0x403330
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x280], 0x99e885dc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x40331f
mov dword [ebp - 8], ecx
jmp 0x40335a
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x403357
push edi
push 0x1b83
push 0x13e2
call dword [sym.imp.USER32.dll_AttachThreadInput]
xor ecx, ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x12
jg 0x40333b
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xfffffffb
je 0x4033c7
mov dword [ebp - 0xc], edi
xor edx, edx
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
sub esi, 2
imul esi, dword [ebp - 0xc]
imul esi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
neg esi
cmp esi, eax
setg dl
cmp edx, 0xfff8
jne 0x403398
mov esi, ecx
cmp dword [ebp - 0xc], ecx
je 0x40339a
mov esi, edi
mov eax, dword [ebp - 0xc]
xor edx, edx
cmp esi, eax
sete dl
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
je 0x4033b3
mov eax, edi
cmp dword [ebp - 0xc], ecx
jne 0x4033b5
mov eax, ecx
mov dword [ebp - 0x278], eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffb
jne 0x403369
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x48], 0
jne 0x4034b2
cmp byte [ebp - 0x3d], 0
mov ebx, dword [ebp - 0x14]
je 0x4033e8
cmp dword [ebp - 0x38], edi
jne 0x4033e8
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 4]
add esi, 8
push ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], esi
call fcn.00466469
mov dword [ebp - 0x28], eax
xor eax, eax
pop ecx
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xdc]
push eax
push ebx
call fcn.004123e2
xor ecx, ecx
test ebx, ebx
mov ebx, dword [ebp - 0x98]
mov esi, ecx
jle 0x403485
mov eax, esi
and eax, 0x80000001
jns 0x40344c
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
add eax, esi
add eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x30]
jmp 0x403461
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x14]
cmp word [ebx + edx*2], cx
jne 0x40345e
mov eax, dword [ebp - 0x10]
mov word [ebx + edx*2], di
mov al, byte [eax + edx]
mov edx, dword [ebp - 0x28]
mov byte [esi + edx], al
inc esi
mov eax, dword [ebp - 0x14]
cmp esi, eax
jl 0x40343e
jmp 0x403488
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x28]
mov dword [edx + 4], eax
test ebx, ebx
je 0x4034b2
push ebx
call fcn.00466c26
pop ecx
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 8], 0xbeccce1e
xor ebx, ebx
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x38], 0xf4399391
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 0xc96c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, edx
mov eax, dword [ebp - 8]
setg bl
xor edx, edx
neg ebx
cmp ebx, eax
mov eax, dword [ebp - 8]
setg dl
xor ebx, ebx
cmp eax, edx
setle bl
sub ebx, 0x62a96950
neg ebx
sbb ebx, ebx
inc ebx
sub ebx, dword [ebp - 8]
add ebx, dword [ebp - 8]
je 0x403528
mov dword [ebp - 0x28], 5
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
jmp 0x403601
push 7
pop ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x24], 0x85ca7db
mov dword [ebp - 0x30], 0x43ca3807
mov dword [ebp - 0x20], ecx
jmp 0x403552
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x80], 0x5b872a60
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x403544
mov eax, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
sub esi, eax
mov eax, dword [ebp - 0x44]
cmp esi, eax
setle dl
imul eax, edx, 0xfffa
add eax, ebx
xor ebx, ebx
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
cmp eax, edx
setle bl
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x38]
je 0x403592
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
cmp eax, 0xe5e2
mov eax, dword [ebp - 0xc]
setg dl
xor ebx, ebx
cmp edx, eax
setl bl
sub ebx, 0xd594399
imul ebx, dword [ebp - 0x38]
cmp ebx, 0x1183
jne 0x4035ce
mov edx, ecx
cmp dword [ebp - 0x80], ecx
je 0x4035d0
mov edx, edi
mov eax, dword [ebp - 0x30]
add eax, edx
cmp eax, dword [ebp - 8]
je 0x4035df
cmp dword [ebp - 8], ecx
jne 0x4035e1
mov edi, ecx
lea eax, [edi + 0x5d478cec]
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], 0
je 0x403601
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret