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

Disassembly:
mov eax, 0x12758ba
call fcn.01160118
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.0107d0cd
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.0107cc29
call fcn.01045b16
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x238]
call fcn.0107beac
cmp eax, ebx
mov dword [ebp - 0x228], eax
je 0x107fd76
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x10088d8
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x107fd13
push 0x10088c4
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x107fd32
push 0x10088ac
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x107fd6f
push 0x1008898
push dword [ebp - 0x228]
call edi
test eax, eax
je 0x107fd6f
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x228]
call fcn.0107beac
cmp eax, ebx
mov dword [ebp - 0x228], eax
jne 0x107fcb0
jmp 0x107fd76
push ebx
push 1
push esi
call fcn.0107df24
push 0x1001db0
push esi
mov dword [ebp - 0x22c], eax
call fcn.0107ca5a
push ebx
push ebx
push ebx
jmp 0x107fd50
push ebx
push 1
push esi
call fcn.0107de7d
push 0x1001db0
push esi
mov dword [ebp - 0x22c], eax
call fcn.0107cb25
push ebx
push ebx
push 1
or dword [ebp - 0x22c], eax
push 0xca
push esi
call fcn.0107dfb2
or dword [ebp - 0x22c], eax
mov dword [ebp - 0x224], ebx
jmp 0x107fd76
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 0x107fe03
cmp dword [ebp - 0x23c], edi
lea eax, [ebp - 0x220]
mov word [ebp - 0x220], bx
mov dword [ebp - 0x244], eax
jle 0x107fe03
cmp edi, 1
jle 0x107fde0
push 0x104
push 0x1006808
lea eax, [ebp - 0x220]
push eax
call fcn.0118c3db
mov eax, dword [ebp - 0x234]
push 0x104
push dword [eax + edi*4]
lea eax, [ebp - 0x220]
push eax
call fcn.0118c3db
inc edi
cmp edi, dword [ebp - 0x23c]
jl 0x107fdc5
cmp dword [ebp - 0x224], ebx
je 0x10800fc
call fcn.0107c052
test al, al
je 0x107fe42
cmp byte [0x12d24c8], bl
mov dword [ebp - 0x224], ebx
jne 0x10800fc
cmp dword [ebp - 0x23c], 1
jle 0x10800fc
push dword [ebp - 0x244]
call fcn.0107c131
cmp dword [ebp - 0x224], ebx
je 0x10800fc
mov ecx, 0x12d2398
call fcn.0107c008
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 0x107fe7f
mov byte [ebp - 0x22d], bl
cmp byte [ebp - 0x22d], bl
je 0x107fe98
push 0xc94700e8
mov dword [ebp - 0x224], ebx
call fcn.0116f1dc
pop ecx
cmp dword [ebp - 0x224], ebx
je 0x10800fc
push 0x1007a90
call fcn.0106126d
test al, al
jne 0x107fec2
push 0x4ec
call fcn.0106117c
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x224], ebx
je 0x10800fc
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 0x107fef5
cmp eax, 0xb7
jne 0x107ff06
push 0xc94700e9
call fcn.0116f1dc
pop ecx
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x224], ebx
je 0x10800fc
call dword [sym.imp.WINMM.dll_waveOutGetNumDevs]
test eax, eax
jne 0x107ff2d
push 0xc94700ed
call fcn.0116f1dc
pop ecx
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x224], ebx
je 0x10800fc
mov dword [ebp - 0x240], ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x240]
push eax
call fcn.0104665b
cmp eax, ebx
jge 0x107ff56
mov edi, eax
jmp 0x107ffaf
push dword [ebp - 0x240]
lea ecx, [ebp - 0x238]
call fcn.01045e8e
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.01044f5e
mov byte [ebp - 4], 2
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x238]
call fcn.0107cd0a
mov edi, eax
cmp edi, ebx
jge 0x107ffc6
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.0104508a
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x238]
call fcn.0104508a
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x240]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
jmp 0x1080131
lea ecx, [ebp - 0x228]
call fcn.0107bf40
push dword [ebp - 0x228]
call fcn.01053092
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.0118c9a5
test eax, eax
jl 0x1080054
mov eax, dword [ebp - 0x234]
fild dword [ebp - 0x234]
test eax, eax
jge 0x1080037
fadd qword [0x1003568]
fmul qword [0x1008868]
fcom qword [0x10071c0]
fnstsw ax
test ah, 0x41
jne 0x1080052
fstp qword [ebp - 0x254]
jmp 0x1080054
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 0x1080080
push 0xc94700f6
call fcn.0116f1dc
pop ecx
mov dword [ebp - 0x224], ebx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.0104508a
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x238]
call fcn.0104508a
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x240]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x224], ebx
je 0x10800fc
mov ecx, esi
call fcn.0107ccb1
push 5
push 4
push esi
call fcn.0107bca8
call fcn.0120dc05
call dword [sym.imp.ole32.dll_CoResumeClassObjects]
push dword [ebp + 0x14]
push dword [ebp - 0x244]
call fcn.0107fa86
mov dword [ebp - 0x22c], eax
call fcn.0120dc32
push esi
call fcn.0107bcf5
push dword [0x12d2454]
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x12d2398
call fcn.0116c444
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0107c116
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.0115fe1a
leave
ret 0x10