Function at 0x1800140b4
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 [0x1800c32b8], r13
je 0x18001477d
movabs rdx, 0x97d944918df2c415
movabs rcx, 0x786fc24cd768e3c6
mov qword [rbp + 0x1b0], rdx
movabs rax, 0xf99c30ffe89ba876
mov qword [rsp + 0x20], rax
movabs rax, 0x786fb129be1c8ab2
mov qword [rsp + 0x28], rax
movabs rax, 0xe0ad21dfe881a557
movaps xmm0, xmmword [rsp + 0x20]
mov qword [rbp + 0x1b8], rcx
xorps xmm0, xmmword [rbp + 0x1b0]
mov qword [rsp + 0x20], rax
movabs rax, 0x780aae2eb60391a9
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.18001e7e4
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, rax
call fcn.18001f1f4
lea rdx, [rbp + 0x1b0]
mov qword [rbp + 0x1b0], r13
mov rcx, rax
call qword [0x1800c3e28]
mov rcx, qword [rbp + 0x1b0]
movabs rbx, 0x7ffffeff0001
lea rax, [rcx - 0xffffef]
cmp rax, rbx
ja 0x18001477d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x18001477d
lea rax, [rcx - 0xffffd7]
cmp rax, rbx
ja 0x18001477d
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x18001477d
lea rax, [rcx - 0xffffe7]
cmp rax, rbx
ja 0x18001477d
mov r12, qword [rcx + 0x18]
test r12, r12
je 0x18001477d
mov esi, dword [rcx + 0x10]
test esi, esi
je 0x18001477d
movss xmm8, dword [0x1800b129c]
mov r14d, r13d
mov r15d, r13d
movabs rdx, 0xffffffff00000001
movabs r8, 0xefffffff00000001
mov rdi, qword [r12 + r15*8 + 0x20]
test rdi, rdi
je 0x180014763
lea rax, [rdi + rdx]
cmp rax, r8
ja 0x18001428b
mov rdx, qword [rdi]
test rdx, rdx
je 0x18001428b
mov rdx, qword [rdx + 0x10]
jmp 0x180014292
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 0x1800142ae
lea rcx, [rbp + 0x170]
call fcn.1800310b8
lea rax, [rdi - 0xffffef]
cmp rax, rbx
ja 0x180014712
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x180014712
lea rax, [rcx - 0xffffcf]
cmp rax, rbx
ja 0x180014712
mov rdx, qword [rcx + 0x30]
test rdx, rdx
je 0x180014712
lea rax, [rdx - 0xffffcf]
cmp rax, rbx
ja 0x180014712
mov rcx, qword [rdx + 0x30]
test rcx, rcx
je 0x180014712
lea rax, [rcx - 0xfffff7]
cmp rax, rbx
ja 0x180014712
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x180014712
lea rax, [rdx - 0xffffc7]
cmp rax, rbx
ja 0x180014712
mov rbx, qword [rdx + 0x38]
test rbx, rbx
je 0x180014712
movabs rax, 0xffffffff00000001
movabs rcx, 0xefffffff00000001
add rax, rdi
cmp rax, rcx
ja 0x18001437e
mov rdx, qword [rdi]
test rdx, rdx
je 0x18001437e
mov rdx, qword [rdx + 0x10]
jmp 0x180014385
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 0x1800143a1
lea rcx, [rbp + 0x190]
call fcn.1800310b8
movsd xmm0, qword [rbx + 0x90]
lea rcx, [rsp + 0x20]
mov ebx, dword [rbx + 0x98]
movsd qword [rbp + 0x1b0], xmm0
call fcn.180013080
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.18008e9a8
xor r8d, r8d
lea rdx, str.CollectibleEntity
lea rcx, [rbp + 0x190]
movaps xmm6, xmm0
call fcn.18002eb74
cmp rax, 0xffffffffffffffff
je 0x1800144f8
cmp byte [0x1800c334b], r13b
je 0x1800144f8
comiss xmm8, xmm6
jbe 0x1800144f8
comiss xmm6, dword [0x1800b1220]
jbe 0x1800144f8
mov ecx, dword [0x1800c32c0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800144f8
lea rdx, str.Pickup
lea rcx, [rbp + 0x50]
call fcn.180023e9c
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 0x18001448b
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.1800270f4
xor r8d, r8d
lea rdx, str.DroppedItem
lea rcx, [rbp + 0x190]
call fcn.18002eb74
cmp rax, 0xffffffffffffffff
je 0x1800145d8
cmp byte [0x1800c334b], r13b
je 0x1800145d8
comiss xmm8, xmm6
jbe 0x1800145d8
comiss xmm6, dword [0x1800b1220]
jbe 0x1800145d8
mov ecx, dword [0x1800c32c0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800145d8
lea rdx, str.Pickup
lea rcx, [rbp + 0x50]
call fcn.180023e9c
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 0x18001456b
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.1800270f4
xor r8d, r8d
lea rdx, str.ItemPickup
lea rcx, [rbp + 0x190]
call fcn.18002eb74
cmp rax, 0xffffffffffffffff
je 0x1800146b8
cmp byte [0x1800c334b], r13b
je 0x1800146b8
comiss xmm8, xmm6
jbe 0x1800146b8
comiss xmm6, dword [0x1800b1220]
jbe 0x1800146b8
mov ecx, dword [0x1800c32c0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800146b8
lea rdx, str.Pickup
lea rcx, [rbp + 0x50]
call fcn.180023e9c
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 0x18001464b
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.1800270f4
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0xf
jbe 0x1800146f9
mov rcx, qword [rbp + 0x190]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800146f4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800147b7
call fcn.180062580
mov qword [rbp + 0x1a0], r13
mov qword [rbp + 0x1a8], 0xf
mov byte [rbp + 0x190], r13b
mov rdx, qword [rbp + 0x188]
cmp rdx, 0xf
jbe 0x18001474f
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001474a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800147b7
call fcn.180062580
movabs r8, 0xefffffff00000001
movabs rdx, 0xffffffff00000001
inc r14d
inc r15
cmp r14d, esi
jae 0x18001477d
movabs rbx, 0x7ffffeff0001
jmp 0x180014266
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.180062560
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.18006d394
int3