Function at 0x1800144e4
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x218]
sub rsp, 0x2f0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [0x1800c0040]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
xor r13d, r13d
cmp qword [0x1800c32a0], r13
je 0x180014bad
movabs rdx, 0x533519fd37eb04f5
movabs rcx, 0xe60e461833282ed2
mov qword [rbp + 0x1b0], rdx
movabs rax, 0x3d706d9352826896
mov qword [rsp + 0x20], rax
movabs rax, 0xe60e357d5a5c47a6
mov qword [rsp + 0x28], rax
movabs rax, 0x24417cb3529865b7
movaps xmm0, xmmword [rsp + 0x20]
mov qword [rbp + 0x1b8], rcx
xorps xmm0, xmmword [rbp + 0x1b0]
mov qword [rsp + 0x20], rax
movabs rax, 0xe66b2a7a52435cbd
mov qword [rsp + 0x28], rax
movdqa xmmword [rbp + 0x170], xmm0
movaps xmm0, xmmword [rsp + 0x20]
mov qword [rbp + 0x1b0], rdx
lea rdx, [0x1800ab7cd]
mov qword [rbp + 0x1b8], rcx
lea rcx, [rsp + 0x20]
xorps xmm0, xmmword [rbp + 0x1b0]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.18001ed34
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, rax
call fcn.18001f744
lea rdx, [rbp + 0x1b0]
mov qword [rbp + 0x1b0], r13
mov rcx, rax
call qword [0x1800c3e18]
mov rcx, qword [rbp + 0x1b0]
movabs rbx, 0x7ffffeff0001
lea rax, [rcx - 0xffffef]
cmp rax, rbx
ja 0x180014bad
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x180014bad
lea rax, [rcx - 0xffffd7]
cmp rax, rbx
ja 0x180014bad
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x180014bad
lea rax, [rcx - 0xffffe7]
cmp rax, rbx
ja 0x180014bad
mov r12, qword [rcx + 0x18]
test r12, r12
je 0x180014bad
mov esi, dword [rcx + 0x10]
test esi, esi
je 0x180014bad
movss xmm8, dword [0x1800b12bc]
mov r14d, r13d
mov r15d, r13d
movabs rdx, 0xffffffff00000001
movabs r8, 0xefffffff00000001
mov rdi, qword [r12 + r15*8 + 0x20]
test rdi, rdi
je 0x180014b93
lea rax, [rdi + rdx]
cmp rax, r8
ja 0x1800146bb
mov rdx, qword [rdi]
test rdx, rdx
je 0x1800146bb
mov rdx, qword [rdx + 0x10]
jmp 0x1800146c2
lea rdx, [0x1800ab7cd]
xorps xmm0, xmm0
mov qword [rbp + 0x180], r13
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x188], r13
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r13b
jne 0x1800146de
lea rcx, [rbp + 0x170]
call fcn.1800319dc
lea rax, [rdi - 0xffffef]
cmp rax, rbx
ja 0x180014b42
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x180014b42
lea rax, [rcx - 0xffffcf]
cmp rax, rbx
ja 0x180014b42
mov rdx, qword [rcx + 0x30]
test rdx, rdx
je 0x180014b42
lea rax, [rdx - 0xffffcf]
cmp rax, rbx
ja 0x180014b42
mov rcx, qword [rdx + 0x30]
test rcx, rcx
je 0x180014b42
lea rax, [rcx - 0xfffff7]
cmp rax, rbx
ja 0x180014b42
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x180014b42
lea rax, [rdx - 0xffffc7]
cmp rax, rbx
ja 0x180014b42
mov rbx, qword [rdx + 0x38]
test rbx, rbx
je 0x180014b42
movabs rax, 0xffffffff00000001
movabs rcx, 0xefffffff00000001
add rax, rdi
cmp rax, rcx
ja 0x1800147ae
mov rdx, qword [rdi]
test rdx, rdx
je 0x1800147ae
mov rdx, qword [rdx + 0x10]
jmp 0x1800147b5
lea rdx, [0x1800ab7cd]
xorps xmm0, xmm0
mov qword [rbp + 0x1a0], r13
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a8], r13
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r13b
jne 0x1800147d1
lea rcx, [rbp + 0x190]
call fcn.1800319dc
movsd xmm0, qword [rbx + 0x90]
lea rcx, [rsp + 0x20]
mov ebx, dword [rbx + 0x98]
movsd qword [rbp + 0x1b0], xmm0
call fcn.180012ed4
movd xmm1, ebx
movss xmm3, dword [rax]
movss xmm0, dword [rax + 4]
subss xmm0, dword [rbp + 0x1b4]
subss xmm3, dword [rbp + 0x1b0]
movss xmm2, dword [rax + 8]
subss xmm2, xmm1
mulss xmm0, xmm0
mulss xmm3, xmm3
mulss xmm2, xmm2
addss xmm0, xmm3
addss xmm0, xmm2
call fcn.18008fa28
xor r8d, r8d
lea rdx, str.CollectibleEntity
lea rcx, [rbp + 0x190]
movaps xmm6, xmm0
call fcn.18002f498
cmp rax, 0xffffffffffffffff
je 0x180014928
cmp byte [0x1800c3333], r13b
je 0x180014928
comiss xmm8, xmm6
jbe 0x180014928
comiss xmm6, dword [0x1800b1240]
jbe 0x180014928
mov ecx, dword [0x1800c32a8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180014928
lea rdx, str.Pickup
lea rcx, [rbp + 0x50]
call fcn.180024738
lea rcx, [rsp + 0x30]
mov edx, 2
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1800148bb
movups xmm0, xmmword [rax]
mov rax, qword [rax + 0x10]
lea rdx, [rsp + 0x30]
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rax
mov rcx, rdi
call fcn.180027990
xor r8d, r8d
lea rdx, str.DroppedItem
lea rcx, [rbp + 0x190]
call fcn.18002f498
cmp rax, 0xffffffffffffffff
je 0x180014a08
cmp byte [0x1800c3333], r13b
je 0x180014a08
comiss xmm8, xmm6
jbe 0x180014a08
comiss xmm6, dword [0x1800b1240]
jbe 0x180014a08
mov ecx, dword [0x1800c32a8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180014a08
lea rdx, str.Pickup
lea rcx, [rbp + 0x50]
call fcn.180024738
lea rcx, [rsp + 0x30]
mov edx, 2
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x18001499b
movups xmm0, xmmword [rax]
mov rax, qword [rax + 0x10]
lea rdx, [rsp + 0x30]
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rax
mov rcx, rdi
call fcn.180027990
xor r8d, r8d
lea rdx, str.ItemPickup
lea rcx, [rbp + 0x190]
call fcn.18002f498
cmp rax, 0xffffffffffffffff
je 0x180014ae8
cmp byte [0x1800c3333], r13b
je 0x180014ae8
comiss xmm8, xmm6
jbe 0x180014ae8
comiss xmm6, dword [0x1800b1240]
jbe 0x180014ae8
mov ecx, dword [0x1800c32a8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180014ae8
lea rdx, str.Pickup
lea rcx, [rbp + 0x50]
call fcn.180024738
lea rdx, [rsp + 0x30]
mov ecx, 2
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmmword [rdx - 0x10], xmm1
sub rcx, 1
jne 0x180014a7b
movups xmm0, xmmword [rax]
mov rax, qword [rax + 0x10]
mov rcx, rdi
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
lea rdx, [rsp + 0x30]
call fcn.180027990
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0xf
jbe 0x180014b29
mov rcx, qword [rbp + 0x190]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180014b24
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180014be7
call fcn.180062f00
mov qword [rbp + 0x1a0], r13
mov qword [rbp + 0x1a8], 0xf
mov byte [rbp + 0x190], r13b
mov rdx, qword [rbp + 0x188]
cmp rdx, 0xf
jbe 0x180014b7f
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180014b7a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180014be7
call fcn.180062f00
movabs r8, 0xefffffff00000001
movabs rdx, 0xffffffff00000001
inc r14d
inc r15
cmp r14d, esi
jae 0x180014bad
movabs rbx, 0x7ffffeff0001
jmp 0x180014696
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.180062ee0
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18006dd14
int3