Function at 0x490eb6
Capabilities:
Check for time delay via gettickcount
Check for unmoving mouse cursor
Get common file path
Log keystrokes via polling
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x384
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp + 0x44], edi
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x60], ecx
call fcn.0043e425
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4cb988
call fcn.00446a34
mov byte [ebp + 0x33], al
mov eax, dword [ebp + 0x74]
lea ecx, [ebp + 0x1c]
add esp, 0x10
mov word [ebp + 0x1c], di
mov esi, eax
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x48], ecx
jmp 0x490f0d
cmp cx, 0x3d
je 0x490f17
inc eax
inc eax
mov cx, word [eax]
cmp cx, di
jne 0x490f05
jmp 0x490f20
mov word [eax], di
add eax, 2
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x60]
mov edi, dword [ebp + 0x7c]
push esi
mov dword [ebp + 0x5c], eax
xor bl, bl
call fcn.00410df6
cmp word [esi], 0x3a
pop ecx
jne 0x490f51
cmp word [esi + 2], 0x3a
jne 0x490f51
mov edi, dword [0x4db108]
inc bl
add esi, 4
mov dword [ebp + 0x5c], 0x4db0e0
mov eax, dword [ebp + 0x60]
and dword [ebp + 0x14], 0
cmp byte [eax + 0x92], 0
jne 0x490f7a
test byte [eax + 9], 0xf
jne 0x490f7a
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x14]
push eax
push esi
call fcn.00455d03
jmp 0x490f8b
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x14]
push eax
push esi
call fcn.004549e1
mov esi, dword [ebp + 0x14]
lea ecx, [ebp + 0x18]
call fcn.00444a10
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x48]
call fcn.00455dfb
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x68], eax
cmp word [esi], 0x40
jne 0x491252
push str._DeskTopFresh
push esi
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
jne 0x4911a9
mov esi, dword [ebp + 0x68]
push 9
push esi
push str.clearicon
mov dword [ebp + 0x7c], 0xfff80000
mov dword [ebp + 0x74], esi
call fcn.0043f884
add esp, 0xc
test al, al
je 0x491059
mov ax, word [esi + 0x12]
or ax, 0x20
cmp ax, 0x61
jb 0x491002
cmp ax, 0x7a
jbe 0x491059
lea ecx, [ebp + 0x78]
call fcn.00444a10
push 0x23
pop ecx
mov esi, str._userprofile_AppDataLocalMicrosoftWindowsExplorer_thumbcache.db
lea edi, [ebp - 0xd4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp - 0xd4]
push eax
movsw word es:[edi], word [esi]
call fcn.004549e1
mov ecx, dword [ebp + 0x60]
push 1
push dword [ebp + 0x78]
call fcn.004294c8
add dword [ebp + 0x74], 0x12
mov eax, dword [ebp + 0x74]
cmp word [eax], 0
je 0x491051
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x78]
call fcn.0043e48d
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004515da
test byte [ebp + 0x7c], 0x40
mov esi, dword [sym.imp.user32.dll_SendMessageW]
pop ecx
pop ecx
mov ebx, 0xffff
je 0x491084
xor edi, edi
push edi
push edi
push 0x1a
push ebx
call esi
jmp 0x491086
xor edi, edi
test byte [ebp + 0x7c], 0x20
je 0x491093
push edi
push edi
push 0x1a
push ebx
call esi
test byte [ebp + 0x7c], 0x10
mov ebx, dword [sym.imp.shell32.dll_SHChangeNotify]
je 0x491149
lea ecx, [ebp + 0x78]
call fcn.00444a10
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
cmp ax, 0x3a
mov esi, 0x2000
jne 0x4910d1
add dword [ebp + 0x74], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004059c1
pop ecx
pop ecx
jmp 0x4910fb
cmp ax, di
je 0x4910da
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
cmp ax, 0x2d
jne 0x4910ef
add dword [ebp + 0x74], 2
push 4
pop esi
jmp 0x4910fb
cmp ax, 0x2b
jne 0x4910fb
push 2
pop esi
add dword [ebp + 0x74], esi
mov ecx, dword [ebp + 0x60]
push edi
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004395a0
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x74], eax
cmp word [eax], di
jne 0x491135
push 1
lea eax, [ebp - 0x318]
push 0x10
push eax
push edi
mov word [ebp - 0x318], di
mov dword [ebp + 0x74], eax
call dword [sym.imp.shell32.dll_SHGetSpecialFolderPathW]
push edi
push dword [ebp + 0x74]
push 0x1005
push esi
call ebx
lea ecx, [ebp + 0x78]
call fcn.0043e48d
test byte [ebp + 0x7c], 8
je 0x49115d
push edi
push edi
push 0x1000
push 0x8000000
call ebx
test byte [ebp + 0x7c], 4
je 0x491168
call fcn.00403a8c
test byte [ebp + 0x7c], 2
je 0x49118c
push edi
push 0x4db264
push str.USER32.DLL
push str.UpdatePerUserSystemParameters
call fcn.0043f92c
add esp, 0x10
call dword [0x4db264]
cmp dword [ebp + 0x7c], edi
jl 0x4911a2
test byte [ebp + 0x7c], 1
jne 0x49119d
test byte [ebp + 0x7c], 0x7e
jne 0x4911a2
call fcn.004986b7
xor esi, esi
jmp 0x49207d
push str._TaskIcoMenu
push esi
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
jne 0x491252
push dword [ebp + 0x68]
push 0x4c4b74
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491212
push dword [ebp + 0x68]
push 0x4c91b4
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x4911ff
push dword [ebp + 0x68]
push 0x4c3710
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x4911a2
cmp byte [0x4daf8c], 0
je 0x491212
mov ecx, 0x4db8f0
mov byte [0x4daf8c], 0
call fcn.0043ed55
jmp 0x4911a2
cmp byte [0x4de003], 0
je 0x49122a
push dword [0x4daf9c]
mov byte [0x4daf8c], 1
jmp 0x49124b
mov eax, dword [0x4db108]
test eax, eax
je 0x4911a2
cmp dword [eax + 0x18], 0
je 0x4911a2
mov byte [0x4daf8c], 1
push dword [eax + 0x18]
call fcn.0041230b
jmp 0x49126b
mov ax, word [esi]
test ax, ax
jne 0x491271
neg bl
sbb ebx, ebx
and ebx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x5c]
call fcn.0041292d
pop ecx
pop ecx
jmp 0x4911a2
cmp ax, 0x40
je 0x491296
neg bl
sbb ebx, ebx
and ebx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x5c]
call fcn.0041292d
mov eax, dword [ebp + 0x5c]
cmp dword [eax + 0x28], 0
pop ecx
pop ecx
je 0x4911a2
test edi, edi
je 0x4912a2
mov edi, dword [edi + 0xb8]
jmp 0x4912a7
mov edi, 0x4bfa2c
push edi
lea ecx, [ebp + 0x10]
call fcn.0044df7a
xor eax, eax
mov ax, word [esi]
mov edx, esi
mov ecx, esi
xor edi, edi
jmp 0x4912cb
cmp ax, 0x3a
jne 0x4912c6
lea edx, [ecx + 2]
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, di
jne 0x4912bd
push edx
lea ecx, [ebp + 0x24]
call fcn.0044df7a
xor ecx, ecx
mov cx, word [esi]
xor edx, edx
cmp cx, di
mov eax, esi
mov dword [ebp + 0x74], eax
je 0x491308
cmp cx, 0x2e
jne 0x4912f2
mov edx, eax
inc eax
inc eax
mov cx, word [eax]
cmp cx, di
jne 0x4912ea
cmp edx, edi
mov dword [ebp + 0x74], eax
je 0x491308
mov eax, edx
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2e
mov dword [ebp + 0x58], edi
jne 0x49131c
mov word [eax], di
inc eax
inc eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x74]
push eax
call fcn.0043e425
cmp dword [ebp + 0x58], edi
pop ecx
je 0x491341
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405a01
mov eax, dword [ebp + 0x74]
pop ecx
mov word [eax], di
mov ebx, dword [ebp + 0x78]
test ebx, ebx
mov byte [ebp + 0x57], 0
mov byte [ebp + 0x74], 0
je 0x4913ea
cmp word [ebx], 0
mov ecx, ebx
je 0x4913ea
push 0x7e
pop edi
xor edx, edx
mov dx, word [ecx]
mov eax, edx
call fcn.00402d55
test al, al
jne 0x4913ea
cmp dx, 0x2e
je 0x4913d9
cmp dx, 0x24
je 0x4913d9
cmp dx, 0x25
je 0x4913d9
cmp dx, 0x2a
jne 0x491391
or byte [ebp + 0x74], 4
jmp 0x4913de
cmp dx, di
jne 0x4913de
lea eax, [ecx + 2]
cmp word [eax], di
jne 0x4913a6
or byte [ebp + 0x74], 2
mov ecx, eax
jmp 0x4913de
cmp dx, di
jne 0x4913de
lea eax, [ecx + 2]
cmp word [eax], 0x2e
jne 0x4913ba
or byte [ebp + 0x74], 8
jmp 0x4913a2
cmp dx, di
jne 0x4913de
lea eax, [ecx + 2]
cmp word [eax], 0x2a
jne 0x4913ce
or byte [ebp + 0x74], 0xa
jmp 0x4913a2
cmp dx, di
jne 0x4913de
or byte [ebp + 0x74], 1
jmp 0x4913de
mov al, byte [ecx]
mov byte [ebp + 0x57], al
inc ecx
inc ecx
cmp word [ecx], 0
jne 0x491363
and dword [ebp + 4], 0
and dword [ebp + 8], 0
cmp byte [ebp + 0x74], 0
je 0x49140a
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
lea eax, [ebp + 0x18]
push eax
call fcn.0045be04
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0xc]
call fcn.00444a10
cmp byte [ebp + 0x57], 0
je 0x491433
cmp byte [ebp + 0x57], 0x2e
je 0x491433
lea eax, [ebp + 4]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0045b4b3
add esp, 0x10
and dword [ebp + 0x38], 0
push esi
lea ecx, [ebp + 8]
call fcn.0044df7a
cmp dword [ebp + 0x58], 0
mov edi, dword [ebp + 8]
mov dword [ebp + 0x3c], edi
jne 0x491453
mov dword [ebp + 0x58], 0x4bfa2c
push 0x40
pop ebx
cmp word [esi], bx
je 0x492099
and dword [ebp + 0x2c], 0
mov eax, 0x4dbd30
push eax
mov dword [ebp + 0x64], eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov ebx, dword [ebp + 0x5c]
mov byte [ebp + 0x7b], 1
mov byte [ebp + 0x77], 0
mov byte [ebp + 0x7f], 0
mov dword [ebp + 0x4c], ebx
cmp byte [ebp + 0x77], 0
je 0x49148e
mov byte [ebp + 0x7f], 1
push 0x3a
lea eax, [ebp + 0x50]
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x50], edi
call fcn.004a3a6c
mov eax, dword [ebp + 0x50]
cmp word [eax], 0x3a
pop ecx
mov byte [ebp + 0x77], 0
jne 0x4914c0
and word [eax], 0
lea edi, [eax + 2]
cmp word [edi], 0
mov dword [ebp + 0x3c], edi
je 0x4914c0
mov byte [ebp + 0x77], 1
cmp byte [ebp + 0x7b], 0
je 0x4914e7
push dword [ebp + 0x5c]
push str.this
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x4914e3
mov eax, dword [ebp + 0x10]
mov byte [ebp + 0x7f], 1
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x7b], 0
push dword [ebp + 0x5c]
mov esi, dword [ebx + 0x28]
push 0x4c0f5c
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x49154b
mov ebx, dword [ebx + 0x24]
mov esi, dword [ebx + 0x28]
test esi, esi
mov dword [ebp + 0x4c], ebx
je 0x491512
lea eax, [esi + 0xb8]
jmp 0x491526
or dword [ebp + 0x44], 1
push 0x4bfa2c
lea ecx, [ebp + 0x20]
call fcn.0044df7a
lea eax, [ebp + 0x20]
test byte [ebp + 0x44], 1
mov eax, dword [eax]
mov dword [ebp + 0x5c], eax
je 0x49153d
and dword [ebp + 0x44], 0xfffffffe
lea ecx, [ebp + 0x20]
call fcn.0043e48d
cmp byte [ebp + 0x77], 0
mov byte [ebp + 0x7f], 1
jne 0x49148a
test esi, esi
je 0x49163e
cmp esi, dword [ebp + 0x2c]
je 0x49163e
cmp byte [ebp + 0x77], 0
jne 0x49157a
push dword [ebp + 0x5c]
mov eax, dword [esi + 0xb8]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
je 0x49168c
xor edi, edi
cmp dword [esi + 0xc0], edi
mov dword [ebp + 0x40], edi
jle 0x4915c2
mov eax, dword [esi + 0xbc]
mov ebx, dword [edi + eax + 4]
test ebx, ebx
je 0x4915b1
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x4915b1
push dword [ebp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
je 0x49168a
inc dword [ebp + 0x40]
mov eax, dword [ebp + 0x40]
add edi, 0x10
cmp eax, dword [esi + 0xc0]
jl 0x491587
mov eax, dword [esi + 0x104]
xor ebx, ebx
cmp dword [eax], ebx
mov dword [ebp + 0x40], ebx
jle 0x491619
mov eax, dword [esi + 0x100]
mov eax, dword [eax]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x49160b
mov eax, dword [edi + 8]
test eax, eax
je 0x49160b
push dword [ebp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
jne 0x49160b
cmp byte [ebp + 0x77], al
je 0x4917e2
mov eax, dword [edi + 4]
cmp eax, 0xf
je 0x491676
cmp eax, 0x16
je 0x491676
mov eax, dword [esi + 0x104]
inc ebx
cmp ebx, dword [eax]
mov dword [ebp + 0x40], ebx
jl 0x4915d1
cmp byte [ebp + 0x77], 0
jne 0x492049
push dword [ebp + 0x5c]
lea eax, [esi + 0x1a4]
push eax
call fcn.0049980d
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x4918b2
cmp byte [ebp + 0x7f], 0
jne 0x492049
cmp byte [ebp + 0x33], 0
jne 0x492049
mov eax, dword [ebp + 0x4c]
mov ebx, dword [eax + 0x24]
mov dword [ebp + 0x2c], esi
xor esi, esi
cmp ebx, esi
mov dword [ebp + 0x4c], ebx
je 0x491abf
cmp ebx, 0x4db0e0
je 0x491abf
jmp 0x491682
mov eax, dword [edi + 0x1c]
mov ebx, dword [eax + 0x194]
mov dword [ebp + 0x4c], ebx
mov edi, dword [ebp + 0x3c]
jmp 0x491484
mov esi, ebx
mov edi, dword [ebp + 0x58]
push edi
push str.MouseCapture
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x49180b
push edi
push str.POSTMSG
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x4916d5
mov ecx, dword [esi + 0x130]
xor edi, edi
push edi
push edi
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x48]
call fcn.004a198e
cmp dword [ebp + 0x64], edi
mov esi, eax
jmp 0x491ac2
push edi
push str.SENDMSG
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491703
mov ecx, dword [esi + 0x130]
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x48]
call fcn.004a198e
jmp 0x491fed
push edi
push 0x4cb870
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491783
mov eax, dword [esi + 0x130]
mov ebx, dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x18]
xor edi, edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x64]
cmp eax, edi
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x1c], edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], 1
mov dword [ebp], edi
je 0x49175b
push eax
mov dword [ebp + 0x64], edi
call ebx
lea eax, [ebp - 0x20]
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 0x49205d
push dword [ebp + 0x64]
call ebx
jmp 0x49205d
push edi
push 0x4cb86c
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491c71
push edi
push 0x4cb868
call fcn.0043f8c3
test al, al
mov ebx, dword [esi + 0x18]
pop ecx
pop ecx
je 0x4917b5
and dword [ebp + 0x40], 0
jmp 0x491afa
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x4917c7
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
push 0
push esi
push dword [ebp + 0x24]
push edi
push dword [ebp + 0x68]
push ebx
push dword [ebp + 0x60]
call fcn.00438f09
add esp, 0x1c
jmp 0x491abd
push dword [ebp + 0x58]
mov dword [ebp + 0x38], edi
push str.MouseCapture
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491ad6
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
je 0x491ad6
mov esi, edi
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
sete bl
test bl, bl
je 0x49181d
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
test bl, bl
pop ecx
pop ecx
je 0x491aa4
cmp dword [ebp + 0x74], 0
jle 0x491a99
mov ebx, dword [esi + 0x18]
mov esi, dword [esi + 0x130]
mov edi, 0x4dbd30
push edi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
test esi, esi
je 0x491a90
test ebx, ebx
je 0x491a90
xor edi, edi
call fcn.00441520
push edi
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push edi
push dword [0x4daf98]
push 0x4414b2
push 7
call dword [sym.imp.user32.dll_SetWindowsHookExW]
mov dword [0x4db418], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [0x4db418], edi
je 0x4918a8
mov dword [0x4db420], esi
mov dword [0x4db41c], ebx
push 0x4dbd30
jmp 0x491a91
mov edi, dword [ebp + 0x58]
cmp word [edi], 0
jne 0x4918e4
push dword [ebp + 0x68]
lea ecx, [ebx + 4]
call fcn.0044e03e
mov ebx, dword [ebx + 0xc]
cmp word [ebx], 0
je 0x491abd
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x60]
push ebx
call fcn.0044414b
jmp 0x491abd
push edi
push str.Enable
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x49199f
mov eax, dword [ebp + 0x68]
movzx eax, word [eax]
xor edi, edi
push eax
mov dword [ebp + 0x74], edi
call fcn.004aadc6
add esp, 4
test al, al
jne 0x491919
cmp dword [ebp + 0x64], edi
jmp 0x49204d
push dword [esi + 0x18]
call dword [sym.imp.user32.dll_GetMenu]
mov esi, eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
cmp esi, edi
pop ecx
pop ecx
je 0x491956
mov eax, dword [ebp + 0x74]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 3
or eax, 0x400
push eax
push dword [ebx + 0x14]
push dword [ebx + 0x10]
call dword [sym.imp.user32.dll_EnableMenuItem]
cmp dword [ebp + 0x74], edi
je 0x491960
and byte [ebx], 0xfe
jmp 0x491963
or byte [ebx], 1
lea eax, [ebx + 0xc]
push eax
lea ecx, [ebp + 0x74]
call fcn.0044dfcb
push str..Enable
lea ecx, [ebp + 0x74]
call fcn.00444a7c
test byte [ebx], 1
mov eax, 0x4c37c0
jne 0x49198b
mov eax, 0x4c4268
mov ecx, dword [ebp + 0x60]
push eax
push dword [ebp + 0x74]
call fcn.0045675d
lea ecx, [ebp + 0x74]
jmp 0x491c4e
push edi
push 0x4cb864
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491abd
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x4919c1
add dword [ebp + 0x68], 2
lea ecx, [ebp + 0x78]
call fcn.00444a10
lea ecx, [ebp + 0x7c]
call fcn.00444a10
lea ecx, [ebp + 0x74]
call fcn.00444a10
mov edi, dword [ebp + 0x60]
push 0x2c
pop esi
push esi
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
push esi
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
push esi
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
push dword [ebx + 0x10]
mov esi, dword [sym.imp.user32.dll_wsprintfW]
lea eax, [ebp - 0x10c]
push str.0x_p
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x78]
mov ecx, edi
call fcn.0044414b
movzx eax, word [ebx + 2]
push eax
mov edi, 0x4bfb04
lea eax, [ebp - 0x10c]
push edi
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x7c]
call fcn.0044414b
push dword [ebx + 0x14]
lea eax, [ebp - 0x10c]
push edi
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x74]
call fcn.0044414b
jmp 0x491c3b
push edi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x491abd
jne 0x491abd
xor edi, edi
call fcn.00441520
jmp 0x491abd
cmp dword [ebp + 0x74], 0
jle 0x491ab5
push dword [esi + 0x18]
call dword [sym.imp.user32.dll_SetCapture]
jmp 0x491abd
jne 0x491abd
call dword [sym.imp.user32.dll_ReleaseCapture]
xor esi, esi
cmp dword [ebp + 0x64], esi
je 0x49205d
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x49205d
push dword [ebp + 0x58]
push 0x4cb868
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491c58
mov eax, dword [edi + 0x1c]
mov ebx, dword [eax + 0x18]
add dword [ebp + 0x40], 0x1000
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
je 0x491b7d
cmp dword [ebp + 0x64], 0
je 0x491b1c
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
or dword [ebp + 0x74], 0xffffffff
or dword [ebp + 0x7c], 0xffffffff
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
mov eax, dword [ebp + 0x68]
xor bl, bl
cmp word [eax], 0x2a
pop ecx
jne 0x491b40
mov bl, byte [eax]
inc eax
inc eax
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
test eax, eax
pop ecx
pop ecx
jle 0x492319
test bl, bl
je 0x4922e7
cmp dword [ebp + 0x74], 0
jl 0x492319
xor eax, eax
cmp dword [ebp + 0x74], eax
setne al
push eax
call dword [sym.imp.user32.dll_ShowCursor]
jmp 0x492319
lea ecx, [ebp + 0x78]
call fcn.00444a10
lea ecx, [ebp + 0x7c]
call fcn.00444a10
push 2
pop edi
add dword [ebp + 0x68], edi
push 0x2c
pop esi
push esi
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004478ae
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x491bc8
add dword [ebp + 0x68], edi
push esi
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004478ae
add esp, 0x10
push dword [ebp + 0x78]
push ebx
push dword [ebp + 0x60]
call fcn.0041046b
push 0x4bfb04
push dword [ebp + 0x7c]
push dword [ebp + 0x40]
push dword [ebp + 0x60]
call fcn.0044705c
mov eax, dword [ebp + 0x68]
add esp, 0x1c
cmp word [eax], 0
je 0x491c43
cmp dword [ebp + 0x40], 0x1000
jl 0x491c43
mov ebx, dword [ebp + 0x38]
test ebx, ebx
je 0x491c43
cmp word [ebx + 4], di
je 0x491c0f
cmp dword [ebx + 4], 0xd
jne 0x491c43
lea ecx, [ebp + 0x74]
call fcn.00444a10
add dword [ebp + 0x68], edi
push esi
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004478ae
push dword [ebp + 0x74]
push dword [ebx + 0x40]
push dword [ebp + 0x60]
call fcn.0041046b
add esp, 0x1c
lea ecx, [ebp + 0x74]
call fcn.0043e48d
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
lea ecx, [ebp + 0x78]
call fcn.0043e48d
jmp 0x491abd
push dword [ebp + 0x58]
push 0x4cb86c
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491de1
mov esi, edi
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
jne 0x491b0d
lea eax, [ebp + 0x34]
push eax
call dword [sym.imp.user32.dll_GetCursorPos]
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x28]
push eax
push dword [esi + 0x18]
call dword [sym.imp.user32.dll_ScreenToClient]
lea ecx, [ebp + 0x4c]
call fcn.00444a10
lea ecx, [ebp + 0x3c]
call fcn.00444a10
lea ecx, [ebp + 0x78]
call fcn.00444a10
lea ecx, [ebp + 0x7c]
call fcn.00444a10
lea ecx, [ebp + 0x74]
call fcn.00444a10
add dword [ebp + 0x68], 2
push 0x2c
pop esi
push esi
push 0x3b
pop ebx
push ebx
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439759
push esi
push ebx
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439759
push esi
push ebx
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439759
push esi
push ebx
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439759
add esp, 0x40
push esi
push ebx
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439759
push dword [ebp + 0x4c]
mov edi, dword [ebp + 0x60]
push dword [ebp + 0x34]
push edi
call fcn.004470b2
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push edi
call fcn.004470b2
push dword [ebp + 0x78]
push dword [ebp + 0x28]
push edi
call fcn.004470b2
push dword [ebp + 0x7c]
push dword [ebp + 0x2c]
push edi
call fcn.004470b2
mov eax, dword [ebp + 0x74]
add esp, 0x40
cmp word [eax], 0
je 0x491db9
mov esi, dword [sym.imp.user32.dll_GetAsyncKeyState]
push 1
call esi
xor ebx, ebx
mov bx, ax
push 0x10
shr ebx, 0xf
and ebx, 1
call esi
neg ax
push 0x11
sbb eax, eax
and eax, 4
or ebx, eax
call esi
neg ax
push 2
sbb eax, eax
and eax, 8
or ebx, eax
call esi
push dword [ebp + 0x74]
neg ax
sbb eax, eax
and eax, 0x10
or ebx, eax
movzx eax, bx
push eax
push edi
call fcn.004470b2
add esp, 0xc
lea ecx, [ebp + 0x74]
call fcn.0043e48d
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
lea ecx, [ebp + 0x78]
call fcn.0043e48d
lea ecx, [ebp + 0x3c]
call fcn.0043e48d
lea ecx, [ebp + 0x4c]
jmp 0x491c4e
mov ecx, dword [edi + 4]
push 3
pop ebx
cmp ecx, ebx
je 0x491df0
cmp ecx, 1
jne 0x491e23
mov eax, dword [ebp + 0x58]
cmp word [eax], 0
jne 0x491e23
cmp byte [ebp + 0x57], 0
jne 0x491e23
cmp ecx, ebx
mov eax, 0x1000000
jne 0x491e0d
test dword [edi + 0x40], eax
jne 0x491e17
cmp ecx, 1
jne 0x491e23
test dword [edi + 0x60], eax
je 0x491e23
push 0
push dword [ebp + 0x68]
call fcn.0041478e
pop ecx
pop ecx
push dword [ebp + 0x58]
push str.POSTMSG
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491e55
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.004a198e
cmp dword [ebp + 0x64], ebx
mov esi, eax
jmp 0x491ac2
push dword [ebp + 0x58]
push str.SENDMSG
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491e7c
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
jmp 0x4916f6
push dword [ebp + 0x58]
push 0x4cb870
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x491f08
mov eax, dword [edi + 0x1c]
xor ecx, ecx
cmp eax, ecx
jne 0x491ea0
cmp dword [ebp + 0x64], ecx
jmp 0x49204d
mov edx, dword [ebp + 0x48]
add edi, 0x34
mov dword [ebp - 0x38], edx
mov edx, dword [ebp + 0x60]
mov dword [ebp - 0x3c], edi
mov edi, dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x64]
cmp eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x24], ecx
je 0x491edf
and dword [ebp + 0x64], 0
push eax
call edi
lea eax, [ebp - 0x44]
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 0x49205d
push dword [ebp + 0x64]
call edi
jmp 0x49205d
mov esi, dword [ebp + 0x58]
push esi
push str.bkcolor
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ffe
push esi
push str.Cursor
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ffe
push esi
push 0x4cb108
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ffe
push esi
push str.font
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ffe
push esi
push str.trans
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ffe
push esi
push str.style
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ffe
push esi
push 0x4cb0ec
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ffe
push esi
push 0x4c0ccc
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ff8
push esi
push str.cmd_
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x491ff8
cmp dword [edi + 4], 9
jne 0x491fd8
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x24]
mov ecx, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x48]
push dword [ebp + 0x60]
call fcn.0046e928
jmp 0x491fed
mov eax, dword [edi]
lea ecx, [ebp + 0x64]
push ecx
push dword [ebp + 0x24]
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 0x491ac2
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x68], eax
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x492049
mov eax, dword [ebp + 0x64]
test eax, eax
mov ebx, dword [esi + 0x18]
je 0x49201a
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
push edi
push esi
push dword [ebp + 0x24]
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push ebx
push dword [ebp + 0x60]
call fcn.00438f09
add esp, 0x1c
cmp dword [ebp + 0x64], 0
je 0x492319
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x492319
cmp dword [ebp + 0x64], 0
je 0x492058
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov esi, 0x80070057
lea ecx, [ebp + 8]
call fcn.0043e48d
lea ecx, [ebp + 0xc]
call fcn.0043e48d
lea ecx, [ebp + 0x24]
call fcn.0043e48d
lea ecx, [ebp + 0x10]
call fcn.0043e48d
lea ecx, [ebp + 0x18]
call fcn.0043e48d
lea ecx, [ebp + 0x14]
call fcn.0043e48d
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc
push esi
push str._Cur
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x492320
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x491b1c
lea ecx, [ebp + 0x50]
call fcn.00444a10
lea ecx, [ebp + 0x58]
call fcn.00444a10
lea ecx, [ebp + 0x48]
call fcn.00444a10
lea ecx, [ebp + 0x5c]
call fcn.00444a10
lea ecx, [ebp + 0x3c]
call fcn.00444a10
lea ecx, [ebp + 0x4c]
call fcn.00444a10
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
xor ebx, ebx
cmp word [eax], 0x40
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x2c], ebx
jne 0x492113
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004059e1
pop ecx
pop ecx
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.004148c8
test al, al
push 0x2c
pop esi
je 0x492156
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x74], ebx
call fcn.004059c1
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004059c1
mov eax, dword [ebp + 0x74]
mov edi, dword [ebp + 0x60]
add esp, 0x10
mov dword [ebp + 0x38], eax
jmp 0x492187
mov edi, dword [ebp + 0x60]
push esi
push 0x3b
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
push esi
push 0x3b
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
lea eax, [ebp + 0x34]
push eax
call dword [sym.imp.user32.dll_GetCursorPos]
push esi
push 0x3b
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
push esi
push 0x3b
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
push esi
push 0x3b
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
push esi
push 0x3b
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
cmp dword [ebp + 0x28], ebx
je 0x4921e1
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x28]
call dword [sym.imp.user32.dll_ScreenToClient]
mov eax, dword [ebp + 0x4c]
xor esi, esi
cmp word [eax], bx
je 0x492223
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
je 0x492223
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.0041503d
cmp eax, ebx
je 0x492223
mov eax, dword [eax]
cmp eax, ebx
je 0x49220d
mov ecx, dword [eax - 8]
jmp 0x49220f
xor ecx, ecx
cmp ecx, 0x10
jb 0x492223
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push eax
call dword [sym.imp.user32.dll_PtInRect]
mov esi, eax
push dword [ebp + 0x4c]
push esi
push edi
call fcn.004470b2
push ebx
lea eax, [ebp + 0x48]
push eax
push 8
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x48]
push edi
call fcn.00451899
push dword [ebp + 0x50]
push dword [ebp + 0x34]
push edi
call fcn.004470b2
push dword [ebp + 0x58]
push dword [ebp + 0x38]
push edi
call fcn.004470b2
mov eax, dword [ebp + 0x5c]
add esp, 0x3c
cmp word [eax], bx
je 0x4922b7
mov esi, dword [sym.imp.user32.dll_GetAsyncKeyState]
push 1
call esi
xor ebx, ebx
mov bx, ax
push 0x10
shr ebx, 0xf
and ebx, 1
call esi
neg ax
push 0x11
sbb eax, eax
and eax, 4
or ebx, eax
call esi
neg ax
push 2
sbb eax, eax
and eax, 8
or ebx, eax
call esi
push dword [ebp + 0x5c]
neg ax
sbb eax, eax
and eax, 0x10
or ebx, eax
movzx eax, bx
push eax
push dword [ebp + 0x60]
call fcn.004470b2
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp + 0x4c]
call fcn.0043e48d
lea ecx, [ebp + 0x3c]
call fcn.0043e48d
lea ecx, [ebp + 0x5c]
call fcn.0043e48d
lea ecx, [ebp + 0x48]
call fcn.0043e48d
lea ecx, [ebp + 0x58]
call fcn.0043e48d
lea ecx, [ebp + 0x50]
jmp 0x4929ff
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.004445cb
test al, al
je 0x492319
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
test eax, eax
pop ecx
pop ecx
jle 0x492319
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.user32.dll_SetCursorPos]
xor esi, esi
jmp 0x49205d
push esi
push str._EATEKEYS
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x49234c
push dword [ebp + 0x60]
push dword [ebp + 0x68]
call fcn.0049d347
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x49205d
push esi
push str._POSTMSG
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x492461
mov byte [ebp + 0x3c], 0
xor edi, edi
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x7c], edi
mov dword [ebp + 0x74], edi
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x44], edi
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x38], edi
mov dword [ebp + 0x2c], 0xa
call fcn.00444a10
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3a
push 2
pop ebx
jne 0x4923fe
add eax, ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
mov eax, dword [ebp + 0x68]
pop ecx
mov cx, word [eax]
cmp cx, di
mov edx, eax
je 0x4923d4
push 0x2c
pop esi
cmp cx, si
je 0x4923d4
cmp cx, 0x3b
je 0x4923d4
cmp cx, 0x3a
je 0x4923d4
add eax, ebx
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, di
jne 0x4923b6
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x78]
call fcn.00444b34
mov eax, dword [ebp + 0x68]
cmp word [eax], di
je 0x4923ed
add dword [ebp + 0x68], ebx
mov ecx, dword [ebp + 0x60]
push 1
lea eax, [ebp + 0x78]
push eax
call fcn.00402ee8
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
jne 0x49295d
add eax, ebx
mov dword [ebp + 0x68], eax
cmp word [eax], 0x3f
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x7c], edi
jne 0x49244d
add eax, ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
pop ecx
jne 0x49244d
add eax, ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
mov eax, dword [ebp + 0x68]
pop ecx
pop ecx
cmp word [eax], 0x2a
jne 0x4928d0
add eax, ebx
mov dword [ebp + 0x50], eax
jmp 0x4928fb
push esi
push str._SENDMSG
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x49247b
mov byte [ebp + 0x3c], 1
jmp 0x492365
push esi
push str._percent
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x4924b9
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x68]
xor esi, esi
push eax
mov dword [ebp + 0x34], esi
mov dword [ebp + 0x38], esi
call fcn.004059e1
push dword [ebp + 0x68]
push dword [ebp + 0x34]
push 0x4db0e0
call fcn.00439f5b
add esp, 0x14
jmp 0x49205d
push esi
push str._POS
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x49257f
mov ecx, dword [ebp + 0x68]
xor eax, eax
xor esi, esi
cmp word [ecx], 0x3f
sete al
mov edi, eax
test di, di
je 0x4924e7
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
jne 0x4924f5
add dword [ebp + 0x68], 2
mov esi, ebx
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
cmp dword [ebp + 0x74], 0
pop ecx
pop ecx
jle 0x492058
mov edx, dword [ebp + 0x68]
xor ecx, ecx
mov cx, word [edx]
mov eax, ecx
call fcn.004445cb
test al, al
je 0x49252f
cmp cx, bx
je 0x49252f
inc edx
inc edx
mov dword [ebp + 0x68], edx
test si, si
je 0x492541
cmp word [edx], bx
je 0x492541
dec edx
dec edx
mov dword [ebp + 0x68], edx
mov word [edx], bx
test di, di
je 0x492552
sub dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov word [eax], 0x3f
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x492564
mov eax, dword [eax + 0x1a0]
jmp 0x492566
xor eax, eax
push eax
xor esi, esi
push esi
push ecx
push ecx
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.00490190
add esp, 0x18
jmp 0x49205d
push esi
push str._RMENU
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x492642
lea ecx, [ebp + 0x50]
call fcn.00444a10
xor ebx, ebx
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x38], ebx
call fcn.00444a10
push 0x3a
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004478ae
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], bx
je 0x4925c9
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
push dword [ebp + 0x68]
call fcn.004130a1
pop ecx
pop ecx
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x68], eax
call fcn.00444a10
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x74], ebx
call fcn.00498498
mov eax, dword [ebp + 0x74]
add esp, 0xc
cmp eax, ebx
je 0x492624
cmp word [eax], bx
je 0x492624
mov word [eax - 2], bx
push ebx
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x38]
push eax
push dword [ebp + 0x74]
push dword [ebp + 0x7c]
call fcn.00406abb
add esp, 0x14
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.0044414b
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
lea ecx, [ebp + 0x78]
jmp 0x4922da
push esi
push str._IsWindow
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x4926e6
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x492670
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x492695
cmp ax, 0x3a
jne 0x492699
add dword [ebp + 0x68], 2
cmp si, 0x3f
jne 0x492058
lea ecx, [ebp + 0x7c]
call fcn.00444a10
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004478ae
add esp, 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.user32.dll_IsWindow]
push eax
push dword [ebp + 0x60]
call fcn.00447086
add esp, 0xc
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
xor ebx, ebx
jmp 0x492319
push esi
push str._Enable
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x4927c0
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x492714
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x492739
cmp ax, 0x3a
jne 0x49273d
add dword [ebp + 0x68], 2
xor ebx, ebx
cmp dword [ebp + 0x74], ebx
jle 0x492058
cmp si, 0x3f
jne 0x49278a
lea ecx, [ebp + 0x7c]
call fcn.00444a10
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004478ae
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.00447086
add esp, 0xc
lea ecx, [ebp + 0x7c]
jmp 0x4929ff
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x7c], 0xfffffc18
call fcn.004515da
cmp dword [ebp + 0x7c], ebx
pop ecx
pop ecx
jl 0x492319
xor eax, eax
cmp dword [ebp + 0x7c], ebx
setne al
push eax
push dword [ebp + 0x74]
call dword [sym.imp.user32.dll_EnableWindow]
jmp 0x492319
lea eax, [esi + 2]
call fcn.00445019
test al, al
je 0x492830
lea eax, [ebp + 0x68]
push eax
call fcn.0043e425
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x4927e5
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x49280a
cmp ax, 0x3a
jne 0x49280e
add dword [ebp + 0x68], 2
xor ebx, ebx
cmp dword [ebp + 0x74], ebx
jle 0x492058
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
call fcn.00458dde
add esp, 0x10
jmp 0x492319
push esi
push str._style
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x492871
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004059c1
xor esi, esi
cmp dword [ebp + 0x74], esi
pop ecx
pop ecx
jle 0x492058
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.00458f6c
pop ecx
pop ecx
jmp 0x49205d
push esi
push str._wait
call fcn.0043f8c3
movzx eax, al
xor ebx, ebx
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x38], eax
jne 0x49289f
push esi
push str._setevent
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
je 0x492319
mov eax, dword [ebp + 0x68]
push 7
push eax
push str._event_
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x78], ebx
call fcn.0043f884
add esp, 0xc
test al, al
je 0x492a8e
add dword [ebp + 0x68], 0xe
mov dword [ebp + 0x5c], 0xfffffffc
jmp 0x492af2
mov dword [ebp + 0x7c], eax
jmp 0x4928fe
cmp cx, 0x2a
jne 0x4928ed
cmp dword [ebp + 0x7c], edi
jne 0x4928ed
mov word [eax], di
mov eax, dword [ebp + 0x68]
add eax, ebx
mov dword [ebp + 0x7c], eax
jmp 0x4928fb
cmp cx, 0x3b
je 0x492908
cmp cx, 0x3a
je 0x492908
add eax, ebx
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, di
jne 0x4928d5
jmp 0x492915
mov word [eax], di
add dword [ebp + 0x68], ebx
mov dword [ebp + 0x20], 1
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
call ebx
push dword [ebp + 0x7c]
mov esi, dword [sym.imp.user32.dll_FindWindowW]
push dword [ebp + 0x50]
mov dword [ebp + 0x48], eax
call esi
mov edi, eax
test edi, edi
jne 0x492973
call ebx
sub eax, dword [ebp + 0x48]
cmp eax, dword [ebp + 0x38]
jae 0x49296f
mov ecx, dword [ebp + 0x60]
push 0
push 0
push dword [ebp + 0x2c]
call fcn.00415f6a
push dword [ebp + 0x7c]
push dword [ebp + 0x50]
call esi
mov edi, eax
test edi, edi
je 0x492934
jmp 0x49296f
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
mov edi, dword [ebp + 0x7c]
pop ecx
pop ecx
test edi, edi
je 0x4929ef
xor ebx, ebx
cmp dword [ebp + 0x20], ebx
jne 0x492990
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
je 0x49298c
cmp ax, 0x3a
jne 0x4929ce
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
xor esi, esi
cmp ax, 0x3b
je 0x4929fc
cmp ax, 0x3a
je 0x4929fc
cmp ax, bx
je 0x4929fc
cmp ax, 0x23
jne 0x4929b8
add dword [ebp + 0x68], 2
mov esi, 0x5000
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004515da
test eax, eax
pop ecx
pop ecx
jle 0x4929ce
add dword [ebp + 0x74], esi
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x3c]
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x60]
call fcn.0045b213
add esp, 0x18
test eax, eax
je 0x492a09
lea ecx, [ebp + 0x78]
call fcn.0043e48d
jmp 0x492058
lea ecx, [ebp + 0x78]
call fcn.0043e48d
jmp 0x492319
cmp byte [ebp + 0x3c], 0
mov dword [ebp + 0x40], ebx
jne 0x492a24
push dword [ebp + 0x4c]
push dword [ebp + 0x44]
push dword [ebp + 0x74]
push edi
call dword [sym.imp.user32.dll_PostMessageW]
jmp 0x492a54
cmp dword [ebp + 0x5c], ebx
je 0x492a44
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x5c]
push 2
push dword [ebp + 0x4c]
push dword [ebp + 0x44]
push dword [ebp + 0x74]
push edi
call dword [sym.imp.user32.dll_SendMessageTimeoutW]
jmp 0x492a57
push dword [ebp + 0x4c]
push dword [ebp + 0x44]
push dword [ebp + 0x74]
push edi
call dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x4929fc
push dword [ebp + 0x40]
lea eax, [ebp - 0xa8]
push 0x4c5774
push eax
call dword [sym.imp.user32.dll_wsprintfW]
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0xa8]
push eax
push dword [ebp + 0x78]
call fcn.0044414b
jmp 0x4929fc
push 7
push dword [ebp + 0x68]
push str._mutex_
call fcn.0043f884
add esp, 0xc
test al, al
je 0x492ab1
add dword [ebp + 0x68], 0xe
mov dword [ebp + 0x5c], 0xffffffc0
jmp 0x492af2
push 0xb
push dword [ebp + 0x68]
push str._semaphore_
call fcn.0043f884
add esp, 0xc
test al, al
je 0x492acd
add dword [ebp + 0x68], 0x16
jmp 0x492aeb
push 5
push dword [ebp + 0x68]
push str._sem_
call fcn.0043f884
add esp, 0xc
test al, al
je 0x492058
add dword [ebp + 0x68], 0xa
mov dword [ebp + 0x5c], 0xffffffe0
mov eax, dword [ebp + 0x68]
push 0x2c
pop esi
push esi
mov dword [ebp + 0x7c], eax
lea eax, [ebp + 0x68]
push 0x3b
push eax
call fcn.0043e9e8
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], bx
je 0x492b19
mov word [eax], bx
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x7c]
mov ax, word [eax]
cmp ax, 0x2a
jne 0x492b3d
add dword [ebp + 0x7c], 2
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00440edc
cmp dword [ebp + 0x78], ebx
pop ecx
pop ecx
jmp 0x492b49
cmp dword [ebp + 0x5c], ebx
je 0x492058
cmp ax, bx
je 0x492058
lea ecx, [ebp + 0x44]
mov dword [ebp + 0x74], ebx
call fcn.00444a10
cmp dword [ebp + 0x78], ebx
mov dword [ebp + 0x50], ebx
jne 0x492bd6
mov eax, dword [ebp + 0x7c]
mov ax, word [eax]
cmp ax, 0x2e
jne 0x492b79
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.Local_
jmp 0x492b8c
cmp ax, 0x23
jne 0x492b83
add dword [ebp + 0x7c], 2
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x4cb7b8
lea ecx, [ebp + 0x74]
call fcn.00444acb
push str.pecmd2012.event.
lea ecx, [ebp + 0x74]
call fcn.00444a7c
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x74]
call fcn.00444a7c
push dword [ebp + 0x74]
push ebx
push 0x100002
call dword [sym.imp.KERNEL32.DLL_OpenEventW]
cmp eax, ebx
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x78], eax
jne 0x492bd6
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, eax
cmp esi, ebx
jne 0x492c30
xor esi, esi
inc esi
jmp 0x492c30
mov edi, dword [ebp + 0x60]
push esi
push 0x3b
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.0043970c
cmp dword [ebp + 0x38], ebx
je 0x492c07
push dword [ebp + 0x44]
push dword [ebp + 0x68]
push dword [ebp + 0x78]
push dword [ebp + 0x5c]
push edi
call fcn.0043aa60
add esp, 0x14
jmp 0x492c19
push dword [ebp + 0x68]
push dword [ebp + 0x78]
push dword [ebp + 0x5c]
push edi
call fcn.0043a956
add esp, 0x10
mov esi, eax
mov eax, dword [ebp + 0x44]
cmp word [eax], bx
je 0x492c30
push eax
push esi
push edi
call fcn.0041046b
add esp, 0xc
xor esi, esi
lea ecx, [ebp + 0x50]
call fcn.00402cb5
lea ecx, [ebp + 0x44]
call fcn.0043e48d
lea ecx, [ebp + 0x74]
call fcn.0043e48d
jmp 0x49205d