Function at 0x180041bf0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x30]
sub rsp, 0x130
movaps xmmword [rsp + 0x100], xmm7
mov rax, qword [0x18012b038]
xor rax, rsp
mov qword [rbp - 0x60], rax
mov ecx, dword [0x18012c0a0]
movaps xmm7, xmm0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800422c5
movabs rax, 0x142670d80
mov rax, qword [rax]
test rax, rax
je 0x1800422c5
mov qword [rsp + 0x140], rbx
mov rbx, qword [rax + 0x60]
test rbx, rbx
je 0x1800422bd
mov rbx, qword [rbx + 0x540]
mov qword [rsp + 0x120], r15
movabs r15, 0xefffffffeffff
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x1800422b5
mov rdx, qword [rbx]
lea rax, [rdx - 0x10000]
cmp rax, r15
ja 0x1800422b5
mov qword [rsp + 0x150], rdi
movabs rdi, 0xfffffffebfffffff
lea rax, [rdx + rdi]
cmp rax, 0xffffffd
ja 0x1800422ad
mov rcx, rbx
call qword [rdx + 0x20]
test al, al
je 0x180041ccd
cmp qword [rbx + 0x14c0], 0
jne 0x1800422ad
mov rcx, rbx
call fcn.180040c00
mov rbx, rax
lea rcx, [rax - 0x10000]
cmp rcx, r15
ja 0x1800422ad
mov rax, qword [rax]
lea rcx, [rax - 0x10000]
cmp rcx, r15
ja 0x1800422ad
lea rcx, [rax + rdi]
cmp rcx, 0xffffffd
ja 0x1800422ad
mov rcx, qword [rbx + 0x140]
lea rax, [rcx - 0x10000]
cmp rax, r15
ja 0x1800422ad
movss xmm0, dword [rcx + 0x20]
movaps xmmword [rsp + 0x110], xmm6
xorps xmm6, xmm6
comiss xmm0, xmm6
seta al
test al, al
je 0x1800422a5
mov rcx, qword [rbx + 0x570]
test rcx, rcx
je 0x1800422a5
mov rdx, qword [rcx + 0x890]
lea rax, [rdx - 0x10000]
cmp rax, r15
ja 0x1800422a5
movsxd rax, dword [rcx + 0xa98]
cmp eax, 1
ja 0x1800422a5
mov rcx, qword [rdx + rax*8]
test rcx, rcx
je 0x1800422a5
mov rax, qword [rcx + 0x49a8]
test rax, rax
je 0x1800422a5
mov qword [rsp + 0x148], rsi
mov rsi, qword [rcx + 0x4988]
test rsi, rsi
je 0x18004229d
mov qword [rsp + 0x128], r14
mov r14, qword [rsi + 0x10]
test r14, r14
je 0x180042295
movups xmm0, xmmword [rax + 0x40]
movups xmm1, xmmword [rax + 0x50]
movups xmm2, xmmword [0x18012c498]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x60]
movq rdi, xmm2
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x18012c4a8]
lea rax, [rdi - 0x10000]
movsd qword [rbp - 0x80], xmm0
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm2
cmp rax, r15
ja 0x180042295
test rdi, rdi
je 0x180042295
mov rax, qword [rbp - 0x80]
shr rax, 0x20
test al, al
je 0x180042295
movsd xmm0, qword [rsp + 0x78]
mov rcx, rdi
mov eax, dword [rbp - 0x80]
movaps xmmword [rsp + 0xf0], xmm8
movsd qword [rbp - 0x78], xmm0
movaps xmmword [rsp + 0xb0], xmm12
mov dword [rbp - 0x70], eax
call fcn.180040c00
mov r8, rax
lea r9, [rbp - 0x78]
lea rax, [rsp + 0x30]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.180040d00
movss xmm1, dword [0x18012c09c]
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 0x180042283
cmp rdi, qword [0x18012c4c0]
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
je 0x180041f02
movss xmm0, dword [0x18012c098]
call fcn.1800a1740
movss xmm1, dword [0x18012c09c]
movaps xmm6, xmm0
movss xmm0, dword [0x18012c098]
call fcn.1800a1740
movss dword [0x18012c4b4], xmm0
movaps xmm4, xmm0
movss dword [0x18012c4b0], xmm6
mov qword [0x18012c4b8], 0
jmp 0x180041f12
movss xmm4, dword [0x18012c4b4]
movss xmm6, dword [0x18012c4b0]
movsd xmm3, qword [0x18012c4b8]
xorps xmm2, xmm2
movaps xmm0, xmm7
unpcklps xmm0, xmm7
movsd xmm2, xmm0
addps xmm2, xmm3
comiss xmm2, xmm6
movsd qword [0x18012c4b8], xmm2
jbe 0x180041f3f
movss dword [0x18012c4b8], xmm6
movss xmm0, dword [0x18012c4bc]
comiss xmm0, xmm4
jbe 0x180041f54
movss dword [0x18012c4bc], 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 [0x1800cd070]
divps xmm6, xmm1
cmpneqps xmm1, xmm0
andps xmm6, xmm1
andps xmm6, xmm2
andnps xmm2, xmmword [0x1800cd080]
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 0x180042029
xorps xmm11, xmm11
sqrtss xmm11, xmm1
jmp 0x180042035
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 [0x180115b40]
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
xorps xmm7, xmmword [0x180115b40]
movaps xmm8, xmm0
divss xmm7, dword [0x1801154b8]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
movss xmm11, dword [0x180115338]
movaps xmm1, xmm11
subss xmm1, xmm0
movaps xmm0, xmm9
xorps xmm9, xmm9
mulss xmm1, xmm10
subss xmm8, xmm1
unpcklps xmm0, xmm8
movsd xmm9, xmm0
add rsi, 0x28
jne 0x180042108
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 rbx, [r14 + 0x14]
movsd xmm7, qword [0x18012c4b8]
subps xmm9, xmm0
movsd xmm0, qword [0x18012c4b0]
movss xmm10, dword [0x180115400]
divps xmm7, xmm0
mov qword [rbp - 0x78], 0
movaps xmm8, xmm9
movaps xmm0, xmm7
shufps xmm8, xmm8, 0x55
mulss xmm0, xmm10
subss xmm8, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm12, xmm11
movsd qword [rbp - 0x78], xmm7
subss xmm12, xmm0
movaps xmm0, xmm7
shufps xmm0, xmm0, 0x55
mulss xmm0, xmm10
mulss xmm12, dword [0x180115300]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
shufps xmm9, xmm9, 0xe1
subss xmm11, xmm0
movss xmm9, xmm8
xorps xmm6, xmm6
shufps xmm9, xmm9, 0xe1
movsd qword [rbp - 0x68], xmm9
movsd xmm6, xmm9
movaps xmm9, xmmword [rsp + 0xe0]
mulss xmm11, dword [0x180115300]
test rbx, rbx
jne 0x1800421ce
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 [rbx]
movss xmm2, dword [0x180115544]
subps xmm6, xmm0
mov qword [rbp - 0x78], 0
comiss xmm2, xmm6
movsd qword [rbp - 0x78], xmm6
jb 0x1800421f7
addss xmm6, dword [0x180115444]
comiss xmm6, xmm10
jbe 0x180042205
addss xmm6, dword [0x180115550]
movss xmm0, dword [0x180115540]
movss xmm1, dword [rbp - 0x74]
comiss xmm0, xmm1
jb 0x18004221c
addss xmm1, xmm10
comiss xmm1, dword [0x180115378]
movaps xmm10, xmmword [rsp + 0xd0]
jbe 0x180042232
addss xmm1, xmm2
mulss xmm1, xmm11
lea rcx, [rbp - 0x68]
mulss xmm6, xmm12
addss xmm1, dword [rbx + 4]
addss xmm6, dword [rbx]
movss dword [rbp - 0x64], xmm1
movss dword [rbp - 0x68], xmm6
call fcn.1800a1230
movups xmm0, xmmword [rsp + 0x70]
movsd xmm4, qword [rbp - 0x68]
movsd xmm1, qword [rbp - 0x80]
movaps xmm11, xmmword [rsp + 0xc0]
movsd qword [rbx], xmm4
movups xmmword [0x18012c4c0], xmm0
movsd qword [0x18012c4d0], xmm1
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0xb0]
mov r14, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x148]
movaps xmm6, xmmword [rsp + 0x110]
mov rdi, qword [rsp + 0x150]
mov r15, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x140]
mov rcx, qword [rbp - 0x60]
xor rcx, rsp
call fcn.1800b0ef0
movaps xmm7, xmmword [rsp + 0x100]
add rsp, 0x130
pop rbp
ret