Function at 0x1800abac0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r13
push r14
push r15
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov rax, qword [0x18026b028]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov eax, dword [0x18039aa9c]
mov r13, rdx
mov r14, qword [0x18039f668]
mov r15, rcx
test eax, eax
jne 0x1800abb0d
mov ecx, dword [0x18039aa98]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x1800abb1e
cmp eax, 1
jne 0x1800abb4f
mov ecx, dword [0x18039aa98]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
setne al
test al, al
jne 0x1800abb54
mov word [0x18039cd08], 0
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.18015cd30
add rsp, 0x2c8
pop r15
pop r14
pop r13
pop rbp
ret
cmp eax, 2
jne 0x1800abb28
cmp byte [0x18039cd08], 0
mov qword [rsp + 0x2f0], rbx
mov qword [rsp + 0x300], rsi
mov esi, dword [0x180399320]
mov qword [rsp + 0x308], rdi
mov qword [rsp + 0x2c0], r12
movabs r12, 0x9f4c773fb92eaba8
movaps xmmword [rsp + 0x280], xmm9
xorps xmm9, xmm9
mov edx, 4
jne 0x1800abe84
mov rax, qword gs:[0x58]
mov byte [0x18039cd09], 0
mov ebx, edx
mov rdi, qword [rax + rsi*8]
mov eax, dword [rdi + rdx]
cmp dword [0x18039fcc4], eax
jle 0x1800abbf3
lea rcx, [0x18039fcc4]
call fcn.18015d060
cmp dword [0x18039fcc4], 0xffffffff
jne 0x1800abbf3
mov rcx, r12
call fcn.18009d530
lea rcx, [0x18039fcc4]
mov dword [0x18039fcac], eax
call fcn.18015cff4
mov eax, dword [0x18039fcac]
mov r12, qword [rax + r14]
mov eax, dword [rdi + rbx]
cmp dword [0x18039fd94], eax
jle 0x1800abc3e
lea rcx, [0x18039fd94]
call fcn.18015d060
cmp dword [0x18039fd94], 0xffffffff
jne 0x1800abc3e
movabs rcx, 0x89b727c10692e033
call fcn.18009d530
lea rcx, [0x18039fd94]
mov dword [0x18039fda8], eax
call fcn.18015cff4
mov eax, dword [0x18039fda8]
lea rdx, [rbp + 0x110]
mov r8, qword [0x18039f668]
mov r9d, 0x3001
mov rcx, qword [0x18039f610]
mov word [rsp + 0x28], 7
movss xmm0, dword [rax + r12]
movss dword [0x18039cd0c], xmm0
movss xmm1, dword [rax + r12 + 4]
movss dword [0x18039cd10], xmm1
movss xmm0, dword [rax + r12 + 8]
movss dword [0x18039cd14], xmm0
mov byte [rsp + 0x20], 3
call fcn.18007a1c0
mov rcx, qword [0x18039f668]
lea rdx, [rsp + 0x40]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xb8], xmm0
mov qword [rbp + 0x30], rax
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp + 0x100], eax
movups xmmword [rbp - 0x10], xmm0
mov byte [rbp + 0x104], al
movups xmmword [rbp], xmm0
mov qword [rbp + 8], rax
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x34], rax
movups xmmword [rbp + 0x78], xmm0
mov dword [rbp + 0x3c], eax
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x60], rax
movups xmmword [rbp + 0x98], xmm0
mov dword [rbp + 0xbf], eax
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb7], rax
xorps xmm1, xmm1
movaps xmmword [rbp + 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov byte [rbp + 0xc3], al
movups xmmword [rbp + 0x10], xmm0
mov qword [rsp + 0x40], rax
movups xmmword [rbp + 0x68], xmm0
mov dword [rsp + 0x48], eax
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm1
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 0x14], xmm0
movups xmmword [rbp + 0x24], xmm0
movaps xmmword [rbp + 0x50], xmm1
movups xmmword [rbp + 0x77], xmm0
movups xmmword [rbp + 0x87], xmm0
movups xmmword [rbp + 0x97], xmm0
movups xmmword [rbp + 0xa7], xmm0
mov rax, qword [rcx]
call qword [rax + 0x530]
mov rcx, qword [0x18039f668]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
mov rax, qword [rcx]
call qword [rax + 0x530]
movss xmm0, dword [rsp + 0x30]
movss xmm1, dword [rsp + 0x34]
subss xmm0, xmm9
subss xmm1, xmm9
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [rsp + 0x38]
subss xmm0, dword [0x18024da64]
movss dword [rsp + 0x54], xmm1
movaps xmm1, xmmword [rbp + 0x120]
movaps xmmword [rbp - 0x70], xmm1
movss dword [rsp + 0x58], xmm0
movaps xmm0, xmmword [rbp + 0x110]
movaps xmmword [rbp - 0x80], xmm0
movaps xmm0, xmmword [rbp + 0x130]
movaps xmmword [rbp - 0x60], xmm0
movaps xmm1, xmmword [rbp + 0x140]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x50]
lea rax, [rbp - 0x80]
movaps xmmword [rbp - 0x50], xmm1
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0xd0]
call fcn.18007a690
movss xmm0, dword [0x18024d7ac]
movabs r12, 0x9f4c773fb92eaba8
comiss xmm0, dword [rbp + 0x6c]
mov edx, 4
jbe 0x1800abe84
movss xmm0, dword [rbp + 0x44]
movss xmm1, dword [rbp + 0x48]
addss xmm0, xmm9
addss xmm1, xmm9
movss dword [0x18039cd0c], xmm0
movss xmm0, dword [rbp + 0x4c]
addss xmm0, dword [0x18024d838]
movss dword [0x18039cd10], xmm1
movss dword [0x18039cd14], xmm0
cmp byte [0x18039cd09], 0
je 0x1800ac248
mov rax, qword gs:[0x58]
mov edi, edx
mov rsi, qword [rax + rsi*8]
mov eax, dword [rsi + rdi]
cmp dword [0x18039fcc4], eax
jle 0x1800abeda
lea rcx, [0x18039fcc4]
call fcn.18015d060
cmp dword [0x18039fcc4], 0xffffffff
jne 0x1800abeda
mov rcx, r12
call fcn.18009d530
lea rcx, [0x18039fcc4]
mov dword [0x18039fcac], eax
call fcn.18015cff4
mov eax, dword [0x18039fcac]
mov rbx, qword [rax + r14]
mov eax, dword [rsi + rdi]
cmp dword [0x18039fd94], eax
jle 0x1800abf25
lea rcx, [0x18039fd94]
call fcn.18015d060
cmp dword [0x18039fd94], 0xffffffff
jne 0x1800abf25
movabs rcx, 0x89b727c10692e033
call fcn.18009d530
lea rcx, [0x18039fd94]
mov dword [0x18039fda8], eax
call fcn.18015cff4
mov eax, dword [0x18039fda8]
movss xmm0, dword [rax + rbx + 8]
subss xmm0, dword [0x18039cd14]
movss xmm1, dword [rax + rbx]
movss xmm2, dword [rax + rbx + 4]
subss xmm2, dword [0x18039cd10]
subss xmm1, dword [0x18039cd0c]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800abf79
xorps xmm1, xmm1
sqrtss xmm1, xmm2
jmp 0x1800abf84
movaps xmm0, xmm2
call fcn.1801905e8
movaps xmm1, xmm0
movss xmm0, dword [0x18024d8f8]
comiss xmm0, xmm1
jb 0x1800abf9f
mov word [0x18039cd08], 0
jmp 0x1800ac248
mov rbx, qword [0x18039f618]
lea rdx, [rsp + 0x30]
movaps xmmword [rsp + 0x2b0], xmm6
mov rcx, rbx
movaps xmmword [rsp + 0x2a0], xmm7
movaps xmmword [rsp + 0x290], xmm8
movaps xmmword [rsp + 0x270], xmm10
movaps xmmword [rsp + 0x260], xmm14
call fcn.180079e60
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180079e60
lea rdx, [rsp + 0x6c]
mov rcx, rbx
movss xmm14, dword [rax + 4]
call fcn.180079e60
mov eax, dword [rsi + rdi]
cmp dword [0x18039fcc4], eax
jle 0x1800ac038
lea rcx, [0x18039fcc4]
call fcn.18015d060
cmp dword [0x18039fcc4], 0xffffffff
jne 0x1800ac038
mov rcx, r12
call fcn.18009d530
lea rcx, [0x18039fcc4]
mov dword [0x18039fcac], eax
call fcn.18015cff4
mov eax, dword [0x18039fcac]
mov rbx, qword [rax + r14]
mov eax, dword [rsi + rdi]
cmp dword [0x18039fd94], eax
jle 0x1800ac083
lea rcx, [0x18039fd94]
call fcn.18015d060
cmp dword [0x18039fd94], 0xffffffff
jne 0x1800ac083
movabs rcx, 0x89b727c10692e033
call fcn.18009d530
lea rcx, [0x18039fd94]
mov dword [0x18039fda8], eax
call fcn.18015cff4
mov eax, dword [0x18039fda8]
movss xmm6, dword [0x18039cd10]
movss xmm7, dword [0x18039cd0c]
movss xmm10, dword [0x18039cd14]
subss xmm6, dword [rax + rbx + 4]
subss xmm7, dword [rax + rbx]
subss xmm10, dword [rax + rbx + 8]
ucomiss xmm6, xmm9
jp 0x1800ac0d0
jne 0x1800ac0d0
ucomiss xmm7, xmm9
jp 0x1800ac0d0
jne 0x1800ac0d0
xorps xmm0, xmm0
xorps xmm8, xmm8
jmp 0x1800ac157
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.18018b2e4
movaps xmm8, xmm0
mulss xmm8, dword [0x18024d9a8]
divss xmm8, dword [0x18024d880]
comiss xmm9, xmm8
jbe 0x1800ac100
addss xmm8, dword [0x18024da00]
xorps xmm10, xmmword [0x18024de30]
xorps xmm0, xmm0
mulss xmm6, xmm6
mulss xmm7, xmm7
addss xmm6, xmm7
ucomiss xmm0, xmm6
ja 0x1800ac125
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1800ac12d
movaps xmm0, xmm6
call fcn.1801905e8
movaps xmm1, xmm0
movaps xmm0, xmm10
call fcn.18018b2e4
mulss xmm0, dword [0x18024d9a8]
divss xmm0, dword [0x18024d880]
comiss xmm9, xmm0
jbe 0x1800ac157
addss xmm0, dword [0x18024da00]
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x18024d7b8]
call fcn.18018b950
mov rax, qword [r13 + 0x38]
subss xmm14, xmm8
xor ecx, ecx
movaps xmm7, xmm0
or qword [rax + 0x10], 0x20
mov rax, qword [r13 + 0x38]
mulss xmm14, dword [0x18024d704]
mov dword [r13 + 0x50], ecx
or qword [rax + 0x10], 0x40
mov rax, qword [r13 + 0x38]
movaps xmm0, xmm14
mov dword [r13 + 0x54], ecx
or qword [rax + 0x10], 0x20
call fcn.18018bed0
movss xmm8, dword [0x18024d7ac]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movaps xmm0, xmm8
mulsd xmm1, xmm7
cvtpd2ps xmm1, xmm1
call fcn.180172818
movss xmm6, dword [0x18024daac]
movaps xmm1, xmm6
call fcn.1801727e0
mov rax, qword [r13 + 0x38]
movss dword [r13 + 0x50], xmm0
movaps xmm0, xmm14
or qword [rax + 0x10], 0x40
call fcn.18018fef0
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
movaps xmm0, xmm8
mulsd xmm2, xmm7
cvtpd2ps xmm1, xmm2
call fcn.180172818
movaps xmm1, xmm6
call fcn.1801727e0
xorps xmm0, xmmword [0x18024de30]
movaps xmm14, xmmword [rsp + 0x260]
movaps xmm10, xmmword [rsp + 0x270]
movaps xmm8, xmmword [rsp + 0x290]
movaps xmm7, xmmword [rsp + 0x2a0]
movaps xmm6, xmmword [rsp + 0x2b0]
movss dword [r13 + 0x54], xmm0
test byte [r15 + 0x60], 1
movaps xmm9, xmmword [rsp + 0x280]
mov r12, qword [rsp + 0x2c0]
mov rdi, qword [rsp + 0x308]
mov rsi, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x2f0]
jne 0x1800ac286
test byte [r15 + 0x68], 1
jne 0x1800ac286
test byte [r15 + 0x70], 1
je 0x1800ac28d
mov byte [0x18039cd09], 1
mov byte [0x18039cd08], 1
jmp 0x1800abb31