Function at 0x48ee6f
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.0043dae7
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c8720
call fcn.00445f31
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 0x48eec6
cmp cx, 0x3d
je 0x48eed0
inc eax
inc eax
mov cx, word [eax]
cmp cx, di
jne 0x48eebe
jmp 0x48eed9
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.004108af
cmp word [esi], 0x3a
pop ecx
jne 0x48ef0a
cmp word [esi + 2], 0x3a
jne 0x48ef0a
mov edi, dword [0x4d8110]
inc bl
add esi, 4
mov dword [ebp + 0x5c], 0x4d80e8
mov eax, dword [ebp + 0x60]
and dword [ebp + 0x14], 0
cmp byte [eax + 0x92], 0
jne 0x48ef33
test byte [eax + 9], 0xf
jne 0x48ef33
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x14]
push eax
push esi
call fcn.00454ae5
jmp 0x48ef44
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x14]
push eax
push esi
call fcn.004537c3
mov esi, dword [ebp + 0x14]
lea ecx, [ebp + 0x18]
call fcn.00443f5b
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x48]
call fcn.00454bdd
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x68], eax
cmp word [esi], 0x40
jne 0x48f20b
push str._DeskTopFresh
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x48f162
mov esi, dword [ebp + 0x68]
push 9
push esi
push str.clearicon
mov dword [ebp + 0x7c], 0xfff80000
mov dword [ebp + 0x74], esi
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x48f012
mov ax, word [esi + 0x12]
or ax, 0x20
cmp ax, 0x61
jb 0x48efbb
cmp ax, 0x7a
jbe 0x48f012
lea ecx, [ebp + 0x78]
call fcn.00443f5b
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.004537c3
mov ecx, dword [ebp + 0x60]
push 1
push dword [ebp + 0x78]
call fcn.00428ea4
add dword [ebp + 0x74], 0x12
mov eax, dword [ebp + 0x74]
cmp word [eax], 0
je 0x48f00a
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x78]
call fcn.0043db4f
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004503bc
test byte [ebp + 0x7c], 0x40
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
pop ecx
pop ecx
mov ebx, 0xffff
je 0x48f03d
xor edi, edi
push edi
push edi
push 0x1a
push ebx
call esi
jmp 0x48f03f
xor edi, edi
test byte [ebp + 0x7c], 0x20
je 0x48f04c
push edi
push edi
push 0x1a
push ebx
call esi
test byte [ebp + 0x7c], 0x10
mov ebx, dword [sym.imp.SHELL32.dll_SHChangeNotify]
je 0x48f102
lea ecx, [ebp + 0x78]
call fcn.00443f5b
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
cmp ax, 0x3a
mov esi, 0x2000
jne 0x48f08a
add dword [ebp + 0x74], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.0040565a
pop ecx
pop ecx
jmp 0x48f0b4
cmp ax, di
je 0x48f093
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
cmp ax, 0x2d
jne 0x48f0a8
add dword [ebp + 0x74], 2
push 4
pop esi
jmp 0x48f0b4
cmp ax, 0x2b
jne 0x48f0b4
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.00438c4b
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x74], eax
cmp word [eax], di
jne 0x48f0ee
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.0043db4f
test byte [ebp + 0x7c], 8
je 0x48f116
push edi
push edi
push 0x1000
push 0x8000000
call ebx
test byte [ebp + 0x7c], 4
je 0x48f121
call fcn.00403a54
test byte [ebp + 0x7c], 2
je 0x48f145
push edi
push 0x4d826c
push str.USER32.DLL
push str.UpdatePerUserSystemParameters
call fcn.0043ef59
add esp, 0x10
call dword [0x4d826c]
cmp dword [ebp + 0x7c], edi
jl 0x48f15b
test byte [ebp + 0x7c], 1
jne 0x48f156
test byte [ebp + 0x7c], 0x7e
jne 0x48f15b
call fcn.004964fa
xor esi, esi
jmp 0x490036
push str._TaskIcoMenu
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x48f20b
push dword [ebp + 0x68]
push 0x4c1b0c
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48f1cb
push dword [ebp + 0x68]
push 0x4c6008
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48f1b8
push dword [ebp + 0x68]
push 0x4c06f4
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48f15b
cmp byte [0x4d7f94], 0
je 0x48f1cb
mov ecx, 0x4d88e8
mov byte [0x4d7f94], 0
call fcn.0043e3d8
jmp 0x48f15b
cmp byte [0x4d7c0a], 0
je 0x48f1e3
push dword [0x4d7fa4]
mov byte [0x4d7f94], 1
jmp 0x48f204
mov eax, dword [0x4d8110]
test eax, eax
je 0x48f15b
cmp dword [eax + 0x18], 0
je 0x48f15b
mov byte [0x4d7f94], 1
push dword [eax + 0x18]
call fcn.00411d4f
jmp 0x48f224
mov ax, word [esi]
test ax, ax
jne 0x48f22a
neg bl
sbb ebx, ebx
and ebx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x5c]
call fcn.00412371
pop ecx
pop ecx
jmp 0x48f15b
cmp ax, 0x40
je 0x48f24f
neg bl
sbb ebx, ebx
and ebx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x5c]
call fcn.00412371
mov eax, dword [ebp + 0x5c]
cmp dword [eax + 0x28], 0
pop ecx
pop ecx
je 0x48f15b
test edi, edi
je 0x48f25b
mov edi, dword [edi + 0xb8]
jmp 0x48f260
mov edi, 0x4bca0c
push edi
lea ecx, [ebp + 0x10]
call fcn.0044cd74
xor eax, eax
mov ax, word [esi]
mov edx, esi
mov ecx, esi
xor edi, edi
jmp 0x48f284
cmp ax, 0x3a
jne 0x48f27f
lea edx, [ecx + 2]
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, di
jne 0x48f276
push edx
lea ecx, [ebp + 0x24]
call fcn.0044cd74
xor ecx, ecx
mov cx, word [esi]
xor edx, edx
cmp cx, di
mov eax, esi
mov dword [ebp + 0x74], eax
je 0x48f2c1
cmp cx, 0x2e
jne 0x48f2ab
mov edx, eax
inc eax
inc eax
mov cx, word [eax]
cmp cx, di
jne 0x48f2a3
cmp edx, edi
mov dword [ebp + 0x74], eax
je 0x48f2c1
mov eax, edx
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2e
mov dword [ebp + 0x58], edi
jne 0x48f2d5
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.0043dae7
cmp dword [ebp + 0x58], edi
pop ecx
je 0x48f2fa
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405615
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 0x48f3a3
cmp word [ebx], 0
mov ecx, ebx
je 0x48f3a3
push 0x7e
pop edi
xor edx, edx
mov dx, word [ecx]
mov eax, edx
call fcn.0043daaf
test al, al
jne 0x48f3a3
cmp dx, 0x2e
je 0x48f392
cmp dx, 0x24
je 0x48f392
cmp dx, 0x25
je 0x48f392
cmp dx, 0x2a
jne 0x48f34a
or byte [ebp + 0x74], 4
jmp 0x48f397
cmp dx, di
jne 0x48f397
lea eax, [ecx + 2]
cmp word [eax], di
jne 0x48f35f
or byte [ebp + 0x74], 2
mov ecx, eax
jmp 0x48f397
cmp dx, di
jne 0x48f397
lea eax, [ecx + 2]
cmp word [eax], 0x2e
jne 0x48f373
or byte [ebp + 0x74], 8
jmp 0x48f35b
cmp dx, di
jne 0x48f397
lea eax, [ecx + 2]
cmp word [eax], 0x2a
jne 0x48f387
or byte [ebp + 0x74], 0xa
jmp 0x48f35b
cmp dx, di
jne 0x48f397
or byte [ebp + 0x74], 1
jmp 0x48f397
mov al, byte [ecx]
mov byte [ebp + 0x57], al
inc ecx
inc ecx
cmp word [ecx], 0
jne 0x48f31c
and dword [ebp + 4], 0
and dword [ebp + 8], 0
cmp byte [ebp + 0x74], 0
je 0x48f3c3
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
lea eax, [ebp + 0x18]
push eax
call fcn.0045ab9a
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0xc]
call fcn.00443f5b
cmp byte [ebp + 0x57], 0
je 0x48f3ec
cmp byte [ebp + 0x57], 0x2e
je 0x48f3ec
lea eax, [ebp + 4]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0045a249
add esp, 0x10
and dword [ebp + 0x38], 0
push esi
lea ecx, [ebp + 8]
call fcn.0044cd74
cmp dword [ebp + 0x58], 0
mov edi, dword [ebp + 8]
mov dword [ebp + 0x3c], edi
jne 0x48f40c
mov dword [ebp + 0x58], 0x4bca0c
push 0x40
pop ebx
cmp word [esi], bx
je 0x490052
and dword [ebp + 0x2c], 0
mov eax, 0x4d8d24
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 0x48f447
mov byte [ebp + 0x7f], 1
push 0x3a
lea eax, [ebp + 0x50]
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x50], edi
call fcn.004a7e7b
mov eax, dword [ebp + 0x50]
cmp word [eax], 0x3a
pop ecx
mov byte [ebp + 0x77], 0
jne 0x48f479
and word [eax], 0
lea edi, [eax + 2]
cmp word [edi], 0
mov dword [ebp + 0x3c], edi
je 0x48f479
mov byte [ebp + 0x77], 1
cmp byte [ebp + 0x7b], 0
je 0x48f4a0
push dword [ebp + 0x5c]
push str.this
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48f49c
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 0x4bdf04
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48f504
mov ebx, dword [ebx + 0x24]
mov esi, dword [ebx + 0x28]
test esi, esi
mov dword [ebp + 0x4c], ebx
je 0x48f4cb
lea eax, [esi + 0xb8]
jmp 0x48f4df
or dword [ebp + 0x44], 1
push 0x4bca0c
lea ecx, [ebp + 0x20]
call fcn.0044cd74
lea eax, [ebp + 0x20]
test byte [ebp + 0x44], 1
mov eax, dword [eax]
mov dword [ebp + 0x5c], eax
je 0x48f4f6
and dword [ebp + 0x44], 0xfffffffe
lea ecx, [ebp + 0x20]
call fcn.0043db4f
cmp byte [ebp + 0x77], 0
mov byte [ebp + 0x7f], 1
jne 0x48f443
test esi, esi
je 0x48f5f7
cmp esi, dword [ebp + 0x2c]
je 0x48f5f7
cmp byte [ebp + 0x77], 0
jne 0x48f533
push dword [ebp + 0x5c]
mov eax, dword [esi + 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x48f645
xor edi, edi
cmp dword [esi + 0xc0], edi
mov dword [ebp + 0x40], edi
jle 0x48f57b
mov eax, dword [esi + 0xbc]
mov ebx, dword [edi + eax + 4]
test ebx, ebx
je 0x48f56a
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x48f56a
push dword [ebp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x48f643
inc dword [ebp + 0x40]
mov eax, dword [ebp + 0x40]
add edi, 0x10
cmp eax, dword [esi + 0xc0]
jl 0x48f540
mov eax, dword [esi + 0x104]
xor ebx, ebx
cmp dword [eax], ebx
mov dword [ebp + 0x40], ebx
jle 0x48f5d2
mov eax, dword [esi + 0x100]
mov eax, dword [eax]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x48f5c4
mov eax, dword [edi + 8]
test eax, eax
je 0x48f5c4
push dword [ebp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x48f5c4
cmp byte [ebp + 0x77], al
je 0x48f79b
mov eax, dword [edi + 4]
cmp eax, 0xf
je 0x48f62f
cmp eax, 0x16
je 0x48f62f
mov eax, dword [esi + 0x104]
inc ebx
cmp ebx, dword [eax]
mov dword [ebp + 0x40], ebx
jl 0x48f58a
cmp byte [ebp + 0x77], 0
jne 0x490002
push dword [ebp + 0x5c]
lea eax, [esi + 0x1a4]
push eax
call fcn.00496dfd
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x48f86b
cmp byte [ebp + 0x7f], 0
jne 0x490002
cmp byte [ebp + 0x33], 0
jne 0x490002
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 0x48fa78
cmp ebx, 0x4d80e8
je 0x48fa78
jmp 0x48f63b
mov eax, dword [edi + 0x1c]
mov ebx, dword [eax + 0x194]
mov dword [ebp + 0x4c], ebx
mov edi, dword [ebp + 0x3c]
jmp 0x48f43d
mov esi, ebx
mov edi, dword [ebp + 0x58]
push edi
push str.MouseCapture
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48f7c4
push edi
push str.POSTMSG
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48f68e
mov ecx, dword [esi + 0x130]
xor edi, edi
push edi
push edi
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x48]
call fcn.0049ec0f
cmp dword [ebp + 0x64], edi
mov esi, eax
jmp 0x48fa7b
push edi
push str.SENDMSG
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48f6bc
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.0049ec0f
jmp 0x48ffa6
push edi
push 0x4c8608
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48f73c
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 0x48f714
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 0x490016
push dword [ebp + 0x64]
call ebx
jmp 0x490016
push edi
push 0x4c8604
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48fc2a
push edi
push 0x4c8600
call fcn.0043ef29
test al, al
mov ebx, dword [esi + 0x18]
pop ecx
pop ecx
je 0x48f76e
and dword [ebp + 0x40], 0
jmp 0x48fab3
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x48f780
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.004385b4
add esp, 0x1c
jmp 0x48fa76
push dword [ebp + 0x58]
mov dword [ebp + 0x38], edi
push str.MouseCapture
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48fa8f
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
je 0x48fa8f
mov esi, edi
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
sete bl
test bl, bl
je 0x48f7d6
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
test bl, bl
pop ecx
pop ecx
je 0x48fa5d
cmp dword [ebp + 0x74], 0
jle 0x48fa52
mov ebx, dword [esi + 0x18]
mov esi, dword [esi + 0x130]
mov edi, 0x4d8d24
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x48fa49
test ebx, ebx
je 0x48fa49
xor edi, edi
call fcn.00440b33
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push dword [0x4d7fa0]
push 0x440ac5
push 7
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [0x4d8420], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x4d8420], edi
je 0x48f861
mov dword [0x4d8428], esi
mov dword [0x4d8424], ebx
push 0x4d8d24
jmp 0x48fa4a
mov edi, dword [ebp + 0x58]
cmp word [edi], 0
jne 0x48f89d
push dword [ebp + 0x68]
lea ecx, [ebx + 4]
call fcn.0044ce38
mov ebx, dword [ebx + 0xc]
cmp word [ebx], 0
je 0x48fa76
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x60]
push ebx
call fcn.00443666
jmp 0x48fa76
push edi
push str.Enable
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48f958
mov eax, dword [ebp + 0x68]
movzx eax, word [eax]
xor edi, edi
push eax
mov dword [ebp + 0x74], edi
call fcn.004439f7
add esp, 4
test al, al
jne 0x48f8d2
cmp dword [ebp + 0x64], edi
jmp 0x490006
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.004503bc
cmp esi, edi
pop ecx
pop ecx
je 0x48f90f
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 0x48f919
and byte [ebx], 0xfe
jmp 0x48f91c
or byte [ebx], 1
lea eax, [ebx + 0xc]
push eax
lea ecx, [ebp + 0x74]
call fcn.0044cdc5
push str..Enable
lea ecx, [ebp + 0x74]
call fcn.00443fc7
test byte [ebx], 1
mov eax, 0x4c07a4
jne 0x48f944
mov eax, 0x4c1240
mov ecx, dword [ebp + 0x60]
push eax
push dword [ebp + 0x74]
call fcn.0045553f
lea ecx, [ebp + 0x74]
jmp 0x48fc07
push edi
push 0x4c85fc
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48fa76
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x48f97a
add dword [ebp + 0x68], 2
lea ecx, [ebp + 0x78]
call fcn.00443f5b
lea ecx, [ebp + 0x7c]
call fcn.00443f5b
lea ecx, [ebp + 0x74]
call fcn.00443f5b
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.00438db7
push esi
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.00438db7
push esi
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.00438db7
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.00443666
movzx eax, word [ebx + 2]
push eax
mov edi, 0x4bcae4
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.00443666
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.00443666
jmp 0x48fbf4
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x48fa76
jne 0x48fa76
xor edi, edi
call fcn.00440b33
jmp 0x48fa76
cmp dword [ebp + 0x74], 0
jle 0x48fa6e
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x48fa76
jne 0x48fa76
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor esi, esi
cmp dword [ebp + 0x64], esi
je 0x490016
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x490016
push dword [ebp + 0x58]
push 0x4c8600
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48fc11
mov eax, dword [edi + 0x1c]
mov ebx, dword [eax + 0x18]
add dword [ebp + 0x40], 0x1000
lea eax, [ebp + 0x68]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
je 0x48fb36
cmp dword [ebp + 0x64], 0
je 0x48fad5
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.0043dae7
mov eax, dword [ebp + 0x68]
xor bl, bl
cmp word [eax], 0x2a
pop ecx
jne 0x48faf9
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.004503bc
test eax, eax
pop ecx
pop ecx
jle 0x4902d2
test bl, bl
je 0x4902a0
cmp dword [ebp + 0x74], 0
jl 0x4902d2
xor eax, eax
cmp dword [ebp + 0x74], eax
setne al
push eax
call dword [sym.imp.USER32.dll_ShowCursor]
jmp 0x4902d2
lea ecx, [ebp + 0x78]
call fcn.00443f5b
lea ecx, [ebp + 0x7c]
call fcn.00443f5b
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.00446dab
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x48fb81
add dword [ebp + 0x68], edi
push esi
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446dab
add esp, 0x10
push dword [ebp + 0x78]
push ebx
push dword [ebp + 0x60]
call fcn.0044ce46
push 0x4bcae4
push dword [ebp + 0x7c]
push dword [ebp + 0x40]
push dword [ebp + 0x60]
call fcn.00446559
mov eax, dword [ebp + 0x68]
add esp, 0x1c
cmp word [eax], 0
je 0x48fbfc
cmp dword [ebp + 0x40], 0x1000
jl 0x48fbfc
mov ebx, dword [ebp + 0x38]
test ebx, ebx
je 0x48fbfc
cmp word [ebx + 4], di
je 0x48fbc8
cmp dword [ebx + 4], 0xd
jne 0x48fbfc
lea ecx, [ebp + 0x74]
call fcn.00443f5b
add dword [ebp + 0x68], edi
push esi
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446dab
push dword [ebp + 0x74]
push dword [ebx + 0x40]
push dword [ebp + 0x60]
call fcn.0044ce46
add esp, 0x1c
lea ecx, [ebp + 0x74]
call fcn.0043db4f
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
lea ecx, [ebp + 0x78]
call fcn.0043db4f
jmp 0x48fa76
push dword [ebp + 0x58]
push 0x4c8604
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48fd9a
mov esi, edi
lea eax, [ebp + 0x68]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
jne 0x48fac6
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.00443f5b
lea ecx, [ebp + 0x3c]
call fcn.00443f5b
lea ecx, [ebp + 0x78]
call fcn.00443f5b
lea ecx, [ebp + 0x7c]
call fcn.00443f5b
lea ecx, [ebp + 0x74]
call fcn.00443f5b
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.00438e04
push esi
push ebx
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00438e04
push esi
push ebx
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00438e04
push esi
push ebx
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00438e04
add esp, 0x40
push esi
push ebx
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00438e04
push dword [ebp + 0x4c]
mov edi, dword [ebp + 0x60]
push dword [ebp + 0x34]
push edi
call fcn.004465af
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push edi
call fcn.004465af
push dword [ebp + 0x78]
push dword [ebp + 0x28]
push edi
call fcn.004465af
push dword [ebp + 0x7c]
push dword [ebp + 0x2c]
push edi
call fcn.004465af
mov eax, dword [ebp + 0x74]
add esp, 0x40
cmp word [eax], 0
je 0x48fd72
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.004465af
add esp, 0xc
lea ecx, [ebp + 0x74]
call fcn.0043db4f
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
lea ecx, [ebp + 0x78]
call fcn.0043db4f
lea ecx, [ebp + 0x3c]
call fcn.0043db4f
lea ecx, [ebp + 0x4c]
jmp 0x48fc07
mov ecx, dword [edi + 4]
push 3
pop ebx
cmp ecx, ebx
je 0x48fda9
cmp ecx, 1
jne 0x48fddc
mov eax, dword [ebp + 0x58]
cmp word [eax], 0
jne 0x48fddc
cmp byte [ebp + 0x57], 0
jne 0x48fddc
cmp ecx, ebx
mov eax, 0x1000000
jne 0x48fdc6
test dword [edi + 0x40], eax
jne 0x48fdd0
cmp ecx, 1
jne 0x48fddc
test dword [edi + 0x60], eax
je 0x48fddc
push 0
push dword [ebp + 0x68]
call fcn.004141d2
pop ecx
pop ecx
push dword [ebp + 0x58]
push str.POSTMSG
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48fe0e
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.0049ec0f
cmp dword [ebp + 0x64], ebx
mov esi, eax
jmp 0x48fa7b
push dword [ebp + 0x58]
push str.SENDMSG
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48fe35
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
jmp 0x48f6af
push dword [ebp + 0x58]
push 0x4c8608
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48fec1
mov eax, dword [edi + 0x1c]
xor ecx, ecx
cmp eax, ecx
jne 0x48fe59
cmp dword [ebp + 0x64], ecx
jmp 0x490006
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 0x48fe98
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 0x490016
push dword [ebp + 0x64]
call edi
jmp 0x490016
mov esi, dword [ebp + 0x58]
push esi
push str.bkcolor
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb7
push esi
push str.Cursor
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb7
push esi
push 0x4c7ea0
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb7
push esi
push str.font
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb7
push esi
push str.trans
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb7
push esi
push str.style
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb7
push esi
push 0x4c7e84
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb7
push esi
push 0x4bdc74
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb1
push esi
push str.cmd_
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48ffb1
cmp dword [edi + 4], 9
jne 0x48ff91
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.0046cafd
jmp 0x48ffa6
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 0x48fa7b
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x68], eax
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x490002
mov eax, dword [ebp + 0x64]
test eax, eax
mov ebx, dword [esi + 0x18]
je 0x48ffd3
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.004385b4
add esp, 0x1c
cmp dword [ebp + 0x64], 0
je 0x4902d2
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4902d2
cmp dword [ebp + 0x64], 0
je 0x490011
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, 0x80070057
lea ecx, [ebp + 8]
call fcn.0043db4f
lea ecx, [ebp + 0xc]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x10]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x14]
call fcn.0043db4f
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc
push esi
push str._Cur
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x4902d9
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x48fad5
lea ecx, [ebp + 0x50]
call fcn.00443f5b
lea ecx, [ebp + 0x58]
call fcn.00443f5b
lea ecx, [ebp + 0x48]
call fcn.00443f5b
lea ecx, [ebp + 0x5c]
call fcn.00443f5b
lea ecx, [ebp + 0x3c]
call fcn.00443f5b
lea ecx, [ebp + 0x4c]
call fcn.00443f5b
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 0x4900cc
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0040567a
pop ecx
pop ecx
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.00443b15
test al, al
push 0x2c
pop esi
je 0x49010f
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x74], ebx
call fcn.0040565a
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0040565a
mov eax, dword [ebp + 0x74]
mov edi, dword [ebp + 0x60]
add esp, 0x10
mov dword [ebp + 0x38], eax
jmp 0x490140
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.00438db7
push esi
push 0x3b
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.00438db7
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.00438db7
push esi
push 0x3b
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.00438db7
push esi
push 0x3b
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.00438db7
push esi
push 0x3b
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.00438db7
cmp dword [ebp + 0x28], ebx
je 0x49019a
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 0x4901dc
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
je 0x4901dc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00414abb
cmp eax, ebx
je 0x4901dc
mov eax, dword [eax]
cmp eax, ebx
je 0x4901c6
mov ecx, dword [eax - 8]
jmp 0x4901c8
xor ecx, ecx
cmp ecx, 0x10
jb 0x4901dc
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.004465af
push ebx
lea eax, [ebp + 0x48]
push eax
push 8
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x48]
push edi
call fcn.0045067b
push dword [ebp + 0x50]
push dword [ebp + 0x34]
push edi
call fcn.004465af
push dword [ebp + 0x58]
push dword [ebp + 0x38]
push edi
call fcn.004465af
mov eax, dword [ebp + 0x5c]
add esp, 0x3c
cmp word [eax], bx
je 0x490270
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.004465af
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp + 0x4c]
call fcn.0043db4f
lea ecx, [ebp + 0x3c]
call fcn.0043db4f
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
lea ecx, [ebp + 0x50]
jmp 0x4909b8
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.00443afd
test al, al
je 0x4902d2
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
test eax, eax
pop ecx
pop ecx
jle 0x4902d2
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_SetCursorPos]
xor esi, esi
jmp 0x490016
push esi
push str._EATEKEYS
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x490305
push dword [ebp + 0x60]
push dword [ebp + 0x68]
call fcn.0049a5e6
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x490016
push esi
push str._POSTMSG
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x49041a
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.00443f5b
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3a
push 2
pop ebx
jne 0x4903b7
add eax, ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x68]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x68]
pop ecx
mov cx, word [eax]
cmp cx, di
mov edx, eax
je 0x49038d
push 0x2c
pop esi
cmp cx, si
je 0x49038d
cmp cx, 0x3b
je 0x49038d
cmp cx, 0x3a
je 0x49038d
add eax, ebx
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, di
jne 0x49036f
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x78]
call fcn.0044407f
mov eax, dword [ebp + 0x68]
cmp word [eax], di
je 0x4903a6
add dword [ebp + 0x68], ebx
mov ecx, dword [ebp + 0x60]
push 1
lea eax, [ebp + 0x78]
push eax
call fcn.00402eb0
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
jne 0x490916
add eax, ebx
mov dword [ebp + 0x68], eax
cmp word [eax], 0x3f
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x7c], edi
jne 0x490406
add eax, ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
pop ecx
jne 0x490406
add eax, ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
mov eax, dword [ebp + 0x68]
pop ecx
pop ecx
cmp word [eax], 0x2a
jne 0x490889
add eax, ebx
mov dword [ebp + 0x50], eax
jmp 0x4908b4
push esi
push str._SENDMSG
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x490434
mov byte [ebp + 0x3c], 1
jmp 0x49031e
push esi
push str._percent
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x490472
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.0040567a
push dword [ebp + 0x68]
push dword [ebp + 0x34]
push 0x4d80e8
call fcn.00439603
add esp, 0x14
jmp 0x490016
push esi
push str._POS
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x490538
mov ecx, dword [ebp + 0x68]
xor eax, eax
xor esi, esi
cmp word [ecx], 0x3f
sete al
mov edi, eax
test di, di
je 0x4904a0
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
jne 0x4904ae
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.004503bc
cmp dword [ebp + 0x74], 0
pop ecx
pop ecx
jle 0x490011
mov edx, dword [ebp + 0x68]
xor ecx, ecx
mov cx, word [edx]
mov eax, ecx
call fcn.00443afd
test al, al
je 0x4904e8
cmp cx, bx
je 0x4904e8
inc edx
inc edx
mov dword [ebp + 0x68], edx
test si, si
je 0x4904fa
cmp word [edx], bx
je 0x4904fa
dec edx
dec edx
mov dword [ebp + 0x68], edx
mov word [edx], bx
test di, di
je 0x49050b
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 0x49051d
mov eax, dword [eax + 0x1a0]
jmp 0x49051f
xor eax, eax
push eax
xor esi, esi
push esi
push ecx
push ecx
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.0048e149
add esp, 0x18
jmp 0x490016
push esi
push str._RMENU
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x4905fb
lea ecx, [ebp + 0x50]
call fcn.00443f5b
xor ebx, ebx
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x38], ebx
call fcn.00443f5b
push 0x3a
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446dab
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], bx
je 0x490582
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.0043dae7
push dword [ebp + 0x68]
call fcn.00412ae5
pop ecx
pop ecx
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x68], eax
call fcn.00443f5b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x74], ebx
call fcn.004962db
mov eax, dword [ebp + 0x74]
add esp, 0xc
cmp eax, ebx
je 0x4905dd
cmp word [eax], bx
je 0x4905dd
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.00406730
add esp, 0x14
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.00443666
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
lea ecx, [ebp + 0x78]
jmp 0x490293
push esi
push str._IsWindow
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x49069f
lea eax, [ebp + 0x68]
push eax
call fcn.0043dae7
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x490629
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x49064e
cmp ax, 0x3a
jne 0x490652
add dword [ebp + 0x68], 2
cmp si, 0x3f
jne 0x490011
lea ecx, [ebp + 0x7c]
call fcn.00443f5b
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446dab
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.00446583
add esp, 0xc
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
xor ebx, ebx
jmp 0x4902d2
push esi
push str._Enable
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x490779
lea eax, [ebp + 0x68]
push eax
call fcn.0043dae7
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x4906cd
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x4906f2
cmp ax, 0x3a
jne 0x4906f6
add dword [ebp + 0x68], 2
xor ebx, ebx
cmp dword [ebp + 0x74], ebx
jle 0x490011
cmp si, 0x3f
jne 0x490743
lea ecx, [ebp + 0x7c]
call fcn.00443f5b
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446dab
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.00446583
add esp, 0xc
lea ecx, [ebp + 0x7c]
jmp 0x4909b8
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x7c], 0xfffffc18
call fcn.004503bc
cmp dword [ebp + 0x7c], ebx
pop ecx
pop ecx
jl 0x4902d2
xor eax, eax
cmp dword [ebp + 0x7c], ebx
setne al
push eax
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x4902d2
lea eax, [esi + 2]
call fcn.00444580
test al, al
je 0x4907e9
lea eax, [ebp + 0x68]
push eax
call fcn.0043dae7
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x49079e
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x4907c3
cmp ax, 0x3a
jne 0x4907c7
add dword [ebp + 0x68], 2
xor ebx, ebx
cmp dword [ebp + 0x74], ebx
jle 0x490011
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
call fcn.00457bc0
add esp, 0x10
jmp 0x4902d2
push esi
push str._style
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x49082a
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0040565a
xor esi, esi
cmp dword [ebp + 0x74], esi
pop ecx
pop ecx
jle 0x490011
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.00457d4e
pop ecx
pop ecx
jmp 0x490016
push esi
push str._wait
call fcn.0043ef29
movzx eax, al
xor ebx, ebx
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x38], eax
jne 0x490858
push esi
push str._setevent
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x4902d2
mov eax, dword [ebp + 0x68]
push 7
push eax
push str._event_
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x78], ebx
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x490a47
add dword [ebp + 0x68], 0xe
mov dword [ebp + 0x5c], 0xfffffffc
jmp 0x490aab
mov dword [ebp + 0x7c], eax
jmp 0x4908b7
cmp cx, 0x2a
jne 0x4908a6
cmp dword [ebp + 0x7c], edi
jne 0x4908a6
mov word [eax], di
mov eax, dword [ebp + 0x68]
add eax, ebx
mov dword [ebp + 0x7c], eax
jmp 0x4908b4
cmp cx, 0x3b
je 0x4908c1
cmp cx, 0x3a
je 0x4908c1
add eax, ebx
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, di
jne 0x49088e
jmp 0x4908ce
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 0x49092c
call ebx
sub eax, dword [ebp + 0x48]
cmp eax, dword [ebp + 0x38]
jae 0x490928
mov ecx, dword [ebp + 0x60]
push 0
push 0
push dword [ebp + 0x2c]
call fcn.004159e8
push dword [ebp + 0x7c]
push dword [ebp + 0x50]
call esi
mov edi, eax
test edi, edi
je 0x4908ed
jmp 0x490928
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
mov edi, dword [ebp + 0x7c]
pop ecx
pop ecx
test edi, edi
je 0x4909a8
xor ebx, ebx
cmp dword [ebp + 0x20], ebx
jne 0x490949
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
je 0x490945
cmp ax, 0x3a
jne 0x490987
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
xor esi, esi
cmp ax, 0x3b
je 0x4909b5
cmp ax, 0x3a
je 0x4909b5
cmp ax, bx
je 0x4909b5
cmp ax, 0x23
jne 0x490971
add dword [ebp + 0x68], 2
mov esi, 0x5000
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004503bc
test eax, eax
pop ecx
pop ecx
jle 0x490987
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.00459fa9
add esp, 0x18
test eax, eax
je 0x4909c2
lea ecx, [ebp + 0x78]
call fcn.0043db4f
jmp 0x490011
lea ecx, [ebp + 0x78]
call fcn.0043db4f
jmp 0x4902d2
cmp byte [ebp + 0x3c], 0
mov dword [ebp + 0x40], ebx
jne 0x4909dd
push dword [ebp + 0x4c]
push dword [ebp + 0x44]
push dword [ebp + 0x74]
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x490a0d
cmp dword [ebp + 0x5c], ebx
je 0x4909fd
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 0x490a10
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 0x4909b5
push dword [ebp + 0x40]
lea eax, [ebp - 0xa8]
push 0x4c2684
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.00443666
jmp 0x4909b5
push 7
push dword [ebp + 0x68]
push str._mutex_
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x490a6a
add dword [ebp + 0x68], 0xe
mov dword [ebp + 0x5c], 0xffffffc0
jmp 0x490aab
push 0xb
push dword [ebp + 0x68]
push str._semaphore_
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x490a86
add dword [ebp + 0x68], 0x16
jmp 0x490aa4
push 5
push dword [ebp + 0x68]
push str._sem_
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x490011
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.0043e06b
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], bx
je 0x490ad2
mov word [eax], bx
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x7c]
mov ax, word [eax]
cmp ax, 0x2a
jne 0x490af6
add dword [ebp + 0x7c], 2
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.004404ef
cmp dword [ebp + 0x78], ebx
pop ecx
pop ecx
jmp 0x490b02
cmp dword [ebp + 0x5c], ebx
je 0x490011
cmp ax, bx
je 0x490011
lea ecx, [ebp + 0x44]
mov dword [ebp + 0x74], ebx
call fcn.00443f5b
cmp dword [ebp + 0x78], ebx
mov dword [ebp + 0x50], ebx
jne 0x490b8f
mov eax, dword [ebp + 0x7c]
mov ax, word [eax]
cmp ax, 0x2e
jne 0x490b32
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.Local_
jmp 0x490b45
cmp ax, 0x23
jne 0x490b3c
add dword [ebp + 0x7c], 2
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x4c8550
lea ecx, [ebp + 0x74]
call fcn.00444016
push str.pecmd2012.event.
lea ecx, [ebp + 0x74]
call fcn.00443fc7
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x74]
call fcn.00443fc7
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 0x490b8f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jne 0x490be9
xor esi, esi
inc esi
jmp 0x490be9
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.00438db7
cmp dword [ebp + 0x38], ebx
je 0x490bc0
push dword [ebp + 0x44]
push dword [ebp + 0x68]
push dword [ebp + 0x78]
push dword [ebp + 0x5c]
push edi
call fcn.0043a108
add esp, 0x14
jmp 0x490bd2
push dword [ebp + 0x68]
push dword [ebp + 0x78]
push dword [ebp + 0x5c]
push edi
call fcn.00439ffe
add esp, 0x10
mov esi, eax
mov eax, dword [ebp + 0x44]
cmp word [eax], bx
je 0x490be9
push eax
push esi
push edi
call fcn.0044ce46
add esp, 0xc
xor esi, esi
lea ecx, [ebp + 0x50]
call fcn.00402cb5
lea ecx, [ebp + 0x44]
call fcn.0043db4f
lea ecx, [ebp + 0x74]
call fcn.0043db4f
jmp 0x490016