Function at 0x1007ffd0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0x2c]
sub esp, 0x34
mov edx, dword [0x10213bc0]
push ebx
mov edx, dword [eax + edx*4]
mov eax, dword [0x1024c5b8]
push esi
push edi
mov edi, ecx
cmp eax, dword [edx + 4]
jle 0x10080048
push 0x1024c5b8
call fcn.10177088
add esp, 4
cmp dword [0x1024c5b8], 0xffffffff
jne 0x10080048
push 0x1017f530
mov dword [0x1024c5c4], 0
mov dword [0x1024c5c0], 0
mov dword [0x1024c5bc], 0
call fcn.10176fec
add esp, 4
push 0x1024c5b8
call fcn.10177037
add esp, 4
cmp byte [0x1024aa02], 0
je 0x100804dd
push dword [0x1024a2e0]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x100804dd
mov ebx, dword [0x10249c14]
test ebx, ebx
je 0x100804fb
mov eax, dword [0x10249c10]
test eax, eax
jne 0x100800af
mov edx, 0xe80c2f78
mov ecx, 0x101e7481
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73a9
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov dword [0x10249c10], eax
cmp dword [eax + ebx], 0
jle 0x100804fb
movss xmm0, dword [0x1024c5bc]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movss dword [esp + 0x18], xmm0
lahf
test ah, 0x44
jp 0x10080145
movss xmm0, dword [0x1024c5c0]
ucomiss xmm0, xmm1
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x1024c5c4]
lahf
movss dword [esp + 0xc], xmm0
test ah, 0x44
jp 0x10080161
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10080161
movss xmm0, dword [edi + 0xb8]
movss dword [esp + 0x18], xmm0
movss dword [0x1024c5bc], xmm0
movss xmm0, dword [edi + 0xbc]
movss dword [esp + 0x14], xmm0
movss dword [0x1024c5c0], xmm0
movss xmm0, dword [edi + 0xc0]
movss dword [esp + 0xc], xmm0
movss dword [0x1024c5c4], xmm0
jmp 0x10080161
movss xmm0, dword [0x1024c5c4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x1024c5c0]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edi + 0xc4]
mulss xmm0, dword [0x1020918c]
movss dword [esp + 0x34], xmm0
call fcn.1000a460
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x34]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss dword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0xc8]
mulss xmm0, dword [0x1020918c]
movss dword [esp + 0x34], xmm0
call fcn.1000a460
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x34]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss dword [esp + 0x30], xmm0
movss xmm0, dword [edi + 0xcc]
mulss xmm0, dword [0x1020918c]
movss dword [esp + 0x34], xmm0
call fcn.1000a460
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x34]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss xmm4, dword [esp + 0x30]
movaps xmm7, xmm0
movss xmm5, dword [esp + 0x28]
movaps xmm1, xmm4
mulss xmm1, dword [esp + 0x10]
mov eax, dword [0x10245524]
mov ecx, eax
movss xmm6, dword [esp + 0x24]
mov edx, eax
movss xmm2, dword [0x10209860]
mov ebx, eax
movss xmm3, dword [esp + 0x20]
movss dword [esp + 0x2c], xmm1
movaps xmm1, xmm5
mulss xmm1, dword [esp + 0x10]
shr ecx, 4
movss dword [esp + 0x1c], xmm0
and ecx, 0xffffff01
mulss xmm7, xmm5
shr edx, 3
movss dword [esp + 0x30], xmm1
movaps xmm1, xmm6
mov dword [esp + 0x38], ecx
and dl, 1
xorps xmm1, xmm2
movss dword [esp + 0x34], xmm1
movaps xmm1, xmm3
mulss xmm1, xmm6
movaps xmm0, xmm1
mulss xmm1, xmm5
mulss xmm0, xmm4
subss xmm7, xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x24], xmm7
movaps xmm7, xmm0
mulss xmm7, xmm4
mulss xmm0, xmm6
xorps xmm7, xmm2
subss xmm7, xmm1
movaps xmm1, xmm3
movaps xmm6, xmm0
movss dword [esp + 0x20], xmm7
movss xmm7, dword [esp + 0x10]
mulss xmm1, xmm7
movss dword [esp + 0x10], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm5
xorps xmm1, xmm2
mulss xmm3, xmm4
movss dword [esp + 0x28], xmm1
movaps xmm1, xmm6
mulss xmm1, xmm4
mulss xmm6, xmm5
movss xmm5, dword [esp + 0x1c]
addss xmm1, xmm0
mulss xmm5, xmm7
subss xmm6, xmm3
movss dword [esp + 0x3c], xmm1
mov ecx, eax
mov dword [esp + 0x10], eax
shr dword [esp + 0x10], 1
and byte [esp + 0x10], 1
shr ecx, 9
and ecx, 0xffffff01
shr ebx, 0xa
mov dword [esp + 0x1c], ecx
and bl, 1
mov ecx, eax
shr eax, 2
shr ecx, 0x11
and cl, 1
test al, 1
je 0x10080328
movss xmm4, dword [0x10209278]
jmp 0x10080330
movss xmm4, dword [0x102092f8]
test cl, cl
je 0x1008033c
mulss xmm4, dword [0x102092d0]
test dl, dl
je 0x1008038a
movss xmm1, dword [esp + 0x2c]
movss xmm3, dword [esp + 0x30]
movss xmm2, dword [esp + 0x34]
mulss xmm1, xmm4
mulss xmm3, xmm4
addss xmm1, dword [esp + 0x18]
mulss xmm2, xmm4
addss xmm3, dword [esp + 0x14]
addss xmm2, dword [esp + 0xc]
movss dword [0x1024c5bc], xmm1
movss dword [0x1024c5c0], xmm3
movss dword [0x1024c5c4], xmm2
jmp 0x1008039c
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [esp + 0xc]
movss xmm3, dword [esp + 0x14]
movss xmm7, dword [esp + 0x20]
test bl, bl
je 0x100803e5
movss xmm0, dword [esp + 0x24]
mulss xmm0, xmm4
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm4
addss xmm3, xmm0
movss dword [0x1024c5bc], xmm1
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm4
movss dword [0x1024c5c0], xmm3
addss xmm2, xmm0
movss dword [0x1024c5c4], xmm2
cmp byte [esp + 0x1c], 0
je 0x10080428
movss xmm0, dword [esp + 0x24]
mulss xmm0, xmm4
mulss xmm7, xmm4
subss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm4
subss xmm3, xmm7
subss xmm2, xmm0
movss dword [0x1024c5bc], xmm1
movss dword [0x1024c5c0], xmm3
movss dword [0x1024c5c4], xmm2
cmp byte [esp + 0x38], 0
je 0x10080471
movss xmm0, dword [esp + 0x2c]
mulss xmm0, xmm4
subss xmm1, xmm0
movss xmm0, dword [esp + 0x30]
mulss xmm0, xmm4
subss xmm3, xmm0
movss dword [0x1024c5bc], xmm1
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm4
movss dword [0x1024c5c0], xmm3
subss xmm2, xmm0
movss dword [0x1024c5c4], xmm2
cmp byte [esp + 0x10], 0
je 0x100804ae
movss xmm0, dword [esp + 0x3c]
mulss xmm0, xmm4
mulss xmm6, xmm4
mulss xmm5, xmm4
addss xmm1, xmm0
addss xmm6, xmm3
addss xmm5, xmm2
movss dword [0x1024c5bc], xmm1
movss dword [0x1024c5c0], xmm6
movss dword [0x1024c5c4], xmm5
movss dword [edi + 0xb8], xmm1
movss xmm0, dword [0x1024c5c0]
movss dword [edi + 0xbc], xmm0
movss xmm0, dword [0x1024c5c4]
movss dword [edi + 0xc0], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x1024c5bc], 0
mov dword [0x1024c5c0], 0
mov dword [0x1024c5c4], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret