Function at 0x180089be0
Capabilities:
Hash data using djb2
Hash data using fnv
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xa38]
sub rsp, 0xb00
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x180111c00]
xor rax, rsp
mov qword [rbp + 0x9d0], rax
mov rbx, r9
mov qword [rsp + 0x30], rbx
mov r12, r8
mov r13, rcx
xor edi, edi
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], di
mov rax, qword [0x180113fa8]
mov ecx, dword [rax + 0x9f4]
mov dword [rsp + 0x20], ecx
mov r9, r13
mov r8, qword [rbx]
mov rdx, r12
lea rcx, [rsp + 0x58]
call fcn.18008f4c0
nop
cmp byte [rsp + 0x78], dil
je 0x18008a5ff
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 7
cmova rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
lea rcx, [rbp - 0x60]
call fcn.180023100
nop
cmp byte [rsp + 0x78], dil
je 0x180089ca1
lea rcx, [rsp + 0x58]
call fcn.180003d00
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
mov rsi, rdi
mov qword [rbp - 0x80], rdi
mov r8, qword [rbx]
mov edx, edi
test r8, r8
je 0x180089ceb
mov rcx, r12
movzx eax, byte [rcx]
add rsi, rax
add rsi, rsi
inc edx
lea rcx, [rcx + 1]
movsxd rax, edx
cmp rax, r8
jb 0x180089cd0
mov qword [rbp - 0x80], rsi
movzx edx, sil
movabs rbx, 0xcbf29ce484222325
xor rdx, rbx
movabs r11, 0x100000001b3
imul rdx, r11
mov rax, rsi
shr rax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, rsi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, rsi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, rsi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, rsi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, rsi
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, rsi
shr rax, 0x38
xor rdx, rax
imul rdx, r11
mov r9, qword [0x180f63b00]
and rdx, r9
add rdx, rdx
mov r10, qword [0x180f63ae8]
mov rax, qword [r10 + rdx*8 + 8]
mov r8, qword [0x180f63ad8]
cmp rax, r8
je 0x180089dc1
mov rcx, qword [r10 + rdx*8]
cmp rsi, qword [rax + 0x10]
je 0x180089dc4
nop dword [rax]
cmp rax, rcx
je 0x180089dc1
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x180089db0
jmp 0x180089dc4
mov rax, rdi
test rax, rax
je 0x180089e92
cmp rax, r8
je 0x180089e92
movzx ecx, sil
xor rcx, rbx
imul rcx, r11
movzx eax, byte [rbp - 0x7f]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rbp - 0x7e]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rbp - 0x7d]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rbp - 0x7c]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rbp - 0x7b]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rbp - 0x7a]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rbp - 0x79]
xor rcx, rax
imul rcx, r11
and rcx, r9
add rcx, rcx
mov rax, qword [r10 + rcx*8 + 8]
cmp rax, r8
je 0x18008a67a
mov rcx, qword [r10 + rcx*8]
cmp rsi, qword [rax + 0x10]
je 0x180089e63
nop dword [rax]
cmp rax, rcx
je 0x18008a67a
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x180089e50
lea rdx, [rax + 0x18]
lea rax, [rsp + 0x38]
cmp rax, rdx
je 0x18008a0f3
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 7
jbe 0x180089e83
mov rdx, qword [rdx]
lea rcx, [rsp + 0x38]
call fcn.180023100
jmp 0x18008a0f3
mov rax, qword [0x180113fa8]
mov r14d, dword [rax + 0x140]
mov rax, qword [rbp - 0x50]
lea rdx, [rax + rax]
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rcx, qword [rbp - 0x60]
mov ebx, 0x1505
test rdx, rdx
je 0x180089ed4
imul rbx, rbx, 0x21
movzx eax, byte [rcx]
add rbx, rax
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180089ec0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r9, rbx
mov r8d, eax
lea rdx, str.LUNA_NOTIFY._d._llu
lea rcx, [rbp - 0x40]
call fcn.180081a70
lea r9, [rbp - 0x40]
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov r15, rax
test r14d, r14d
je 0x180089f64
mov rbx, qword [rbp + 0xa60]
cmp byte [0x180114035], 0
je 0x180089f64
mov rdx, rdi
mov rax, qword [0x180113fa8]
add rax, 0xa0
nop dword [rax]
cmp qword [rax - 0xa0], 0
je 0x180089f57
mov rcx, qword [rbx + 8]
cmp qword [rax - 0x50], rcx
jne 0x180089f57
mov rcx, qword [rbx + 0x10]
cmp qword [rax], rcx
jne 0x180089f57
mov rcx, qword [rbx + 0x18]
cmp qword [rax + 0x50], rcx
je 0x180089fcb
inc rdx
add rax, 8
cmp rdx, 0xa
jl 0x180089f30
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor bl, bl
xor edi, edi
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x180089fb3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180089fae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a687
call fcn.1800b75a8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
jmp 0x18008a601
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 0xf0
jne 0x180089ff8
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 0xf0
je 0x18008a00c
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 0xf0
jne 0x18008a00c
mov rax, qword [0x180113fa8]
cmp byte [rax + 0x9f8], 0
jne 0x180089f64
mov edi, r14d
cmp r14d, 0x64
mov eax, 0x64
cmova edi, eax
mov edx, edi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x18008a03a
sub r14d, edi
je 0x180089f64
xor edi, edi
jmp 0x180089f13
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9, qword [0x180113fa8]
add r9, 0x158
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x18008a060
mov rax, qword [rsp + 0x50]
cmp rdx, rax
ja 0x18008a0a3
lea rdi, [rsp + 0x38]
cmp rax, 7
cmova rdi, qword [rsp + 0x38]
mov qword [rsp + 0x48], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1800df8d0
xor eax, eax
mov word [rbx + rdi], ax
jmp 0x18008a0b0
xor r8d, r8d
lea rcx, [rsp + 0x38]
call fcn.1800100f0
cmp qword [rsp + 0x48], 0
je 0x180089f6d
mov qword [rsp + 0x58], rsi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.18004d340
nop
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [0x180f63ad0]
call fcn.180087c00
nop
lea rcx, [rsp + 0x60]
call fcn.180003d00
xor edi, edi
mov rax, qword [0x180113fa8]
mov r8d, dword [rax + 0x9fc]
test r8d, r8d
je 0x18008a1dd
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.1800897e0
mov rbx, rax
lea rax, [rsp + 0x38]
cmp rax, rbx
je 0x18008a19b
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x18008a168
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a163
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a68d
call fcn.1800b75a8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x48], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x18008a1dd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a1d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a68d
call fcn.1800b75a8
mov rdx, qword [r13 + 0x1c8]
test rdx, rdx
je 0x18008a2b0
lea rcx, [rsp + 0x58]
call fcn.1800038c0
nop
lea rdx, [0x1800ed4c8]
lea rcx, [rbp - 0x80]
call fcn.1800038c0
nop
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x38]
call fcn.18008ff70
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x18008a25d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a258
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a693
call fcn.1800b75a8
movdqa xmm0, xmmword [0x1800e9c30]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], di
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x18008a2b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a2ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a699
call fcn.1800b75a8
lea rcx, [rbp - 0x40]
mov rdx, r13
mov r8d, 0xa08
call fcn.1800df8d0
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.180088c40
mov rbx, rax
lea rax, [rsp + 0x38]
cmp rax, rbx
je 0x18008a357
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x18008a324
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a31f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a69f
call fcn.1800b75a8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x48], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x18008a399
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a394
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a69f
call fcn.1800b75a8
mov rax, qword [0x180113fa8]
cmp dword [rax + 0x148], 0
je 0x18008a4e3
lea r8, [0x1800ed4d8]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x58]
call fcn.180087780
mov rbx, rax
mov rdi, qword [rsp + 0x48]
lea r9, [rsp + 0x38]
cmp qword [rsp + 0x50], 7
cmova r9, qword [rsp + 0x38]
mov rsi, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x18008a41f
lea rax, [rsi + rdi]
mov qword [rbx + 0x10], rax
mov r14, rbx
cmp rcx, 7
jbe 0x18008a402
mov r14, qword [rbx]
lea rcx, [r14 + rsi*2]
lea r8, [rdi + rdi]
mov rdx, r9
call fcn.1800df8d0
lea rax, [rdi + rsi]
xor edi, edi
mov word [r14 + rax*2], di
jmp 0x18008a437
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.18004bde0
mov rbx, rax
xor edi, edi
movups xmm6, xmmword [rbx]
movups xmmword [rbp - 0x80], xmm6
movups xmm7, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x70], xmm7
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x18008a497
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a492
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a6a5
call fcn.1800b75a8
movups xmmword [rsp + 0x38], xmm6
movups xmmword [rsp + 0x48], xmm7
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x18008a4e3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a4de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a6ab
call fcn.1800b75a8
lea rcx, [rbp - 0x40]
mov rdx, r13
mov r8d, 0xa08
call fcn.1800df8d0
mov r15, qword [rbp + 0x180]
test r15, r15
je 0x18008a5aa
mov rdi, qword [0x180f63a98]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18008a5a8
test qword [rbx + 0x10], r15
je 0x18008a59c
cmp byte [rbx + 0x30], 0
jne 0x18008a59c
mov byte [rbx + 0x30], 1
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x38]
mov qword [rcx], rax
mov rdx, qword [0x180f63a70]
cmp rdx, qword [0x180f63a78]
je 0x18008a554
mov rax, qword [rbx + 0x10]
mov qword [rdx], rax
add qword [0x180f63a70], 8
jmp 0x18008a564
lea r8, [rbx + 0x10]
lea rcx, [0x180f63a68]
call fcn.180008910
mov rsi, qword [rbx + 0x28]
mov r14, qword [rbx + 0x20]
mov edx, 9
mov rcx, qword [r14]
call fcn.180005970
call fcn.1800b3020
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call fcn.1800b3550
mov rdx, rsi
mov rcx, r14
call fcn.1800b2600
call fcn.1800b30a0
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x18008a518
xor edi, edi
bt r15, 0x14
jae 0x18008a5b8
mov byte [0x180f63a59], 1
bt r15, 0x15
jae 0x18008a5c6
mov byte [0x180f63a5a], 1
mov rax, rdi
xchg qword [0x180f63b10], rax
test rax, rax
je 0x18008a5de
call rax
mov byte [0x180114034], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x38]
mov r8, qword [rsp + 0x30]
mov rdx, r12
mov rcx, r13
call fcn.180088e50
mov bl, 1
jmp 0x180089f71
xor bl, bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x18008a63d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a638
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a674
call fcn.1800b75a8
movzx eax, bl
mov rcx, qword [rbp + 0x9d0]
xor rcx, rsp
call fcn.1800b7aa0
lea r11, [rsp + 0xb00]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800c5e18
nop
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1800b4cac
nop
call fcn.1800c5e18
nop
call fcn.1800c5e18
nop
call fcn.1800c5e18
nop
call fcn.1800c5e18
int3
call fcn.1800c5e18
nop
call fcn.1800c5e18
nop
call fcn.1800c5e18
int3