Function at 0x1003ae70
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x10187080]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x1018b0a9], 0
push dword [0x1018b314]
je 0x1003b1be
call fcn.1003ce80
add esp, 4
test al, al
jne 0x1003aee8
mov edx, 0x1018b314
mov byte [0x1018b0b0], al
mov byte [0x1018b066], al
call fcn.1003cd40
push dword [0x1018b314]
mov cl, 1
call fcn.1002b110
push dword [0x1018b314]
call fcn.1003d1c0
add esp, 8
mov edx, 1
mov ecx, edx
call fcn.1003dd20
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ecf8
mov esp, ebp
pop ebp
ret
push dword [0x1018b314]
movss xmm1, dword [0x10188e98]
call fcn.1003d120
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.1002b1c0
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x1c]
lea edx, [ebp - 0xc]
lea ecx, [ebp - 0x10]
call fcn.1003cfd0
xor dl, dl
xor ecx, ecx
call fcn.1003ddc0
xor dl, dl
mov ecx, 7
call fcn.1003ddc0
xor dl, dl
mov ecx, 9
call fcn.1003ddc0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x18]
mov ecx, eax
call fcn.100414c0
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
call fcn.10029d10
add esp, 0x10
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0x14], 0
je 0x1003b00e
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.100414c0
movss xmm3, dword [0x1017e344]
mov edx, 0x1018b080
movss xmm2, dword [0x1017e2b4]
push ecx
mov dword [esp], 0
mov ecx, 0x4b5
push dword [ebp - 0x14]
call fcn.1003ca00
push dword [0x1018b314]
movss xmm3, dword [0x1018b088]
movss xmm2, dword [0x1018b084]
movss xmm1, dword [0x1018b080]
call fcn.1002b260
push dword [0x1018b314]
movss xmm3, dword [ebp - 8]
movss xmm2, dword [ebp - 0xc]
movss xmm1, dword [ebp - 0x10]
call fcn.1002b310
add esp, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ecf8
mov esp, ebp
pop ebp
ret
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.100414c0
movss xmm3, dword [0x1017e2d4]
mov edx, 0x1018b080
movss xmm2, dword [0x1017e2b4]
push ecx
mov dword [esp], 0
mov ecx, 0x4b5
push dword [ebp - 0x14]
call fcn.1003ca00
add esp, 8
push 2
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1003b0b0
mov edx, 5
call fcn.10032960
test al, al
jne 0x1003b0b0
cmp byte [0x10187b33], al
je 0x1003b0b0
movss xmm0, dword [ebp - 8]
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x14], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.100414c0
push dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x18]
call fcn.10029000
add esp, 4
jmp 0x1003b170
mov dword [ebp - 0x14], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.100414c0
push dword [ebp - 0x14]
lea ecx, [ebp - 0x18]
call fcn.100284f0
mov eax, dword [ebp - 0x18]
add esp, 4
cmp eax, 0x10
je 0x1003b16b
cmp eax, 0x11
je 0x1003b16b
cmp byte [0x1018b226], 0
je 0x1003b0fe
cmp byte [0x1018b217], 0
je 0x1003b170
xor ecx, ecx
call fcn.10034980
sub esp, 0xc
call fcn.10034800
call fcn.100348c0
push 0xff
push 0xff
or dl, 0xff
or cl, 0xff
call fcn.10034730
movss xmm1, dword [0x1017e354]
add esp, 0x14
movss xmm0, dword [0x1017e2f0]
call fcn.100345f0
xor cl, cl
call fcn.10034690
mov cl, 1
call fcn.10034a20
movss xmm0, dword [0x1017e3b4]
mov edx, 0x10172c54
movaps xmm1, xmm0
call fcn.10034540
xor cl, cl
call fcn.10034a20
jmp 0x1003b170
call fcn.1003d450
push dword [0x1018b314]
movss xmm3, dword [0x1018b088]
movss xmm2, dword [0x1018b084]
movss xmm1, dword [0x1018b080]
call fcn.1002b260
push dword [0x1018b314]
movss xmm3, dword [ebp - 8]
movss xmm2, dword [ebp - 0xc]
movss xmm1, dword [ebp - 0x10]
call fcn.1002b310
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ecf8
mov esp, ebp
pop ebp
ret
call fcn.1003ce80
add esp, 4
test al, al
je 0x1003b202
push dword [0x1018b314]
call fcn.1003cde0
add esp, 4
xor edx, edx
xor ecx, ecx
call fcn.1003dd20
mov dl, 1
xor ecx, ecx
call fcn.1003ddc0
mov dl, 1
mov ecx, 7
call fcn.1003ddc0
mov dl, 1
mov ecx, 9
call fcn.1003ddc0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ecf8
mov esp, ebp
pop ebp
ret