Function at 0x1800a4ba0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push r14
lea rbp, [rsp - 0xe8]
sub rsp, 0x1e8
mov rcx, rdx
mov r14, rdx
call fcn.1800e5f20
mov qword [rbp + 0x128], rax
test rax, rax
je 0x1800a537c
cmp qword [rax + 0x360], 0
je 0x1800a537c
mov rcx, qword [0x18039ccd8]
cmp qword [0x18039ccd0], rcx
je 0x1800a537c
mov ecx, dword [0x18039a5b8]
mov qword [rsp + 0x208], rbx
mov qword [rsp + 0x1e0], rsi
mov qword [rsp + 0x1d8], rdi
mov qword [rsp + 0x1d0], r12
mov qword [rsp + 0x1c8], r13
xor r13d, r13d
mov qword [rsp + 0x1c0], r15
movaps xmmword [rsp + 0x1a0], xmm7
test ecx, ecx
jne 0x1800a4c52
mov ecx, dword [0x18039a5b4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x1800a4c71
cmp ecx, 1
jne 0x1800a4c6b
mov ecx, dword [0x18039a5b4]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
setne al
jmp 0x1800a4c71
cmp ecx, 2
sete al
mov r9d, dword [0x18039a5bc]
test al, al
mov rax, qword [0x18039ccd8]
xorps xmm0, xmm0
cmovne r9d, dword [0x18039a584]
mov r12, r13
mov rsi, qword [0x18039ccd0]
mov r15, r13
mov dword [rbp + 0x110], r9d
xorps xmm7, xmm7
mov qword [rbp - 0x10], r13
mov qword [rbp - 0x28], r13
movdqu xmmword [rbp - 0x20], xmm0
mov rdi, qword [rbp - 0x18]
movdqu xmmword [rbp - 0x38], xmm0
mov rbx, qword [rbp - 0x30]
cmp rsi, rax
je 0x1800a5176
movaps xmmword [rsp + 0x1b0], xmm6
mov r13, rax
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x180], xmm9
movaps xmmword [rsp + 0x170], xmm10
movaps xmmword [rsp + 0x160], xmm11
movaps xmmword [rsp + 0x150], xmm12
movaps xmmword [rsp + 0x140], xmm13
movaps xmmword [rsp + 0x130], xmm14
movss xmm14, dword [0x18024d958]
movaps xmmword [rsp + 0x120], xmm15
movss xmm15, dword [0x18024da00]
nop dword [rax + rax]
mov edx, dword [rsi]
lea rax, [rbp + 0x130]
mov rcx, qword [rbp + 0x118]
lea r9, [rbp + 0x10]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x130], 0
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x58], 0
call fcn.1800e6ce0
mov rax, qword [r14]
lea rdx, [rbp - 0x68]
mov rcx, r14
mov qword [rbp - 0x68], 0
mov dword [rbp - 0x60], 0
call qword [rax + 0x530]
movss xmm12, dword [rsp + 0x54]
movss xmm11, dword [rsp + 0x50]
movaps xmm6, xmm12
subss xmm6, dword [rbp - 0x64]
movss xmm13, dword [rsp + 0x58]
movaps xmm9, xmm11
subss xmm9, dword [rbp - 0x68]
movaps xmm10, xmm13
subss xmm10, dword [rbp - 0x60]
ucomiss xmm6, xmm7
jp 0x1800a4dee
jne 0x1800a4dee
ucomiss xmm9, xmm7
jp 0x1800a4dee
jne 0x1800a4dee
comiss xmm10, xmm7
movaps xmm8, xmm7
jbe 0x1800a4de5
movss xmm0, dword [0x18024d9e0]
jmp 0x1800a4e70
movaps xmm0, xmm14
jmp 0x1800a4e70
movaps xmm1, xmm9
movaps xmm0, xmm6
call fcn.18018b2e4
movaps xmm8, xmm0
mulss xmm8, dword [0x18024d9a8]
divss xmm8, dword [0x18024d884]
comiss xmm7, xmm8
jbe 0x1800a4e1b
addss xmm8, xmm15
xorps xmm10, xmmword [0x18024de30]
xorps xmm0, xmm0
mulss xmm6, xmm6
mulss xmm9, xmm9
addss xmm6, xmm9
ucomiss xmm0, xmm6
ja 0x1800a4e42
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1800a4e4a
movaps xmm0, xmm6
call fcn.1801905e8
movaps xmm1, xmm0
movaps xmm0, xmm10
call fcn.18018b2e4
mulss xmm0, dword [0x18024d9a8]
divss xmm0, dword [0x18024d884]
comiss xmm7, xmm0
jbe 0x1800a4e70
addss xmm0, xmm15
lea rcx, [rbp - 0x48]
movss dword [rbp - 0x48], xmm0
movss dword [rbp - 0x44], xmm8
mov dword [rbp - 0x40], 0
call fcn.18009dc50
movss xmm0, dword [rbp - 0x48]
lea rcx, [rsp + 0x40]
movss xmm1, dword [rbp - 0x44]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
mov dword [rsp + 0x48], 0
call fcn.1800a0640
mov r9, qword [rbp + 0x128]
lea rax, [rbp]
mov rdx, qword [rbp + 0x118]
movaps xmm0, xmm11
unpcklps xmm0, xmm12
mov r8, r14
movsd qword [rsp + 0x50], xmm0
movsd qword [rbp], xmm0
movss dword [rbp + 8], xmm13
mov qword [rsp + 0x20], rax
call fcn.1800a7980
movaps xmm10, xmm0
comiss xmm7, xmm10
jb 0x1800a4fa8
movss xmm1, dword [rsp + 0x40]
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x48]
mov eax, dword [rsi]
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x7c], xmm2
movss dword [rbp - 0x80], xmm0
movss dword [rsp + 0x60], xmm11
movss dword [rsp + 0x64], xmm12
movss dword [rsp + 0x68], xmm13
movss dword [rbp - 0x70], xmm10
mov qword [rsp + 0x6c], 0
mov dword [rsp + 0x74], 0
mov dword [rbp - 0x7c], eax
mov byte [rbp - 0x78], 0
mov byte [rbp - 0x6c], 0
cmp rbx, r15
je 0x1800a4f8a
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rbx], xmm0
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rbx + 0x10], xmm1
movsd xmm1, qword [rbp - 0x70]
movups xmmword [rbx + 0x20], xmm0
movsd qword [rbx + 0x30], xmm1
add rbx, 0x38
mov qword [rbp - 0x30], rbx
jmp 0x1800a510f
lea r8, [rsp + 0x60]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1800a8fd0
mov r15, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
jmp 0x1800a510f
mov rax, qword [r14]
lea rdx, [rbp - 0x58]
mov rcx, r14
mov qword [rbp - 0x58], 0
mov dword [rbp - 0x50], 0
call qword [rax + 0x530]
movss xmm8, dword [rbp - 0x58]
movss xmm9, dword [rbp - 0x54]
subss xmm8, xmm11
movss xmm6, dword [rbp - 0x50]
subss xmm9, xmm12
subss xmm6, xmm13
movaps xmm0, xmm8
mulss xmm0, xmm8
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1800a500e
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1800a5016
movaps xmm0, xmm1
call fcn.1801905e8
comiss xmm0, xmm7
jbe 0x1800a504f
xorps xmm6, xmmword [0x18024de30]
movaps xmm1, xmm0
movaps xmm0, xmm6
call fcn.18018b2e4
movaps xmm6, xmm0
movaps xmm1, xmm8
mulss xmm6, dword [0x18024d938]
movaps xmm0, xmm9
call fcn.18018b2e4
mulss xmm0, dword [0x18024d938]
jmp 0x1800a5065
comiss xmm6, xmm7
jbe 0x1800a505e
movss xmm6, dword [0x18024dadc]
jmp 0x1800a5062
movaps xmm6, xmm14
movaps xmm0, xmm7
movss xmm1, dword [rsp + 0x44]
mov eax, dword [rsi]
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [rsp + 0x48]
movss dword [rbp - 0x80], xmm0
movss dword [rsp + 0x60], xmm11
movss dword [rsp + 0x64], xmm12
movss dword [rsp + 0x68], xmm13
movss dword [rsp + 0x6c], xmm6
movss dword [rsp + 0x7c], xmm1
movss dword [rbp - 0x70], xmm10
mov dword [rsp + 0x74], 0
mov dword [rbp - 0x7c], eax
mov byte [rbp - 0x78], 0
mov byte [rbp - 0x6c], 0
cmp rdi, r12
je 0x1800a50f6
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rdi + 0x10], xmm1
movsd xmm1, qword [rbp - 0x70]
movups xmmword [rdi + 0x20], xmm0
movsd qword [rdi + 0x30], xmm1
add rdi, 0x38
mov qword [rbp - 0x18], rdi
jmp 0x1800a510f
lea r8, [rsp + 0x60]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.1800a8fd0
mov r12, qword [rbp - 0x10]
mov rdi, qword [rbp - 0x18]
add rsi, 4
cmp rsi, r13
jne 0x1800a4d30
movaps xmm15, xmmword [rsp + 0x120]
xor r13d, r13d
movaps xmm14, xmmword [rsp + 0x130]
movaps xmm13, xmmword [rsp + 0x140]
movaps xmm12, xmmword [rsp + 0x150]
movaps xmm11, xmmword [rsp + 0x160]
movaps xmm10, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm6, xmmword [rsp + 0x1b0]
mov r9d, dword [rbp + 0x110]
mov r8, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x120]
mov rsi, qword [rsp + 0x1e0]
cmp r8, rbx
je 0x1800a51fe
lea rdx, [r8 + 0x14]
movss xmm0, dword [rdx + 0x1c]
comiss xmm0, xmm7
ja 0x1800a51f1
mov eax, dword [rdx - 0x14]
mov dword [rcx + 0x38], eax
mov eax, dword [rdx - 0x10]
mov dword [rcx + 0x3c], eax
mov eax, dword [rdx - 0xc]
mov dword [rcx + 0x40], eax
mov eax, dword [rdx - 8]
mov dword [rcx + 0x44], eax
mov eax, dword [rdx - 4]
mov dword [rcx + 0x48], eax
mov eax, dword [rdx]
mov dword [rcx + 0x4c], eax
mov eax, dword [rdx + 4]
mov dword [rcx + 0x50], eax
mov eax, dword [rdx + 8]
mov dword [rcx + 0x54], eax
mov eax, dword [rdx + 0xc]
mov dword [rcx + 0x58], eax
mov eax, dword [rdx + 0x10]
mov dword [rcx + 0x5c], eax
movzx eax, byte [rdx + 0x14]
mov byte [rcx + 0x60], al
mov eax, dword [rdx + 0x18]
mov dword [rcx + 0x64], eax
mov eax, dword [rdx + 0x1c]
mov dword [rcx + 0x68], eax
movzx eax, byte [rdx + 0x20]
mov byte [rcx + 0x6c], al
add rdx, 0x38
lea rax, [rdx - 0x14]
cmp rax, rbx
jne 0x1800a5192
mov rbx, qword [rbp - 0x20]
cmp rbx, rdi
je 0x1800a52b0
lea rdx, [rbx + 0x14]
nop
movss xmm1, dword [rdx + 0x1c]
comiss xmm7, xmm1
jae 0x1800a529f
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x1800a529f
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x1800a529f
mov eax, dword [rdx - 0x14]
mov dword [rcx], eax
mov eax, dword [rdx - 0x10]
mov dword [rcx + 4], eax
mov eax, dword [rdx - 0xc]
mov dword [rcx + 8], eax
mov eax, dword [rdx - 8]
mov dword [rcx + 0xc], eax
mov eax, dword [rdx - 4]
mov dword [rcx + 0x10], eax
mov eax, dword [rdx]
mov dword [rcx + 0x14], eax
mov eax, dword [rdx + 4]
mov dword [rcx + 0x18], eax
mov eax, dword [rdx + 8]
mov dword [rcx + 0x1c], eax
mov eax, dword [rdx + 0xc]
mov dword [rcx + 0x20], eax
mov eax, dword [rdx + 0x10]
mov dword [rcx + 0x24], eax
movzx eax, byte [rdx + 0x14]
mov byte [rcx + 0x28], al
mov eax, dword [rdx + 0x18]
mov dword [rcx + 0x2c], eax
mov eax, dword [rdx + 0x1c]
mov dword [rcx + 0x30], eax
movzx eax, byte [rdx + 0x20]
mov byte [rcx + 0x34], al
cvttss2si eax, dword [rdx + 0x1c]
cvttss2si r13d, xmm1
mov dword [rcx + 0x74], eax
mov eax, dword [rdx + 0x10]
mov dword [rcx + 0x78], eax
add rdx, 0x38
lea rax, [rdx - 0x14]
cmp rax, rdi
jne 0x1800a5210
movaps xmm7, xmmword [rsp + 0x1a0]
movabs rdi, 0x4924924924924925
mov r13, qword [rsp + 0x1c8]
test r8, r8
je 0x1800a5313
sub r15, r8
mov rax, rdi
imul r15
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r8
imul rdx, rdx, 0x38
cmp rdx, 0x1000
jb 0x1800a530b
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a5387
mov rcx, r8
call fcn.18015cfec
test rbx, rbx
je 0x1800a535c
sub r12, rbx
mov rax, rdi
imul r12
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, rbx
imul rdx, rdx, 0x38
cmp rdx, 0x1000
jb 0x1800a5354
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a5387
mov rcx, rbx
call fcn.18015cfec
mov r12, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1d8]
mov rbx, qword [rsp + 0x208]
mov r15, qword [rsp + 0x1c0]
add rsp, 0x1e8
pop r14
pop rbp
ret
call fcn.18016c8a4
int3