Function at 0x1004ab43
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
sub esp, 0x38
mov eax, 0x1007f36a
call fcn.100589b8
sub esp, 0x37c
call fcn.10029fc5
test eax, eax
jne 0x1004aed9
cmp dword [0x101b7550], eax
je 0x1004aed9
cmp dword [0x101a3300], eax
je 0x1004aed9
cmp dword [0x101a3304], eax
je 0x1004aed9
push esi
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 9
call esi
test ax, ax
jns 0x1004aba5
cmp dword [0x10186b6f], 0
jne 0x1004aed8
mov eax, dword [0x101a3318]
push edi
xor edi, edi
cmp dword [eax], edi
jne 0x1004aed7
push 0x79
call esi
test ax, ax
js 0x1004aed7
cmp dword [0x101b7564], edi
je 0x1004aed7
push dword [0x101b756c]
call fcn.1002a269
pop ecx
test eax, eax
jne 0x1004aed7
call fcn.10029fc5
test eax, eax
jne 0x1004aed7
cmp dword [0x101b7550], edi
je 0x1004aed7
cmp dword [0x101a3300], edi
je 0x1004aed7
cmp dword [0x101a3304], edi
je 0x1004aed7
push 9
call esi
test ax, ax
jns 0x1004ac28
cmp dword [0x10186b6f], edi
jne 0x1004aed7
mov eax, dword [0x101a3318]
cmp dword [eax], edi
jne 0x1004aed7
push 0x79
call esi
test ax, ax
js 0x1004aed7
cmp dword [0x101b7564], edi
je 0x1004aed7
push dword [0x101b756c]
call fcn.1002a269
pop ecx
test eax, eax
jne 0x1004aed7
lea ecx, [ebp - 0x388]
call fcn.1000172d
mov eax, dword [0x1015a628]
mov dword [ebp - 4], edi
cmp dword [eax + 0xe9], edi
je 0x1004aecc
push ebx
xor ebx, ebx
inc ebx
push ebx
call fcn.1003db1c
pop ecx
test eax, eax
je 0x1004aecb
call fcn.10042ec3
mov eax, dword [0x1015a628]
cmp dword [eax + 0x25497], 0x7d0
jl 0x1004acb5
mov dword [eax + 0x25497], edi
mov eax, dword [0x1015a628]
push edi
push dword [eax + 0x25497]
call fcn.1002c374
push 0x3f
lea eax, [ebp - 0x4c]
push edi
push eax
call fcn.1005af40
mov ecx, dword [0x101a3304]
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.1003e2fd
mov ecx, dword [0x101a3304]
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 [0x1015a628]
mov ax, word [eax + 0x25497]
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.1000172d
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.100019a3
push 0x3f
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x274]
call fcn.10001952
mov ecx, dword [0x101a32f0]
lea eax, [ebp - 0x274]
push edi
push 7
push ebx
push eax
call fcn.1003e8cc
mov eax, dword [0x1015a628]
xorps xmm0, xmm0
movlpd qword [ebp + 0xe], xmm0
movlpd qword [ebp + 0x2a], xmm0
mov dword [ebp + 0x16], edi
mov ax, word [eax + 0x25497]
mov word [ebp], ax
mov eax, dword [0x100dae18]
movss xmm0, dword [eax + 0x10]
mulss xmm0, dword [0x1008b5b8]
addss xmm0, dword [ebp - 0x34]
movss dword [ebp + 2], xmm0
movss xmm0, dword [eax + 0x14]
lea ecx, [ebp - 0x160]
mulss xmm0, dword [0x1009232c]
movss xmm1, dword [0x10092334]
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.1000172d
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.100019a3
push 0x36
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x160]
call fcn.10001952
mov ecx, dword [0x101a32f0]
lea eax, [ebp - 0x160]
push edi
push 7
push ebx
push eax
call fcn.1003e8cc
lea ecx, [ebp - 0x160]
call fcn.10001748
lea ecx, [ebp - 0x274]
call fcn.10001748
pop ebx
lea ecx, [ebp - 0x388]
call fcn.10001748
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
add ebp, 0x3c
leave
ret