Function at 0x18009a500
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 - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180106040]
xor rax, rsp
mov qword [rbp - 0x19], rax
xor r12d, r12d
mov dword [rbp - 0x61], r12d
cmp byte [rcx + 0x48], r12b
je 0x18009a15a
cmp byte [0x1801d5220], r12b
jne 0x18009a15a
call fcn.18004cdf0
mov rcx, rax
call fcn.18004d5f0
test al, al
je 0x18009a15a
call fcn.18004cdf0
cmp byte [rax + 0x9c], r12b
jne 0x18009a15a
lea ecx, [r12 + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x18009a15a
movss xmm9, dword [0x1800e7e5c]
movaps xmm8, xmm9
mov dword [rbp - 0x59], 0xffffffff
mov rcx, qword [0x1801d4b38]
mov rax, qword [0x1801d4b80]
mov rdx, qword [rax]
mov rax, qword [rcx]
mov r9, qword [rax + 0x2f8]
mov r8, qword [0x1801d4e60]
call r9
mov rbx, rax
test rax, rax
je 0x1800996c5
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov r15, rax
mov qword [rbp - 0x21], rax
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xb8]
mov rdx, rbx
call r8
jmp 0x1800996cc
mov r15, r12
mov qword [rbp - 0x21], r12
test r15, r15
je 0x18009a138
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r15
call r9
test al, al
jne 0x18009a138
mov rsi, r12
mov qword [rbp - 0x29], r12
mov rdi, r12
mov qword [rbp - 0x31], r12
mov eax, dword [0x1801cc364]
mov rdx, r15
cmp eax, 2
jne 0x180099858
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0x320]
mov r8, qword [0x1801d5090]
call r9
mov edi, eax
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x320]
mov r8, qword [0x1801d5098]
mov rdx, r15
call r9
mov ebx, eax
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x320]
mov r8, qword [0x1801d5080]
mov rdx, r15
call r9
mov rcx, qword [0x1801d4b80]
mov rdx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov r9d, edi
mov r8, qword [0x1801d5088]
mov rdx, qword [rdx]
mov rcx, qword [0x1801d4b38]
call fcn.18004c910
mov rdi, rax
test rax, rax
je 0x1800997df
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rbx, rax
mov qword [rbp - 0x49], rax
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0xb8]
mov rdx, rdi
call rax
mov r14, rbx
jmp 0x1800997e9
mov rbx, r12
mov qword [rbp - 0x49], rbx
mov r14, r12
mov r13d, 7
mov dword [rbp - 0x69], r13d
test r14, r14
je 0x180099818
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, r14
call r8
mov rdi, rax
mov qword [rbp - 0x31], rax
jmp 0x18009981f
mov rdi, r12
mov qword [rbp - 0x31], r12
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099847
test r14, r14
je 0x180099847
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rcx, qword [0x1801d4b38]
test rdi, rdi
jne 0x180099ae7
test rcx, rcx
jmp 0x18009a147
mov rbx, qword [0x1801d4b38]
mov rcx, rbx
cmp eax, 7
jne 0x180099910
mov r8, qword [0x1801d5070]
call fcn.18004c910
mov rsi, rax
test rax, rax
je 0x180099963
mov rcx, qword [rbx]
mov r8, qword [rcx + 0xf8]
mov rdx, rax
mov rcx, rbx
call r8
mov r14, rax
test rax, rax
je 0x180099963
mov rcx, qword [rbx]
mov r10, qword [rcx + 0x480]
lea r9, str.Lnet_minecraft_world_phys_HitResult_Type_
lea r8, str.BLOCK
mov rdx, rax
mov rcx, rbx
call r10
test rax, rax
je 0x180099963
mov rcx, qword [rbx]
mov r9, qword [rcx + 0x488]
mov r8, rax
mov rdx, r14
mov rcx, rbx
call r9
test rax, rax
je 0x180099963
mov rdx, qword [rbx]
mov r9, qword [rdx + 0xc0]
mov r8, rsi
mov rdx, rax
mov rcx, rbx
call r9
test al, al
je 0x180099963
mov r8, qword [0x1801d4fd8]
mov rdx, r15
mov rcx, rbx
jmp 0x180099917
mov r8, qword [0x1801d4e58]
mov rax, qword [rbx]
mov r9, qword [rax + 0x2f8]
call r9
test rax, rax
mov rsi, rax
je 0x180099963
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xb8]
mov rbx, rax
mov qword [rbp - 0x39], rax
mov rdx, rsi
call r8
jmp 0x18009996a
mov rbx, r12
mov qword [rbp - 0x39], rbx
mov r13d, 9
mov dword [rbp - 0x69], r13d
mov dword [rbp - 0x61], r13d
test rbx, rbx
jne 0x18009998c
mov rcx, qword [0x1801d4b38]
test rcx, rcx
jmp 0x18009a147
mov rax, qword [0x1801d4b80]
mov rsi, qword [rax + 0x10]
mov r14, qword [0x1801d4b38]
mov qword [rbp - 0x41], r12
mov rax, qword [r14]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
mov rcx, r14
call r8
mov qword [rbp - 0x41], rax
lea rcx, [rbp - 0x41]
mov qword [rbp - 0x51], rcx
mov r9, rax
mov r8, qword [0x1801d4f88]
mov rdx, qword [rsi]
mov rcx, r14
call fcn.18004c910
mov rsi, rax
mov qword [rbp - 0x49], r12
test rax, rax
je 0x180099a1c
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov r14, rax
mov qword [rbp - 0x49], rax
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rsi
call r8
mov r12, r14
jmp 0x180099a23
mov r14, r12
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x61], 0x29
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099a53
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x180099a53
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x1801d4b38]
test r12, r12
je 0x180099a78
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, r12
call r8
mov rsi, rax
mov qword [rbp - 0x29], rax
mov rcx, qword [0x1801d4b38]
jmp 0x180099a7e
xor esi, esi
mov qword [rbp - 0x29], rsi
test rcx, rcx
je 0x180099a9f
test r12, r12
je 0x180099a9f
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
mov rcx, qword [0x1801d4b38]
test rsi, rsi
jne 0x180099ac8
test rcx, rcx
je 0x180099ac0
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
jmp 0x18009a147
test rcx, rcx
je 0x180099ae4
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rcx, qword [0x1801d4b38]
xor r12d, r12d
mov eax, dword [0x1801cc364]
cmp eax, 7
ja 0x180099b00
mov edx, 0xc5
bt edx, eax
jb 0x180099c00
mov r8, qword [0x1801d4d18]
mov rdx, rsi
call fcn.18004c910
mov r14, rax
test rax, rax
je 0x180099b50
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rbx, rax
mov qword [rbp - 0x49], rax
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0xb8]
mov rdx, r14
call rax
mov r14, rbx
jmp 0x180099b5a
mov rbx, r12
mov qword [rbp - 0x49], rbx
mov r14, r12
or r13d, 0x40
mov dword [rbp - 0x69], r13d
test rdi, rdi
je 0x180099b7e
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
test r14, r14
je 0x180099ba3
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, r14
call r8
mov rdi, rax
mov qword [rbp - 0x31], rax
jmp 0x180099baa
mov rdi, r12
mov qword [rbp - 0x31], r12
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099bd2
test r14, r14
je 0x180099bd2
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rcx, qword [0x1801d4b38]
test rdi, rdi
jne 0x180099c00
test rcx, rcx
je 0x180099bf8
test rsi, rsi
je 0x180099bf8
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
jmp 0x18009a147
mov qword [rbp - 0x49], r12
mov rax, qword [0x1801d4b80]
lea rdx, [rbp - 0x49]
mov rcx, qword [rax + 8]
call fcn.1800abd10
nop
mov r14, qword [rbp - 0x49]
test r14, r14
je 0x18009a0c9
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r14
call r9
test al, al
jne 0x18009a0c9
mov r13d, r12d
mov rcx, qword [0x1801d4b38]
mov r15d, dword [rbp - 0x69]
nop word [rax + rax]
movaps xmm7, xmm8
mov r9d, r13d
mov r8, qword [0x1801d4f68]
mov rdx, r14
call fcn.18004c910
mov r12, rax
test rax, rax
je 0x180099cb5
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rbx, rax
mov qword [rbp - 0x41], rax
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xb8]
mov rdx, r12
call r8
jmp 0x180099cbb
xor ebx, ebx
mov qword [rbp - 0x41], rbx
or r15d, 0x10
test rbx, rbx
je 0x180099f9b
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x180099f9b
mov eax, dword [0x1801cc364]
test eax, eax
je 0x180099e59
add eax, 0xfffffffa
cmp eax, 1
jbe 0x180099e59
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rdi
call r9
test al, al
je 0x180099d4a
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099d45
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x180099fc3
mov rcx, qword [0x1801d4b38]
mov r12, rcx
mov qword [rbp - 0x61], 0
test rdi, rdi
je 0x180099d7a
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rdi
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x180099d7c
xor eax, eax
mov qword [rbp - 0x61], rax
lea rax, [rbp - 0x61]
mov qword [rbp - 0x51], rax
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x180099e2b
mov eax, dword [0x1801cc364]
test eax, eax
je 0x180099df9
cmp eax, 6
je 0x180099df9
mov r9, qword [rbp - 0x61]
mov r8, qword [0x1801d4d88]
mov rdx, rbx
mov rcx, r12
call fcn.18009a550
movaps xmm6, xmm0
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099df4
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x180099df4
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x180099f63
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099e22
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x180099e22
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x1801d4b38]
movaps xmm6, xmm9
jmp 0x180099f63
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099e54
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x180099e54
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x180099f60
mov rcx, qword [0x1801d4b38]
mov r12, rcx
mov qword [rbp - 0x69], 0
test rsi, rsi
je 0x180099e89
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rsi
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x180099e8b
xor eax, eax
mov qword [rbp - 0x69], rax
lea rax, [rbp - 0x69]
mov qword [rbp - 0x51], rax
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x180099f37
mov eax, dword [0x1801cc364]
test eax, eax
je 0x180099ef3
add eax, 0xfffffffa
cmp eax, 1
jbe 0x180099ef3
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099eed
mov rdx, qword [rbp - 0x69]
test rdx, rdx
je 0x180099eed
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x1801d4b38]
movaps xmm6, xmm9
jmp 0x180099f63
mov r9, qword [rbp - 0x69]
mov r8, qword [0x1801d4d88]
mov rdx, rbx
mov rcx, r12
call fcn.18009a550
movaps xmm6, xmm0
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099f35
mov rdx, qword [rbp - 0x69]
test rdx, rdx
je 0x180099f35
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x180099f63
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099f60
mov rdx, qword [rbp - 0x69]
test rdx, rdx
je 0x180099f60
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x1801d4b38]
xorps xmm6, xmm6
comiss xmm6, xmm8
jbe 0x180099f6d
movaps xmm8, xmm6
mov eax, r13d
comiss xmm6, xmm7
cmovbe eax, dword [rbp - 0x59]
mov r12d, eax
mov dword [rbp - 0x59], eax
test rcx, rcx
je 0x180099f99
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x180099fc7
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x180099fc3
test rbx, rbx
je 0x180099fc3
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
mov rcx, qword [0x1801d4b38]
mov r12d, dword [rbp - 0x59]
inc r13d
cmp r13d, 8
jle 0x180099c60
cmp r12d, 0xffffffff
mov r15, qword [rbp - 0x21]
jne 0x18009a044
test rcx, rcx
je 0x180099ffa
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a01b
test rdi, rdi
je 0x18009a01b
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a03c
test rsi, rsi
je 0x18009a03c
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
jmp 0x18009a147
mov rax, qword [rcx]
mov r10, qword [rax + 0x368]
mov r9d, r12d
mov r8, qword [0x1801d4f58]
mov rdx, r14
call r10
nop
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a082
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a0a3
test rdi, rdi
je 0x18009a0a3
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a0c4
test rsi, rsi
je 0x18009a0c4
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
jmp 0x18009a147
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a0f1
test r14, r14
je 0x18009a0f1
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a112
test rdi, rdi
je 0x18009a112
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a133
test rsi, rsi
je 0x18009a133
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
jmp 0x18009a147
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009a15a
test r15, r15
je 0x18009a15a
mov rax, qword [rcx]
mov rdx, r15
mov r8, qword [rax + 0xb0]
call r8
nop
mov rcx, qword [rbp - 0x19]
xor rcx, rsp
call fcn.1800caa50
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, qword [rcx + 8]
jmp 0x1800995b0