Function at 0x10006c00
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov al, byte [0x8c9cab]
push ebx
mov bh, byte [0x8c9caa]
mov bl, dl
push esi
mov esi, dword [0x100b602c]
push edi
mov dword [ebp - 0x14], ecx
mov byte [ebp - 1], al
movss xmm1, dword [esi + 0x25684]
movss xmm0, dword [esi + 0x25680]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10005cf0
movss xmm1, dword [0x100ae998]
movaps xmm2, xmm0
comiss xmm1, xmm2
movss dword [ebp - 0x24], xmm2
ja 0x10006f02
movd xmm1, dword [esi + 0x84]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jbe 0x10006c7c
cmp dword [0x797520], 0x3ff
je 0x10006f02
test bl, bl
jne 0x10006c8e
cmp bh, 0x7f
je 0x10006c8e
cmp byte [ebp - 1], bl
jne 0x10006f02
cmp byte [0x100ba3ee], 0
je 0x10006ca4
cmp byte [0x100ba3e6], 0
je 0x10006f02
test bl, bl
movzx eax, bh
mov ecx, 0x7f
mov dword [ebp - 0x10], 0x56b5d0
cmovne ecx, eax
mov dword [ebp - 0x1c], ecx
mov edi, str.com_maxfps
call dword [ebp - 0x10]
mov ecx, dword [0x74e358]
mov edx, dword [0x100b602c]
movss xmm3, dword [0x100aead0]
movd xmm1, dword [ecx + 0x6c]
movss xmm0, dword [edx + 0x25690]
movss dword [ebp - 0xc], xmm0
cvtdq2ps xmm1, xmm1
movss dword [ebp - 8], xmm1
test eax, eax
je 0x10006cfd
movd xmm3, dword [eax + 0xc]
cvtdq2ps xmm3, xmm3
cmp dword [0x100b9cbc], 0x7d
movaps xmm0, xmm3
divss xmm0, xmm1
movss dword [ebp - 0x10], xmm0
jne 0x10006d2a
cmp dword [0x797520], 0x3ff
jne 0x10006d2a
movaps xmm0, xmm1
divss xmm0, xmm3
movss dword [ebp - 0x10], xmm0
movss xmm1, dword [0x100aeaf8]
comiss xmm1, xmm2
jbe 0x10006d44
movaps xmm0, xmm1
subss xmm0, xmm2
subss xmm1, xmm0
jmp 0x10006d58
cmp dword [0x797520], 0x3fe
jne 0x10006d5d
movss xmm1, dword [0x100aeb0c]
movss dword [ebp - 8], xmm1
movss xmm0, dword [edx + 0x25684]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x30], xmm0
movss xmm0, dword [edx + 0x25680]
fld qword [ebp - 0x30]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x30], xmm0
fld qword [ebp - 0x30]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x30]
cvtpd2ps xmm0, xmm0
mov bh, byte [ebp - 1]
movsx eax, bh
neg eax
mulss xmm0, dword [0x100aeaf0]
divss xmm0, dword [0x100aea20]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x30], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [ebp - 0x1c]
movsx eax, al
movsd qword [ebp - 0x38], xmm0
xorps xmm0, xmm0
fld qword [ebp - 0x38]
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x38], xmm0
fld qword [ebp - 0x38]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [ebp - 0x38]
movsd xmm0, qword [ebp - 0x38]
mulsd xmm0, qword [0x100aea48]
divsd xmm0, qword [0x100ae9f8]
movsd qword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
divss xmm0, dword [ebp - 0x24]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_acos_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x100aeaf0]
divss xmm0, dword [0x100aea20]
cvtss2sd xmm0, xmm0
movsd qword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0xc]
movss dword [ebp - 8], xmm0
test bh, bh
jg 0x10006ed2
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x57
call esi
test ax, ax
jns 0x10006e5c
push 0x45
call esi
test ax, ax
jns 0x10006e5c
test bl, bl
jne 0x10006ed2
push 0x53
call esi
test ax, ax
jns 0x10006e72
push 0x45
call esi
test ax, ax
jns 0x10006e72
test bl, bl
jne 0x10006ed2
test bh, bh
js 0x10006ea2
push 0x57
call esi
test ax, ax
jns 0x10006e8c
push 0x51
call esi
test ax, ax
jns 0x10006e8c
test bl, bl
jne 0x10006ea2
push 0x53
call esi
test ax, ax
jns 0x10006ef6
push 0x51
call esi
test ax, ax
jns 0x10006ef6
test bl, bl
je 0x10006ef6
movsd xmm0, qword [ebp - 0x28]
addsd xmm0, qword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
subsd xmm0, qword [ebp - 0x20]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 8], xmm0
subss xmm0, dword [ebp - 0xc]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsd xmm0, qword [ebp - 0x30]
subsd xmm0, qword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
subsd xmm0, qword [ebp - 0x20]
cvtpd2ps xmm1, xmm0
movss dword [ebp - 8], xmm1
subss xmm1, dword [ebp - 0xc]
movss dword [eax], xmm1
movss xmm0, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x100aebd0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret