Function at 0x18003a4d0
Capabilities:
Log keystrokes via polling

Disassembly:
test dl, dl
je 0x18003aba5
sub rsp, 0x1f8
mov rax, qword [0x1801f78c0]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003ab8e
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x208], rbp
mov qword [rsp + 0x210], rsi
mov qword [rsp + 0x1f0], rdi
mov dword [rsp + 0xc0], 0xa
call fcn.180026520
xor ebp, ebp
movabs rdi, 0xd80958fc74e988a6
mov rcx, rdi
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180026520
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
lea r8, [rsp + 0xc0]
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov qword [rcx + rdx*8], r8
inc dword [rax + 8]
call fcn.180026520
movabs rcx, 0x23f8f5fc7e8c4a6b
mov r8d, dword [rax + 8]
mov rdx, qword [rax + 0x10]
mov dword [rdx + r8*8], 0xffffffff
inc dword [rax + 8]
call fcn.1800263c0
call fcn.180026520
mov dword [rsp + 0x60], 0xa
call fcn.180026520
mov rcx, rdi
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180026520
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
lea r8, [rsp + 0x60]
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov qword [rcx + rdx*8], r8
movabs rcx, 0xcff869cbfa210d82
inc dword [rax + 8]
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
movsxd rsi, dword [rcx]
test rsi, rsi
jle 0x18003ab6e
mov qword [rsp + 0x1e8], r12
mov edi, ebp
mov qword [rsp + 0x1e0], r13
movabs r12, 0x9a9112a0fe9a4713
mov qword [rsp + 0x1d8], r14
movabs r13, 0x837765a25378f0bb
mov qword [rsp + 0x1d0], r15
movabs r14, 0x524ac5ecea15343e
movaps xmmword [rsp + 0x1c0], xmm6
movabs r15, 0x997abd671d25ca0b
movaps xmmword [rsp + 0x1b0], xmm7
movaps xmmword [rsp + 0x1a0], xmm8
movaps xmmword [rsp + 0x190], xmm9
movaps xmmword [rsp + 0x180], xmm10
movaps xmmword [rsp + 0x170], xmm11
xorps xmm11, xmm11
movaps xmmword [rsp + 0x160], xmm12
movaps xmmword [rsp + 0x150], xmm13
movss xmm13, dword [0x1801bc768]
movaps xmmword [rsp + 0x140], xmm14
movss xmm14, dword [0x1801bc62c]
movaps xmmword [rsp + 0x130], xmm15
movss xmm15, dword [0x1801bcc10]
nop dword [rax + rax]
mov ebx, dword [rsp + rdi*8 + 0x68]
call fcn.180026520
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
mov rcx, r14
inc dword [rax + 8]
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
cmp dword [rcx], ebp
je 0x18003a7c9
mov ebx, dword [rsp + rdi*8 + 0x68]
call fcn.180026520
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebp
mov rcx, r15
inc dword [rax + 8]
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
cmp dword [rcx], ebp
je 0x18003a7c9
mov ebx, dword [rsp + rdi*8 + 0x68]
call fcn.180026520
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebp
mov rcx, r12
inc dword [rax + 8]
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov eax, dword [rcx]
mov dword [rsp + rdi*8 + 0x68], eax
call fcn.180026520
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebp
mov rcx, r13
inc dword [rax + 8]
call fcn.1800263c0
call fcn.180026520
xorps xmm10, xmm10
xorps xmm9, xmm9
mov rcx, qword [rax]
movups xmm0, xmmword [rcx]
movsd xmm1, qword [rcx + 0x10]
mulss xmm0, xmm14
mulss xmm1, xmm14
cvtss2sd xmm10, xmm0
cvtss2sd xmm9, xmm1
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
andps xmm1, xmmword [0x1801bcbe0]
cvtps2pd xmm8, xmm1
call fcn.180026520
movabs rcx, 0x14d6f5678d8f1b37
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.1800263c0
call fcn.180026520
movaps xmm0, xmm9
mov rcx, qword [rax]
movups xmm6, xmmword [rcx]
movsd xmm7, qword [rcx + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm9
xorps xmm1, xmm15
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm8
cvtpd2ps xmm12, xmm2
mulss xmm12, xmm13
addss xmm12, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
shufps xmm6, xmm6, 0xaa
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm10
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm8
cvtpd2ps xmm8, xmm2
mulss xmm8, xmm13
addss xmm8, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov ebx, dword [rsp + rdi*8 + 0x68]
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
mulss xmm9, xmm13
addss xmm9, xmm7
call fcn.180026520
mov dword [rax + 8], ebp
mov dword [rax + 0x18], ebp
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebp
movabs rcx, 0x3fef770d40960d5a
inc dword [rax + 8]
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
movups xmm7, xmmword [rcx]
movsd xmm0, qword [rcx + 0x10]
mov edx, dword [rsp + rdi*8 + 0x68]
movsd qword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm7
call fcn.18002ffd0
mov edx, dword [rsp + rdi*8 + 0xc8]
call fcn.18002ffd0
comiss xmm12, xmm11
jbe 0x18003a965
comiss xmm7, xmm11
jbe 0x18003a965
movaps xmm6, xmm12
subss xmm6, xmm7
movss dword [0x1802b8668], xmm6
jmp 0x18003a96d
movss xmm6, dword [0x1802b8668]
comiss xmm11, xmm12
jbe 0x18003a989
comiss xmm11, xmm7
jbe 0x18003a989
movaps xmm6, xmm12
subss xmm6, xmm7
movss dword [0x1802b8668], xmm6
comiss xmm12, xmm11
jbe 0x18003a9a5
comiss xmm11, xmm7
jbe 0x18003a9a5
movaps xmm6, xmm12
addss xmm6, xmm7
movss dword [0x1802b8668], xmm6
comiss xmm11, xmm12
jbe 0x18003a9c1
comiss xmm7, xmm11
jbe 0x18003a9c1
movaps xmm6, xmm12
addss xmm6, xmm7
movss dword [0x1802b8668], xmm6
comiss xmm8, xmm11
movss xmm0, dword [rsp + 0x28]
movaps xmm10, xmm6
jbe 0x18003a9e7
comiss xmm0, xmm11
jbe 0x18003a9e7
movaps xmm6, xmm8
subss xmm6, xmm0
movss dword [0x1802b8668], xmm6
comiss xmm11, xmm8
jbe 0x18003aa03
comiss xmm11, xmm0
jbe 0x18003aa03
movaps xmm6, xmm8
subss xmm6, xmm0
movss dword [0x1802b8668], xmm6
comiss xmm8, xmm11
jbe 0x18003aa1f
comiss xmm11, xmm0
jbe 0x18003aa1f
movaps xmm6, xmm8
addss xmm6, xmm0
movss dword [0x1802b8668], xmm6
comiss xmm11, xmm8
jbe 0x18003aa3b
comiss xmm0, xmm11
jbe 0x18003aa3b
movaps xmm6, xmm8
addss xmm6, xmm0
movss dword [0x1802b8668], xmm6
comiss xmm9, xmm11
movss xmm0, dword [rsp + 0x30]
movaps xmm7, xmm6
jbe 0x18003aa60
comiss xmm0, xmm11
jbe 0x18003aa60
movaps xmm6, xmm9
subss xmm6, xmm0
movss dword [0x1802b8668], xmm6
comiss xmm11, xmm9
jbe 0x18003aa7c
comiss xmm11, xmm0
jbe 0x18003aa7c
movaps xmm6, xmm9
subss xmm6, xmm0
movss dword [0x1802b8668], xmm6
comiss xmm9, xmm11
jbe 0x18003aa98
comiss xmm11, xmm0
jbe 0x18003aa98
movaps xmm6, xmm9
addss xmm6, xmm0
movss dword [0x1802b8668], xmm6
comiss xmm11, xmm9
jbe 0x18003aab4
comiss xmm0, xmm11
jbe 0x18003aab4
movaps xmm6, xmm9
addss xmm6, xmm0
movss dword [0x1802b8668], xmm6
mov ecx, dword [rsp + rdi*8 + 0xc8]
addss xmm6, xmm6
addss xmm7, xmm7
addss xmm10, xmm10
movaps xmm3, xmm6
movaps xmm2, xmm7
movaps xmm1, xmm10
call fcn.1800376d0
mov ecx, dword [rsp + rdi*8 + 0x68]
movaps xmm3, xmm6
movaps xmm2, xmm7
movaps xmm1, xmm10
call fcn.1800376d0
inc rdi
cmp rdi, rsi
jl 0x18003a700
movaps xmm15, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm13, xmmword [rsp + 0x150]
movaps xmm12, xmmword [rsp + 0x160]
movaps xmm11, xmmword [rsp + 0x170]
movaps xmm10, xmmword [rsp + 0x180]
movaps xmm9, xmmword [rsp + 0x190]
movaps xmm8, xmmword [rsp + 0x1a0]
movaps xmm7, xmmword [rsp + 0x1b0]
movaps xmm6, xmmword [rsp + 0x1c0]
mov r15, qword [rsp + 0x1d0]
mov r14, qword [rsp + 0x1d8]
mov r13, qword [rsp + 0x1e0]
mov r12, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x210]
mov rbp, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x200]
mov rdi, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.1801536e0
add rsp, 0x1f8
ret