Function at 0x18001afc0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0xc0
mov rax, qword [0x180068400]
xor rax, rsp
mov qword [rsp + 0x68], rax
movaps xmmword [r11 - 0x18], xmm6
mov rdi, r8
movaps xmmword [r11 - 0x28], xmm7
mov rbx, rcx
movaps xmmword [r11 - 0x38], xmm8
movaps xmmword [r11 - 0x48], xmm9
movaps xmmword [r11 - 0x58], xmm10
call fcn.18001a400
mov edx, dword [rbx + 0x18c]
mov r8d, dword [rbx + 0x184]
mov ecx, dword [rbx + 0x188]
cmp edx, r8d
jg 0x18001b151
cmp ecx, r8d
jg 0x18001b151
cmp byte [rdi], 0
lea rdx, [rsp + 0x64]
movss xmm10, dword [rbx + 0xe8]
mov ecx, 0xfc
mov eax, 0xec
cmove eax, ecx
lea rcx, [rsp + 0x60]
movups xmm7, xmmword [rax + rbx]
call fcn.180018ed0
movd xmm0, dword [rsp + 0x60]
lea rdx, [rsp + 0x60]
movd xmm9, dword [rsp + 0x64]
lea rcx, [rsp + 0x64]
movss xmm6, dword [rbx + 0xe8]
cvtdq2ps xmm9, xmm9
cvtdq2ps xmm0, xmm0
divss xmm9, xmm0
mulss xmm9, xmm10
call fcn.180018ed0
movd xmm1, dword [rsp + 0x60]
movd xmm0, dword [rsp + 0x64]
movss xmm8, dword [rbx + 0x18]
divss xmm8, dword [rbx + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm8, dword [rbx + 4]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm1, xmm6
movss xmm6, dword [rbx + 0x8c]
mulss xmm6, dword [0x180060cbc]
divss xmm1, dword [0x180060cfc]
addss xmm6, dword [rbx + 0xc]
subss xmm8, xmm1
call fcn.180018b60
test eax, eax
je 0x18001b295
movss xmm2, dword [rbx + 0x14]
movdqa xmm0, xmm7
psrldq xmm0, 0xc
movaps xmm5, xmm2
movd dword [rsp + 0x50], xmm0
movaps xmm4, xmm2
movdqa xmm1, xmm7
mulss xmm5, xmm10
movdqa xmm0, xmm7
psrldq xmm1, 8
movd dword [rsp + 0x48], xmm1
movaps xmm3, xmm2
psrldq xmm0, 4
movd dword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movd dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm0
mulss xmm4, xmm9
movss dword [rsp + 0x28], xmm5
mulss xmm2, xmm8
movss dword [rsp + 0x20], xmm4
jmp 0x18001b283
mov eax, edx
sub eax, r8d
cmp ecx, eax
jle 0x18001b29a
cmp ecx, edx
jg 0x18001b29a
cmp byte [rdi], 0
lea rax, [rbx + 0xec]
jne 0x18001b179
lea rax, [rbx + 0xfc]
movups xmm8, xmmword [rax]
lea rdx, [rsp + 0x60]
movss xmm10, dword [rbx + 0xe8]
lea rcx, [rsp + 0x64]
call fcn.180018ed0
movd xmm0, dword [rsp + 0x64]
lea rdx, [rsp + 0x60]
movd xmm7, dword [rsp + 0x60]
lea rcx, [rsp + 0x64]
movss xmm6, dword [rbx + 0xe8]
cvtdq2ps xmm7, xmm7
cvtdq2ps xmm0, xmm0
divss xmm7, xmm0
mulss xmm7, xmm10
call fcn.180018ed0
movd xmm1, dword [rsp + 0x60]
movd xmm0, dword [rsp + 0x64]
movss xmm9, dword [rbx + 0x18]
divss xmm9, dword [rbx + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm9, dword [rbx + 4]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm1, xmm6
movss xmm6, dword [rbx + 0x8c]
mulss xmm6, dword [0x180060cbc]
divss xmm1, dword [0x180060cfc]
addss xmm6, dword [rbx + 0x10]
subss xmm9, xmm1
call fcn.180018b60
test eax, eax
je 0x18001b295
movss xmm2, dword [rbx + 0x14]
movdqa xmm0, xmm8
psrldq xmm0, 0xc
movaps xmm4, xmm2
movd dword [rsp + 0x50], xmm0
movdqa xmm1, xmm8
mulss xmm7, xmm2
movdqa xmm0, xmm8
psrldq xmm0, 4
movaps xmm3, xmm2
psrldq xmm1, 8
movd dword [rsp + 0x48], xmm1
movd dword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movd dword [rsp + 0x38], xmm8
movss dword [rsp + 0x30], xmm0
mulss xmm4, xmm10
mulss xmm2, xmm9
movss dword [rsp + 0x28], xmm4
movss dword [rsp + 0x20], xmm7
mulss xmm3, xmm6
lea rdx, str.common_medal
call fcn.180018d30
jmp 0x18001b29a
call fcn.180018b10
mov eax, dword [rbx + 0x188]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
cmp eax, dword [rbx + 0x184]
jg 0x18001b2e2
movss xmm0, dword [rbx + 0x8c]
addss xmm0, dword [rbx + 0xc]
movss dword [rbx + 0xc], xmm0
cmp dword [rbx + 0x18c], eax
jne 0x18001b3ce
cmp byte [rbx + 0x4fd0], 0
je 0x18001b3b9
xor r9d, r9d
mov dword [rsp + 0x64], r9d
mov ecx, r9d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r9d, dword [rsp + 0x64]
test ax, ax
jns 0x18001b31c
cmp r9d, 0x48
jne 0x18001b332
inc r9d
mov dword [rsp + 0x64], r9d
cmp r9d, 0x100
jl 0x18001b303
jmp 0x18001b3b9
mov rax, qword [rbx + 0xd8]
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x18001b3a5
cmp dword [rax + 0x20], r9d
je 0x18001b3b9
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x18001b378
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x18001b373
nop dword [rax]
cmp rax, qword [rcx + 0x10]
jne 0x18001b373
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x18001b360
mov rax, rcx
jmp 0x18001b39f
mov r8, qword [rcx]
mov rax, rcx
cmp byte [r8 + 0x19], 0
jne 0x18001b39f
nop word [rax + rax]
mov rdx, qword [r8]
mov rax, r8
mov r8, rdx
cmp byte [rdx + 0x19], 0
je 0x18001b390
cmp byte [rax + 0x19], 0
je 0x18001b342
lea rdx, [rsp + 0x64]
lea rcx, [rbx + 0xd8]
call fcn.18001e9a0
mov qword [rax], rdi
cmp byte [rbx + 0x4fd1], 0
je 0x18001b3ce
cmp byte [rdi], 0
sete al
mov byte [rdi], al
mov al, 1
jmp 0x18001b3d0
xor al, al
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180023dc0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret