Function at 0x1800419a0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xf0
movaps xmmword [rsp + 0xd0], xmm7
mov rax, qword [0x180114018]
xor rax, rsp
mov qword [rbp - 1], rax
cmp byte [0x180114de4], 0
movaps xmm7, xmm0
je 0x180041eb6
mov ecx, dword [reloc.XINPUT1_4.dll_Ordinal_2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180041eb6
movabs rax, 0x142670d80
mov rax, qword [rax]
test rax, rax
je 0x180041eb6
mov qword [rsp + 0x100], rbx
mov rbx, qword [rax + 0x60]
test rbx, rbx
je 0x180041eae
mov rbx, qword [rbx + 0x540]
test rbx, rbx
je 0x180041eae
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
test al, al
je 0x180041a3f
cmp qword [rbx + 0x14c0], 0
jne 0x180041eae
mov rcx, rbx
call fcn.180040b60
mov rbx, rax
test rax, rax
je 0x180041eae
mov rax, qword [rax + 0x140]
movabs r8, 0xefffffffeffff
lea rcx, [rax - 0x10000]
cmp rcx, r8
ja 0x180041eae
movss xmm0, dword [rax + 0x20]
movaps xmmword [rsp + 0xe0], xmm6
xorps xmm6, xmm6
comiss xmm0, xmm6
seta al
test al, al
je 0x180041ea6
mov rcx, qword [rbx + 0x570]
test rcx, rcx
je 0x180041ea6
mov rdx, qword [rcx + 0x890]
lea rax, [rdx - 0x10000]
cmp rax, r8
ja 0x180041ea6
movsxd rax, dword [rcx + 0xa98]
cmp eax, 1
ja 0x180041ea6
mov rcx, qword [rdx + rax*8]
test rcx, rcx
je 0x180041ea6
mov rax, qword [rcx + 0x49a8]
test rax, rax
je 0x180041ea6
mov qword [rsp + 0x108], rsi
mov rsi, qword [rcx + 0x4988]
test rsi, rsi
je 0x180041e9e
mov qword [rsp + 0x118], r14
mov r14, qword [rsi + 0x10]
test r14, r14
je 0x180041e96
movups xmm0, xmmword [rax + 0x40]
mov qword [rsp + 0x110], rdi
movups xmm1, xmmword [rax + 0x50]
movups xmm2, xmmword [0x180114fe8]
movups xmmword [rbp - 0x69], xmm0
movups xmm0, xmmword [rax + 0x60]
movq rdi, xmm2
movups xmmword [rbp - 0x59], xmm1
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rbp - 0x49], xmm0
movsd xmm0, qword [0x180114ff8]
lea rax, [rdi - 0x10000]
movsd qword [rbp - 0x19], xmm0
movups xmmword [rbp - 0x39], xmm1
movups xmmword [rbp - 0x29], xmm2
cmp rax, r8
ja 0x180041e8e
test rdi, rdi
je 0x180041e8e
mov rax, qword [rbp - 0x19]
shr rax, 0x20
test al, al
je 0x180041e8e
movsd xmm0, qword [rbp - 0x21]
mov rcx, rdi
mov eax, dword [rbp - 0x19]
movsd qword [rbp - 0x11], xmm0
movaps xmmword [rsp + 0xa0], xmm10
mov dword [rbp - 9], eax
call fcn.180040b60
mov r8, rax
lea r9, [rbp - 0x11]
lea rax, [rbp - 0x69]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.180040c60
movsd xmm1, qword [rbp - 0x11]
movaps xmm10, xmm0
mov eax, dword [rbp - 9]
movsd qword [rbp - 0x21], xmm1
movss xmm1, dword [0x180114df0]
comiss xmm6, xmm1
mov dword [rbp - 0x19], eax
jae 0x180041e85
cmp rdi, qword [0x180115010]
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm9
je 0x180041c3f
movss xmm0, dword [0x180114dec]
call fcn.18009d100
movss xmm1, dword [0x180114df0]
movaps xmm6, xmm0
movss xmm0, dword [0x180114dec]
call fcn.18009d100
movss dword [0x180115004], xmm0
movaps xmm3, xmm0
movss dword [0x180115000], xmm6
mov qword [0x180115008], 0
jmp 0x180041c4f
movss xmm3, dword [0x180115004]
movss xmm6, dword [0x180115000]
movsd xmm2, qword [0x180115008]
xorps xmm1, xmm1
xorps xmm0, xmm0
movss dword [rbp - 0x11], xmm7
movss xmm0, xmm7
movss dword [rbp - 0xd], xmm7
movss xmm1, xmm7
unpcklps xmm1, xmm0
addps xmm1, xmm2
comiss xmm1, xmm6
movaps xmm0, xmm1
movss dword [0x180115008], xmm1
shufps xmm0, xmm1, 0x55
movss dword [0x18011500c], xmm0
jbe 0x180041c99
movss dword [0x180115008], xmm6
comiss xmm0, xmm3
jbe 0x180041ca6
movss dword [0x18011500c], xmm3
movss xmm2, dword [rbp - 0x39]
xorps xmm9, xmm9
movss xmm3, dword [rbp - 0x35]
movaps xmm1, xmm2
movss xmm4, dword [rbp - 0x31]
movsd xmm5, qword [rbp - 0x21]
movss xmm0, dword [rbp - 0x19]
unpcklps xmm1, xmm3
movlhps xmm5, xmm0
xorps xmm0, xmm0
movss dword [rbp - 0x11], xmm2
movlhps xmm1, xmm4
subps xmm5, xmm1
movss dword [rbp - 0xd], xmm3
movss dword [rbp - 9], xmm4
movss xmm9, xmm5
movaps xmm1, xmm5
shufps xmm1, xmm5, 0x55
movaps xmm2, xmm5
movss xmm0, xmm1
shufps xmm2, xmm5, 0xaa
unpcklps xmm9, xmm0
xorps xmm0, xmm0
movss xmm0, xmm2
movlhps xmm9, xmm0
movaps xmm2, xmm9
mulps xmm2, xmm9
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x99
addss xmm2, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm2, xmm0
xorps xmm0, xmm0
shufps xmm2, xmm2, 0
sqrtps xmm1, xmm2
cmpneqps xmm2, xmmword [0x1800bac00]
divps xmm9, xmm1
cmpneqps xmm1, xmm0
andps xmm9, xmm1
andps xmm9, xmm2
andnps xmm2, xmmword [0x1800bac10]
orps xmm9, xmm2
movaps xmm6, xmm9
movaps xmm8, xmm9
shufps xmm6, xmm9, 0xaa
movaps xmm0, xmm9
movaps xmm1, xmm6
shufps xmm8, xmm9, 0x55
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
xorps xmm3, xmm3
movss dword [rbp - 0x11], xmm9
movss xmm3, xmm9
movss dword [rbp - 0xd], xmm8
xorps xmm1, xmm1
movss dword [rbp - 9], xmm6
movaps xmm7, xmm0
movss xmm1, xmm8
xorps xmm7, xmmword [0x1800ffa50]
xorps xmm0, xmm0
unpcklps xmm3, xmm1
movss xmm0, xmm6
movlhps xmm3, xmm0
movaps xmm0, xmm8
mulps xmm3, xmm3
movaps xmm2, xmm3
shufps xmm2, xmm3, 0x66
addss xmm3, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
addss xmm3, xmm1
shufps xmm3, xmm3, 0
sqrtps xmm1, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
xorps xmm2, xmm2
movss dword [rbp - 0x11], xmm7
xorps xmm6, xmm6
movss dword [rbp - 0xd], xmm0
movss xmm2, xmm0
add rsi, 0x28
movss xmm6, xmm7
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
unpcklps xmm6, xmm2
jne 0x180041e21
mov r8d, 0x140
lea rdx, str.C:Program_Files__x86_Windows_Kits10Include10.0.19041.0umDirectXMathConvert.inl
lea rcx, str.pSource
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsd xmm2, qword [rsi]
lea rdx, [rbp - 0x11]
movsd xmm3, qword [0x180115000]
subps xmm6, xmm2
movsd xmm2, qword [0x180115008]
lea rcx, [r14 + 0x14]
divps xmm2, xmm3
movss dword [rbp - 0x11], xmm6
shufps xmm6, xmm6, 0x55
movaps xmm3, xmm2
subss xmm6, xmm10
shufps xmm3, xmm2, 0x55
movss dword [rbp - 0xd], xmm6
call fcn.18009cb20
movsd xmm0, qword [rbp - 0x11]
movups xmm1, xmmword [rbp - 0x29]
movsd qword [r14 + 0x14], xmm0
movsd xmm0, qword [rbp - 0x19]
movsd qword [0x180115020], xmm0
movups xmmword [0x180115010], xmm1
movaps xmm10, xmmword [rsp + 0xa0]
mov rdi, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x108]
movaps xmm6, xmmword [rsp + 0xe0]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1800ac420
movaps xmm7, xmmword [rsp + 0xd0]
add rsp, 0xf0
pop rbp
ret