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

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x168
push ebx
mov ebx, dword [ebp + 0x7c]
xor edx, edx
cmp ebx, edx
push esi
push edi
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x38], edx
jne 0x457e28
mov ebx, dword [ecx + 0x2c]
mov dword [ebp + 0x7c], ebx
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00427312
mov eax, dword [ebp + 0x74]
pop ecx
lea ecx, [ebp + 0x3c]
mov esi, ecx
mov word [ebp + 0x3c], dx
mov edi, eax
mov dword [ebp + 0x50], edx
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x40], esi
jmp 0x457e59
cmp cx, 0x3d
je 0x457e63
inc eax
inc eax
mov cx, word [eax]
cmp cx, dx
jne 0x457e51
jmp 0x457e6c
lea esi, [eax + 2]
mov word [eax], dx
mov dword [ebp + 0x40], esi
push edi
call fcn.0040b35a
mov eax, dword [ebp + 0x60]
and dword [ebp + 0x2c], 0
cmp byte [eax + 0x8a], 0
pop ecx
jne 0x457e9c
test byte [eax + 0xb], 0xf
jne 0x457e9c
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x2c]
push eax
push edi
call fcn.0043d7de
jmp 0x457ead
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x2c]
push eax
push edi
call fcn.0043c527
lea ecx, [ebp + 0x30]
call fcn.0042c809
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x30]
push eax
push esi
call fcn.0043d8d6
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 0x458084
push str._DeskTopFresh
push edi
call esi
test eax, eax
jne 0x457fdf
mov eax, dword [ebp + 0x68]
xor ecx, ecx
mov dword [ebp + 0x78], 0xfff80000
mov dword [ebp + 0x7c], eax
xor ebx, ebx
jmp 0x457f2e
push ecx
call fcn.0040efef
add esp, 4
test al, al
jne 0x457f42
cmp cx, 0x2c
je 0x457f38
cmp cx, 0x3b
je 0x457f38
cmp cx, 0x3a
je 0x457f38
cmp cx, 0x23
je 0x457f38
add dword [ebp + 0x7c], 2
mov eax, dword [ebp + 0x7c]
mov cx, word [eax]
cmp cx, bx
jne 0x457f02
jmp 0x457f42
mov eax, dword [ebp + 0x7c]
add dword [ebp + 0x7c], 2
mov word [eax], bx
push dword [ebp + 0x68]
push str.clearicon
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x457f99
lea ecx, [ebp + 0x74]
call fcn.0042c809
push 0x23
pop ecx
mov esi, str._userprofile_AppDataLocalMicrosoftWindowsExplorer_thumbcache.db
lea edi, [ebp - 0xc4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x60]
push 1
push ebx
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp - 0xc4]
push eax
movsw word es:[edi], word [esi]
call fcn.0043c527
push 1
push dword [ebp + 0x74]
call fcn.0041df0d
pop ecx
pop ecx
lea ecx, [ebp + 0x74]
call fcn.00427365
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0042f0d0
cmp dword [ebp + 0x78], 2
pop ecx
pop ecx
jne 0x457fce
push ebx
push 0x496fe0
push str.USER32.DLL
push str.UpdatePerUserSystemParameters
call fcn.004282c3
add esp, 0x10
call dword [0x496fe0]
jmp 0x457fd8
cmp dword [ebp + 0x78], ebx
jl 0x457fd8
call fcn.0042b6c1
xor esi, esi
jmp 0x4593b8
push str._TaskIcoMenu
push edi
call esi
test eax, eax
jne 0x458084
push dword [ebp + 0x68]
push 0x483cfc
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458044
push dword [ebp + 0x68]
push 0x4875a4
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458031
push dword [ebp + 0x68]
push 0x48354c
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x457fd8
cmp byte [0x496dcc], 0
je 0x458044
mov ecx, 0x4971e8
mov byte [0x496dcc], 0
call fcn.00427834
jmp 0x457fd8
cmp byte [0x49a003], 0
je 0x45805c
push dword [0x496dd8]
mov byte [0x496dcc], 1
jmp 0x45807d
mov eax, dword [0x496ee4]
test eax, eax
je 0x457fd8
cmp dword [eax + 0x18], 0
je 0x457fd8
mov byte [0x496dcc], 1
push dword [eax + 0x18]
call fcn.0040c0e5
jmp 0x458096
mov ax, word [edi]
xor esi, esi
cmp ax, si
jne 0x45809c
push dword [ebp + 0x60]
call fcn.0040c706
pop ecx
jmp 0x457fd8
cmp ax, 0x40
je 0x4580b4
push dword [ebp + 0x60]
call fcn.0040c706
cmp ebx, esi
pop ecx
jne 0x4580b8
jmp 0x457fd8
cmp ebx, esi
je 0x4580bd
mov eax, dword [ebx + 0x6c]
jmp 0x4580c2
mov eax, 0x480934
push eax
lea ecx, [ebp + 0x1c]
call fcn.004365ba
push edi
lea ecx, [ebp + 0x34]
call fcn.004365ba
xor ecx, ecx
mov cx, word [edi]
cmp cx, si
mov eax, edi
mov dword [ebp + 0x74], eax
je 0x458104
cmp cx, 0x2e
jne 0x4580ec
mov dword [ebp + 0x50], eax
inc eax
inc eax
mov cx, word [eax]
cmp cx, si
jne 0x4580e3
cmp dword [ebp + 0x50], esi
mov dword [ebp + 0x74], eax
je 0x458104
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2e
mov dword [ebp + 0x58], esi
jne 0x458118
mov word [eax], si
inc eax
inc eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00427312
cmp dword [ebp + 0x58], esi
pop ecx
je 0x45813d
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00403c83
mov eax, dword [ebp + 0x74]
pop ecx
mov word [eax], si
mov ebx, dword [ebp + 0x78]
cmp ebx, esi
mov byte [ebp + 0x5f], 0
mov byte [ebp + 0x74], 0
je 0x4581e5
cmp word [ebx], si
mov ecx, ebx
je 0x4581e5
push 0x7e
pop esi
xor edx, edx
mov dx, word [ecx]
mov eax, edx
call fcn.00402a89
test al, al
jne 0x4581e5
cmp dx, 0x2e
je 0x4581d4
cmp dx, 0x24
je 0x4581d4
cmp dx, 0x25
je 0x4581d4
cmp dx, 0x2a
jne 0x45818c
or byte [ebp + 0x74], 4
jmp 0x4581d9
cmp dx, si
jne 0x4581d9
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x4581a1
or byte [ebp + 0x74], 2
mov ecx, eax
jmp 0x4581d9
cmp dx, si
jne 0x4581d9
lea eax, [ecx + 2]
cmp word [eax], 0x2e
jne 0x4581b5
or byte [ebp + 0x74], 8
jmp 0x45819d
cmp dx, si
jne 0x4581d9
lea eax, [ecx + 2]
cmp word [eax], 0x2a
jne 0x4581c9
or byte [ebp + 0x74], 0xa
jmp 0x45819d
cmp dx, si
jne 0x4581d9
or byte [ebp + 0x74], 1
jmp 0x4581d9
mov al, byte [ecx]
mov byte [ebp + 0x5f], al
inc ecx
inc ecx
cmp word [ecx], 0
jne 0x45815e
xor esi, esi
cmp byte [ebp + 0x74], 0
mov dword [ebp + 0x78], esi
je 0x458202
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
lea eax, [ebp + 0x30]
push eax
call fcn.004430cc
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0x20]
call fcn.0042c809
cmp byte [ebp + 0x5f], 0
je 0x45822b
cmp byte [ebp + 0x5f], 0x2e
je 0x45822b
lea eax, [ebp + 0x78]
push eax
push ebx
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043a519
add esp, 0x10
push edi
lea ecx, [ebp + 0x14]
call fcn.004365ba
cmp dword [ebp + 0x58], esi
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x18], eax
jne 0x458246
mov dword [ebp + 0x58], 0x480934
cmp word [edi], 0x40
je 0x458d3a
mov eax, 0x4975e4
push eax
mov dword [ebp + 0x48], esi
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 + 0x50], edi
cmp byte [ebp + 0x7f], 0
je 0x45827e
mov byte [ebp + 0x77], 1
mov ebx, dword [ebp + 0x18]
push 0x3a
lea eax, [ebp + 0x54]
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x54], ebx
call fcn.0042c33c
mov eax, dword [ebp + 0x54]
cmp word [eax], 0x3a
pop ecx
mov byte [ebp + 0x7f], 0
jne 0x4582b3
and word [eax], 0
add eax, 2
cmp word [eax], 0
mov dword [ebp + 0x18], eax
je 0x4582b3
mov byte [ebp + 0x7f], 1
cmp byte [ebp + 0x7b], 0
je 0x4582d4
push ebx
push 0x4871d4
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x4582d4
mov ebx, dword [ebp + 0x1c]
mov byte [ebp + 0x77], 1
mov dword [ebp + 0x4c], ebx
mov esi, dword [edi + 0x2c]
push ebx
push 0x4814d4
mov byte [ebp + 0x7b], 0
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458337
mov edi, dword [edi + 0x28]
mov esi, dword [edi + 0x2c]
test esi, esi
mov dword [ebp + 0x50], edi
je 0x4582fe
lea eax, [esi + 0x6c]
jmp 0x458312
or dword [ebp + 0x38], 1
push 0x480934
lea ecx, [ebp + 0x28]
call fcn.004365ba
lea eax, [ebp + 0x28]
test byte [ebp + 0x38], 1
mov ebx, dword [eax]
mov dword [ebp + 0x4c], ebx
je 0x458329
and dword [ebp + 0x38], 0xfffffffe
lea ecx, [ebp + 0x28]
call fcn.00427365
cmp byte [ebp + 0x7f], 0
mov byte [ebp + 0x77], 1
jne 0x45827a
test esi, esi
je 0x458411
cmp esi, dword [ebp + 0x48]
je 0x458411
cmp byte [ebp + 0x7f], 0
jne 0x458361
mov eax, dword [esi + 0x6c]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x45844f
and dword [ebp + 0x54], 0
cmp dword [esi + 0x74], 0
jle 0x45839f
xor ebx, ebx
mov eax, dword [esi + 0x70]
mov edi, dword [ebx + eax + 4]
test edi, edi
je 0x458391
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x458391
push dword [ebp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x45844d
inc dword [ebp + 0x54]
mov eax, dword [ebp + 0x54]
add ebx, 0x10
cmp eax, dword [esi + 0x74]
jl 0x45836d
mov eax, dword [esi + 0xbc]
xor ebx, ebx
cmp dword [eax], ebx
jle 0x4583e9
mov eax, dword [esi + 0xb8]
mov eax, dword [eax]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x4583de
mov eax, dword [edi + 8]
test eax, eax
je 0x4583de
push dword [ebp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4583de
cmp byte [ebp + 0x7f], al
je 0x45879e
cmp dword [edi + 4], 0xf
je 0x45843f
mov eax, dword [esi + 0xbc]
inc ebx
cmp ebx, dword [eax]
jl 0x4583ab
cmp byte [ebp + 0x7f], 0
jne 0x458cde
push dword [ebp + 0x4c]
lea eax, [esi + 0x15c]
push eax
call fcn.0042b978
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4585a8
mov edi, dword [ebp + 0x50]
cmp byte [ebp + 0x77], 0
jne 0x458cde
mov edi, dword [edi + 0x28]
mov dword [ebp + 0x48], esi
xor esi, esi
cmp edi, esi
mov dword [ebp + 0x50], edi
je 0x458887
cmp edi, 0x496eb8
jne 0x458274
jmp 0x458887
mov eax, dword [edi + 0x1c]
mov edi, dword [eax + 0x14c]
jmp 0x458271
mov esi, edi
mov edi, dword [ebp + 0x58]
push edi
push str.MouseCapture
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x4587c4
push edi
push str.POSTMSG
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458498
mov ecx, dword [esi + 0xf0]
xor edi, edi
push edi
push edi
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x40]
call fcn.004688e4
cmp dword [ebp + 0x64], edi
mov esi, eax
jmp 0x45888a
push edi
push str.SENDMSG
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x4584c6
mov ecx, dword [esi + 0xf0]
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x40]
call fcn.004688e4
jmp 0x458ccc
push edi
push 0x480b9c
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458546
mov eax, dword [esi + 0xf0]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp], eax
mov eax, dword [esi + 0x18]
xor ebx, ebx
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x64]
cmp eax, ebx
mov dword [ebp - 0x10], 3
mov dword [ebp - 0xc], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], 1
mov dword [ebp + 0x10], ebx
je 0x45851e
push eax
mov dword [ebp + 0x64], ebx
call edi
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], ebx
mov esi, eax
je 0x459398
push dword [ebp + 0x64]
call edi
jmp 0x459398
push edi
push 0x48868c
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x4589e4
push edi
push 0x488688
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458576
mov esi, dword [esi + 0x18]
xor ebx, ebx
jmp 0x4588c1
mov eax, dword [ebp + 0x64]
test eax, eax
mov edi, dword [esi + 0x18]
je 0x45858b
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push esi
push dword [ebp + 0x34]
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x60]
call fcn.004276c0
add esp, 0x1c
jmp 0x458885
mov ebx, dword [ebp + 0x58]
cmp word [ebx], 0
jne 0x4585da
push dword [ebp + 0x68]
lea ecx, [edi + 4]
call fcn.0043667e
mov edi, dword [edi + 0xc]
cmp word [edi], 0
je 0x458885
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x60]
push edi
call fcn.0042b2cd
jmp 0x458885
push ebx
push str.Enable
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458695
mov eax, dword [ebp + 0x68]
movzx eax, word [eax]
xor ebx, ebx
push eax
mov dword [ebp + 0x7c], ebx
call fcn.0040efef
add esp, 4
test al, al
jne 0x45860f
cmp dword [ebp + 0x64], ebx
jmp 0x458ce2
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_GetMenu]
mov esi, eax
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
cmp esi, ebx
pop ecx
pop ecx
je 0x45864c
mov eax, dword [ebp + 0x7c]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 3
or eax, 0x400
push eax
push dword [edi + 0x14]
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [ebp + 0x7c], ebx
je 0x458656
and byte [edi], 0xfe
jmp 0x458659
or byte [edi], 1
lea eax, [edi + 0xc]
push eax
lea ecx, [ebp + 0x7c]
call fcn.0043660b
push 0x4846c4
lea ecx, [ebp + 0x7c]
call fcn.0042c877
test byte [edi], 1
mov eax, 0x482178
jne 0x458681
mov eax, 0x4846c0
mov ecx, dword [ebp + 0x60]
push eax
push dword [ebp + 0x7c]
call fcn.0043ee1a
lea ecx, [ebp + 0x7c]
jmp 0x458794
push ebx
push 0x48867c
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458885
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x4586b7
add dword [ebp + 0x68], 2
lea ecx, [ebp + 0x78]
call fcn.0042c809
lea ecx, [ebp + 0x74]
call fcn.0042c809
lea ecx, [ebp + 0x7c]
call fcn.0042c809
mov ebx, dword [ebp + 0x60]
push 0x2c
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042460e
push 0x2c
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042460e
push 0x2c
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042460e
push dword [edi + 0x10]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0xfc]
push str.0x_p
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0xfc]
push eax
push dword [ebp + 0x78]
mov ecx, ebx
call fcn.0042b2cd
movzx eax, word [edi + 2]
push eax
mov ebx, str.0x_X
lea eax, [ebp - 0xfc]
push ebx
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0xfc]
push eax
push dword [ebp + 0x74]
call fcn.0042b2cd
push dword [edi + 0x14]
lea eax, [ebp - 0xfc]
push ebx
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0xfc]
push eax
push dword [ebp + 0x7c]
call fcn.0042b2cd
lea ecx, [ebp + 0x7c]
call fcn.00427365
lea ecx, [ebp + 0x74]
call fcn.00427365
lea ecx, [ebp + 0x78]
call fcn.00427365
jmp 0x458885
push dword [ebp + 0x58]
push str.MouseCapture
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x45889e
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
je 0x45889e
mov esi, edi
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
sete bl
test bl, bl
je 0x4587d6
add dword [ebp + 0x68], 2
or dword [ebp + 0x7c], 0xffffffff
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
test bl, bl
pop ecx
pop ecx
je 0x45886c
cmp dword [ebp + 0x7c], 0
jle 0x458861
mov ebx, dword [esi + 0x18]
mov esi, dword [esi + 0xf0]
mov edi, 0x4975e4
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x458858
test ebx, ebx
je 0x458858
xor edi, edi
call fcn.00429796
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push dword [0x496dd4]
push 0x429728
push 7
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [0x497160], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x497160], edi
je 0x458851
mov dword [0x497168], esi
mov dword [0x497164], ebx
push 0x4975e4
jmp 0x458859
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x458885
jne 0x458885
xor edi, edi
call fcn.00429796
jmp 0x458885
cmp dword [ebp + 0x7c], 0
jle 0x45887d
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x458885
jne 0x458885
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor esi, esi
cmp dword [ebp + 0x64], esi
je 0x459398
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x459398
push dword [ebp + 0x58]
push 0x488688
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x4589cb
mov eax, dword [edi + 0x1c]
mov esi, dword [eax + 0x18]
add ebx, 0x1000
lea eax, [ebp + 0x68]
push eax
call fcn.00427312
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
je 0x458944
cmp dword [ebp + 0x64], 0
je 0x4588e3
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.00427312
mov eax, dword [ebp + 0x68]
xor bl, bl
cmp word [eax], 0x2a
pop ecx
jne 0x458907
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.0042f0d0
test eax, eax
pop ecx
pop ecx
jle 0x459396
test bl, bl
je 0x458df3
cmp dword [ebp + 0x7c], 0
jl 0x459396
xor eax, eax
cmp dword [ebp + 0x7c], eax
setne al
push eax
call dword [sym.imp.USER32.dll_ShowCursor]
jmp 0x459396
lea ecx, [ebp + 0x74]
call fcn.0042c809
lea ecx, [ebp + 0x7c]
call fcn.0042c809
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x45898d
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
add esp, 0x10
push str.0x_I64X
push dword [ebp + 0x74]
mov eax, esi
cdq
push edx
push eax
push dword [ebp + 0x60]
call fcn.00438e64
push str.0x_X
push dword [ebp + 0x7c]
push ebx
push dword [ebp + 0x60]
call fcn.0042e6f8
add esp, 0x24
lea ecx, [ebp + 0x7c]
call fcn.00427365
lea ecx, [ebp + 0x74]
call fcn.00427365
jmp 0x458d22
push dword [ebp + 0x58]
push 0x48868c
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458b0c
mov esi, edi
lea eax, [ebp + 0x68]
push eax
call fcn.00427312
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
jne 0x4588d4
lea eax, [ebp + 0x44]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x48]
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 + 0x54]
call fcn.0042c809
lea ecx, [ebp + 0x78]
call fcn.0042c809
lea ecx, [ebp + 0x74]
call fcn.0042c809
lea ecx, [ebp + 0x7c]
call fcn.0042c809
push 2
pop ebx
add dword [ebp + 0x68], ebx
push 0x2c
pop edi
push edi
push 0x3b
pop esi
push esi
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x458ab6
add dword [ebp + 0x68], ebx
push edi
push esi
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x458ab6
add dword [ebp + 0x68], ebx
push edi
push esi
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x458ab6
add dword [ebp + 0x68], ebx
push edi
push esi
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
add esp, 0x10
push dword [ebp + 0x54]
mov esi, dword [ebp + 0x60]
push dword [ebp + 0x44]
push esi
call fcn.0042e74e
push dword [ebp + 0x78]
push dword [ebp + 0x48]
push esi
call fcn.0042e74e
push dword [ebp + 0x74]
push dword [ebp + 0x24]
push esi
call fcn.0042e74e
push dword [ebp + 0x7c]
push dword [ebp + 0x28]
push esi
call fcn.0042e74e
add esp, 0x30
lea ecx, [ebp + 0x7c]
call fcn.00427365
lea ecx, [ebp + 0x74]
call fcn.00427365
lea ecx, [ebp + 0x78]
call fcn.00427365
lea ecx, [ebp + 0x54]
jmp 0x458794
mov ecx, dword [edi + 4]
push 3
pop ebx
cmp ecx, ebx
je 0x458b1b
cmp ecx, 1
jne 0x458b4e
mov eax, dword [ebp + 0x58]
cmp word [eax], 0
jne 0x458b4e
cmp byte [ebp + 0x5f], 0
jne 0x458b4e
cmp ecx, ebx
mov eax, 0x1000000
jne 0x458b38
test dword [edi + 0x40], eax
jne 0x458b42
cmp ecx, 1
jne 0x458b4e
test dword [edi + 0x58], eax
je 0x458b4e
push 0
push dword [ebp + 0x68]
call fcn.0040ef63
pop ecx
pop ecx
push dword [ebp + 0x58]
push str.POSTMSG
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458b80
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
push dword [ebp + 0x40]
call fcn.004688e4
cmp dword [ebp + 0x64], ebx
mov esi, eax
jmp 0x45888a
push dword [ebp + 0x58]
push str.SENDMSG
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458ba7
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
jmp 0x4584b9
push dword [ebp + 0x58]
push 0x480b9c
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458c26
mov eax, dword [edi + 0x1c]
xor ecx, ecx
cmp eax, ecx
jne 0x458bcb
cmp dword [ebp + 0x64], ecx
jmp 0x458ce2
mov edx, dword [ebp + 0x40]
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 0x458c0a
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
jmp 0x458534
mov esi, dword [ebp + 0x58]
push esi
push str.bkcolor
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458cd7
push esi
push str.Cursor
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458cd7
push esi
push 0x48865c
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458cd7
push esi
push str.font
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458cd7
push esi
push 0x48864c
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458cd7
push esi
push str.style
call fcn.00428293
test al, al
pop ecx
pop ecx
jne 0x458cd7
cmp dword [edi + 4], 9
jne 0x458cb7
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x34]
mov ecx, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x40]
push dword [ebp + 0x60]
call fcn.00432ba1
jmp 0x458ccc
mov eax, dword [edi]
lea ecx, [ebp + 0x64]
push ecx
push dword [ebp + 0x34]
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 0x45888a
mov esi, dword [edi + 0x1c]
test esi, esi
jne 0x458cf6
cmp dword [ebp + 0x64], 0
je 0x458f42
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x458f42
mov eax, dword [ebp + 0x64]
test eax, eax
mov ebx, dword [esi + 0x18]
je 0x458d0b
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
push esi
push dword [ebp + 0x34]
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push ebx
push dword [ebp + 0x60]
call fcn.004276c0
add esp, 0x1c
cmp dword [ebp + 0x64], 0
je 0x459396
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x459396
push edi
push 0x48863c
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458e32
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x4588e3
lea ecx, [ebp + 0x78]
call fcn.0042c809
lea ecx, [ebp + 0x74]
call fcn.0042c809
lea ecx, [ebp + 0x7c]
call fcn.0042c809
mov esi, dword [ebp + 0x60]
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, esi
call fcn.0042460e
push 0x2c
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, esi
call fcn.0042460e
push 0x2c
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, esi
call fcn.0042460e
lea eax, [ebp + 0x44]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp + 0x78]
push dword [ebp + 0x44]
push esi
call fcn.0042e74e
push dword [ebp + 0x74]
push dword [ebp + 0x48]
push esi
call fcn.0042e74e
push 0
lea eax, [ebp + 0x7c]
push eax
push 8
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x7c]
push esi
call fcn.0043ac43
add esp, 0x30
jmp 0x45904a
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.0042c37e
test al, al
je 0x459396
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
test eax, eax
pop ecx
pop ecx
jle 0x459396
push dword [ebp + 0x74]
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp 0x459396
push edi
push str._EATEKEYS
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458e5e
push dword [ebp + 0x60]
push dword [ebp + 0x68]
call fcn.0045645b
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x459398
push edi
push str._POSTMSG
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458eac
mov byte [ebp + 0x54], 0
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], esi
call fcn.0042c809
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3a
jne 0x4592c2
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.00427312
mov eax, dword [ebp + 0x68]
pop ecx
mov edx, eax
jmp 0x459292
push edi
push str._SENDMSG
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458ec3
mov byte [ebp + 0x54], 1
jmp 0x458e73
push edi
push str._percent
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458f01
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x68]
xor esi, esi
push eax
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x48], esi
call fcn.00424777
push dword [ebp + 0x68]
push dword [ebp + 0x44]
push 0x496eb8
call fcn.00425044
add esp, 0x14
jmp 0x459398
push edi
push str._POS
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x458f9b
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
sete bl
test bl, bl
je 0x458f28
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
xor esi, esi
cmp dword [ebp + 0x74], esi
pop ecx
pop ecx
jg 0x458f4c
mov esi, 0x80070057
jmp 0x459398
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.0042c37e
test al, al
je 0x458f5f
add dword [ebp + 0x68], 2
test bl, bl
je 0x458f6f
sub dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov word [eax], 0x3f
mov eax, dword [ebp + 0x7c]
cmp eax, esi
je 0x458f7e
mov eax, dword [eax + 0x158]
jmp 0x458f80
xor eax, eax
push eax
push esi
push dword [ebp + 0x60]
push dword [ebp + 0x60]
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.00438fb9
add esp, 0x18
jmp 0x459398
push edi
push str._RMENU
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x459062
lea ecx, [ebp + 0x78]
call fcn.0042c809
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x28], esi
call fcn.0042c809
push 0x3a
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], si
je 0x458fe3
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.00427312
push dword [ebp + 0x68]
call fcn.0040d003
pop ecx
pop ecx
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x68], eax
call fcn.0042c809
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x48], esi
call fcn.004350b7
mov eax, dword [ebp + 0x48]
add esp, 0xc
cmp eax, esi
je 0x45903c
cmp word [eax], si
je 0x45903c
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.004051b9
add esp, 0x14
push dword [ebp + 0x78]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
call fcn.0042b2cd
lea ecx, [ebp + 0x7c]
call fcn.00427365
lea ecx, [ebp + 0x74]
call fcn.00427365
lea ecx, [ebp + 0x78]
jmp 0x459391
push edi
push str._IsWindow
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x4590ec
lea eax, [ebp + 0x68]
push eax
call fcn.00427312
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x45908c
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x4590b1
cmp ax, 0x3a
jne 0x4590b5
add dword [ebp + 0x68], 2
cmp si, 0x3f
jne 0x458f42
lea ecx, [ebp + 0x7c]
call fcn.0042c809
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
add esp, 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_IsWindow]
jmp 0x45917b
push edi
push str._Enable
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x4591c3
lea eax, [ebp + 0x68]
push eax
call fcn.00427312
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x45911a
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x45913f
cmp ax, 0x3a
jne 0x459143
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], 0
jle 0x458f42
cmp si, 0x3f
jne 0x45918c
lea ecx, [ebp + 0x7c]
call fcn.0042c809
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042ec73
add esp, 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
push eax
push dword [ebp + 0x60]
call fcn.0042e722
add esp, 0xc
jmp 0x45938e
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x7c], 0xfffffc18
call fcn.0042f0d0
cmp dword [ebp + 0x7c], 0
pop ecx
pop ecx
jl 0x459396
xor eax, eax
cmp dword [ebp + 0x7c], eax
setne al
push eax
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x459396
push edi
push str._Visable
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x459237
lea eax, [ebp + 0x68]
push eax
call fcn.00427312
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x4591ed
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x459212
cmp ax, 0x3a
jne 0x459216
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], 0
jle 0x458f42
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
call fcn.0043987c
add esp, 0x10
jmp 0x459396
push edi
push str._style
call fcn.00428293
test al, al
pop ecx
pop ecx
je 0x459396
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00424757
cmp dword [ebp + 0x74], 0
pop ecx
pop ecx
jle 0x458f42
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.00439a04
pop ecx
pop ecx
jmp 0x459396
cmp cx, 0x2c
je 0x45929a
cmp cx, 0x3b
je 0x45929a
cmp cx, 0x3a
je 0x45929a
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, si
jne 0x45927b
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x7c]
call fcn.0042c92f
mov eax, dword [ebp + 0x68]
cmp word [eax], si
je 0x4592b4
add dword [ebp + 0x68], 2
mov ecx, dword [ebp + 0x60]
push 1
lea eax, [ebp + 0x7c]
push eax
call fcn.00402b15
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
cmp dword [ebp + 0x78], esi
pop ecx
pop ecx
jne 0x4592e3
lea ecx, [ebp + 0x7c]
call fcn.00427365
jmp 0x458f42
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
je 0x4592f5
cmp ax, 0x3a
jne 0x459323
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
xor esi, esi
cmp word [eax], 0x23
jne 0x45930d
add dword [ebp + 0x68], 2
mov esi, 0x5000
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042f0d0
test eax, eax
pop ecx
pop ecx
jle 0x459323
add dword [ebp + 0x74], esi
push dword [ebp + 0x54]
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x4c]
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x60]
call fcn.0042f4a2
add esp, 0x14
test eax, eax
jne 0x4592d6
cmp byte [ebp + 0x54], al
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push dword [ebp + 0x74]
push dword [ebp + 0x78]
jne 0x459359
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x45935f
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp + 0x7c]
cmp word [esi], 0
je 0x45938e
push eax
lea eax, [ebp - 0x98]
push 0x486184
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0x98]
push eax
push esi
call fcn.0042b2cd
lea ecx, [ebp + 0x7c]
call fcn.00427365
xor esi, esi
lea ecx, [ebp + 0x14]
call fcn.00427365
lea ecx, [ebp + 0x20]
call fcn.00427365
lea ecx, [ebp + 0x34]
call fcn.00427365
lea ecx, [ebp + 0x1c]
call fcn.00427365
lea ecx, [ebp + 0x30]
call fcn.00427365
lea ecx, [ebp + 0x2c]
call fcn.00427365
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc