Function at 0x100480ec
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
sub esp, 0x38
mov eax, 0x10073961
call fcn.1004d1c0
sub esp, 0x37c
call fcn.10029dc3
test eax, eax
jne 0x10048482
cmp dword [0x1018d780], eax
je 0x10048482
cmp dword [0x10179594], eax
je 0x10048482
cmp dword [0x10179598], eax
je 0x10048482
push esi
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 9
call esi
test ax, ax
jns 0x1004814e
cmp dword [0x1015ce07], 0
jne 0x10048481
mov eax, dword [0x101795ac]
push edi
xor edi, edi
cmp dword [eax], edi
jne 0x10048480
push 0x79
call esi
test ax, ax
js 0x10048480
cmp dword [0x1018d794], edi
je 0x10048480
push dword [0x1018d79c]
call fcn.1002a067
pop ecx
test eax, eax
jne 0x10048480
call fcn.10029dc3
test eax, eax
jne 0x10048480
cmp dword [0x1018d780], edi
je 0x10048480
cmp dword [0x10179594], edi
je 0x10048480
cmp dword [0x10179598], edi
je 0x10048480
push 9
call esi
test ax, ax
jns 0x100481d1
cmp dword [0x1015ce07], edi
jne 0x10048480
mov eax, dword [0x101795ac]
cmp dword [eax], edi
jne 0x10048480
push 0x79
call esi
test ax, ax
js 0x10048480
cmp dword [0x1018d794], edi
je 0x10048480
push dword [0x1018d79c]
call fcn.1002a067
pop ecx
test eax, eax
jne 0x10048480
lea ecx, [ebp - 0x388]
call fcn.1000170d
mov eax, dword [0x10157e8c]
mov dword [ebp - 4], edi
cmp dword [eax + 0xdd], edi
je 0x10048475
push ebx
xor ebx, ebx
inc ebx
push ebx
call fcn.1003d6f4
pop ecx
test eax, eax
je 0x10048474
call fcn.10042866
mov eax, dword [0x10157e8c]
cmp dword [eax + 0x8982], 0x7d0
jl 0x1004825e
mov dword [eax + 0x8982], edi
mov eax, dword [0x10157e8c]
push edi
push dword [eax + 0x8982]
call fcn.1002c172
push 0x3f
lea eax, [ebp - 0x4c]
push edi
push eax
call fcn.1004f5d0
mov ecx, dword [0x10179598]
mov eax, dword [ecx + 0x1e]
movss xmm0, dword [eax + 0xc6]
movss dword [ebp - 0x1c], xmm0
mov eax, dword [ecx + 0x1e]
mov ax, word [eax + 0x96]
mov word [ebp - 0x4c], ax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ecx + 0x1e]
mov eax, dword [eax]
mov eax, dword [eax + 0x2a4]
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.1003ded5
mov ecx, dword [0x10179598]
add esp, 0x1c
mov eax, dword [ecx + 0x1e]
mov eax, dword [eax]
mov eax, dword [eax + 0x2a4]
cvttss2si eax, dword [eax + 0x540]
mov byte [ebp - 0x18], al
mov eax, dword [ecx + 0x1e]
mov eax, dword [eax]
mov eax, dword [eax + 0x2a4]
cvttss2si eax, dword [eax + 0x548]
mov byte [ebp - 0x17], al
mov eax, dword [0x10157e8c]
mov ax, word [eax + 0x8982]
mov word [ebp - 0x13], ax
mov eax, dword [ecx + 0x1e]
movss xmm0, dword [eax + 0xba]
movss dword [ebp - 0x28], xmm0
mov eax, dword [ecx + 0x1e]
lea ecx, [ebp - 0x274]
movss xmm0, dword [eax + 0xbe]
movss dword [ebp - 0x24], xmm0
mov dword [ebp - 0x20], 0x3dcccccd
call fcn.1000170d
push ebx
push 8
lea eax, [ebp + 0x38]
mov byte [ebp - 4], bl
push eax
lea ecx, [ebp - 0x274]
mov byte [ebp + 0x38], 0xc8
call fcn.10001983
push 0x3f
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x274]
call fcn.10001932
mov ecx, dword [0x10179578]
lea eax, [ebp - 0x274]
push edi
push 7
push ebx
push eax
call fcn.1003e4a4
mov eax, dword [0x10157e8c]
xorps xmm0, xmm0
movlpd qword [ebp + 0xe], xmm0
movlpd qword [ebp + 0x2a], xmm0
mov dword [ebp + 0x16], edi
mov ax, word [eax + 0x8982]
mov word [ebp], ax
mov eax, dword [0x100cde18]
movss xmm0, dword [eax + 0x10]
mulss xmm0, dword [0x1007f498]
addss xmm0, dword [ebp - 0x34]
movss dword [ebp + 2], xmm0
movss xmm0, dword [eax + 0x14]
lea ecx, [ebp - 0x160]
mulss xmm0, dword [0x10085cb0]
movss xmm1, dword [0x10085cb4]
addss xmm0, dword [ebp - 0x30]
movss dword [ebp + 6], xmm0
movss xmm0, dword [eax + 0x18]
addss xmm0, xmm0
mov dword [ebp + 0x1a], 0x3f800000
mov dword [ebp + 0x32], 0x3c23d70a
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp + 0xa], xmm0
movss xmm0, dword [eax + 0x10]
mulss xmm0, xmm1
movss dword [ebp + 0x1e], xmm0
movss xmm0, dword [eax + 0x14]
mulss xmm0, xmm1
movss dword [ebp + 0x22], xmm0
movss xmm0, dword [eax + 0x18]
mulss xmm0, xmm1
movss dword [ebp + 0x26], xmm0
call fcn.1000170d
push ebx
push 8
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x160]
mov byte [ebp + 0x38], 0xd2
call fcn.10001983
push 0x36
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x160]
call fcn.10001932
mov ecx, dword [0x10179578]
lea eax, [ebp - 0x160]
push edi
push 7
push ebx
push eax
call fcn.1003e4a4
lea ecx, [ebp - 0x160]
call fcn.10001728
lea ecx, [ebp - 0x274]
call fcn.10001728
pop ebx
lea ecx, [ebp - 0x388]
call fcn.10001728
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
add ebp, 0x3c
leave
ret