Function at 0x1080495
Capabilities:
Accept command line arguments
Log keystrokes via polling

Disassembly:
mov eax, 0x1275818
call fcn.01160458
sub esp, 0x25c
mov eax, dword [0x12cf8c8]
push ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x234], eax
mov eax, dword [ebp + 0x10]
push 1
mov dword [ebp - 0x238], eax
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov esi, 0x10088f0
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
xor ebx, ebx
push ebx
mov dword [ebp - 0x22c], ebx
movsw word es:[edi], word [esi]
mov dword [ebp - 0x224], 1
call dword [sym.imp.ole32.dll_OleInitialize]
mov byte [0x12d24c8], bl
mov dword [0x12d24cc], ebx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [0x12d2458], eax
call fcn.0107d98b
mov dword [0x12d245c], eax
lea eax, [ebp - 0x24c]
push eax
mov dword [ebp - 0x24c], 8
mov dword [ebp - 0x248], 0x514
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0x10076dc
push dword [ebp - 0x234]
mov esi, 0x12d23b8
push 0x12d2374
mov ecx, esi
mov dword [0x12d2450], 0x1388
mov dword [0x12d2454], 0x3e8
call fcn.0107d4e7
call fcn.01045ce2
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x238]
call fcn.0107c771
cmp eax, ebx
mov dword [ebp - 0x228], eax
je 0x108064e
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x10088d8
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x10805eb
push 0x10088c4
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x108060a
push 0x10088ac
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x1080647
push 0x1008898
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x1080647
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x228]
call fcn.0107c771
cmp eax, ebx
mov dword [ebp - 0x228], eax
jne 0x1080588
jmp 0x108064e
push ebx
push 1
push esi
call fcn.0107e7e2
push 0x1001db0
push esi
mov dword [ebp - 0x22c], eax
call fcn.0107d318
push ebx
push ebx
push ebx
jmp 0x1080628
push ebx
push 1
push esi
call fcn.0107e73b
push 0x1001db0
push esi
mov dword [ebp - 0x22c], eax
call fcn.0107d3e3
push ebx
push ebx
push 1
or dword [ebp - 0x22c], eax
push 0xca
push esi
call fcn.0107e870
or dword [ebp - 0x22c], eax
mov dword [ebp - 0x224], ebx
jmp 0x108064e
mov byte [0x12d24c8], 1
lea eax, [ebp - 0x23c]
push eax
push dword [ebp - 0x238]
mov dword [ebp - 0x244], 0x100355c
mov dword [ebp - 0x23c], ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor edi, edi
inc edi
cmp dword [ebp - 0x23c], edi
mov dword [ebp - 0x234], eax
jle 0x10806db
cmp dword [ebp - 0x23c], edi
lea eax, [ebp - 0x220]
mov word [ebp - 0x220], bx
mov dword [ebp - 0x244], eax
jle 0x10806db
cmp edi, 1
jle 0x10806b8
push 0x104
push 0x1006808
lea eax, [ebp - 0x220]
push eax
call fcn.0118c668
mov eax, dword [ebp - 0x234]
push 0x104
push dword [eax + edi*4]
lea eax, [ebp - 0x220]
push eax
call fcn.0118c668
inc edi
cmp edi, dword [ebp - 0x23c]
jl 0x108069d
cmp dword [ebp - 0x224], ebx
je 0x10809d4
call fcn.0107c917
test al, al
je 0x108071a
cmp byte [0x12d24c8], bl
mov dword [ebp - 0x224], ebx
jne 0x10809d4
cmp dword [ebp - 0x23c], 1
jle 0x10809d4
push dword [ebp - 0x244]
call fcn.0107c9f6
cmp dword [ebp - 0x224], ebx
je 0x10809d4
mov ecx, 0x12d2398
call fcn.0107c8cd
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
push 0x10
setne byte [ebp - 0x22d]
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x1080757
mov byte [ebp - 0x22d], bl
cmp byte [ebp - 0x22d], bl
je 0x1080770
push 0xc94700e8
mov dword [ebp - 0x224], ebx
call fcn.0116f4d6
pop ecx
cmp dword [ebp - 0x224], ebx
je 0x10809d4
push 0x1007a90
call fcn.010619e3
test al, al
jne 0x108079a
push 0x4ec
call fcn.010618f2
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x224], ebx
je 0x10809d4
push 0x1008870
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x12ceab0], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x12ceab0], ebx
je 0x10807cd
cmp eax, 0xb7
jne 0x10807de
push 0xc94700e9
call fcn.0116f4d6
pop ecx
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x224], ebx
je 0x10809d4
call dword [sym.imp.WINMM.dll_waveOutGetNumDevs]
test eax, eax
jne 0x1080805
push 0xc94700ed
call fcn.0116f4d6
pop ecx
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x224], ebx
je 0x10809d4
mov dword [ebp - 0x240], ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x240]
push eax
call fcn.01046832
cmp eax, ebx
jge 0x108082e
mov edi, eax
jmp 0x1080887
push dword [ebp - 0x240]
lea ecx, [ebp - 0x238]
call fcn.01046065
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.01045169
mov byte [ebp - 4], 2
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x238]
call fcn.0107d5c8
mov edi, eax
cmp edi, ebx
jge 0x108089e
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.01045295
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x238]
call fcn.01045295
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x240]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
jmp 0x1080a09
lea ecx, [ebp - 0x228]
call fcn.0107c805
push dword [ebp - 0x228]
call fcn.01053681
mov dword [ebp - 0x234], eax
fild dword [ebp - 0x234]
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x268]
fstp qword [ebp - 0x25c]
fld qword [0x10071c0]
push eax
push dword [ebp - 0x240]
fstp qword [ebp - 0x254]
mov dword [ebp - 0x234], 0x400
call fcn.0118cc32
test eax, eax
jl 0x108092c
mov eax, dword [ebp - 0x234]
fild dword [ebp - 0x234]
test eax, eax
jge 0x108090f
fadd qword [0x1003568]
fmul qword [0x1008868]
fcom qword [0x10071c0]
fnstsw ax
test ah, 0x41
jne 0x108092a
fstp qword [ebp - 0x254]
jmp 0x108092c
fstp st(0)
fld qword [ebp - 0x254]
fadd st(0), st(0)
fadd qword [0x1003510]
fcomp qword [ebp - 0x25c]
fnstsw ax
test ah, 0x41
jne 0x1080958
push 0xc94700f6
call fcn.0116f4d6
pop ecx
mov dword [ebp - 0x224], ebx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.01045295
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x238]
call fcn.01045295
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x240]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x224], ebx
je 0x10809d4
mov ecx, esi
call fcn.0107d56f
push 5
push 4
push esi
call fcn.0107c56d
call fcn.0120dad0
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
push dword [ebp + 0x14]
push dword [ebp - 0x244]
call fcn.0108035e
mov dword [ebp - 0x22c], eax
call fcn.0120dafd
push esi
call fcn.0107c5ba
push dword [0x12d2454]
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x12d2398
call fcn.0116c763
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0107c9db
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [0x12ceab0]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x22c]
mov dword [0x12ceab0], ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.0116015a
leave
ret 0x10