Function at 0x454371
Capabilities:
Check for unmoving mouse cursor
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x104
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp + 0x4c], edi
cmp dword [ebp + 0x7c], edi
mov dword [ebp + 0x60], ecx
jne 0x454392
mov eax, dword [ecx + 0x28]
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.0042609c
mov eax, dword [ebp + 0x74]
pop ecx
lea ecx, [ebp + 0x34]
mov esi, ecx
mov word [ebp + 0x34], di
mov ebx, eax
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x48], esi
jmp 0x4543c3
cmp cx, 0x3d
je 0x4543cd
inc eax
inc eax
mov cx, word [eax]
cmp cx, di
jne 0x4543bb
jmp 0x4543d6
lea esi, [eax + 2]
mov word [eax], di
mov dword [ebp + 0x48], esi
push ebx
call fcn.0040aea9
pop ecx
mov ecx, dword [ebp + 0x60]
cmp byte [ecx + 0x86], 0
mov dword [ebp + 0x2c], edi
jne 0x454401
test byte [ecx + 0xb], 0xf
jne 0x454401
push 1
push edi
lea eax, [ebp + 0x2c]
push eax
push ebx
call fcn.0043b094
jmp 0x45440e
push 1
push edi
lea eax, [ebp + 0x2c]
push eax
push ebx
call fcn.00439f58
lea ecx, [ebp + 0x30]
call fcn.0042aeb8
mov ecx, dword [ebp + 0x60]
push 1
xor ebx, ebx
push ebx
lea eax, [ebp + 0x30]
push eax
push esi
call fcn.0043b18c
mov eax, dword [ebp + 0x30]
mov edi, dword [ebp + 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov dword [ebp + 0x68], eax
cmp word [edi], 0x40
jne 0x454530
push str._DeskTopFresh
push edi
call esi
test eax, eax
jne 0x45448c
push dword [ebp + 0x68]
push 0x47d580
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454480
push ebx
push 0x48fff0
push str.USER32.DLL
push str.UpdatePerUserSystemParameters
call fcn.00426fd9
add esp, 0x10
call dword [0x48fff0]
jmp 0x454485
call fcn.0042a1b3
xor esi, esi
jmp 0x454cb4
push str._TaskIcoMenu
push edi
call esi
test eax, eax
jne 0x454530
push dword [ebp + 0x68]
push 0x47e19c
call fcn.00426fa9
test al, al
pop ecx
pop ecx
jne 0x4544f1
push dword [ebp + 0x68]
push 0x481040
call fcn.00426fa9
test al, al
pop ecx
pop ecx
jne 0x4544de
push dword [ebp + 0x68]
push 0x47d580
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454485
cmp byte [0x48fde0], 0
je 0x4544f1
mov ecx, 0x490258
mov byte [0x48fde0], 0
call fcn.0042656c
jmp 0x454485
cmp byte [0x493003], 0
je 0x454509
push dword [0x48fdec]
mov byte [0x48fde0], 1
jmp 0x454529
mov eax, dword [0x48fee0]
cmp eax, ebx
je 0x454485
cmp dword [eax + 0x18], ebx
je 0x454485
mov byte [0x48fde0], 1
push dword [eax + 0x18]
call fcn.0040bc64
jmp 0x454540
mov ax, word [edi]
cmp ax, bx
jne 0x454546
push dword [ebp + 0x60]
call fcn.0040c285
pop ecx
jmp 0x454485
cmp ax, 0x40
je 0x45455f
push dword [ebp + 0x60]
call fcn.0040c285
cmp dword [ebp + 0x7c], ebx
pop ecx
jne 0x454564
jmp 0x454485
cmp dword [ebp + 0x7c], ebx
je 0x45456c
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 0x50]
jmp 0x454571
mov eax, 0x47a8e8
push eax
lea ecx, [ebp + 0x1c]
call fcn.00434695
push edi
lea ecx, [ebp + 0x38]
call fcn.00434695
xor ecx, ecx
mov cx, word [edi]
cmp cx, bx
mov eax, edi
mov dword [ebp + 0x74], eax
je 0x4545b3
cmp cx, 0x2e
jne 0x45459b
mov dword [ebp + 0x58], eax
inc eax
inc eax
mov cx, word [eax]
cmp cx, bx
jne 0x454592
cmp dword [ebp + 0x58], ebx
mov dword [ebp + 0x74], eax
je 0x4545b3
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2e
mov dword [ebp + 0x54], ebx
jne 0x4545c7
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x74]
push eax
call fcn.0042609c
cmp dword [ebp + 0x54], ebx
pop ecx
je 0x4545ec
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00403adb
mov eax, dword [ebp + 0x74]
pop ecx
mov word [eax], bx
mov ebx, dword [ebp + 0x78]
test ebx, ebx
mov byte [ebp + 0x5f], 0
mov byte [ebp + 0x74], 0
je 0x454695
cmp word [ebx], 0
mov ecx, ebx
je 0x454695
push 0x7e
pop esi
xor edx, edx
mov dx, word [ecx]
mov eax, edx
call fcn.00426083
test al, al
jne 0x454695
cmp dx, 0x2e
je 0x454684
cmp dx, 0x24
je 0x454684
cmp dx, 0x25
je 0x454684
cmp dx, 0x2a
jne 0x45463c
or byte [ebp + 0x74], 4
jmp 0x454689
cmp dx, si
jne 0x454689
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x454651
or byte [ebp + 0x74], 2
mov ecx, eax
jmp 0x454689
cmp dx, si
jne 0x454689
lea eax, [ecx + 2]
cmp word [eax], 0x2e
jne 0x454665
or byte [ebp + 0x74], 8
jmp 0x45464d
cmp dx, si
jne 0x454689
lea eax, [ecx + 2]
cmp word [eax], 0x2a
jne 0x454679
or byte [ebp + 0x74], 0xa
jmp 0x45464d
cmp dx, si
jne 0x454689
or byte [ebp + 0x74], 1
jmp 0x454689
mov al, byte [ecx]
mov byte [ebp + 0x5f], al
inc ecx
inc ecx
cmp word [ecx], 0
jne 0x45460e
and dword [ebp + 0x78], 0
cmp byte [ebp + 0x74], 0
je 0x4546b1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
lea eax, [ebp + 0x30]
push eax
call fcn.00440850
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0x20]
call fcn.0042aeb8
cmp byte [ebp + 0x5f], 0
je 0x4546da
cmp byte [ebp + 0x5f], 0x2e
je 0x4546da
lea eax, [ebp + 0x78]
push eax
push ebx
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00437911
add esp, 0x10
push edi
lea ecx, [ebp + 0x14]
call fcn.00434695
mov ebx, dword [ebp + 0x14]
xor esi, esi
cmp dword [ebp + 0x54], esi
mov dword [ebp + 0x50], ebx
jne 0x4546f7
mov dword [ebp + 0x54], 0x47a8e8
cmp word [edi], 0x40
je 0x4550ad
and dword [ebp + 0x40], 0
mov eax, 0x49062c
push eax
mov dword [ebp + 0x64], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 0x60]
mov byte [ebp + 0x7b], 1
mov byte [ebp + 0x7f], 0
mov byte [ebp + 0x77], 0
mov dword [ebp + 0x58], edi
cmp byte [ebp + 0x7f], 0
je 0x454730
mov byte [ebp + 0x77], 1
push 0x3a
lea eax, [ebp + 0x18]
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x18], ebx
call fcn.0040f443
mov eax, dword [ebp + 0x18]
cmp word [eax], 0x3a
pop ecx
mov byte [ebp + 0x7f], 0
jne 0x454762
and word [eax], 0
lea ebx, [eax + 2]
cmp word [ebx], 0
mov dword [ebp + 0x50], ebx
je 0x454762
mov byte [ebp + 0x7f], 1
cmp byte [ebp + 0x7b], 0
je 0x454785
push dword [ebp + 0x44]
push str.this
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454785
mov eax, dword [ebp + 0x1c]
mov byte [ebp + 0x77], 1
mov dword [ebp + 0x44], eax
push dword [ebp + 0x44]
mov esi, dword [edi + 0x28]
push 0x47b404
mov byte [ebp + 0x7b], 0
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x4547ea
mov edi, dword [edi + 0x24]
mov esi, dword [edi + 0x28]
test esi, esi
mov dword [ebp + 0x58], edi
je 0x4547b1
lea eax, [esi + 0x50]
jmp 0x4547c5
or dword [ebp + 0x4c], 1
push 0x47a8e8
lea ecx, [ebp + 0x28]
call fcn.00434695
lea eax, [ebp + 0x28]
test byte [ebp + 0x4c], 1
mov eax, dword [eax]
mov dword [ebp + 0x44], eax
je 0x4547dc
and dword [ebp + 0x4c], 0xfffffffe
lea ecx, [ebp + 0x28]
call fcn.0042602e
cmp byte [ebp + 0x7f], 0
mov byte [ebp + 0x77], 1
jne 0x45472c
test esi, esi
je 0x454898
cmp esi, dword [ebp + 0x40]
je 0x454898
cmp byte [ebp + 0x7f], 0
jne 0x454816
push dword [ebp + 0x44]
mov eax, dword [esi + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x4548de
mov eax, dword [esi + 0x80]
xor ebx, ebx
cmp dword [eax], ebx
jle 0x45485d
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x454852
mov eax, dword [edi + 8]
test eax, eax
je 0x454852
push dword [ebp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x454852
cmp byte [ebp + 0x7f], al
je 0x454af7
cmp dword [edi + 4], 0xf
je 0x4548cd
mov eax, dword [esi + 0x80]
inc ebx
cmp ebx, dword [eax]
jl 0x454822
cmp byte [ebp + 0x7f], 0
jne 0x455054
xor ebx, ebx
cmp dword [esi + 0x12c], ebx
jle 0x454898
mov eax, dword [esi + 0x130]
mov edi, dword [eax + ebx*4]
push dword [ebp + 0x44]
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x454a33
inc ebx
cmp ebx, dword [esi + 0x12c]
jl 0x454871
cmp byte [ebp + 0x77], 0
jne 0x455054
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x24]
mov dword [ebp + 0x40], esi
xor esi, esi
cmp eax, esi
mov dword [ebp + 0x58], eax
je 0x454bde
cmp eax, 0x48feb8
je 0x454bde
mov ebx, dword [ebp + 0x50]
mov edi, eax
jmp 0x454726
mov eax, dword [edi + 0x1c]
mov edi, dword [eax + 0x110]
mov ebx, dword [ebp + 0x50]
jmp 0x454723
mov ebx, dword [ebp + 0x54]
push ebx
push str.MouseCapture
call fcn.00426fa9
test al, al
pop ecx
pop ecx
jne 0x454b1d
push ebx
push str.POSTMSG
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454927
mov ecx, dword [esi + 0xb4]
xor edi, edi
push edi
push edi
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x48]
call fcn.00462735
cmp dword [ebp + 0x64], edi
mov esi, eax
jmp 0x454be1
push ebx
push str.SENDMSG
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454955
mov ecx, dword [esi + 0xb4]
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x48]
call fcn.00462735
jmp 0x455042
push ebx
push 0x47ab54
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x4549d5
mov eax, dword [esi + 0xb4]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x48]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp], eax
mov eax, dword [esi + 0x18]
xor edi, edi
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x64]
cmp eax, edi
mov dword [ebp - 0x10], 3
mov dword [ebp - 0xc], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], 1
mov dword [ebp + 0x10], edi
je 0x4549ad
push eax
mov dword [ebp + 0x64], edi
call ebx
lea eax, [ebp - 0x10]
push eax
push esi
push 0x465
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp + 0x64], edi
mov esi, eax
je 0x454c94
push dword [ebp + 0x64]
call ebx
jmp 0x454c94
push ebx
push 0x481f78
call fcn.00426fa9
test al, al
pop ecx
pop ecx
jne 0x454d83
push ebx
push 0x481f74
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454a05
mov esi, dword [esi + 0x18]
xor ebx, ebx
jmp 0x454c18
mov eax, dword [ebp + 0x64]
test eax, eax
mov edi, dword [esi + 0x18]
je 0x454a1a
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
push dword [ebp + 0x38]
push ebx
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x60]
call fcn.00426445
add esp, 0x18
jmp 0x454bdc
mov eax, dword [ebp + 0x54]
xor esi, esi
cmp word [eax], si
jne 0x454a64
push dword [ebp + 0x68]
mov ecx, edi
call fcn.00426075
mov edi, dword [edi + 8]
cmp word [edi], si
je 0x454bde
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x60]
push edi
call fcn.00429dbf
jmp 0x454bde
push eax
push str.Enable
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454bde
mov eax, dword [ebp + 0x68]
movzx eax, word [eax]
push eax
mov dword [ebp + 0x7c], esi
call fcn.0042aa31
add esp, 4
test al, al
jne 0x454a97
cmp dword [ebp + 0x64], esi
jmp 0x455058
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
cmp dword [ebp + 0x7c], esi
pop ecx
pop ecx
je 0x454ab1
and byte [edi + 0xc], 0xfe
jmp 0x454ab5
or byte [edi + 0xc], 1
lea eax, [edi + 8]
push eax
lea ecx, [ebp + 0x7c]
call fcn.004346b2
push 0x47e404
lea ecx, [ebp + 0x7c]
call fcn.0042af26
test byte [edi + 0xc], 1
mov eax, 0x47c098
jne 0x454ade
mov eax, 0x47e400
mov ecx, dword [ebp + 0x60]
push eax
push dword [ebp + 0x7c]
call fcn.004333d9
lea ecx, [ebp + 0x7c]
call fcn.0042602e
jmp 0x454bde
push dword [ebp + 0x54]
push str.MouseCapture
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454bf5
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
je 0x454bf5
mov esi, edi
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
sete bl
test bl, bl
je 0x454b2f
add dword [ebp + 0x68], 2
or dword [ebp + 0x7c], 0xffffffff
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
test bl, bl
pop ecx
pop ecx
je 0x454bc3
cmp dword [ebp + 0x7c], 0
jle 0x454bb8
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0xb4]
mov esi, 0x49062c
push esi
mov dword [ebp + 0x7c], edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test ebx, ebx
je 0x454baf
test edi, edi
je 0x454baf
xor edi, edi
call fcn.0042841e
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push dword [0x48fde8]
push 0x4283b0
push 7
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [0x490170], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x490170], edi
je 0x454baf
mov eax, dword [ebp + 0x7c]
mov dword [0x490178], ebx
mov dword [0x490174], eax
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x454bdc
jne 0x454bdc
xor edi, edi
call fcn.0042841e
jmp 0x454bdc
cmp dword [ebp + 0x7c], 0
jle 0x454bd4
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x454bdc
jne 0x454bdc
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor esi, esi
cmp dword [ebp + 0x64], esi
je 0x454c94
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x454c94
push dword [ebp + 0x54]
push 0x481f74
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454d6a
mov eax, dword [edi + 0x1c]
mov esi, dword [eax + 0x18]
add ebx, 0x1000
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
je 0x454cd0
cmp dword [ebp + 0x64], 0
je 0x454c3e
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or dword [ebp + 0x7c], 0xffffffff
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
mov eax, dword [ebp + 0x68]
xor bl, bl
cmp word [eax], 0x2a
pop ecx
jne 0x454c62
mov bl, byte [eax]
inc eax
inc eax
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
test eax, eax
pop ecx
pop ecx
jle 0x454c92
test bl, bl
je 0x45517f
cmp dword [ebp + 0x7c], 0
jl 0x454c92
xor eax, eax
cmp dword [ebp + 0x7c], eax
setne al
push eax
call dword [sym.imp.USER32.dll_ShowCursor]
xor esi, esi
lea ecx, [ebp + 0x14]
call fcn.0042602e
lea ecx, [ebp + 0x20]
call fcn.0042602e
lea ecx, [ebp + 0x38]
call fcn.0042602e
lea ecx, [ebp + 0x1c]
call fcn.0042602e
lea ecx, [ebp + 0x30]
call fcn.0042602e
lea ecx, [ebp + 0x2c]
call fcn.0042602e
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc
lea ecx, [ebp + 0x50]
call fcn.0042aeb8
lea ecx, [ebp + 0x78]
call fcn.0042aeb8
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x454d19
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
add esp, 0x10
push str.0x_I64X
push dword [ebp + 0x50]
mov eax, esi
cdq
push edx
push eax
push dword [ebp + 0x60]
call fcn.004366f8
push str.0x_X
push dword [ebp + 0x78]
push ebx
push dword [ebp + 0x60]
call fcn.0042cc65
add esp, 0x24
lea ecx, [ebp + 0x78]
call fcn.0042602e
lea ecx, [ebp + 0x50]
call fcn.0042602e
cmp dword [ebp + 0x64], 0
je 0x454c92
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x454c92
push dword [ebp + 0x54]
push 0x481f78
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454eb0
mov esi, edi
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
jne 0x454c2f
lea eax, [ebp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x28], eax
lea eax, [ebp + 0x24]
push eax
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_ScreenToClient]
lea ecx, [ebp + 0x50]
call fcn.0042aeb8
lea ecx, [ebp + 0x78]
call fcn.0042aeb8
lea ecx, [ebp + 0x74]
call fcn.0042aeb8
lea ecx, [ebp + 0x7c]
call fcn.0042aeb8
push 2
pop esi
add dword [ebp + 0x68], esi
push 0x2c
pop edi
push edi
push 0x3b
pop ebx
push ebx
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x454e55
add dword [ebp + 0x68], esi
push edi
push ebx
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x454e55
add dword [ebp + 0x68], esi
push edi
push ebx
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x454e55
add dword [ebp + 0x68], esi
push edi
push ebx
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
add esp, 0x10
push dword [ebp + 0x50]
mov esi, dword [ebp + 0x60]
push dword [ebp + 0x3c]
push esi
call fcn.0042ccbb
push dword [ebp + 0x78]
push dword [ebp + 0x40]
push esi
call fcn.0042ccbb
push dword [ebp + 0x74]
push dword [ebp + 0x24]
push esi
call fcn.0042ccbb
push dword [ebp + 0x7c]
push dword [ebp + 0x28]
push esi
call fcn.0042ccbb
add esp, 0x30
lea ecx, [ebp + 0x7c]
call fcn.0042602e
lea ecx, [ebp + 0x74]
call fcn.0042602e
lea ecx, [ebp + 0x78]
call fcn.0042602e
lea ecx, [ebp + 0x50]
call fcn.0042602e
jmp 0x454bdc
mov ecx, dword [edi + 4]
push 3
pop ebx
cmp ecx, ebx
je 0x454ebf
cmp ecx, 1
jne 0x454ef2
mov eax, dword [ebp + 0x54]
cmp word [eax], 0
jne 0x454ef2
cmp byte [ebp + 0x5f], 0
jne 0x454ef2
cmp ecx, ebx
mov eax, 0x1000000
jne 0x454edc
test dword [edi + 0x40], eax
jne 0x454ee6
cmp ecx, 1
jne 0x454ef2
test dword [edi + 0x5c], eax
je 0x454ef2
push 0
push dword [ebp + 0x68]
call fcn.0040f487
pop ecx
pop ecx
push dword [ebp + 0x54]
push str.POSTMSG
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454f24
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
push dword [ebp + 0x48]
call fcn.00462735
cmp dword [ebp + 0x64], ebx
mov esi, eax
jmp 0x454be1
push dword [ebp + 0x54]
push str.SENDMSG
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454f4b
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
jmp 0x454948
push dword [ebp + 0x54]
push 0x47ab54
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454fd7
mov eax, dword [edi + 0x1c]
xor ecx, ecx
cmp eax, ecx
jne 0x454f6f
cmp dword [ebp + 0x64], ecx
jmp 0x455058
mov edx, dword [ebp + 0x48]
add edi, 0x34
mov dword [ebp - 0x28], edx
mov edx, dword [ebp + 0x60]
mov dword [ebp - 0x2c], edi
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], edx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x64]
cmp eax, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], ecx
je 0x454fae
and dword [ebp + 0x64], 0
push eax
call edi
lea eax, [ebp - 0x34]
push eax
push esi
push 0x465
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp + 0x64], 0
mov esi, eax
je 0x454c94
push dword [ebp + 0x64]
call edi
jmp 0x454c94
mov esi, dword [ebp + 0x54]
push esi
push str.bkcolor
call fcn.00426fa9
test al, al
pop ecx
pop ecx
jne 0x45504d
push esi
push str.Cursor
call fcn.00426fa9
test al, al
pop ecx
pop ecx
jne 0x45504d
push esi
push 0x4805a0
call fcn.00426fa9
test al, al
pop ecx
pop ecx
jne 0x45504d
cmp dword [edi + 4], 9
jne 0x45502d
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x38]
mov ecx, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x48]
push dword [ebp + 0x60]
call fcn.00439cfc
jmp 0x455042
mov eax, dword [edi]
lea ecx, [ebp + 0x64]
push ecx
push dword [ebp + 0x38]
mov ecx, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x60]
call dword [eax + 4]
cmp dword [ebp + 0x64], 0
mov esi, eax
jmp 0x454be1
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x45506c
cmp dword [ebp + 0x64], 0
je 0x45528e
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x45528e
mov eax, dword [ebp + 0x64]
test eax, eax
mov esi, dword [edi + 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
je 0x455083
and dword [ebp + 0x64], 0
push eax
call ebx
push edi
push dword [ebp + 0x38]
push dword [ebp + 0x54]
push dword [ebp + 0x68]
push esi
push dword [ebp + 0x60]
call fcn.00426445
add esp, 0x18
cmp dword [ebp + 0x64], 0
je 0x454c92
push dword [ebp + 0x64]
call ebx
jmp 0x454c92
push edi
push str._Cur
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x4551be
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x454c3e
lea ecx, [ebp + 0x4c]
call fcn.0042aeb8
lea ecx, [ebp + 0x58]
call fcn.0042aeb8
lea ecx, [ebp + 0x74]
call fcn.0042aeb8
mov edi, dword [ebp + 0x60]
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.004236a6
push 0x2c
push 0x3b
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.004236a6
push 0x2c
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.004236a6
lea eax, [ebp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp + 0x4c]
push dword [ebp + 0x3c]
push edi
call fcn.0042ccbb
push dword [ebp + 0x58]
push dword [ebp + 0x40]
push edi
call fcn.0042ccbb
xor esi, esi
push esi
lea eax, [ebp + 0x74]
push eax
push 8
lea eax, [ebp + 0x3c]
push eax
push dword [ebp + 0x74]
push edi
call fcn.0043803b
add esp, 0x30
lea ecx, [ebp + 0x74]
call fcn.0042602e
lea ecx, [ebp + 0x58]
call fcn.0042602e
lea ecx, [ebp + 0x4c]
call fcn.0042602e
jmp 0x454c94
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.0042aaa5
test al, al
je 0x454c92
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
test eax, eax
pop ecx
pop ecx
jle 0x454c92
push dword [ebp + 0x74]
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp 0x454c92
push edi
push str._EATEKEYS
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x4551ea
push dword [ebp + 0x60]
push dword [ebp + 0x68]
call fcn.00452411
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x454c94
push edi
push str._POSTMSG
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x455238
mov byte [ebp + 0x50], 0
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x58], esi
call fcn.0042aeb8
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3a
jne 0x4555e8
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
mov eax, dword [ebp + 0x68]
pop ecx
mov edx, eax
jmp 0x4555b8
push edi
push str._SENDMSG
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x45524f
mov byte [ebp + 0x50], 1
jmp 0x4551ff
push edi
push str._POS
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x4552e9
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
sete bl
test bl, bl
je 0x455276
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
cmp dword [ebp + 0x74], esi
pop ecx
pop ecx
jg 0x455298
mov esi, 0x80070057
jmp 0x454c94
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.0042aaa5
test al, al
je 0x4552ab
add dword [ebp + 0x68], 2
test bl, bl
je 0x4552bb
sub dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov word [eax], 0x3f
mov eax, dword [ebp + 0x7c]
cmp eax, esi
je 0x4552ca
mov eax, dword [eax + 0x124]
jmp 0x4552cc
xor eax, eax
push eax
xor esi, esi
push esi
push dword [ebp + 0x60]
push dword [ebp + 0x60]
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.004368bc
add esp, 0x18
jmp 0x454c94
push edi
push str._RMENU
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x4553b0
lea ecx, [ebp + 0x78]
call fcn.0042aeb8
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x28], esi
call fcn.0042aeb8
push 0x3a
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], si
je 0x455331
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
push dword [ebp + 0x68]
call fcn.0040ca55
pop ecx
pop ecx
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x68], eax
call fcn.0042aeb8
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x40], esi
call fcn.004334dc
mov eax, dword [ebp + 0x40]
add esp, 0xc
cmp eax, esi
je 0x45538a
cmp word [eax], si
je 0x45538a
push esi
lea ecx, [ebp + 0x78]
push ecx
lea ecx, [ebp + 0x28]
push ecx
push eax
push dword [ebp + 0x7c]
mov word [eax - 2], si
call fcn.00404f90
add esp, 0x14
push dword [ebp + 0x78]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
call fcn.00429dbf
lea ecx, [ebp + 0x7c]
call fcn.0042602e
lea ecx, [ebp + 0x74]
call fcn.0042602e
lea ecx, [ebp + 0x78]
jmp 0x4554e8
push edi
push str._IsWindow
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x45544a
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x4553de
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x455403
cmp ax, 0x3a
jne 0x455407
add dword [ebp + 0x68], 2
cmp si, 0x3f
jne 0x45528e
lea ecx, [ebp + 0x44]
call fcn.0042aeb8
push 0x3a
push 0x3b
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
add esp, 0x10
push dword [ebp + 0x44]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_IsWindow]
push eax
push dword [ebp + 0x60]
call fcn.0042cc8f
lea ecx, [ebp + 0x44]
jmp 0x4554e5
push edi
push str._Enable
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x455529
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x455478
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x45549d
cmp ax, 0x3a
jne 0x4554a1
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], 0
jle 0x45528e
cmp si, 0x3f
jne 0x4554f2
lea ecx, [ebp + 0x48]
call fcn.0042aeb8
push 0x3a
push 0x3b
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00427fcb
add esp, 0x10
push dword [ebp + 0x48]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
push eax
push dword [ebp + 0x60]
call fcn.0042cc8f
lea ecx, [ebp + 0x48]
add esp, 0xc
call fcn.0042602e
jmp 0x454c92
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x7c], 0xfffffc18
call fcn.0042dab0
cmp dword [ebp + 0x7c], 0
pop ecx
pop ecx
jl 0x454c92
xor eax, eax
cmp dword [ebp + 0x7c], eax
setne al
push eax
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x454c92
push edi
push str._Visable
call fcn.00426fa9
test al, al
pop ecx
pop ecx
je 0x454c92
lea eax, [ebp + 0x68]
push eax
call fcn.0042609c
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x455557
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x45557c
cmp ax, 0x3a
jne 0x455580
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], 0
jle 0x45528e
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
call fcn.00436ff7
add esp, 0x10
jmp 0x454c92
cmp cx, 0x2c
je 0x4555c0
cmp cx, 0x3b
je 0x4555c0
cmp cx, 0x3a
je 0x4555c0
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, si
jne 0x4555a1
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x7c]
call fcn.00409fd6
mov eax, dword [ebp + 0x68]
cmp word [eax], si
je 0x4555da
add dword [ebp + 0x68], 2
mov ecx, dword [ebp + 0x60]
push 1
lea eax, [ebp + 0x7c]
push eax
call fcn.00402aa0
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
cmp dword [ebp + 0x78], esi
pop ecx
pop ecx
jne 0x455609
lea ecx, [ebp + 0x7c]
call fcn.0042602e
jmp 0x45528e
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
je 0x45561b
cmp ax, 0x3a
jne 0x455649
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
xor esi, esi
cmp word [eax], 0x23
jne 0x455633
add dword [ebp + 0x68], 2
mov esi, 0x5000
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042dab0
test eax, eax
pop ecx
pop ecx
jle 0x455649
add dword [ebp + 0x74], esi
push dword [ebp + 0x50]
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x4c]
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x60]
call fcn.0042ddf6
add esp, 0x14
test eax, eax
jne 0x4555fc
cmp byte [ebp + 0x50], al
push dword [ebp + 0x58]
push dword [ebp + 0x4c]
push dword [ebp + 0x74]
push dword [ebp + 0x78]
jne 0x45567f
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x455685
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x7c]
xor esi, esi
cmp word [ecx], si
je 0x4556b7
push eax
lea eax, [ebp - 0x98]
push 0x47b234
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0x98]
push eax
push dword [ebp + 0x7c]
call fcn.00429dbf
lea ecx, [ebp + 0x7c]
jmp 0x455175