Function at 0x10096e71
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
xor ebx, ebx
mov dword [ebp + 0x40], ebx
mov eax, dword [ebp + 0x74]
push esi
mov dword [ebp + 0x74], eax
push edi
lea eax, [ebp + 0x74]
mov edi, ecx
push eax
mov dword [ebp + 0x60], edi
call fcn.1003f9c4
push 2
lea eax, [ebp + 0x74]
push eax
push 0x100d2ff0
call fcn.10048195
mov byte [ebp + 0x2b], al
mov eax, dword [ebp + 0x74]
lea ecx, [ebp + 0x1c]
add esp, 0x10
mov word [ebp + 0x1c], bx
mov esi, eax
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x44], ecx
jmp 0x10096eca
cmp cx, 0x3d
je 0x10096ed4
inc eax
inc eax
mov cx, word [eax]
cmp cx, bx
jne 0x10096ec2
jmp 0x10096edd
mov word [eax], bx
add eax, 2
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x7c]
push esi
mov dword [ebp + 0x5c], edi
xor bl, bl
mov dword [ebp + 0x7c], eax
call fcn.10010e64
cmp word [esi], 0x3a
pop ecx
jne 0x10096f10
cmp word [esi + 2], 0x3a
jne 0x10096f10
mov eax, dword [0x100e3130]
inc bl
add esi, 4
mov dword [ebp + 0x5c], 0x100e3108
mov dword [ebp + 0x7c], eax
xor eax, eax
cmp byte [edi + 0x92], al
mov dword [ebp + 0x14], eax
jne 0x10096f34
test byte [edi + 9], 0xf
jne 0x10096f34
push 1
push eax
lea eax, [ebp + 0x14]
push eax
push esi
mov ecx, edi
call fcn.10058e84
jmp 0x10096f43
push 1
push eax
lea eax, [ebp + 0x14]
push eax
push esi
mov ecx, edi
call fcn.10057b62
mov edi, dword [ebp + 0x14]
lea ecx, [ebp + 0x18]
call fcn.10046123
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x44]
call fcn.10058f7c
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x68], eax
cmp word [edi], 0x40
jne 0x100972bf
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._DeskTopFresh
push edi
call esi
test eax, eax
jne 0x10097176
mov esi, dword [ebp + 0x68]
push 9
push esi
push str.clearicon
mov dword [ebp + 0x7c], 0xfff80000
mov dword [ebp + 0x74], esi
call fcn.10040df5
add esp, 0xc
test al, al
je 0x10097013
mov ax, word [esi + 0x12]
or ax, 0x20
cmp ax, 0x61
jb 0x10096fbc
cmp ax, 0x7a
jbe 0x10097013
lea ecx, [ebp + 0x78]
call fcn.10046123
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.10057b62
mov ecx, dword [ebp + 0x60]
push 1
push dword [ebp + 0x78]
call fcn.1002a07d
add dword [ebp + 0x74], 0x12
mov eax, dword [ebp + 0x74]
cmp word [eax], 0
je 0x1009700b
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x78]
call fcn.1003f96c
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.10053a89
mov ebx, dword [ebp + 0x7c]
pop ecx
xor esi, esi
test bl, 0x40
pop ecx
je 0x10097049
push esi
push 1
push 0xffffffffffffffff
push 2
pop edi
push edi
push esi
push esi
push 0x1a
push esi
push 0x100e3108
call fcn.1001cab4
add esp, 0x24
jmp 0x1009704c
push 2
pop edi
test bl, 0x20
je 0x10097069
push esi
push 1
push 0xffffffffffffffff
push edi
push esi
push esi
push 0x1a
push esi
push 0x100e3108
call fcn.1001cab4
add esp, 0x24
test bl, 0x10
je 0x10097118
lea ecx, [ebp + 0x78]
call fcn.10046123
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
cmp ax, 0x3a
mov ebx, 0x2000
jne 0x1009709f
add dword [ebp + 0x74], edi
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.1007ed98
pop ecx
pop ecx
jmp 0x100970c3
cmp ax, si
je 0x100970a7
add dword [ebp + 0x74], edi
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
cmp ax, 0x2d
jne 0x100970b8
push 4
pop ebx
jmp 0x100970c0
cmp ax, 0x2b
jne 0x100970c3
mov ebx, edi
add dword [ebp + 0x74], edi
mov ecx, dword [ebp + 0x60]
push esi
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.1003aaa0
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x74], eax
cmp word [eax], si
jne 0x100970fd
push 1
lea eax, [ebp - 0x318]
push 0x10
push eax
push esi
mov word [ebp - 0x318], si
mov dword [ebp + 0x74], eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push esi
push dword [ebp + 0x74]
push 0x1005
push ebx
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
lea ecx, [ebp + 0x78]
call fcn.1003f96c
mov ebx, dword [ebp + 0x7c]
test bl, 8
je 0x1009712f
push esi
push esi
push 0x1000
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
test bl, 4
je 0x10097139
call fcn.10003b11
test bl, 2
je 0x1009715c
push esi
push 0x100e328c
push str.USER32.DLL
push str.UpdatePerUserSystemParameters
call fcn.10040e9d
add esp, 0x10
call dword [0x100e328c]
cmp ebx, esi
jl 0x1009716f
test bl, 1
jne 0x1009716a
test bl, 0x7e
jne 0x1009716f
call fcn.1009e98e
xor esi, esi
jmp 0x100980eb
push str._TaskIcoMenu
push edi
call esi
test eax, eax
jne 0x1009721e
push dword [ebp + 0x68]
push 0x100cbd1c
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x100971db
push dword [ebp + 0x68]
push 0x100d05d0
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x100971c8
push dword [ebp + 0x68]
push 0x100ca854
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x1009716f
cmp byte [0x100e2fb4], 0
je 0x100971db
mov ecx, 0x100e3960
mov byte [0x100e2fb4], 0
call fcn.100402ad
jmp 0x1009716f
cmp byte [0x100e6003], 0
je 0x100971f3
push dword [0x100e2fc4]
mov byte [0x100e2fb4], 1
jmp 0x10097214
mov eax, dword [0x100e3130]
test eax, eax
je 0x1009716f
cmp dword [eax + 0x18], 0
je 0x1009716f
mov byte [0x100e2fb4], 1
push dword [eax + 0x18]
call fcn.10012527
jmp 0x100972da
push str._mess.font
push edi
mov esi, 0x100e3e18
mov dword [ebp + 0x74], 0x3ec
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1009728c
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str._win.font
push edi
call esi
test eax, eax
jne 0x1009725a
mov esi, 0x100e3e0c
mov dword [ebp + 0x74], 0x3e9
jmp 0x1009728c
push str._help.font
push edi
call esi
test eax, eax
jne 0x10097274
mov esi, 0x100e3e14
mov dword [ebp + 0x74], 0x3eb
jmp 0x1009728c
push str._login.font
push edi
call esi
test eax, eax
jne 0x100972bf
mov esi, 0x100e3e10
mov dword [ebp + 0x74], 0x3ea
cmp dword [esi], 0
jne 0x1009729c
push dword [ebp + 0x74]
push esi
call fcn.100a0779
pop ecx
pop ecx
push dword [ebp + 0x68]
mov edi, dword [esi]
push edi
call fcn.1008ac04
test edi, edi
pop ecx
pop ecx
mov dword [esi], eax
je 0x1009716f
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x1009716f
mov ax, word [edi]
xor esi, esi
cmp ax, si
jne 0x100972e0
neg bl
sbb ebx, ebx
and ebx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x5c]
call fcn.10012b49
pop ecx
pop ecx
jmp 0x1009716f
cmp ax, 0x40
je 0x10097302
neg bl
sbb ebx, ebx
and ebx, dword [ebp + 0x60]
push ebx
mov ebx, dword [ebp + 0x5c]
push ebx
call fcn.10012b49
cmp dword [ebx + 0x28], esi
pop ecx
pop ecx
je 0x1009716f
mov eax, dword [ebp + 0x7c]
cmp eax, esi
je 0x10097311
mov eax, dword [eax + 0xc4]
jmp 0x10097316
mov eax, 0x100c6a64
push eax
lea ecx, [ebp + 0x10]
call fcn.100501eb
xor eax, eax
mov ax, word [edi]
mov edx, edi
mov ecx, edi
jmp 0x10097338
cmp ax, 0x3a
jne 0x10097333
lea edx, [ecx + 2]
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, si
jne 0x1009732a
push edx
lea ecx, [ebp + 0x24]
call fcn.100501eb
xor ecx, ecx
mov cx, word [edi]
xor edx, edx
cmp cx, si
mov eax, edi
mov dword [ebp + 0x74], eax
je 0x10097375
cmp cx, 0x2e
jne 0x1009735f
mov edx, eax
inc eax
inc eax
mov cx, word [eax]
cmp cx, si
jne 0x10097357
cmp edx, esi
mov dword [ebp + 0x74], eax
je 0x10097375
mov eax, edx
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2e
mov dword [ebp + 0x54], esi
jne 0x10097389
mov word [eax], si
inc eax
inc eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x74]
push eax
call fcn.1003f9c4
cmp dword [ebp + 0x54], esi
pop ecx
je 0x100973ae
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x74]
push eax
call fcn.10005b74
mov eax, dword [ebp + 0x74]
pop ecx
mov word [eax], si
mov esi, dword [ebp + 0x78]
test esi, esi
mov byte [ebp + 0x53], 0
mov byte [ebp + 0x74], 0
je 0x10097457
cmp word [esi], 0
mov ecx, esi
je 0x10097457
push 0x7e
pop ebx
xor edx, edx
mov dx, word [ecx]
mov eax, edx
call fcn.10002df6
test al, al
jne 0x10097457
cmp dx, 0x2e
je 0x10097446
cmp dx, 0x24
je 0x10097446
cmp dx, 0x25
je 0x10097446
cmp dx, 0x2a
jne 0x100973fe
or byte [ebp + 0x74], 4
jmp 0x1009744b
cmp dx, bx
jne 0x1009744b
lea eax, [ecx + 2]
cmp word [eax], bx
jne 0x10097413
or byte [ebp + 0x74], 2
mov ecx, eax
jmp 0x1009744b
cmp dx, bx
jne 0x1009744b
lea eax, [ecx + 2]
cmp word [eax], 0x2e
jne 0x10097427
or byte [ebp + 0x74], 8
jmp 0x1009740f
cmp dx, bx
jne 0x1009744b
lea eax, [ecx + 2]
cmp word [eax], 0x2a
jne 0x1009743b
or byte [ebp + 0x74], 0xa
jmp 0x1009740f
cmp dx, bx
jne 0x1009744b
or byte [ebp + 0x74], 1
jmp 0x1009744b
mov al, byte [ecx]
mov byte [ebp + 0x53], al
inc ecx
inc ecx
cmp word [ecx], 0
jne 0x100973d0
and dword [ebp + 4], 0
and dword [ebp + 8], 0
cmp byte [ebp + 0x74], 0
je 0x10097477
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
lea eax, [ebp + 0x18]
push eax
call fcn.1005f470
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0xc]
call fcn.10046123
cmp byte [ebp + 0x53], 0
je 0x100974a0
cmp byte [ebp + 0x53], 0x2e
je 0x100974a0
lea eax, [ebp + 4]
push eax
push esi
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1005eb1f
add esp, 0x10
xor esi, esi
push edi
lea ecx, [ebp + 8]
mov dword [ebp + 0x3c], esi
call fcn.100501eb
cmp dword [ebp + 0x54], esi
mov eax, dword [ebp + 8]
mov dword [ebp + 0x34], eax
jne 0x100974c0
mov dword [ebp + 0x54], 0x100c6a64
cmp word [edi], 0x40
je 0x10098107
mov eax, 0x100e3d7c
push eax
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x64], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 0x5c]
mov byte [ebp + 0x7b], 1
mov byte [ebp + 0x77], 0
mov byte [ebp + 0x7f], 0
mov dword [ebp + 0x48], edi
cmp byte [ebp + 0x77], 0
je 0x100974f8
mov byte [ebp + 0x7f], 1
mov ebx, dword [ebp + 0x34]
push 0x3a
lea eax, [ebp + 0x4c]
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x4c], ebx
call fcn.100a1095
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x3a
pop ecx
mov byte [ebp + 0x77], 0
jne 0x1009752d
and word [eax], 0
add eax, 2
cmp word [eax], 0
mov dword [ebp + 0x34], eax
je 0x1009752d
mov byte [ebp + 0x77], 1
cmp byte [ebp + 0x7b], 0
je 0x10097552
push ebx
push 0x100cb450
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x1009754e
mov ebx, dword [ebp + 0x10]
mov byte [ebp + 0x7f], 1
mov dword [ebp + 0x5c], ebx
mov byte [ebp + 0x7b], 0
mov esi, dword [edi + 0x28]
push ebx
push 0x100c8014
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100975b4
mov edi, dword [edi + 0x24]
mov esi, dword [edi + 0x28]
test esi, esi
mov dword [ebp + 0x48], edi
je 0x1009757b
lea eax, [esi + 0xc4]
jmp 0x1009758f
or dword [ebp + 0x40], 1
push 0x100c6a64
lea ecx, [ebp + 0x20]
call fcn.100501eb
lea eax, [ebp + 0x20]
test byte [ebp + 0x40], 1
mov ebx, dword [eax]
mov dword [ebp + 0x5c], ebx
je 0x100975a6
and dword [ebp + 0x40], 0xfffffffe
lea ecx, [ebp + 0x20]
call fcn.1003f96c
cmp byte [ebp + 0x77], 0
mov byte [ebp + 0x7f], 1
jne 0x100974f4
test esi, esi
je 0x100976a4
cmp esi, dword [ebp + 0x30]
je 0x100976a4
cmp byte [ebp + 0x77], 0
jne 0x100975e1
mov eax, dword [esi + 0xc4]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x100976ec
and dword [ebp + 0x58], 0
cmp dword [esi + 0xcc], 0
jle 0x1009762b
xor ebx, ebx
mov eax, dword [esi + 0xc8]
mov edi, dword [ebx + eax + 4]
test edi, edi
je 0x1009761a
mov eax, dword [edi + 0xc4]
test eax, eax
je 0x1009761a
push dword [ebp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x100976ea
inc dword [ebp + 0x58]
mov eax, dword [ebp + 0x58]
add ebx, 0x10
cmp eax, dword [esi + 0xcc]
jl 0x100975f0
mov eax, dword [esi + 0x114]
xor ebx, ebx
cmp dword [eax], ebx
jle 0x1009767c
mov eax, dword [esi + 0x110]
mov eax, dword [eax]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x10097671
mov eax, dword [edi + 8]
test eax, eax
je 0x10097671
push dword [ebp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10097671
cmp byte [ebp + 0x77], al
je 0x10097844
mov eax, dword [edi + 4]
cmp eax, 0xf
je 0x100976dc
cmp eax, 0x16
je 0x100976dc
mov eax, dword [esi + 0x114]
inc ebx
cmp ebx, dword [eax]
jl 0x10097637
cmp byte [ebp + 0x77], 0
jne 0x100980b7
push dword [ebp + 0x5c]
lea eax, [esi + 0x1b4]
push eax
call fcn.1009faf3
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x10097914
mov edi, dword [ebp + 0x48]
cmp byte [ebp + 0x7f], 0
jne 0x100980b7
cmp byte [ebp + 0x2b], 0
jne 0x100980b7
mov edi, dword [edi + 0x24]
mov dword [ebp + 0x30], esi
xor esi, esi
cmp edi, esi
mov dword [ebp + 0x48], edi
je 0x10097b21
cmp edi, 0x100e3108
jne 0x100974ee
jmp 0x10097b21
mov eax, dword [edi + 0x1c]
mov edi, dword [eax + 0x1a4]
jmp 0x100974eb
mov esi, edi
mov edi, dword [ebp + 0x54]
push edi
push str.MouseCapture
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009786d
push edi
push str.POSTMSG
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097735
mov ecx, dword [esi + 0x140]
xor edi, edi
push edi
push edi
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x44]
call fcn.100a7ec3
cmp dword [ebp + 0x64], edi
mov esi, eax
jmp 0x10097b24
push edi
push str.SENDMSG
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097763
mov ecx, dword [esi + 0x140]
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x44]
call fcn.100a7ec3
jmp 0x1009805b
push edi
push 0x100d2e7c
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100977e3
mov eax, dword [esi + 0x140]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x18]
xor ebx, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x64]
cmp eax, ebx
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], 1
mov dword [ebp], ebx
je 0x100977bb
push eax
mov dword [ebp + 0x64], ebx
call edi
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], ebx
mov esi, eax
je 0x100980cb
push dword [ebp + 0x64]
call edi
jmp 0x100980cb
push edi
push 0x100d2e78
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x10097cd5
push edi
push 0x100d2e74
call fcn.10040e34
test al, al
mov edi, dword [esi + 0x18]
pop ecx
pop ecx
je 0x10097815
and dword [ebp + 0x58], 0
jmp 0x10097b5e
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x10097827
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x19
push esi
push dword [ebp + 0x24]
push dword [ebp + 0x54]
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x60]
call fcn.1003a408
add esp, 0x1c
jmp 0x10097b1f
push dword [ebp + 0x54]
mov dword [ebp + 0x3c], edi
push str.MouseCapture
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097b38
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
je 0x10097b38
mov esi, edi
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
sete bl
test bl, bl
je 0x1009787f
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
test bl, bl
pop ecx
pop ecx
je 0x10097b06
cmp dword [ebp + 0x74], 0
jle 0x10097afb
mov ebx, dword [esi + 0x18]
mov esi, dword [esi + 0x140]
mov edi, 0x100e3d7c
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x10097af2
test ebx, ebx
je 0x10097af2
xor edi, edi
call fcn.10042bf8
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push dword [0x100e2fc0]
push 0x10042b8a
push 7
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [0x100e3440], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x100e3440], edi
je 0x1009790a
mov dword [0x100e3448], esi
mov dword [0x100e3444], ebx
push 0x100e3d7c
jmp 0x10097af3
mov ebx, dword [ebp + 0x54]
cmp word [ebx], 0
jne 0x10097946
push dword [ebp + 0x68]
lea ecx, [edi + 4]
call fcn.100502c8
mov edi, dword [edi + 0xc]
cmp word [edi], 0
je 0x10097b1f
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x60]
push edi
call fcn.100457c2
jmp 0x10097b1f
push ebx
push 0x100d20ac
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097a01
mov eax, dword [ebp + 0x68]
movzx eax, word [eax]
xor ebx, ebx
push eax
mov dword [ebp + 0x74], ebx
call fcn.10045b88
add esp, 4
test al, al
jne 0x1009797b
cmp dword [ebp + 0x64], ebx
jmp 0x100980bb
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.10053a89
cmp esi, ebx
pop ecx
pop ecx
je 0x100979b8
mov eax, dword [ebp + 0x74]
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 + 0x74], ebx
je 0x100979c2
and byte [edi], 0xfe
jmp 0x100979c5
or byte [edi], 1
lea eax, [edi + 0xc]
push eax
lea ecx, [ebp + 0x74]
call fcn.1005023c
push 0x100cd068
lea ecx, [ebp + 0x74]
call fcn.1004618f
test byte [edi], 1
mov eax, 0x100ca904
jne 0x100979ed
mov eax, 0x100cb428
mov ecx, dword [ebp + 0x60]
push eax
push dword [ebp + 0x74]
call fcn.10059c75
lea ecx, [ebp + 0x74]
jmp 0x10097cb2
push ebx
push 0x100d2e70
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097b1f
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x10097a23
add dword [ebp + 0x68], 2
lea ecx, [ebp + 0x78]
call fcn.10046123
lea ecx, [ebp + 0x7c]
call fcn.10046123
lea ecx, [ebp + 0x74]
call fcn.10046123
mov ebx, 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, ebx
call fcn.1003ac0c
push esi
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.1003ac0c
push esi
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.1003ac0c
push dword [edi + 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, ebx
call fcn.100457c2
movzx eax, word [edi + 2]
push eax
mov ebx, 0x100c6b48
lea eax, [ebp - 0x10c]
push ebx
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x7c]
call fcn.100457c2
push dword [edi + 0x14]
lea eax, [ebp - 0x10c]
push ebx
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x74]
call fcn.100457c2
jmp 0x10097c9f
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10097b1f
jne 0x10097b1f
xor edi, edi
call fcn.10042bf8
jmp 0x10097b1f
cmp dword [ebp + 0x74], 0
jle 0x10097b17
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x10097b1f
jne 0x10097b1f
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor esi, esi
cmp dword [ebp + 0x64], esi
je 0x100980cb
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100980cb
push dword [ebp + 0x54]
push 0x100d2e74
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097cbc
mov eax, dword [edi + 0x1c]
mov edi, dword [eax + 0x18]
add ebx, 0x1000
mov dword [ebp + 0x58], ebx
lea eax, [ebp + 0x68]
push eax
call fcn.1003f9c4
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
je 0x10097be1
cmp dword [ebp + 0x64], 0
je 0x10097b80
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.1003f9c4
mov eax, dword [ebp + 0x68]
xor bl, bl
cmp word [eax], 0x2a
pop ecx
jne 0x10097ba4
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.10053a89
test eax, eax
pop ecx
pop ecx
jle 0x10098387
test bl, bl
je 0x10098355
cmp dword [ebp + 0x74], 0
jl 0x10098387
xor eax, eax
cmp dword [ebp + 0x74], eax
setne al
push eax
call dword [sym.imp.USER32.dll_ShowCursor]
jmp 0x10098387
lea ecx, [ebp + 0x78]
call fcn.10046123
lea ecx, [ebp + 0x7c]
call fcn.10046123
push 2
pop ebx
add dword [ebp + 0x68], ebx
push 0x2c
pop esi
push esi
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.100490cd
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x10097c2c
add dword [ebp + 0x68], ebx
push esi
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.100490cd
add esp, 0x10
push dword [ebp + 0x78]
push edi
push dword [ebp + 0x60]
call fcn.100104aa
push 0x100c6b48
push dword [ebp + 0x7c]
push dword [ebp + 0x58]
push dword [ebp + 0x60]
call fcn.100487f7
mov eax, dword [ebp + 0x68]
add esp, 0x1c
cmp word [eax], 0
je 0x10097ca7
cmp dword [ebp + 0x58], 0x1000
jl 0x10097ca7
mov edi, dword [ebp + 0x3c]
test edi, edi
je 0x10097ca7
cmp word [edi + 4], bx
je 0x10097c73
cmp dword [edi + 4], 0xd
jne 0x10097ca7
lea ecx, [ebp + 0x74]
call fcn.10046123
add dword [ebp + 0x68], ebx
push esi
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.100490cd
push dword [ebp + 0x74]
push dword [edi + 0x40]
push dword [ebp + 0x60]
call fcn.100104aa
add esp, 0x1c
lea ecx, [ebp + 0x74]
call fcn.1003f96c
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
lea ecx, [ebp + 0x78]
call fcn.1003f96c
jmp 0x10097b1f
push dword [ebp + 0x54]
push 0x100d2e78
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097e47
mov esi, edi
lea eax, [ebp + 0x68]
push eax
call fcn.1003f9c4
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
jne 0x10097b71
lea eax, [ebp + 0x38]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x2c]
push eax
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_ScreenToClient]
lea ecx, [ebp + 0x5c]
call fcn.10046123
lea ecx, [ebp + 0x48]
call fcn.10046123
lea ecx, [ebp + 0x78]
call fcn.10046123
lea ecx, [ebp + 0x7c]
call fcn.10046123
lea ecx, [ebp + 0x74]
call fcn.10046123
add dword [ebp + 0x68], 2
push 0x2c
pop esi
push esi
push 0x3b
pop edi
push edi
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1003ac59
push esi
push edi
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1003ac59
push esi
push edi
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1003ac59
push esi
push edi
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1003ac59
add esp, 0x40
push esi
push edi
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1003ac59
push dword [ebp + 0x5c]
mov esi, dword [ebp + 0x60]
push dword [ebp + 0x38]
push esi
call fcn.1004884d
push dword [ebp + 0x48]
push dword [ebp + 0x3c]
push esi
call fcn.1004884d
push dword [ebp + 0x78]
push dword [ebp + 0x2c]
push esi
call fcn.1004884d
push dword [ebp + 0x7c]
push dword [ebp + 0x30]
push esi
call fcn.1004884d
mov eax, dword [ebp + 0x74]
add esp, 0x40
cmp word [eax], 0
je 0x10097e1f
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 dword [ebp + 0x60]
call fcn.1004884d
add esp, 0xc
lea ecx, [ebp + 0x74]
call fcn.1003f96c
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
lea ecx, [ebp + 0x78]
call fcn.1003f96c
lea ecx, [ebp + 0x48]
call fcn.1003f96c
lea ecx, [ebp + 0x5c]
jmp 0x10097cb2
mov ecx, dword [edi + 4]
push 3
pop ebx
cmp ecx, ebx
je 0x10097e56
cmp ecx, 1
jne 0x10097e89
mov eax, dword [ebp + 0x54]
cmp word [eax], 0
jne 0x10097e89
cmp byte [ebp + 0x53], 0
jne 0x10097e89
cmp ecx, ebx
mov eax, 0x1000000
jne 0x10097e73
test dword [edi + 0x40], eax
jne 0x10097e7d
cmp ecx, 1
jne 0x10097e89
test dword [edi + 0x60], eax
je 0x10097e89
push 0
push dword [ebp + 0x68]
call fcn.10014914
pop ecx
pop ecx
push dword [ebp + 0x54]
push str.POSTMSG
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097ebb
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
push dword [ebp + 0x44]
call fcn.100a7ec3
cmp dword [ebp + 0x64], ebx
mov esi, eax
jmp 0x10097b24
push dword [ebp + 0x54]
push str.SENDMSG
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097ee2
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
jmp 0x10097756
push dword [ebp + 0x54]
push 0x100d2e7c
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10097f61
mov eax, dword [edi + 0x1c]
xor ecx, ecx
cmp eax, ecx
jne 0x10097f06
cmp dword [ebp + 0x64], ecx
jmp 0x100980bb
mov edx, dword [ebp + 0x44]
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 0x10097f45
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
jmp 0x100977d1
mov esi, dword [ebp + 0x54]
push esi
push str.bkcolor
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push str.Cursor
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push 0x100d2314
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push str.font
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push 0x100d22fc
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push str.style
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push 0x100d22f8
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push str.scale
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1009806c
push esi
push 0x100c7d84
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x10098066
push esi
push str.cmd_
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x10098066
cmp dword [edi + 4], 9
jne 0x10098046
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x24]
mov ecx, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x44]
push dword [ebp + 0x60]
call fcn.10071b33
jmp 0x1009805b
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 0x10097b24
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x68], eax
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x100980b7
mov eax, dword [ebp + 0x64]
test eax, eax
mov ebx, dword [esi + 0x18]
je 0x10098088
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 + 0x54]
push dword [ebp + 0x68]
push ebx
push dword [ebp + 0x60]
call fcn.1003a408
add esp, 0x1c
cmp dword [ebp + 0x64], 0
je 0x10098387
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10098387
cmp dword [ebp + 0x64], 0
je 0x100980c6
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, 0x80070057
lea ecx, [ebp + 8]
call fcn.1003f96c
lea ecx, [ebp + 0xc]
call fcn.1003f96c
lea ecx, [ebp + 0x24]
call fcn.1003f96c
lea ecx, [ebp + 0x10]
call fcn.1003f96c
lea ecx, [ebp + 0x18]
call fcn.1003f96c
lea ecx, [ebp + 0x14]
call fcn.1003f96c
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc
push edi
push 0x100d2e68
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x1009838e
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x10097b80
lea ecx, [ebp + 0x4c]
call fcn.10046123
lea ecx, [ebp + 0x34]
call fcn.10046123
lea ecx, [ebp + 0x58]
call fcn.10046123
lea ecx, [ebp + 0x40]
call fcn.10046123
lea ecx, [ebp + 0x54]
call fcn.10046123
lea ecx, [ebp + 0x48]
call fcn.10046123
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
and dword [ebp + 0x2c], 0
and dword [ebp + 0x30], 0
cmp word [eax], 0x40
jne 0x10098181
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1007edb8
pop ecx
pop ecx
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.10014a5c
test al, al
push 0x2c
pop esi
je 0x100981c5
and dword [ebp + 0x74], 0
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1007ed98
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x38], eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1007ed98
mov eax, dword [ebp + 0x74]
mov edi, dword [ebp + 0x60]
add esp, 0x10
mov dword [ebp + 0x3c], eax
jmp 0x100981f6
mov edi, dword [ebp + 0x60]
push esi
push 0x3b
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.1003ac0c
push esi
push 0x3b
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.1003ac0c
lea eax, [ebp + 0x38]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push esi
push 0x3b
pop ebx
push ebx
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.1003ac0c
push esi
push ebx
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.1003ac0c
push esi
push ebx
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.1003ac0c
push esi
push ebx
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.1003ac0c
xor ebx, ebx
cmp dword [ebp + 0x2c], ebx
je 0x10098251
lea eax, [ebp + 0x38]
push eax
push dword [ebp + 0x2c]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp + 0x48]
xor esi, esi
cmp word [eax], bx
je 0x10098293
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
je 0x10098293
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.100152b4
cmp eax, ebx
je 0x10098293
mov eax, dword [eax]
cmp eax, ebx
je 0x1009827d
mov ecx, dword [eax - 8]
jmp 0x1009827f
xor ecx, ecx
cmp ecx, 0x10
jb 0x10098293
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
mov esi, eax
push dword [ebp + 0x48]
push esi
push edi
call fcn.1004884d
push ebx
lea eax, [ebp + 0x58]
push eax
push 8
lea eax, [ebp + 0x38]
push eax
push dword [ebp + 0x58]
push edi
call fcn.10053ed6
push dword [ebp + 0x4c]
push dword [ebp + 0x38]
push edi
call fcn.1004884d
push dword [ebp + 0x34]
push dword [ebp + 0x3c]
push edi
call fcn.1004884d
mov eax, dword [ebp + 0x40]
add esp, 0x3c
cmp word [eax], bx
je 0x10098325
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 + 0x40]
neg ax
sbb eax, eax
and eax, 0x10
or ebx, eax
movzx eax, bx
push eax
push edi
call fcn.1004884d
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp + 0x48]
call fcn.1003f96c
lea ecx, [ebp + 0x54]
call fcn.1003f96c
lea ecx, [ebp + 0x40]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x34]
call fcn.1003f96c
lea ecx, [ebp + 0x4c]
jmp 0x1009874d
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.10045c72
test al, al
je 0x10098387
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
test eax, eax
pop ecx
pop ecx
jle 0x10098387
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_SetCursorPos]
xor esi, esi
jmp 0x100980cb
push edi
push str._EATEKEYS
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100983ba
push dword [ebp + 0x60]
push dword [ebp + 0x68]
call fcn.100a38f8
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x100980cb
push edi
push str._POSTMSG
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100984d0
mov byte [ebp + 0x34], 0
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x7c], esi
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x30], 0xa
call fcn.10046123
mov ecx, dword [ebp + 0x68]
cmp word [ecx], 0x3a
jne 0x1009846a
inc ecx
lea eax, [ebp + 0x68]
inc ecx
push eax
mov dword [ebp + 0x68], ecx
call fcn.1003f9c4
mov eax, dword [ebp + 0x68]
pop ecx
mov cx, word [eax]
cmp cx, si
mov edx, eax
je 0x1009843d
push 0x2c
pop esi
cmp cx, si
je 0x1009843d
cmp cx, 0x3b
je 0x1009843d
cmp cx, 0x3a
je 0x1009843d
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
test cx, cx
jne 0x1009841f
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x78]
call fcn.10046247
mov eax, dword [ebp + 0x68]
xor esi, esi
cmp word [eax], si
je 0x10098459
add dword [ebp + 0x68], 2
mov ecx, dword [ebp + 0x60]
push 1
lea eax, [ebp + 0x78]
push eax
call fcn.10002f54
mov ecx, dword [ebp + 0x68]
cmp word [ecx], 0x2a
jne 0x100989b8
push 2
pop edi
add ecx, edi
mov dword [ebp + 0x68], ecx
cmp word [ecx], 0x3f
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x7c], esi
jne 0x100984bc
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x68]
add ecx, edi
push eax
mov dword [ebp + 0x68], ecx
call fcn.10053a89
pop ecx
pop ecx
mov ecx, dword [ebp + 0x68]
cmp word [ecx], 0x3f
jne 0x100984bc
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x68]
add ecx, edi
push eax
mov dword [ebp + 0x68], ecx
call fcn.10053a89
pop ecx
pop ecx
mov ecx, dword [ebp + 0x68]
cmp word [ecx], 0x2a
jne 0x1009892a
add ecx, edi
mov dword [ebp + 0x4c], ecx
jmp 0x10098956
push edi
push str._SENDMSG
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100984ea
mov byte [ebp + 0x34], 1
jmp 0x100983d3
push edi
push str._percent
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10098528
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x68]
xor esi, esi
push eax
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], esi
call fcn.1007edb8
push dword [ebp + 0x68]
push dword [ebp + 0x38]
push 0x100e3108
call fcn.1003b458
add esp, 0x14
jmp 0x100980cb
push edi
push str._POS
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100985f4
mov eax, dword [ebp + 0x68]
xor ebx, ebx
xor edi, edi
cmp word [eax], 0x3f
sete bl
test bx, bx
je 0x10098554
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
push 0x40
pop esi
cmp word [eax], si
jne 0x10098565
add dword [ebp + 0x68], 2
mov edi, esi
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
cmp dword [ebp + 0x74], 0
pop ecx
pop ecx
jle 0x100980c6
mov edx, dword [ebp + 0x68]
xor ecx, ecx
mov cx, word [edx]
mov eax, ecx
call fcn.10045c72
test al, al
je 0x1009859f
cmp cx, si
je 0x1009859f
inc edx
inc edx
mov dword [ebp + 0x68], edx
test di, di
je 0x100985b1
cmp word [edx], si
je 0x100985b1
dec edx
dec edx
mov dword [ebp + 0x68], edx
mov word [edx], si
test bx, bx
je 0x100985c2
sub dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov word [eax], 0x3f
mov eax, dword [ebp + 0x60]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x100985d4
mov eax, dword [eax + 0x1b0]
jmp 0x100985d6
xor eax, eax
xor esi, esi
push esi
push eax
push esi
push dword [ebp + 0x60]
push dword [ebp + 0x60]
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.10095fe9
add esp, 0x1c
jmp 0x100980cb
push edi
push str._RMENU
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100986b5
lea ecx, [ebp + 0x4c]
call fcn.10046123
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x3c], esi
call fcn.10046123
push 0x3a
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.100490cd
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], si
je 0x1009863c
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.1003f9c4
push dword [ebp + 0x68]
call fcn.100132bf
pop ecx
pop ecx
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x68], eax
call fcn.10046123
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x74], esi
call fcn.1009e76f
mov eax, dword [ebp + 0x74]
add esp, 0xc
cmp eax, esi
je 0x10098697
cmp word [eax], si
je 0x10098697
mov word [eax - 2], si
push esi
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x3c]
push eax
push dword [ebp + 0x74]
push dword [ebp + 0x7c]
call fcn.1000a26f
add esp, 0x14
push dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.100457c2
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
lea ecx, [ebp + 0x78]
jmp 0x10098348
push edi
push str._IsWindow
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10098757
lea eax, [ebp + 0x68]
push eax
call fcn.1003f9c4
mov eax, dword [eax]
mov di, word [eax]
cmp di, 0x3f
pop ecx
jne 0x100986e3
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x10098708
cmp ax, 0x3a
jne 0x1009870c
add dword [ebp + 0x68], 2
cmp di, 0x3f
jne 0x100980c6
lea ecx, [ebp + 0x7c]
call fcn.10046123
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.100490cd
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.10048821
add esp, 0xc
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
jmp 0x10098387
push edi
push str._Enable
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10098820
lea eax, [ebp + 0x68]
push eax
call fcn.1003f9c4
mov eax, dword [eax]
mov di, word [eax]
cmp di, 0x3f
pop ecx
jne 0x10098785
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x100987aa
cmp ax, 0x3a
jne 0x100987ae
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], esi
jle 0x100980c6
cmp di, 0x3f
jne 0x100987ea
lea ecx, [ebp + 0x7c]
call fcn.10046123
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.100490cd
add esp, 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
jmp 0x1009873e
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x7c], 0xfffffc18
call fcn.10053a89
cmp dword [ebp + 0x7c], esi
pop ecx
pop ecx
jl 0x10098387
xor eax, eax
cmp dword [ebp + 0x7c], esi
setne al
push eax
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x10098387
lea eax, [edi + 2]
call fcn.1004677a
test al, al
je 0x1009888e
lea eax, [ebp + 0x68]
push eax
call fcn.1003f9c4
mov eax, dword [eax]
mov di, word [eax]
cmp di, 0x3f
pop ecx
jne 0x10098845
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x1009886a
cmp ax, 0x3a
jne 0x1009886e
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], esi
jle 0x100980c6
push edi
push dword [ebp + 0x68]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
call fcn.1005c2ec
add esp, 0x10
jmp 0x10098387
push edi
push str._style
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x100988cd
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1007ed98
cmp dword [ebp + 0x74], esi
pop ecx
pop ecx
jle 0x100980c6
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.1005c47a
pop ecx
pop ecx
jmp 0x10098387
push edi
push str._wait
call fcn.10040e34
movzx eax, al
cmp eax, esi
pop ecx
pop ecx
mov dword [ebp + 0x3c], eax
jne 0x100988f9
push edi
push str._setevent
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10098387
mov eax, dword [ebp + 0x68]
push 7
push eax
push str._event_
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x78], esi
call fcn.10040df5
add esp, 0xc
test al, al
je 0x10098af4
add dword [ebp + 0x68], 0xe
mov dword [ebp + 0x58], 0xfffffffc
jmp 0x10098b58
mov dword [ebp + 0x7c], ecx
jmp 0x10098959
cmp ax, 0x2a
jne 0x10098947
cmp dword [ebp + 0x7c], esi
jne 0x10098947
mov word [ecx], si
mov ecx, dword [ebp + 0x68]
add ecx, edi
mov dword [ebp + 0x7c], ecx
jmp 0x10098956
push eax
call fcn.10045d70
add esp, 4
test al, al
jne 0x10098963
add ecx, edi
mov dword [ebp + 0x68], ecx
mov ax, word [ecx]
cmp ax, si
jne 0x1009892f
jmp 0x10098970
mov word [ecx], si
add dword [ebp + 0x68], edi
mov dword [ebp + 0x20], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
push dword [ebp + 0x7c]
mov esi, dword [sym.imp.USER32.dll_FindWindowW]
push dword [ebp + 0x4c]
mov dword [ebp + 0x58], eax
call esi
mov ebx, eax
test ebx, ebx
jne 0x100989d2
call edi
sub eax, dword [ebp + 0x58]
cmp eax, dword [ebp + 0x3c]
jae 0x100989ca
mov ecx, dword [ebp + 0x60]
push 0
push 0
push dword [ebp + 0x30]
call fcn.10011621
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
call esi
mov ebx, eax
test ebx, ebx
je 0x1009898f
jmp 0x100989ca
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
mov ebx, dword [ebp + 0x7c]
pop ecx
pop ecx
test ebx, ebx
je 0x10098a5a
xor esi, esi
cmp dword [ebp + 0x20], esi
jne 0x100989f0
mov eax, dword [ebp + 0x68]
movzx eax, word [eax]
push eax
call fcn.10045d70
add esp, 4
test al, al
je 0x10098a39
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
xor ecx, ecx
mov cx, word [eax]
xor edi, edi
push ecx
call fcn.10045d70
add esp, 4
test al, al
jne 0x10098ae7
cmp cx, si
je 0x10098ae7
cmp cx, 0x23
jne 0x10098a23
add dword [ebp + 0x68], 2
mov edi, 0x5000
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.10053a89
test eax, eax
pop ecx
pop ecx
jle 0x10098a39
add dword [ebp + 0x74], edi
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x34]
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x60]
call fcn.1005e87f
add esp, 0x18
test eax, eax
je 0x10098a67
lea ecx, [ebp + 0x78]
call fcn.1003f96c
jmp 0x100980c6
cmp byte [ebp + 0x34], 0
mov dword [ebp + 0x44], esi
jne 0x10098a82
push dword [ebp + 0x48]
push dword [ebp + 0x5c]
push dword [ebp + 0x74]
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x10098ab2
cmp dword [ebp + 0x40], esi
je 0x10098aa2
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x40]
push 2
push dword [ebp + 0x48]
push dword [ebp + 0x5c]
push dword [ebp + 0x74]
push ebx
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
jmp 0x10098ab5
push dword [ebp + 0x48]
push dword [ebp + 0x5c]
push dword [ebp + 0x74]
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x78]
cmp word [eax], si
je 0x10098ae7
push dword [ebp + 0x44]
lea eax, [ebp - 0xa8]
push 0x100cc934
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.100457c2
lea ecx, [ebp + 0x78]
call fcn.1003f96c
jmp 0x100980cb
push 7
push dword [ebp + 0x68]
push str._mutex_
call fcn.10040df5
add esp, 0xc
test al, al
je 0x10098b17
add dword [ebp + 0x68], 0xe
mov dword [ebp + 0x58], 0xffffffc0
jmp 0x10098b58
push 0xb
push dword [ebp + 0x68]
push str._semaphore_
call fcn.10040df5
add esp, 0xc
test al, al
je 0x10098b33
add dword [ebp + 0x68], 0x16
jmp 0x10098b51
push 5
push dword [ebp + 0x68]
push str._sem_
call fcn.10040df5
add esp, 0xc
test al, al
je 0x100980c6
add dword [ebp + 0x68], 0xa
mov dword [ebp + 0x58], 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.1003ff40
mov eax, dword [ebp + 0x68]
xor ebx, ebx
add esp, 0xc
cmp word [eax], bx
je 0x10098b81
mov word [eax], bx
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x7c]
mov ax, word [eax]
cmp ax, 0x2a
jne 0x10098ba5
add dword [ebp + 0x7c], 2
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.10042554
cmp dword [ebp + 0x78], ebx
pop ecx
pop ecx
jmp 0x10098bb1
cmp dword [ebp + 0x58], ebx
je 0x100980c6
cmp ax, bx
je 0x100980c6
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x74], ebx
call fcn.10046123
cmp dword [ebp + 0x78], ebx
mov dword [ebp + 0x4c], ebx
jne 0x10098c58
mov eax, dword [ebp + 0x7c]
mov ax, word [eax]
cmp ax, 0x2e
jne 0x10098be5
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.Local_
jmp 0x10098bf8
cmp ax, 0x23
jne 0x10098bef
add dword [ebp + 0x7c], 2
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x100d2dc4
lea ecx, [ebp + 0x74]
call fcn.100461de
push str.pecmd2012.event.
lea ecx, [ebp + 0x74]
call fcn.1004618f
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x74]
call fcn.1004618f
push dword [ebp + 0x74]
push ebx
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventW]
cmp eax, ebx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x78], eax
jne 0x10098c58
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jne 0x10098c40
xor esi, esi
inc esi
lea ecx, [ebp + 0x4c]
call fcn.10002d56
lea ecx, [ebp + 0x5c]
call fcn.1003f96c
lea ecx, [ebp + 0x74]
jmp 0x10098aea
mov edi, dword [ebp + 0x60]
push esi
push 0x3b
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, edi
call fcn.1003ac0c
cmp dword [ebp + 0x3c], ebx
je 0x10098c89
push dword [ebp + 0x5c]
push dword [ebp + 0x68]
push dword [ebp + 0x78]
push dword [ebp + 0x58]
push edi
call fcn.1003bfa0
add esp, 0x14
jmp 0x10098c9b
push dword [ebp + 0x68]
push dword [ebp + 0x78]
push dword [ebp + 0x58]
push edi
call fcn.1003be96
add esp, 0x10
mov esi, eax
mov eax, dword [ebp + 0x5c]
cmp word [eax], bx
je 0x10098c40
push eax
push esi
push edi
call fcn.100104aa
add esp, 0xc
xor esi, esi
jmp 0x10098c40