Function at 0x1800425c0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
lea rbp, [rsp - 0x18]
sub rsp, 0x118
movaps xmmword [rsp + 0xf0], xmm7
mov rax, qword [0x18012c038]
xor rax, rsp
mov qword [rbp - 0x68], rax
cmp byte [0x18012d07d], 0
movaps xmm7, xmm0
je 0x18004262e
xorps xmm0, xmm0
lea rdx, [rbp - 0x78]
xor ecx, ecx
movups xmmword [rbp - 0x78], xmm0
call qword [sym.imp.XINPUT1_4.dll_Ordinal_2]
test eax, eax
jne 0x18004262e
movzx eax, byte [rbp - 0x72]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x180116888]
comiss xmm0, dword [0x1801166c8]
seta al
test al, al
je 0x18004262e
mov dil, 1
jmp 0x180042631
xor dil, dil
mov ecx, dword [0x18012d0a0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18004264b
test dil, dil
je 0x180042be5
movabs rax, 0x142670d80
mov rax, qword [rax]
test rax, rax
je 0x180042be5
mov qword [rsp + 0x130], rbx
mov rbx, qword [rax + 0x60]
test rbx, rbx
je 0x180042bdd
mov rbx, qword [rbx + 0x540]
mov qword [rsp + 0x110], r15
movabs r15, 0xefffffffeffff
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x180042bd5
mov rdx, qword [rbx]
lea rax, [rdx - 0x10000]
cmp rax, r15
ja 0x180042bd5
mov qword [rsp + 0x138], rsi
movabs rsi, 0xfffffffebfffffff
lea rax, [rdx + rsi]
cmp rax, 0xffffffd
ja 0x180042bcd
mov rcx, rbx
call qword [rdx + 0x20]
test al, al
je 0x1800426ec
cmp qword [rbx + 0x14c0], 0
jne 0x180042bcd
mov rcx, rbx
call fcn.1800413e0
mov rbx, rax
lea rcx, [rax - 0x10000]
cmp rcx, r15
ja 0x180042bcd
mov rax, qword [rax]
lea rcx, [rax - 0x10000]
cmp rcx, r15
ja 0x180042bcd
lea rcx, [rax + rsi]
cmp rcx, 0xffffffd
ja 0x180042bcd
mov rcx, qword [rbx + 0x140]
lea rax, [rcx - 0x10000]
cmp rax, r15
ja 0x180042bcd
movss xmm0, dword [rcx + 0x20]
movaps xmmword [rsp + 0x100], xmm6
xorps xmm6, xmm6
comiss xmm0, xmm6
seta al
test al, al
je 0x180042bc5
mov rcx, qword [rbx + 0x570]
test rcx, rcx
je 0x180042bc5
mov r8, qword [rcx + 0x890]
lea rax, [r8 - 0x10000]
cmp rax, r15
ja 0x180042bc5
movsxd rax, dword [rcx + 0xa98]
cmp eax, 1
ja 0x180042bc5
mov r8, qword [r8 + rax*8]
test r8, r8
je 0x180042bc5
mov rdx, qword [r8 + 0x49a8]
test rdx, rdx
je 0x180042bc5
test dil, dil
je 0x1800427de
movabs rax, qword [0x142671fb0]
mov rcx, qword [rax + 0x58]
mov r9, qword [rcx + 0x10]
lea rax, [r9 - 0x10000]
cmp rax, r15
ja 0x1800427de
dec dword [r9 + 0x104]
mov rsi, qword [r8 + 0x4988]
test rsi, rsi
je 0x180042bc5
mov qword [rsp + 0x140], r14
mov r14, qword [rsi + 0x10]
test r14, r14
je 0x180042bbd
movups xmm0, xmmword [rdx + 0x40]
movups xmm2, xmmword [0x18012d4a8]
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rsp + 0x30], xmm0
movq rdi, xmm2
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rdx + 0x70]
lea rax, [rdi - 0x10000]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x18012d4b8]
movsd qword [rbp - 0x80], xmm0
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm2
cmp rax, r15
ja 0x180042bbd
test rdi, rdi
je 0x180042bbd
mov rax, qword [rbp - 0x80]
shr rax, 0x20
test al, al
je 0x180042bbd
movsd xmm0, qword [rsp + 0x78]
mov rcx, rdi
mov eax, dword [rbp - 0x80]
movaps xmmword [rsp + 0xe0], xmm8
movsd qword [rbp - 0x78], xmm0
movaps xmmword [rsp + 0xa0], xmm12
mov dword [rbp - 0x70], eax
call fcn.1800413e0
mov r8, rax
lea r9, [rbp - 0x78]
lea rax, [rsp + 0x30]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800414e0
movss xmm1, dword [0x18012d09c]
movaps xmm12, xmm0
comiss xmm6, xmm1
mov eax, dword [rbp - 0x70]
mov dword [rbp - 0x80], eax
movsd xmm8, qword [rbp - 0x78]
movsd qword [rsp + 0x78], xmm8
jae 0x180042bab
cmp rdi, qword [0x18012d4d0]
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xc0], xmm10
movaps xmmword [rsp + 0xb0], xmm11
je 0x180042943
movss xmm0, dword [0x18012d098]
call fcn.1800a2f60
movss xmm1, dword [0x18012d09c]
movaps xmm6, xmm0
movss xmm0, dword [0x18012d098]
call fcn.1800a2f60
movss dword [0x18012d4c4], xmm0
movaps xmm4, xmm0
movss dword [0x18012d4c0], xmm6
mov qword [0x18012d4c8], 0
jmp 0x180042953
movss xmm4, dword [0x18012d4c4]
movss xmm6, dword [0x18012d4c0]
movsd xmm3, qword [0x18012d4c8]
xorps xmm2, xmm2
movaps xmm0, xmm7
unpcklps xmm0, xmm7
movsd xmm2, xmm0
addps xmm2, xmm3
comiss xmm2, xmm6
movsd qword [0x18012d4c8], xmm2
jbe 0x180042980
movss dword [0x18012d4c8], xmm6
movss xmm0, dword [0x18012d4cc]
comiss xmm0, xmm4
jbe 0x180042995
movss dword [0x18012d4cc], xmm4
movss xmm2, dword [rsp + 0x64]
xorps xmm6, xmm6
movss xmm3, dword [rsp + 0x68]
movaps xmm0, xmm8
movaps xmm4, xmm0
movss dword [rbp - 0x70], xmm3
movss xmm0, dword [rbp - 0x80]
movlhps xmm4, xmm0
movss xmm0, dword [rsp + 0x60]
unpcklps xmm0, xmm2
xorps xmm2, xmm2
movsd xmm2, xmm0
mov qword [rbp - 0x78], 0
movlhps xmm2, xmm3
subps xmm4, xmm2
movaps xmm0, xmm4
shufps xmm4, xmm4, 0xaa
movsd xmm6, xmm0
xorps xmm0, xmm0
movss xmm0, xmm4
movlhps xmm6, xmm0
movaps xmm2, xmm6
mulps xmm2, xmm6
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 [0x1800ce070]
divps xmm6, xmm1
cmpneqps xmm1, xmm0
andps xmm6, xmm1
andps xmm6, xmm2
andnps xmm2, xmmword [0x1800ce080]
orps xmm6, xmm2
movaps xmm9, xmm6
shufps xmm6, xmm6, 0xaa
movaps xmm0, xmm9
movss dword [rbp - 0x70], xmm6
mulss xmm0, xmm9
movaps xmm1, xmm6
mulss xmm1, xmm6
movsd qword [rbp - 0x78], xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180042a6a
xorps xmm11, xmm11
sqrtss xmm11, xmm1
jmp 0x180042a76
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm11, xmm0
movss xmm8, dword [rbp - 0x74]
movaps xmm1, xmm11
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm1, dword [rbp - 0x70]
xorps xmm4, xmm4
movsd xmm4, xmm9
movaps xmm10, xmm0
movlhps xmm4, xmm1
movaps xmm0, xmm9
mulps xmm4, xmm4
movaps xmm1, xmm6
movaps xmm3, xmm4
shufps xmm3, xmm4, 0x66
addss xmm4, xmm3
movaps xmm2, xmm3
shufps xmm2, xmm3, 0x55
addss xmm4, xmm2
shufps xmm4, xmm4, 0
sqrtps xmm7, xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm9, xmm0
movaps xmm1, xmm11
xorps xmm9, xmmword [0x180116f00]
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
xorps xmm7, xmmword [0x180116f00]
movaps xmm8, xmm0
divss xmm7, dword [0x180116880]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
movss xmm1, dword [0x180116700]
xorps xmm6, xmm6
movaps xmm11, xmmword [rsp + 0xb0]
subss xmm1, xmm0
movaps xmm0, xmm9
movaps xmm9, xmmword [rsp + 0xd0]
mulss xmm1, xmm10
movaps xmm10, xmmword [rsp + 0xc0]
subss xmm8, xmm1
unpcklps xmm0, xmm8
movsd xmm6, xmm0
add rsi, 0x28
jne 0x180042b5d
mov r8d, 0x140
lea rdx, str.C:Program_Files__x86_Windows_Kits10Include10.0.22000.0umDirectXMathConvert.inl
lea rcx, str.pSource
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsd xmm0, qword [rsi]
lea r8, [rbp - 0x78]
subps xmm6, xmm0
lea rdx, [r14 + 0x14]
movaps xmm0, xmm6
movsd qword [rbp - 0x78], xmm6
shufps xmm0, xmm0, 0x55
subss xmm0, xmm12
movss dword [rbp - 0x74], xmm0
call fcn.180041e80
movsd xmm0, qword [rbp - 0x78]
movups xmm1, xmmword [rsp + 0x70]
movsd qword [r14 + 0x14], xmm0
movsd xmm0, qword [rbp - 0x80]
movsd qword [0x18012d4e0], xmm0
movups xmmword [0x18012d4d0], xmm1
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xa0]
mov r14, qword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0x100]
mov rsi, qword [rsp + 0x138]
mov r15, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rbp - 0x68]
xor rcx, rsp
call fcn.1800b2700
movaps xmm7, xmmword [rsp + 0xf0]
add rsp, 0x118
pop rdi
pop rbp
ret