Function at 0x451830
Capabilities:
Check for foreground window switch
Log keystrokes via polling
Open clipboard
Resolve function by parsing pe exports
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc4
mov eax, dword [0x4951c0]
xor eax, esp
mov dword [esp + 0xcc0], eax
mov eax, dword [0x52e4b4]
push ebx
push esi
push edi
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x10], edi
mov byte [esp + 0x2f], 0
mov dword [esp + 0x40], eax
cmp byte [0x54b121], bl
jne 0x45186f
mov dword [esp + 0x40], ebx
mov ecx, dword [0x543998]
mov edx, dword [0x544430]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x90], edx
cmp dword [0x58fe40], ebx
jne 0x4518a7
cmp dword [0x52fa68], ebx
jne 0x4518a7
cmp dword [0x54a8d0], ebx
jne 0x4518a7
push edi
call fcn.00446f10
or eax, 0xffffffff
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ebx
mov dword [0x547f48], ebx
mov dword [esp + 0x6c], 1
cmp dword [0x54a8d0], ebx
jne 0x4518ce
mov dword [0x543998], ebx
mov ecx, dword [0x52fa68]
cmp ecx, ebx
je 0x4518de
mov dword [0x543998], ebx
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov dword [0x4963d0], eax
cmp ecx, ebx
je 0x451904
mov eax, dword [edi + 0x10]
push 1
push 0x111
push 0x111
push eax
lea ecx, [esp + 0x54]
push ecx
call esi
cmp dword [0x54a8d0], ebx
je 0x451972
cmp dword [0x52fa68], ebx
jne 0x45193b
mov edx, dword [edi + 0x10]
push 1
push 0x202
push 0x202
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
je 0x45193b
mov dword [0x544430], ebx
mov dword [0x543998], ebx
cmp dword [0x54a8d0], ebx
je 0x451972
cmp dword [0x52fa68], ebx
jne 0x451972
mov ecx, dword [edi + 0x10]
push 1
push 0x205
push 0x205
push ecx
lea edx, [esp + 0x54]
push edx
call esi
test eax, eax
je 0x451972
mov dword [0x544430], ebx
mov dword [0x543998], ebx
mov eax, dword [edi + 0x10]
push 1
push 0x202
push 0x202
push eax
lea ecx, [esp + 0x54]
push ecx
call esi
test eax, eax
jne 0x451972
lea ecx, [ecx]
mov edx, dword [edi + 0x10]
push 1
push 0x205
push 0x205
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x451990
jmp 0x4519b0
mov ecx, dword [edi + 0x10]
push 1
push 0x208
push 0x208
push ecx
lea edx, [esp + 0x54]
push edx
call esi
test eax, eax
jne 0x4519b0
jmp 0x4519d0
mov eax, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push eax
lea ecx, [esp + 0x54]
push ecx
call esi
test eax, eax
jne 0x4519d0
push edi
mov dword [esp + 0x6c], ebx
call fcn.00402780
xor eax, eax
cmp dword [0x4ed338], ebx
mov dword [0x58faec], ebx
mov dword [0x58faf0], ebx
mov dword [0x58faf4], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], eax
jle 0x451b2f
mov eax, dword [eax*4 + 0x4ee6d0]
cmp eax, 0xfffffc18
jg 0x451a9b
mov esi, 0xfffffc18
sub esi, eax
mov ecx, esi
imul ecx, ecx, 0x294
mov dword [esp + 0x38], 1
cmp dword [ecx + 0x59ce08], ebx
jne 0x451a5b
cmp dword [esi*4 + 0x53a1c8], ebx
jne 0x451b1a
mov edi, dword [ecx + 0x59cdf0]
mov dword [ecx + 0x59ce08], ebx
mov eax, dword [ecx + 0x59cdec]
cdq
idiv dword [ecx + 0x59ce0c]
cmp dword [ecx + 0x59ce00], 1
mov dword [esi*4 + 0x53a1c8], 1
jne 0x451a8d
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi*4 + 0x4ab6d0]
lea edx, [ebx + edi + 1]
push edx
jmp 0x451aff
cmp eax, ebx
jge 0x451b1a
or esi, 0xffffffff
sub esi, eax
mov ecx, esi
imul ecx, ecx, 0x294
cmp dword [ecx + 0x59ce08], ebx
jne 0x451abd
cmp dword [esi*4 + 0x53a1c8], ebx
jne 0x451b1a
mov edi, dword [ecx + 0x59cdf0]
mov dword [ecx + 0x59ce08], 0
mov eax, dword [ecx + 0x59cdec]
cdq
idiv dword [ecx + 0x59ce0c]
mov ebx, 1
mov dword [esi*4 + 0x53a1c8], ebx
cmp dword [ecx + 0x59ce00], ebx
jne 0x451af3
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi*4 + 0x4ab6d0]
lea ecx, [ebx + edi + 1]
push ecx
mov esi, dword [esi*4 + 0x5429f0]
lea edx, [esi + eax + 1]
mov ecx, esi
call fcn.0044e920
mov edi, dword [esp + 0x14]
add esp, 4
xor ebx, ebx
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [0x4ed338]
mov dword [esp + 0x14], eax
jl 0x451a21
xor esi, esi
cmp dword [esp + 0x40], ebx
jle 0x451b66
jmp 0x451b40
mov edx, dword [esi*4 + 0x6484a0]
cmp byte [edx], 0
je 0x451b54
mov dword [esp + 0x38], 1
push ebx
mov ecx, esi
call fcn.004515c0
inc esi
add esp, 4
cmp esi, dword [esp + 0x40]
jl 0x451b40
cmp dword [esp + 0x38], ebx
je 0x451b7a
mov eax, dword [0x590e40]
push eax
call fcn.00451220
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
push 0x53b798
push ebx
push 1
xor edx, edx
mov ecx, edi
call fcn.0045f070
cmp dword [0x54a8d0], ebx
je 0x451d5e
cmp dword [0x52fa68], ebx
jne 0x451d5e
cmp dword [0x4ab59c], ebx
jne 0x451c48
cmp dword [0x543998], ebx
je 0x451c48
cmp byte [0x4ec0a8], 0
je 0x451c31
cmp byte [0x58fcb6], 0
je 0x451bea
push ebx
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x451c08
cmp byte [0x58fb9f], 0
je 0x451bfc
cmp byte [0x5553f0], 0
jne 0x451bd7
xor eax, eax
mov edi, 0x653778
call fcn.00401cc0
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov ecx, dword [0x54acec]
mov edx, dword [0x544644]
push ecx
push edx
call dword [0x55933c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
mov ebx, dword [sym.imp.USER32.dll_GetForegroundWindow]
call ebx
mov ecx, dword [0x49ab6c]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp eax, dword [ecx + 0x10]
je 0x451c65
xor eax, eax
jmp 0x451c6c
push 0x11
call edi
movzx eax, ax
and eax, 0x8000
cmp dword [0x58fe04], 0
mov esi, eax
je 0x451c9b
call ebx
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x451c8d
xor eax, eax
jmp 0x451c94
push 0x12
call edi
movzx eax, ax
and eax, 0x8000
and esi, eax
test esi, esi
je 0x451d64
cmp byte [0x4ec0a8], 0
je 0x451c31
cmp byte [0x58fcb6], 0
je 0x451cc9
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x451d1f
cmp byte [0x58fb9f], 0
je 0x451cdb
cmp byte [0x5553f0], 0
jne 0x451cb5
cmp dword [0x654404], 0
mov dword [0x654a44], 0
je 0x451d1f
mov eax, dword [0x653dc4]
mov dword [0x654404], 0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, dword [esp + 0x10]
xor esi, esi
cmp dword [0x4ed338], esi
jle 0x451dd7
mov eax, dword [esi*4 + 0x52f268]
test eax, eax
jge 0x451dce
cmp dword [esp + 0x34], 0
jne 0x451d8c
mov dword [esp + 0x34], 1
mov edx, dword [esi*4 + 0x4ec338]
mov ecx, dword [esi*4 + 0x543c30]
neg edx
mov dword [esp + 0x20], edx
mov edx, dword [0x4edb78]
neg ecx
push edx
lea edx, [eax*4 + 4]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x24]
push ecx
mov eax, 0x63e5a8
sub eax, edx
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.00445d00
inc esi
cmp esi, dword [0x4ed338]
jl 0x451d72
cmp dword [0x58fe00], 0
jne 0x451e17
lea edx, [esp + 0x60]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [ebx + 0x10]
lea eax, [esp + 0x60]
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [esp + 0x64]
mov eax, dword [ebx + 0x10]
shl edx, 0x10
add edx, dword [esp + 0x60]
push edx
push 0
push 0x200
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
call ebx
mov dword [esp + 0x30], eax
jmp 0x451e30
cmp dword [0x58fca8], 0
mov eax, dword [0x543998]
je 0x451e5e
cmp eax, dword [esp + 0x9c]
jne 0x454031
mov ecx, dword [esp + 0x90]
cmp ecx, dword [0x544430]
jne 0x45404b
cmp dword [0x54a8d0], 0
je 0x451ed8
cmp dword [0x52fa68], 0
jne 0x451ed8
cmp dword [0x4ab59c], 0
jne 0x451e81
test eax, eax
jne 0x454065
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x451e96
xor eax, eax
jmp 0x451e9d
push 0x11
call edi
movzx eax, ax
and eax, 0x8000
cmp dword [0x58fe04], 0
mov esi, eax
je 0x451ed0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x451ec2
xor eax, eax
jmp 0x451ec9
push 0x12
call edi
movzx eax, ax
and eax, 0x8000
and esi, eax
test esi, esi
jne 0x454124
cmp dword [0x58fe6c], 0
jne 0x451c31
cmp dword [esp + 0x6c], 0
je 0x451f0a
call ebx
mov esi, dword [esp + 0x30]
sub eax, esi
cmp eax, 0x3e8
jbe 0x451f0e
call fcn.00426410
mov dword [esp + 0x6c], 0
jmp 0x451f0e
mov esi, dword [esp + 0x30]
cmp dword [0x54c7ec], 0xffffffff
jle 0x451fc5
call ebx
sub eax, esi
cmp eax, dword [0x54c7ec]
jbe 0x451fc5
cmp dword [0x58fdd8], 0
je 0x453fe2
cmp byte [0x58fcb6], 0
jne 0x451f96
cmp byte [0x58fb9f], 0
jne 0x451fb2
cmp dword [0x653778], 0
je 0x453fe2
cmp dword [0x654a44], 0
je 0x453fe2
cmp dword [0x654724], 0
jne 0x453fe2
push 0
push 1
push 0x653a9c
push 1
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 0x102
jne 0x453fd6
cmp byte [0x58fcb6], 0
je 0x451fa9
push 0
call dword [0x5553ec]
add esp, 4
test al, al
je 0x453fe2
cmp byte [0x58fb9f], 0
je 0x451fc5
push 0
call dword [0x5553ec]
add esp, 4
test al, al
je 0x453fe2
cmp byte [0x58fcb6], 0
je 0x452132
cmp dword [0x4967f4], 0
jl 0x452017
mov edx, dword [esp + 0x10]
add edx, 0x14
push edx
call fcn.00402500
cmp eax, 1
je 0x45200a
call ebx
mov ecx, dword [0x4967f4]
add ecx, esi
cmp ecx, eax
ja 0x45200a
push 0
call dword [0x5553ec]
add esp, 4
test al, al
je 0x45205b
cmp dword [0x4967f4], 0
jge 0x452339
mov edx, dword [esp + 0x10]
add edx, 0x14
push edx
call fcn.00402500
cmp eax, 1
je 0x452339
call ebx
mov ecx, dword [0x52fa6c]
imul ecx, dword [0x4967f4]
mov edx, esi
sub edx, ecx
cmp edx, eax
ja 0x452339
push 0
call dword [0x5553ec]
add esp, 4
test al, al
jne 0x452339
cmp byte [esp + 0x2f], 0
jne 0x452113
cmp byte [0x4ec0a8], 0
je 0x452113
cmp byte [0x58fcb6], 0
mov byte [esp + 0x2f], 1
je 0x452095
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4520eb
cmp byte [0x58fb9f], 0
je 0x4520a7
cmp byte [0x5553f0], 0
jne 0x452081
cmp dword [0x654404], 0
mov dword [0x654a44], 0
je 0x4520eb
mov eax, dword [0x653dc4]
mov dword [0x654404], 0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
cmp dword [0x544430], 0
je 0x452339
cmp dword [0x54a8d0], 0
jne 0x451c31
jmp 0x452339
cmp dword [0x54a8d0], 0
je 0x452339
cmp dword [0x52fa68], 0
jne 0x452339
cmp dword [0x544430], 0
je 0x452316
cmp dword [0x58fcc8], 0
jne 0x4522ab
cmp byte [0x58fb9f], 0
je 0x452212
cmp byte [0x5553f0], 0
je 0x452212
cmp dword [0x4967f4], 0
jl 0x4521c9
mov edx, dword [esp + 0x10]
add edx, 0x14
push edx
call fcn.00402500
cmp eax, 1
je 0x4521bc
call ebx
mov ecx, dword [0x4967f4]
add ecx, esi
cmp ecx, eax
ja 0x4521bc
push 0
call dword [0x5553ec]
add esp, 4
test al, al
je 0x451c31
cmp dword [0x4967f4], 0
jge 0x452316
mov edx, dword [esp + 0x10]
add edx, 0x14
push edx
call fcn.00402500
cmp eax, 1
je 0x452316
call ebx
mov ecx, dword [0x52fa6c]
imul ecx, dword [0x4967f4]
mov edx, esi
sub edx, ecx
cmp edx, eax
ja 0x452316
push 0
call dword [0x5553ec]
add esp, 4
test al, al
je 0x451c31
jmp 0x452316
cmp dword [0x4967f4], 0
jl 0x452260
mov eax, dword [esp + 0x10]
add eax, 0x14
push eax
call fcn.00402500
cmp eax, 1
je 0x452253
call ebx
mov ecx, dword [0x4967f4]
add ecx, esi
cmp ecx, eax
ja 0x452253
xor esi, esi
mov eax, 0x653778
call fcn.00402b70
test eax, eax
je 0x451c31
mov esi, dword [esp + 0x30]
cmp dword [0x4967f4], 0
jge 0x452316
mov edx, dword [esp + 0x10]
add edx, 0x14
push edx
call fcn.00402500
cmp eax, 1
je 0x452316
call ebx
mov ecx, dword [0x52fa6c]
imul ecx, dword [0x4967f4]
mov edx, esi
sub edx, ecx
cmp edx, eax
ja 0x452316
xor esi, esi
mov eax, 0x653778
call fcn.00402b70
test eax, eax
je 0x451c31
mov esi, dword [esp + 0x30]
jmp 0x452316
cmp dword [0x58f970], 0
je 0x4522db
mov eax, dword [0x49a63c]
mov ecx, dword [eax]
lea edx, [esp + 0xa8]
push edx
push 1
push eax
mov eax, dword [ecx + 0x24]
call eax
cmp eax, 0x80004004
je 0x452316
mov eax, dword [esp + 0x10]
call fcn.0046f9e0
cmp dword [0x4967f4], 0
jl 0x4522fb
call ebx
mov ecx, dword [0x4967f4]
lea edx, [ecx + esi]
cmp edx, eax
jbe 0x451c31
test ecx, ecx
jge 0x452316
call ebx
mov ecx, dword [0x52fa6c]
imul ecx, dword [0x4967f4]
mov edx, esi
sub edx, ecx
cmp edx, eax
jbe 0x451c31
cmp dword [0x4ab59c], 0
je 0x452331
call ebx
mov ecx, dword [0x4ad7b4]
add ecx, esi
cmp ecx, eax
jbe 0x451c31
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push 0
push 0
push 0
lea edx, [esp + 0xbc]
push edx
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x453efe
mov ecx, dword [0x49ac78]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xac]
push eax
mov eax, dword [edx + 0x10]
push ecx
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x452386
lea ecx, [esp + 0xac]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [esp + 0xac]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa2c], 0x200
jne 0x452eff
mov eax, dword [0x58fcc0]
test eax, eax
je 0x4523d7
mov edi, dword [esp + 0x10]
jge 0x4523c7
mov ecx, eax
neg ecx
cmp dword [edi + 0xa34], ecx
jg 0x45428e
test eax, eax
jle 0x4523d7
cmp dword [edi + 0xa34], eax
jl 0x45428e
or edi, 0xffffffff
xor esi, esi
cmp dword [0x4ed338], esi
mov dword [esp + 0x24], edi
jle 0x4524a8
lea esp, [esp]
mov edx, dword [0x54acfc]
cmp dword [esi*4 + 0x544f38], edx
jle 0x45249b
mov ecx, dword [esp + 0x10]
mov eax, dword [esi*4 + 0x4ec338]
mov ecx, dword [ecx + 0xa30]
cmp ecx, eax
jl 0x45249b
mov edx, dword [esp + 0x10]
mov ebx, dword [esi*4 + 0x543c30]
mov eax, dword [edx + 0xa34]
cmp eax, ebx
jl 0x45249b
cmp ecx, dword [esi*4 + 0x545738]
jg 0x45249b
cmp eax, dword [esi*4 + 0x52e860]
jg 0x45249b
mov edx, dword [esi*4 + 0x4ee6d0]
cmp edx, 0xfffffc18
jg 0x452463
cmp dword [0x58fe44], 0
je 0x452463
add edx, 0x3e8
jmp 0x452471
test edx, edx
jg 0x452493
cmp dword [0x58fe44], 0
je 0x452493
inc edx
sub ecx, dword [esi*4 + 0x4ec338]
imul edx, edx, 0x294
sub eax, ebx
push eax
push ecx
mov ecx, 0x59cb88
sub ecx, edx
call fcn.00403e50
cmp eax, 1
je 0x452497
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x24]
inc esi
cmp esi, dword [0x4ed338]
jl 0x4523f0
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x40], eax
jle 0x4525a0
mov ecx, dword [0x4ed338]
mov dword [esp + 0x14], ecx
mov edx, dword [0x54acfc]
cmp dword [eax*4 + 0x52d870], edx
jle 0x452591
mov esi, dword [eax*4 + 0x4edba8]
mov ecx, dword [eax*4 + 0x52dd10]
cmp ecx, esi
jle 0x45255e
mov esi, dword [ebx + 0xa30]
cmp ecx, esi
jge 0x452529
mov ecx, dword [0x4ab6cc]
imul ecx, dword [0x4ed870]
add ecx, dword [0x4ebfc8]
cmp esi, ecx
jge 0x452529
mov ecx, dword [eax*4 + 0x53c460]
mov edx, dword [ebx + 0xa34]
cmp ecx, edx
jge 0x452529
mov edi, dword [0x4edb80]
add ecx, edi
cmp ecx, edx
jg 0x452589
mov edi, dword [esp + 0x24]
cmp dword [eax*4 + 0x4edba8], esi
jle 0x452591
cmp dword [0x4ebfc8], esi
jge 0x452591
mov ecx, dword [eax*4 + 0x53c460]
mov esi, dword [0x4edb80]
mov edx, dword [ebx + 0xa34]
add esi, ecx
cmp esi, edx
jge 0x452591
mov esi, dword [0x4edb80]
lea ecx, [ecx + esi*2]
jmp 0x452585
mov edx, dword [ebx + 0xa30]
cmp ecx, edx
jge 0x452591
cmp edx, esi
jge 0x452591
mov ecx, dword [eax*4 + 0x53c460]
mov edx, dword [ebx + 0xa34]
cmp ecx, edx
jge 0x452591
mov esi, dword [0x4edb80]
add ecx, esi
cmp ecx, edx
jle 0x452591
mov edi, dword [esp + 0x14]
mov dword [esp + 0x24], edi
inc dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x40]
jl 0x4524c2
mov ecx, dword [esp + 0x18]
cmp edi, ecx
je 0x452eef
cmp edi, 0xffffffff
jne 0x4528bc
cmp dword [0x4ed338], ecx
jg 0x45260b
sub ecx, dword [0x4ed338]
push 0
call fcn.004515c0
add esp, 4
cmp dword [esp + 0x38], 0
je 0x452eef
mov edx, dword [0x590e40]
push edx
call fcn.00451220
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
push 0x53b798
push 0
push 1
mov edx, 0x47d423
mov ecx, ebx
call fcn.0045f070
jmp 0x452eef
mov eax, dword [ecx*4 + 0x4ee6d0]
cmp eax, 0xfffffc18
jg 0x4526bb
mov ebx, 0xfffffc18
sub ebx, eax
mov eax, dword [0x590e40]
mov esi, ebx
imul esi, esi, 0x294
push eax
mov dword [esi + 0x59ce08], 0
mov dword [ebx*4 + 0x53a1c8], 1
call fcn.00451220
mov eax, dword [esi + 0x59cdec]
mov edi, dword [esi + 0x59cdf0]
cdq
idiv dword [esi + 0x59ce0c]
add esp, 4
cmp dword [esi + 0x59ce00], 1
jne 0x452670
cdq
sub eax, edx
sar eax, 1
mov esi, dword [ebx*4 + 0x4ab6d0]
mov ecx, dword [ebx*4 + 0x5429f0]
lea edx, [esi + edi + 1]
push edx
lea edx, [ecx + eax + 1]
mov ebx, esi
call fcn.0044e920
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
mov ecx, dword [esp + 0x10]
push 0x53b798
push 0
push 1
mov edx, 0x47d427
call fcn.0045f070
mov edi, dword [esp + 0x24]
jmp 0x452eef
test eax, eax
jge 0x452751
or esi, 0xffffffff
sub esi, eax
mov ecx, esi
imul ecx, ecx, 0x294
mov edi, dword [ecx + 0x59cdf0]
mov dword [ecx + 0x59ce08], 0
mov eax, dword [ecx + 0x59cdec]
cdq
idiv dword [ecx + 0x59ce0c]
mov ebx, 1
mov dword [esi*4 + 0x53a1c8], ebx
cmp dword [ecx + 0x59ce00], ebx
jne 0x452706
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi*4 + 0x4ab6d0]
mov esi, dword [esi*4 + 0x5429f0]
lea ecx, [ebx + edi + 1]
push ecx
lea edx, [esi + eax + 1]
mov ecx, esi
call fcn.0044e920
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
mov ecx, dword [esp + 0x10]
push 0x53b798
push 0
push 1
mov edx, 0x47d42d
call fcn.0045f070
mov edi, dword [esp + 0x24]
jmp 0x452eef
mov eax, dword [ecx*4 + 0x52f268]
test eax, eax
jge 0x4527a3
mov edx, dword [ecx*4 + 0x4ec338]
mov ecx, dword [ecx*4 + 0x543c30]
neg edx
mov dword [esp + 0x20], edx
mov edx, dword [0x4edb78]
neg ecx
push edx
lea edx, [eax*4 + 4]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x24]
push ecx
mov eax, 0x63e5a8
sub eax, edx
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.00445d00
jmp 0x452eef
mov edx, dword [esp + 0x18]
mov eax, dword [edx*4 + 0x543c30]
mov ecx, dword [edx*4 + 0x4ec338]
lea esi, [edx*4 + 0x543c30]
lea ebx, [edx*4 + 0x4ec338]
lea edi, [edx*4 + 0x4ecb38]
push eax
lea edx, [edx*4 + 0x4edd38]
mov dword [esp + 0x1c], edx
mov edx, dword [0x497848]
push ecx
push edx
mov edx, dword [edi]
push edx
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
push edx
push eax
push ecx
mov eax, 0x496938
call fcn.00403520
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
push eax
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_GetDC]
cmp byte [0x58f9cb], 0
mov dword [esp + 0x94], eax
je 0x452875
mov ecx, dword [0x49ab6c]
cmp dword [ecx + 0x514], 0
je 0x452875
mov eax, dword [esp + 0x18]
mov edx, dword [0x496b50]
mov ecx, dword [eax]
mov edi, dword [edi]
mov esi, dword [esi]
mov ebx, dword [ebx]
push 0
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], ecx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 0xcc0020
push eax
mov eax, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0xa0]
push eax
push edi
push ecx
push esi
push ebx
push edx
jmp 0x45289a
mov esi, dword [esi]
mov ebx, dword [ebx]
mov eax, dword [0x496b50]
mov ecx, dword [edi]
mov edx, dword [esp + 0x18]
push 0xcc0020
push esi
push ebx
push eax
mov eax, dword [edx]
push ecx
mov ecx, dword [esp + 0xa8]
push eax
push esi
push ebx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x3c]
push edx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edi, dword [esp + 0x24]
jmp 0x452eef
cmp ecx, 0xffffffff
je 0x452bb5
cmp dword [0x4ed338], ecx
jg 0x45291b
sub ecx, dword [0x4ed338]
push 0
call fcn.004515c0
add esp, 4
cmp dword [esp + 0x38], 0
je 0x452bb5
mov ecx, dword [0x590e40]
push ecx
call fcn.00451220
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
push 0x53b798
push 0
push 1
mov edx, 0x47d42e
mov ecx, ebx
call fcn.0045f070
jmp 0x452bb5
mov eax, dword [ecx*4 + 0x4ee6d0]
cmp eax, 0xfffffc18
jg 0x4529b9
mov esi, 0xfffffc18
sub esi, eax
mov ecx, esi
imul ecx, ecx, 0x294
mov edi, dword [ecx + 0x59cdf0]
mov dword [ecx + 0x59ce08], 0
mov eax, dword [ecx + 0x59cdec]
cdq
idiv dword [ecx + 0x59ce0c]
mov ebx, 1
mov dword [esi*4 + 0x53a1c8], ebx
cmp dword [ecx + 0x59ce00], ebx
jne 0x452972
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi*4 + 0x4ab6d0]
mov esi, dword [esi*4 + 0x5429f0]
lea edx, [ebx + edi + 1]
push edx
lea edx, [esi + eax + 1]
mov ecx, esi
call fcn.0044e920
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
mov ecx, dword [esp + 0x10]
push 0x53b798
push 0
push 1
mov edx, 0x47d42f
call fcn.0045f070
jmp 0x452bad
test eax, eax
jge 0x452a4b
or esi, 0xffffffff
sub esi, eax
mov ecx, esi
imul ecx, ecx, 0x294
mov edi, dword [ecx + 0x59cdf0]
mov dword [ecx + 0x59ce08], 0
mov eax, dword [ecx + 0x59cdec]
cdq
idiv dword [ecx + 0x59ce0c]
mov ebx, 1
mov dword [esi*4 + 0x53a1c8], ebx
cmp dword [ecx + 0x59ce00], ebx
jne 0x452a04
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi*4 + 0x4ab6d0]
mov esi, dword [esi*4 + 0x5429f0]
lea ecx, [edi + ebx + 1]
push ecx
lea edx, [eax + esi + 1]
mov ecx, esi
call fcn.0044e920
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
mov ecx, dword [esp + 0x10]
push 0x53b798
push 0
push 1
mov edx, 0x47d435
call fcn.0045f070
jmp 0x452bad
mov eax, dword [ecx*4 + 0x52f268]
test eax, eax
jge 0x452a9d
mov edx, dword [ecx*4 + 0x4ec338]
mov ecx, dword [ecx*4 + 0x543c30]
neg edx
mov dword [esp + 0x20], edx
mov edx, dword [0x4edb78]
neg ecx
push edx
lea edx, [eax*4 + 4]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x24]
push ecx
mov eax, 0x63e5a8
sub eax, edx
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.00445d00
jmp 0x452bb5
mov edx, dword [esp + 0x18]
mov eax, dword [edx*4 + 0x543c30]
mov ecx, dword [edx*4 + 0x4ec338]
lea esi, [edx*4 + 0x543c30]
lea ebx, [edx*4 + 0x4ec338]
lea edi, [edx*4 + 0x4ecb38]
push eax
lea edx, [edx*4 + 0x4edd38]
mov dword [esp + 0x1c], edx
mov edx, dword [0x497848]
push ecx
push edx
mov edx, dword [edi]
push edx
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
push edx
push eax
push ecx
mov eax, 0x496938
call fcn.00403520
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
push eax
mov dword [esp + 0x20], eax
call dword [sym.imp.USER32.dll_GetDC]
cmp byte [0x58f9cb], 0
mov dword [esp + 0xa0], eax
je 0x452b6f
mov ecx, dword [0x49ab6c]
cmp dword [ecx + 0x514], 0
je 0x452b6f
mov eax, dword [esp + 0x18]
mov edx, dword [0x496b50]
mov ecx, dword [eax]
mov edi, dword [edi]
mov esi, dword [esi]
mov ebx, dword [ebx]
push 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], ecx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
push 0xcc0020
push eax
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0xac]
push eax
push edi
push ecx
push esi
push ebx
push edx
jmp 0x452b94
mov esi, dword [esi]
mov ebx, dword [ebx]
mov eax, dword [0x496b50]
mov ecx, dword [edi]
mov edx, dword [esp + 0x18]
push 0xcc0020
push esi
push ebx
push eax
mov eax, dword [edx]
push ecx
mov ecx, dword [esp + 0xb4]
push eax
push esi
push ebx
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x1c]
push edx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
cmp dword [0x4ed338], edi
jg 0x452c31
mov ecx, edi
sub ecx, dword [0x4ed338]
push 1
call fcn.004515c0
mov ecx, edi
sub ecx, dword [0x4ed338]
add esp, 4
mov edx, dword [ecx*4 + 0x6484a0]
cmp byte [edx], 0
je 0x452eef
mov eax, dword [0x590e40]
push eax
call fcn.00451220
mov ecx, edi
sub ecx, dword [0x4ed338]
add esp, 4
mov edx, dword [ecx*4 + 0x6484a0]
push edx
call fcn.00451220
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
push 0x53b798
push 0
push 1
mov edx, 0x47d436
mov ecx, ebx
call fcn.0045f070
jmp 0x452eef
mov eax, dword [edi*4 + 0x4ee6d0]
cmp eax, 0xfffffc18
jg 0x452cf9
mov ecx, 0xfffffc18
sub ecx, eax
mov esi, ecx
imul esi, esi, 0x294
mov eax, 1
cmp dword [esi + 0x59ce0c], eax
jle 0x452c65
mov dword [esi + 0x59ce08], eax
mov edi, dword [esi + 0x59cdf0]
mov ebx, eax
mov eax, dword [esi + 0x59cdec]
cdq
idiv dword [esi + 0x59ce0c]
mov dword [ecx*4 + 0x53a1c8], ebx
cmp dword [esi + 0x59ce00], ebx
jne 0x452c8e
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [ecx*4 + 0x4ab6d0]
mov ecx, dword [ecx*4 + 0x5429f0]
lea edx, [edi + ebx + 1]
push edx
lea edx, [eax + ecx + 1]
call fcn.0044e920
mov eax, dword [0x590e40]
add esp, 4
push eax
call fcn.00451220
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx*4 + 0x63dda8]
add esp, 4
push edx
call fcn.00451220
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
mov ecx, dword [esp + 0x10]
push 0x53b798
push 0
push 1
mov edx, 0x47d437
call fcn.0045f070
mov edi, dword [esp + 0x24]
jmp 0x452eef
test eax, eax
jge 0x452d8b
or esi, 0xffffffff
sub esi, eax
mov ecx, esi
imul ecx, ecx, 0x294
mov edi, dword [ecx + 0x59cdf0]
mov ebx, 1
mov dword [ecx + 0x59ce08], ebx
mov eax, dword [ecx + 0x59cdec]
cdq
idiv dword [ecx + 0x59ce0c]
mov dword [esi*4 + 0x53a1c8], ebx
cmp dword [ecx + 0x59ce00], ebx
jne 0x452d40
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi*4 + 0x4ab6d0]
mov esi, dword [esi*4 + 0x5429f0]
lea ecx, [edi + ebx + 1]
push ecx
lea edx, [eax + esi + 1]
mov ecx, esi
call fcn.0044e920
add esp, 4
mov eax, 0x53b798
call fcn.004566d0
mov ecx, dword [esp + 0x10]
push 0x53b798
push 0
push 1
mov edx, 0x47d43e
call fcn.0045f070
mov edi, dword [esp + 0x24]
jmp 0x452eef
mov ecx, dword [edi*4 + 0x52f268]
test ecx, ecx
jge 0x452ddd
mov edx, dword [edi*4 + 0x4ec338]
mov eax, dword [edi*4 + 0x543c30]
neg edx
mov dword [esp + 0x20], edx
mov edx, dword [0x52e4b0]
push edx
neg eax
mov dword [esp + 0x18], eax
lea ecx, [ecx*4 + 4]
lea eax, [esp + 0x24]
mov edx, 0x63e5a8
sub edx, ecx
push eax
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.00445d00
jmp 0x452eef
push eax
mov eax, dword [edi*4 + 0x4edd38]
push ecx
mov ecx, dword [0x4982a8]
lea edx, [edi*4 + 0x4ecb38]
push ecx
mov ecx, dword [edi*4 + 0x543c30]
mov dword [esp + 0x20], edx
mov edx, dword [edx]
push edx
mov edx, dword [edi*4 + 0x4ec338]
push eax
push ecx
push edx
mov eax, 0x496938
call fcn.00403520
mov ebx, dword [ebx + 0x10]
push ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.USER32.dll_GetDC]
cmp byte [0x58f9cb], 0
mov esi, eax
je 0x452eb3
mov eax, dword [0x49ab6c]
cmp dword [eax + 0x514], 0
je 0x452eb3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax*4 + 0x4edd38]
mov edi, dword [ecx]
mov ecx, dword [eax*4 + 0x543c30]
mov ebx, dword [0x496b50]
mov dword [esp + 0x3c], edx
mov edx, dword [eax*4 + 0x4ec338]
push 0
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov dword [esp + 0x20], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push 0xcc0020
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push ebx
push edi
push ecx
push edx
push eax
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
jmp 0x452ee7
mov eax, dword [edi*4 + 0x543c30]
mov ecx, dword [edi*4 + 0x4ec338]
mov edx, dword [0x496b50]
push 0xcc0020
push eax
push ecx
push edx
mov edx, dword [esp + 0x24]
mov edx, dword [edx]
push edx
mov edx, dword [edi*4 + 0x4edd38]
push edx
push eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push esi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0x18], edi
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp dword [0x58fb64], 0
je 0x45337c
xor esi, esi
mov dword [esp + 0x14], esi
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x452f27
xor eax, eax
jmp 0x452f2e
push 0x26
call edi
movzx eax, ax
test eax, 0x8000
je 0x452f54
call ebx
mov edx, dword [esp + 0x28]
add edx, 0x7d
cmp eax, edx
ja 0x452f48
cmp eax, dword [esp + 0x28]
jae 0x452f54
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], 0xffffffff
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x452f69
xor eax, eax
jmp 0x452f70
push 0x28
call edi
movzx eax, ax
test eax, 0x8000
je 0x452f96
call ebx
mov edx, dword [esp + 0x28]
add edx, 0x7d
cmp eax, edx
ja 0x452f8a
cmp eax, dword [esp + 0x28]
jae 0x452f96
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], 1
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x452fab
xor eax, eax
jmp 0x452fb2
push 0x25
call edi
movzx eax, ax
test eax, 0x8000
je 0x452fd3
call ebx
mov edx, dword [esp + 0x28]
add edx, 0x7d
cmp eax, edx
ja 0x452fcc
cmp eax, dword [esp + 0x28]
jae 0x452fd3
mov dword [esp + 0x28], eax
or esi, 0xffffffff
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x452fe8
xor eax, eax
jmp 0x452fef
push 0x27
call edi
movzx eax, ax
test eax, 0x8000
je 0x453014
call ebx
mov edx, dword [esp + 0x28]
add edx, 0x7d
cmp eax, edx
ja 0x453009
cmp eax, dword [esp + 0x28]
jae 0x453014
mov dword [esp + 0x28], eax
mov esi, 1
jmp 0x453022
test esi, esi
jne 0x453022
cmp dword [esp + 0x14], esi
je 0x4536af
cmp dword [esp + 0x18], 0xffffffff
jne 0x4530b0
mov eax, dword [0x4ed338]
test eax, eax
jle 0x4536af
dec eax
test eax, eax
jle 0x4536af
cmp dword [eax*4 + 0x4ec338], 0
jle 0x453057
cmp dword [eax*4 + 0x543c30], 0
jg 0x453061
dec eax
test eax, eax
jg 0x453043
jmp 0x4536bb
mov ecx, dword [eax*4 + 0x4ec338]
mov edx, dword [eax*4 + 0x543c30]
mov dword [esp + 0x88], ecx
mov ecx, dword [0x49ab6c]
lea eax, [esp + 0x88]
mov dword [esp + 0x8c], edx
mov edx, dword [ecx + 0x10]
push eax
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp 0x4536bb
mov ecx, dword [0x4ed338]
xor edx, edx
xor eax, eax
mov dword [esp + 0x20], edx
test ecx, ecx
jle 0x45312b
mov edi, dword [esp + 0x18]
test esi, esi
jle 0x4530dc
mov ebx, dword [eax*4 + 0x4ec338]
cmp ebx, dword [edi*4 + 0x4ec338]
jle 0x453122
jmp 0x45311a
jge 0x4530ee
mov ebx, dword [eax*4 + 0x4ec338]
cmp ebx, dword [edi*4 + 0x4ec338]
jmp 0x453118
mov ebx, dword [esp + 0x14]
test ebx, ebx
jle 0x453108
mov ebx, dword [eax*4 + 0x543c30]
cmp ebx, dword [edi*4 + 0x543c30]
jle 0x453122
jmp 0x45311a
jge 0x453122
mov ebx, dword [eax*4 + 0x543c30]
cmp ebx, dword [edi*4 + 0x543c30]
jge 0x453122
mov dword [esp + edx*4 + 0xc8], eax
inc edx
inc eax
cmp eax, ecx
jl 0x4530c6
mov dword [esp + 0x20], edx
fld qword [0x48b5d8]
xor ecx, ecx
cmp edx, 4
mov dword [esp + 0x14], 0xffffffff
jl 0x4532b6
mov esi, dword [esp + 0x18]
mov eax, dword [esi*4 + 0x545738]
add eax, dword [esi*4 + 0x4ec338]
mov edi, dword [esi*4 + 0x543c30]
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
mov esi, dword [esp + ecx*4 + 0xc8]
mov eax, dword [esi*4 + 0x545738]
add eax, dword [esi*4 + 0x4ec338]
cdq
sub eax, edx
mov edx, dword [esi*4 + 0x543c30]
sar eax, 1
sub eax, ebx
mov dword [esp + 0x1c], eax
sub edx, edi
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4531b2
fstp st(1)
mov dword [esp + 0x14], esi
jmp 0x4531b4
fstp st(0)
mov esi, dword [esp + ecx*4 + 0xcc]
mov eax, dword [esi*4 + 0x545738]
add eax, dword [esi*4 + 0x4ec338]
cdq
sub eax, edx
sar eax, 1
sub eax, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esi*4 + 0x543c30]
fild dword [esp + 0x1c]
sub eax, edi
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x453202
fstp st(1)
mov dword [esp + 0x14], esi
jmp 0x453204
fstp st(0)
mov esi, dword [esp + ecx*4 + 0xd0]
mov eax, dword [esi*4 + 0x545738]
add eax, dword [esi*4 + 0x4ec338]
cdq
sub eax, edx
mov edx, dword [esi*4 + 0x543c30]
sar eax, 1
sub eax, ebx
mov dword [esp + 0x1c], eax
sub edx, edi
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x453252
fstp st(1)
mov dword [esp + 0x14], esi
jmp 0x453254
fstp st(0)
mov esi, dword [esp + ecx*4 + 0xd4]
mov eax, dword [esi*4 + 0x545738]
add eax, dword [esi*4 + 0x4ec338]
cdq
sub eax, edx
sar eax, 1
sub eax, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esi*4 + 0x543c30]
fild dword [esp + 0x1c]
sub eax, edi
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4532a2
fstp st(1)
mov dword [esp + 0x14], esi
jmp 0x4532a4
fstp st(0)
mov eax, dword [esp + 0x20]
add ecx, 4
add eax, 0xfffffffd
cmp ecx, eax
jl 0x453164
cmp ecx, dword [esp + 0x20]
jge 0x453333
mov esi, dword [esp + 0x18]
mov eax, dword [esi*4 + 0x545738]
add eax, dword [esi*4 + 0x4ec338]
mov ebx, dword [esi*4 + 0x543c30]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov esi, dword [esp + ecx*4 + 0xc8]
mov eax, dword [esi*4 + 0x545738]
add eax, dword [esi*4 + 0x4ec338]
cdq
sub eax, edx
mov edx, dword [esi*4 + 0x543c30]
sar eax, 1
sub eax, edi
mov dword [esp + 0x1c], eax
sub edx, ebx
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x45332a
fstp st(1)
mov dword [esp + 0x14], esi
jmp 0x45332c
fstp st(0)
inc ecx
cmp ecx, dword [esp + 0x20]
jl 0x4532dc
cmp dword [esp + 0x14], 0xffffffff
fstp st(0)
je 0x4536af
mov eax, dword [esp + 0x14]
mov ecx, dword [eax*4 + 0x4ec338]
mov edx, dword [eax*4 + 0x543c30]
mov dword [esp + 0x70], ecx
mov ecx, dword [0x49ab6c]
lea eax, [esp + 0x70]
mov dword [esp + 0x74], edx
mov edx, dword [ecx + 0x10]
push eax
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
jmp 0x4536a7
cmp dword [0x58fdf0], 0
jne 0x4536bb
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x45339e
xor eax, eax
jmp 0x4533a5
push 0x26
call edi
movzx eax, ax
test eax, 0x8000
je 0x4533bf
call ebx
mov esi, dword [esp + 0x28]
lea ecx, [esi + 0x7d]
cmp eax, ecx
ja 0x4533fb
cmp eax, esi
jb 0x4533fb
jmp 0x4533c3
mov esi, dword [esp + 0x28]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4533d8
xor eax, eax
jmp 0x4533df
push 0x25
call edi
movzx eax, ax
test eax, 0x8000
je 0x45352e
call ebx
lea ecx, [esi + 0x7d]
cmp eax, ecx
ja 0x4533fb
cmp eax, esi
jae 0x45352e
call ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jns 0x45343d
mov eax, dword [0x4ed338]
dec eax
test eax, eax
jle 0x453439
jmp 0x453420
cmp dword [eax*4 + 0x4ec338], 0
jle 0x453434
cmp dword [eax*4 + 0x543c30], 0
jg 0x453439
dec eax
test eax, eax
jg 0x453420
mov dword [esp + 0x14], eax
xor edi, edi
xor ebx, ebx
cmp dword [0x58fe44], edi
je 0x4534cc
mov edx, dword [esp + 0x14]
mov ecx, dword [edx*4 + 0x4ee6d0]
test ecx, ecx
jge 0x4534cc
cmp ecx, 0xfffffc18
jg 0x45346b
mov eax, 0xfffffc18
jmp 0x45346e
or eax, 0xffffffff
sub eax, ecx
mov ecx, eax
imul ecx, ecx, 0x294
xor edi, edi
cmp dword [ecx + 0x59cdf0], edi
mov dword [esp + 0x1c], ecx
jle 0x4534cc
lea esi, [ecx + 0x59cb88]
xor ebx, ebx
mov edi, edi
mov eax, dword [esi + 0x264]
cdq
idiv dword [esi + 0x284]
cmp dword [esi + 0x278], 1
jne 0x4534ab
cdq
sub eax, edx
sar eax, 1
cmp ebx, eax
jge 0x4534c3
push edi
push ebx
mov ecx, esi
call fcn.00403e50
test eax, eax
je 0x4534cc
mov ecx, dword [esp + 0x1c]
inc ebx
jmp 0x453490
inc edi
cmp edi, dword [ecx + 0x59cdf0]
jl 0x45348c
mov eax, dword [esp + 0x14]
mov ecx, dword [eax*4 + 0x4ec338]
mov edx, dword [eax*4 + 0x543c30]
add ecx, ebx
mov dword [esp + 0x80], ecx
mov ecx, dword [0x49ab6c]
add edx, edi
lea eax, [esp + 0x80]
mov dword [esp + 0x84], edx
mov edx, dword [ecx + 0x10]
push eax
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
mov esi, dword [esp + 0x28]
cmp dword [0x58fdf0], 0
jne 0x4536bb
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453550
xor eax, eax
jmp 0x453557
push 0x28
call edi
movzx eax, ax
test eax, 0x8000
je 0x45356b
call ebx
lea ecx, [esi + 0x7d]
cmp eax, ecx
ja 0x4535a3
cmp eax, esi
jb 0x4535a3
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453580
xor eax, eax
jmp 0x453587
push 0x27
call edi
movzx eax, ax
test eax, 0x8000
je 0x4536bb
call ebx
lea ecx, [esi + 0x7d]
cmp eax, ecx
ja 0x4535a3
cmp eax, esi
jae 0x4536bb
call ebx
mov ecx, dword [0x4ed338]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4535df
xor eax, eax
test ecx, ecx
jle 0x4535db
cmp dword [eax*4 + 0x4ec338], 0
jle 0x4535d6
cmp dword [eax*4 + 0x543c30], 0
jg 0x4535db
inc eax
cmp eax, ecx
jl 0x4535c2
mov dword [esp + 0x14], eax
xor edi, edi
xor ebx, ebx
cmp dword [0x58fe44], edi
je 0x45366c
mov edx, dword [esp + 0x14]
mov ecx, dword [edx*4 + 0x4ee6d0]
test ecx, ecx
jge 0x45366c
cmp ecx, 0xfffffc18
jg 0x45360d
mov eax, 0xfffffc18
jmp 0x453610
or eax, 0xffffffff
sub eax, ecx
mov ecx, eax
imul ecx, ecx, 0x294
xor edi, edi
cmp dword [ecx + 0x59cdf0], edi
mov dword [esp + 0x1c], ecx
jle 0x45366c
lea esi, [ecx + 0x59cb88]
xor ebx, ebx
mov eax, dword [esi + 0x264]
cdq
idiv dword [esi + 0x284]
cmp dword [esi + 0x278], 1
jne 0x45364b
cdq
sub eax, edx
sar eax, 1
cmp ebx, eax
jge 0x453663
push edi
push ebx
mov ecx, esi
call fcn.00403e50
test eax, eax
je 0x45366c
mov ecx, dword [esp + 0x1c]
inc ebx
jmp 0x453630
inc edi
cmp edi, dword [ecx + 0x59cdf0]
jl 0x45362e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax*4 + 0x4ec338]
mov edx, dword [eax*4 + 0x543c30]
add ecx, ebx
mov dword [esp + 0x78], ecx
mov ecx, dword [0x49ab6c]
add edx, edi
lea eax, [esp + 0x78]
mov dword [esp + 0x7c], edx
mov edx, dword [ecx + 0x10]
push eax
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp dword [0x58fdf4], 0
jne 0x4536cd
cmp dword [0x58fddc], 0
je 0x453712
mov esi, dword [sym.imp.USER32.dll_GetForegroundWindow]
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4536e4
xor eax, eax
jmp 0x4536eb
push 0x21
call edi
movzx eax, ax
test eax, 0x8000
je 0x453718
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4543ba
xor eax, eax
jmp 0x4543c1
mov esi, dword [sym.imp.USER32.dll_GetForegroundWindow]
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453729
xor eax, eax
jmp 0x453730
push 0x10
call edi
movzx eax, ax
test eax, 0x8000
je 0x45380f
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x45374c
xor eax, eax
jmp 0x453753
push 0x43
call edi
movzx eax, ax
test eax, 0x8000
je 0x45380f
mov eax, dword [0x59262c]
mov byte [eax + 0x59162c], 0
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x59162c]
mov byte [esp + eax + 0x8c8], cl
inc eax
test cl, cl
jne 0x453770
lea edi, [esp + 0x8c8]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x453790
mov cx, word [0x485fdc]
lea edx, [esp + 0x8c8]
push edx
mov word [edi], cx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
lea ecx, [esp + 0x8c8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x4537fd
call dword [sym.imp.USER32.dll_EmptyClipboard]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov esi, dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp dword [0x58fdf4], 0
je 0x45383b
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453829
xor eax, eax
jmp 0x453830
push 0x22
call edi
movzx eax, ax
test eax, 0x8000
jne 0x4544c2
cmp dword [0x58fdf8], 0
je 0x453867
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453855
xor eax, eax
jmp 0x45385c
push 0x2d
call edi
movzx eax, ax
test eax, 0x8000
jne 0x4545e2
cmp dword [0x58fdfc], 0
je 0x4538eb
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453881
xor eax, eax
jmp 0x453888
push 0x5a
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454702
cmp dword [0x58fdfc], 0
je 0x4538eb
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x4538ad
xor eax, eax
jmp 0x4538b4
push 0x58
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454822
cmp dword [0x58fdfc], 0
je 0x4538eb
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4538d9
xor eax, eax
jmp 0x4538e0
push 0x43
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454942
cmp dword [0x58fde0], 0
je 0x453901
cmp dword [0x58faf4], 0
jne 0x454a62
cmp dword [esp + 0x68], 0
jne 0x45392f
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453919
xor eax, eax
jmp 0x453920
push 0xd
call edi
movzx eax, ax
test eax, 0x8000
jne 0x45392f
mov dword [esp + 0x68], 1
cmp dword [0x58fde8], 0
je 0x453962
cmp dword [esp + 0x68], 1
jne 0x453962
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453950
xor eax, eax
jmp 0x453957
push 0xd
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454b2e
cmp dword [0x58fdec], 0
je 0x45398e
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x45397c
xor eax, eax
jmp 0x453983
push 9
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454c48
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4539ac
xor eax, eax
jmp 0x4539b3
push 0x70
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454d66
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x4539dc
xor eax, eax
jmp 0x4539e3
push 0x71
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454e86
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453a0c
xor eax, eax
jmp 0x453a13
push 0x72
call edi
movzx eax, ax
test eax, 0x8000
jne 0x454fa6
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453a3c
xor eax, eax
jmp 0x453a43
push 0x73
call edi
movzx eax, ax
test eax, 0x8000
jne 0x4550c6
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453a6c
xor eax, eax
jmp 0x453a73
push 0x74
call edi
movzx eax, ax
test eax, 0x8000
jne 0x4551e6
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453a9c
xor eax, eax
jmp 0x453aa3
push 0x75
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455306
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453acc
xor eax, eax
jmp 0x453ad3
push 0x76
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455426
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453afc
xor eax, eax
jmp 0x453b03
push 0x77
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455546
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453b2c
xor eax, eax
jmp 0x453b33
push 0x78
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455666
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453b58
xor eax, eax
jmp 0x453b5f
push 0x79
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455786
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453b84
xor eax, eax
jmp 0x453b8b
push 0x7a
call edi
movzx eax, ax
test eax, 0x8000
jne 0x4558a6
cmp dword [0x58fde4], 0
je 0x453bc2
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453bb0
xor eax, eax
jmp 0x453bb7
push 0x7b
call edi
movzx eax, ax
test eax, 0x8000
jne 0x4559c6
cmp dword [0x58fdf0], 0
je 0x453c76
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453be0
xor eax, eax
jmp 0x453be7
push 0x26
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455ae6
cmp dword [0x58fdf0], 0
je 0x453c76
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453c0c
xor eax, eax
jmp 0x453c13
push 0x27
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455c06
cmp dword [0x58fdf0], 0
je 0x453c76
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453c38
xor eax, eax
jmp 0x453c3f
push 0x28
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455d26
cmp dword [0x58fdf0], 0
je 0x453c76
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453c64
xor eax, eax
jmp 0x453c6b
push 0x25
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455e46
cmp dword [0x58fb5c], 0
je 0x453d97
cmp dword [0x58fcd4], 0
jne 0x453caf
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453c9d
xor eax, eax
jmp 0x453ca4
push 0x20
call edi
movzx eax, ax
test eax, 0x8000
jne 0x455f01
cmp dword [0x58fb5c], 0
je 0x453d97
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453ccd
xor eax, eax
jmp 0x453cd4
push 0x1b
call edi
movzx eax, ax
test eax, 0x8000
je 0x453d97
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453cf8
xor eax, eax
jmp 0x453cff
push 0x1b
call edi
movzx eax, ax
test eax, 0x8000
je 0x453d1d
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x453d1d
cmp eax, esi
jb 0x453d1d
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x453ce3
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
push 1
push 0x102
push 0x102
push eax
lea ecx, [esp + 0x54]
push ecx
call esi
test eax, eax
jne 0x453d23
cmp dword [0x58fa64], eax
je 0x455fbc
cmp dword [esp + 0x18], 0xffffffff
je 0x455fbc
mov edx, dword [0x54ad10]
mov eax, dword [0x54a8c0]
mov dword [esp + 0x60], edx
mov edx, dword [0x49ab6c]
lea ecx, [esp + 0x60]
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0x10]
push ecx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetCursorPos]
mov esi, dword [sym.imp.USER32.dll_GetForegroundWindow]
mov eax, dword [0x58fe10]
test eax, eax
je 0x453e62
cmp dword [0x54c7f4], 0xffffffff
je 0x453e62
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453dc2
xor eax, eax
jmp 0x453dc9
push 1
call edi
movzx eax, ax
test eax, 0x8000
je 0x453e5d
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xa30]
cmp eax, dword [0x54c7f4]
jle 0x453ec6
mov dword [0x547f48], 1
cmp dword [esp + 0x34], 0
mov dword [0x58faec], 0
je 0x453e22
cmp dword [0x52fa68], 0
jne 0x453e22
mov eax, dword [esp + 0x10]
push eax
call fcn.00445be0
push 0x591608
call fcn.00403200
call ebx
cmp dword [esp + 0x18], 0xffffffff
jne 0x45600f
sub eax, dword [esp + 0x30]
mov dword [0x54a8b4], eax
jns 0x453e44
mov dword [0x54a8b4], 1
cmp byte [0x4ec0a8], 0
je 0x451c31
xor esi, esi
call fcn.0046ed80
jmp 0x451c08
mov eax, dword [0x58fe10]
cmp eax, 0xffffd8f1
je 0x453e9c
test eax, eax
je 0x453e95
call esi
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x453e7e
xor eax, eax
jmp 0x453e85
push 1
call edi
movzx eax, ax
test eax, 0x8000
jne 0x453dea
mov eax, dword [0x58fe10]
cmp eax, 0xffffd8f1
jne 0x453ec6
cmp dword [esp + 0x18], 0xffffffff
jne 0x453ec6
call esi
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x453eb4
xor eax, eax
jmp 0x453ebb
push 1
call edi
movzx eax, ax
test eax, 0x8000
jne 0x453dea
cmp dword [0x58faec], 0
jne 0x453df4
cmp dword [0x58fa7c], 0
je 0x453ef1
mov eax, dword [0x49ab6c]
cmp dword [eax + 0xa2c], 0x20a
je 0x456071
cmp dword [0x58faf0], 0
jne 0x45610e
mov esi, dword [esp + 0x18]
cmp esi, 0xffffffff
je 0x453fbf
mov ecx, dword [0x4ed338]
cmp esi, ecx
jge 0x453f9a
mov ecx, dword [0x54ace8]
test ecx, ecx
jle 0x453fbf
mov eax, dword [esi*4 + 0x544f38]
cmp eax, ecx
jl 0x453fbf
cmp eax, dword [0x54a8bc]
jg 0x453fbf
cmp byte [0x4ec0a8], 0
je 0x453f7e
xor esi, esi
call fcn.0046ed80
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
mov esi, dword [esp + 0x20]
add esp, 8
mov eax, dword [esi*4 + 0x544f38]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
mov edx, dword [0x54ace8]
test edx, edx
jle 0x453fbf
mov eax, esi
sub eax, ecx
mov eax, dword [eax*4 + 0x52d870]
cmp eax, edx
jl 0x453fbf
cmp eax, dword [0x54a8bc]
jle 0x45616b
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00461ed0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x451e30
xor eax, eax
mov edi, 0x653778
call fcn.00401cc0
xor esi, esi
call fcn.00426410
mov edx, dword [0x54c7ec]
mov dword [0x54a8b4], edx
cmp dword [0x58fa7c], esi
jne 0x4541d6
cmp byte [0x4ec0a8], 0
je 0x4541bc
cmp byte [0x58fcb6], 0
je 0x454143
push esi
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454194
mov eax, 0xffffffc4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffc3
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp byte [0x4ec0a8], 0
je 0x451c31
cmp byte [0x58fcb6], 0
je 0x45408f
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4540e5
cmp byte [0x58fb9f], 0
je 0x4540a1
cmp byte [0x5553f0], 0
jne 0x45407b
cmp dword [0x654404], 0
mov dword [0x654a44], 0
je 0x4540e5
mov eax, dword [0x653dc4]
mov dword [0x654404], 0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x48]
call eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp byte [0x4ec0a8], 0
je 0x451c31
cmp byte [0x58fcb6], 0
jne 0x45407b
jmp 0x45408f
cmp byte [0x58fb9f], 0
je 0x454159
cmp byte [0x5553f0], 0
jne 0x45401b
mov dword [0x654a44], esi
cmp dword [0x654404], esi
je 0x454194
mov eax, dword [0x653dc4]
mov dword [0x654404], esi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp byte [0x4ec0a8], 0
je 0x454274
cmp byte [0x58fcb6], 0
je 0x4541ff
push esi
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x45424c
cmp byte [0x58fb9f], 0
je 0x454211
cmp byte [0x5553f0], 0
jne 0x4541ec
mov dword [0x654a44], esi
cmp dword [0x654404], esi
je 0x45424c
mov eax, dword [0x653dc4]
mov dword [0x654404], esi
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x48]
call eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xfffffffb
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp dword [0x58fe40], 0
jne 0x4542cc
mov edx, dword [0x497848]
mov eax, dword [0x4967f0]
mov ecx, dword [0x4965ec]
push 0
push 0
push edx
push eax
push ecx
push 0
push 0
mov eax, 0x496938
call fcn.00403520
push 0
push 0
push 1
xor edx, edx
mov ecx, edi
call fcn.0045f070
cmp dword [esp + 0x34], 0
je 0x4542ec
cmp dword [0x52fa68], 0
jne 0x4542ec
push edi
call fcn.00445be0
push 0x591608
call fcn.00403200
call ebx
sub eax, esi
mov dword [0x54a8b4], eax
jns 0x454301
mov dword [0x54a8b4], 1
cmp byte [0x4ec0a8], 0
je 0x4543a0
cmp byte [0x58fcb6], 0
je 0x45432b
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454378
cmp byte [0x58fb9f], 0
je 0x45433d
cmp byte [0x5553f0], 0
jne 0x454317
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454378
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x48]
call eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
push 0x21
call edi
movzx eax, ax
test eax, 0x8000
je 0x4543e2
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x4543e2
cmp eax, esi
jb 0x4543e2
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4536f6
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edi, dword [esp + 0x10]
lea esp, [esp]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x4543f0
cmp byte [0x4ec0a8], al
je 0x4544a8
cmp byte [0x58fcb6], al
je 0x454433
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454480
cmp byte [0x58fb9f], 0
je 0x454445
cmp byte [0x5553f0], 0
jne 0x45441f
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454480
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4544db
xor eax, eax
jmp 0x4544e2
push 0x22
call edi
movzx eax, ax
test eax, 0x8000
je 0x454500
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454500
cmp eax, esi
jb 0x454500
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4544c6
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edi, dword [esp + 0x10]
lea ebx, [ebx]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454510
cmp byte [0x4ec0a8], al
je 0x4545c8
cmp byte [0x58fcb6], al
je 0x454553
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4545a0
cmp byte [0x58fb9f], 0
je 0x454565
cmp byte [0x5553f0], 0
jne 0x45453f
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x4545a0
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4545fb
xor eax, eax
jmp 0x454602
push 0x2d
call edi
movzx eax, ax
test eax, 0x8000
je 0x454620
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454620
cmp eax, esi
jb 0x454620
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4545e6
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
lea ebx, [ebx]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454630
cmp byte [0x4ec0a8], al
je 0x4546e8
cmp byte [0x58fcb6], al
je 0x454673
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4546c0
cmp byte [0x58fb9f], 0
je 0x454685
cmp byte [0x5553f0], 0
jne 0x45465f
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x4546c0
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffce
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x45471b
xor eax, eax
jmp 0x454722
push 0x5a
call edi
movzx eax, ax
test eax, 0x8000
je 0x454740
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454740
cmp eax, esi
jb 0x454740
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454706
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
lea ebx, [ebx]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454750
cmp byte [0x4ec0a8], al
je 0x454808
cmp byte [0x58fcb6], al
je 0x454793
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4547e0
cmp byte [0x58fb9f], 0
je 0x4547a5
cmp byte [0x5553f0], 0
jne 0x45477f
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x4547e0
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffcd
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x45483b
xor eax, eax
jmp 0x454842
push 0x58
call edi
movzx eax, ax
test eax, 0x8000
je 0x454860
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454860
cmp eax, esi
jb 0x454860
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454826
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
lea ebx, [ebx]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454870
cmp byte [0x4ec0a8], al
je 0x454928
cmp byte [0x58fcb6], al
je 0x4548b3
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454900
cmp byte [0x58fb9f], 0
je 0x4548c5
cmp byte [0x5553f0], 0
jne 0x45489f
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454900
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffcc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x45495b
xor eax, eax
jmp 0x454962
push 0x43
call edi
movzx eax, ax
test eax, 0x8000
je 0x454980
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454980
cmp eax, esi
jb 0x454980
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454946
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
lea ebx, [ebx]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454990
cmp byte [0x4ec0a8], al
je 0x454a48
cmp byte [0x58fcb6], al
je 0x4549d3
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454a20
cmp byte [0x58fb9f], 0
je 0x4549e5
cmp byte [0x5553f0], 0
jne 0x4549bf
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454a20
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffcb
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp byte [0x4ec0a8], 0
mov dword [0x58faf4], 0
je 0x454b14
cmp byte [0x58fcb6], 0
je 0x454a96
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454aec
cmp byte [0x58fb9f], 0
je 0x454aa8
cmp byte [0x5553f0], 0
jne 0x454a82
cmp dword [0x654404], 0
mov dword [0x654a44], 0
je 0x454aec
mov eax, dword [0x653dc4]
mov dword [0x654404], 0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x48]
call eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffba
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x454b47
xor eax, eax
jmp 0x454b4e
push 0xd
call edi
movzx eax, ax
test eax, 0x8000
je 0x454b6c
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454b6c
cmp eax, esi
jb 0x454b6c
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454b32
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454b76
cmp byte [0x4ec0a8], al
je 0x454c2e
cmp byte [0x58fcb6], al
je 0x454bb9
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454c06
cmp byte [0x58fb9f], 0
je 0x454bcb
cmp byte [0x5553f0], 0
jne 0x454ba5
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454c06
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffed
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea esp, [esp]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x454c65
xor eax, eax
jmp 0x454c6c
push 9
call edi
movzx eax, ax
test eax, 0x8000
je 0x454c8a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454c8a
cmp eax, esi
jb 0x454c8a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454c50
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454c94
cmp byte [0x4ec0a8], al
je 0x454d4c
cmp byte [0x58fcb6], al
je 0x454cd7
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454d24
cmp byte [0x58fb9f], 0
je 0x454ce9
cmp byte [0x5553f0], 0
jne 0x454cc3
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454d24
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffec
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x454d85
xor eax, eax
jmp 0x454d8c
push 0x70
call edi
movzx eax, ax
test eax, 0x8000
je 0x454daa
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454daa
cmp eax, esi
jb 0x454daa
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454d70
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454db4
cmp byte [0x4ec0a8], al
je 0x454e6c
cmp byte [0x58fcb6], al
je 0x454df7
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454e44
cmp byte [0x58fb9f], 0
je 0x454e09
cmp byte [0x5553f0], 0
jne 0x454de3
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454e44
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x454ea5
xor eax, eax
jmp 0x454eac
push 0x71
call edi
movzx eax, ax
test eax, 0x8000
je 0x454eca
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454eca
cmp eax, esi
jb 0x454eca
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454e90
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454ed4
cmp byte [0x4ec0a8], al
je 0x454f8c
cmp byte [0x58fcb6], al
je 0x454f17
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x454f64
cmp byte [0x58fb9f], 0
je 0x454f29
cmp byte [0x5553f0], 0
jne 0x454f03
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x454f64
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffea
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x454fc5
xor eax, eax
jmp 0x454fcc
push 0x72
call edi
movzx eax, ax
test eax, 0x8000
je 0x454fea
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x454fea
cmp eax, esi
jb 0x454fea
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x454fb0
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x454ff4
cmp byte [0x4ec0a8], al
je 0x4550ac
cmp byte [0x58fcb6], al
je 0x455037
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455084
cmp byte [0x58fb9f], 0
je 0x455049
cmp byte [0x5553f0], 0
jne 0x455023
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455084
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4550e5
xor eax, eax
jmp 0x4550ec
push 0x73
call edi
movzx eax, ax
test eax, 0x8000
je 0x45510a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x45510a
cmp eax, esi
jb 0x45510a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4550d0
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455114
cmp byte [0x4ec0a8], al
je 0x4551cc
cmp byte [0x58fcb6], al
je 0x455157
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4551a4
cmp byte [0x58fb9f], 0
je 0x455169
cmp byte [0x5553f0], 0
jne 0x455143
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x4551a4
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455205
xor eax, eax
jmp 0x45520c
push 0x74
call edi
movzx eax, ax
test eax, 0x8000
je 0x45522a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x45522a
cmp eax, esi
jb 0x45522a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4551f0
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455234
cmp byte [0x4ec0a8], al
je 0x4552ec
cmp byte [0x58fcb6], al
je 0x455277
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4552c4
cmp byte [0x58fb9f], 0
je 0x455289
cmp byte [0x5553f0], 0
jne 0x455263
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x4552c4
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe7
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455325
xor eax, eax
jmp 0x45532c
push 0x75
call edi
movzx eax, ax
test eax, 0x8000
je 0x45534a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x45534a
cmp eax, esi
jb 0x45534a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455310
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455354
cmp byte [0x4ec0a8], al
je 0x45540c
cmp byte [0x58fcb6], al
je 0x455397
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x4553e4
cmp byte [0x58fb9f], 0
je 0x4553a9
cmp byte [0x5553f0], 0
jne 0x455383
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x4553e4
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe6
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455445
xor eax, eax
jmp 0x45544c
push 0x76
call edi
movzx eax, ax
test eax, 0x8000
je 0x45546a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x45546a
cmp eax, esi
jb 0x45546a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455430
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455474
cmp byte [0x4ec0a8], al
je 0x45552c
cmp byte [0x58fcb6], al
je 0x4554b7
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455504
cmp byte [0x58fb9f], 0
je 0x4554c9
cmp byte [0x5553f0], 0
jne 0x4554a3
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455504
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455565
xor eax, eax
jmp 0x45556c
push 0x77
call edi
movzx eax, ax
test eax, 0x8000
je 0x45558a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x45558a
cmp eax, esi
jb 0x45558a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455550
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455594
cmp byte [0x4ec0a8], al
je 0x45564c
cmp byte [0x58fcb6], al
je 0x4555d7
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455624
cmp byte [0x58fb9f], 0
je 0x4555e9
cmp byte [0x5553f0], 0
jne 0x4555c3
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455624
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455685
xor eax, eax
jmp 0x45568c
push 0x78
call edi
movzx eax, ax
test eax, 0x8000
je 0x4556aa
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x4556aa
cmp eax, esi
jb 0x4556aa
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455670
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x4556b4
cmp byte [0x4ec0a8], al
je 0x45576c
cmp byte [0x58fcb6], al
je 0x4556f7
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455744
cmp byte [0x58fb9f], 0
je 0x455709
cmp byte [0x5553f0], 0
jne 0x4556e3
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455744
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe3
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4557a5
xor eax, eax
jmp 0x4557ac
push 0x79
call edi
movzx eax, ax
test eax, 0x8000
je 0x4557ca
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x4557ca
cmp eax, esi
jb 0x4557ca
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455790
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x4557d4
cmp byte [0x4ec0a8], al
je 0x45588c
cmp byte [0x58fcb6], al
je 0x455817
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455864
cmp byte [0x58fb9f], 0
je 0x455829
cmp byte [0x5553f0], 0
jne 0x455803
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455864
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4558c5
xor eax, eax
jmp 0x4558cc
push 0x7a
call edi
movzx eax, ax
test eax, 0x8000
je 0x4558ea
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x4558ea
cmp eax, esi
jb 0x4558ea
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4558b0
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x4558f4
cmp byte [0x4ec0a8], al
je 0x4559ac
cmp byte [0x58fcb6], al
je 0x455937
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455984
cmp byte [0x58fb9f], 0
je 0x455949
cmp byte [0x5553f0], 0
jne 0x455923
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455984
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x4559e5
xor eax, eax
jmp 0x4559ec
push 0x7b
call edi
movzx eax, ax
test eax, 0x8000
je 0x455a0a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x455a0a
cmp eax, esi
jb 0x455a0a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4559d0
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455a14
cmp byte [0x4ec0a8], al
je 0x455acc
cmp byte [0x58fcb6], al
je 0x455a57
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455aa4
cmp byte [0x58fb9f], 0
je 0x455a69
cmp byte [0x5553f0], 0
jne 0x455a43
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455aa4
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffe0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455b05
xor eax, eax
jmp 0x455b0c
push 0x26
call edi
movzx eax, ax
test eax, 0x8000
je 0x455b2a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x455b2a
cmp eax, esi
jb 0x455b2a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455af0
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455b34
cmp byte [0x4ec0a8], al
je 0x455bec
cmp byte [0x58fcb6], al
je 0x455b77
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455bc4
cmp byte [0x58fb9f], 0
je 0x455b89
cmp byte [0x5553f0], 0
jne 0x455b63
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455bc4
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffd8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455c25
xor eax, eax
jmp 0x455c2c
push 0x27
call edi
movzx eax, ax
test eax, 0x8000
je 0x455c4a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x455c4a
cmp eax, esi
jb 0x455c4a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455c10
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455c54
cmp byte [0x4ec0a8], al
je 0x455d0c
cmp byte [0x58fcb6], al
je 0x455c97
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455ce4
cmp byte [0x58fb9f], 0
je 0x455ca9
cmp byte [0x5553f0], 0
jne 0x455c83
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455ce4
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffd7
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455d45
xor eax, eax
jmp 0x455d4c
push 0x28
call edi
movzx eax, ax
test eax, 0x8000
je 0x455d6a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x455d6a
cmp eax, esi
jb 0x455d6a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455d30
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455d74
cmp byte [0x4ec0a8], al
je 0x455e2c
cmp byte [0x58fcb6], al
je 0x455db7
push 0
call dword [0x55f148]
add esp, 4
mov byte [0x5553f0], 0
jmp 0x455e04
cmp byte [0x58fb9f], 0
je 0x455dc9
cmp byte [0x5553f0], 0
jne 0x455da3
xor eax, eax
mov dword [0x654a44], eax
cmp dword [0x654404], eax
je 0x455e04
mov dword [0x654404], eax
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [0x653dc4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x6540e4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffd6
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
lea ebx, [ebx]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edx, dword [0x49ab6c]
cmp eax, dword [edx + 0x10]
je 0x455e65
xor eax, eax
jmp 0x455e6c
push 0x25
call edi
movzx eax, ax
test eax, 0x8000
je 0x455e8a
call ebx
lea ecx, [esi + 0x7d]
cmp ecx, eax
jbe 0x455e8a
cmp eax, esi
jb 0x455e8a
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455e50
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edx, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push edx
lea eax, [esp + 0x54]
push eax
call esi
test eax, eax
jne 0x455e94
cmp byte [0x4ec0a8], al
je 0x455ee7
xor esi, esi
call fcn.0046ed80
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov ecx, dword [0x54acec]
mov edx, dword [0x544644]
push ecx
push edx
call dword [0x55933c]
add esp, 8
mov eax, 0xffffffd5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
call ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [0x49ab6c]
cmp eax, dword [ecx + 0x10]
je 0x455f1a
xor eax, eax
jmp 0x455f21
push 0x20
call edi
movzx eax, ax
test eax, 0x8000
je 0x455f3f
call ebx
lea edx, [esi + 0x7d]
cmp edx, eax
jbe 0x455f3f
cmp eax, esi
jb 0x455f3f
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x455f05
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
lea esp, [esp]
mov eax, dword [edi + 0x10]
push 1
push 0x102
push 0x102
push eax
lea ecx, [esp + 0x54]
push ecx
call esi
test eax, eax
jne 0x455f50
cmp byte [0x4ec0a8], al
je 0x455fa2
xor esi, esi
call fcn.0046ed80
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov edx, dword [0x54acec]
mov eax, dword [0x544644]
push edx
push eax
call dword [0x55933c]
add esp, 8
mov eax, 0xfffffff5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp byte [0x4ec0a8], 0
je 0x455ff5
xor esi, esi
call fcn.0046ed80
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov ecx, dword [0x54acec]
mov edx, dword [0x544644]
push ecx
push edx
call dword [0x55933c]
add esp, 8
mov eax, 0xfffffff6
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
sub eax, dword [esp + 0x30]
mov dword [0x54a8b4], eax
jns 0x456024
mov dword [0x54a8b4], 1
mov ecx, dword [0x4ed338]
mov eax, dword [esp + 0x18]
cmp eax, ecx
jge 0x45604e
mov eax, dword [eax*4 + 0x544f38]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
sub eax, ecx
mov dword [0x4963d0], eax
mov eax, dword [eax*4 + 0x52d870]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x34], 0
je 0x456095
cmp dword [0x52fa68], 0
jne 0x456095
mov eax, dword [esp + 0x10]
push eax
call fcn.00445be0
push 0x591608
call fcn.00403200
call ebx
sub eax, dword [esp + 0x30]
mov dword [0x54a8b4], eax
jns 0x4560ac
mov dword [0x54a8b4], 1
cmp byte [0x4ec0a8], 0
je 0x4560e5
xor esi, esi
call fcn.0046ed80
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov ecx, dword [0x54acec]
mov edx, dword [0x544644]
push ecx
push edx
call dword [0x55933c]
add esp, 8
mov ecx, dword [0x49ab6c]
xor eax, eax
cmp dword [ecx + 0xa30], eax
setg al
add eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x34], 0
mov dword [0x58faf0], 0
je 0x45613c
cmp dword [0x52fa68], 0
jne 0x45613c
mov edx, dword [esp + 0x10]
push edx
call fcn.00445be0
push 0x591608
call fcn.00403200
call ebx
sub eax, dword [esp + 0x30]
mov dword [0x54a8b4], eax
jns 0x456153
mov dword [0x54a8b4], 1
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret
mov edx, esi
sub edx, ecx
cmp byte [0x4ec0a8], 0
mov dword [0x4963d0], edx
je 0x4561b7
xor esi, esi
call fcn.0046ed80
mov ecx, dword [0x544644]
push 1
push 0x4ec0a8
call fcn.004700b0
mov eax, dword [0x54acec]
mov ecx, dword [0x544644]
push eax
push ecx
call dword [0x55933c]
mov ecx, dword [0x4ed338]
mov esi, dword [esp + 0x20]
add esp, 8
sub esi, ecx
mov eax, dword [esi*4 + 0x52d870]
mov ecx, dword [esp + 0xccc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret