Function at 0x14002a160
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rbp, r9
mov qword [rsp + 0x38], r9
mov rsi, r8
mov qword [rsp + 0x30], r8
mov r12, rdx
cmp dword [rcx + 0x10], 3
jne 0x14002a2c7
call fcn.140010200
mov r13, rax
lea rdx, str.RtlQueueApcWow64Thread
lea rcx, [rsp + 0x40]
call fcn.140003230
nop
call fcn.140025990
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x40]
call fcn.140003ea0
mov rbx, rax
lea rcx, [rsp + 0x40]
call fcn.140003eb0
movabs rdx, 0xcbf29ce484222325
xor r8d, r8d
test rbx, rbx
je 0x14002a204
movabs r9, 0x100000001b3
nop dword [rax]
movzx ecx, byte [rax + r8]
xor rdx, rcx
imul rdx, r9
inc r8
cmp r8, rbx
jb 0x14002a1f0
mov rcx, qword [r13 + 0x30]
and rcx, rdx
add rcx, rcx
mov rax, qword [r13 + 0x18]
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r13 + 8]
je 0x14002a278
mov rbp, qword [rax + rcx*8]
lea rcx, [rdi + 0x10]
mov rbx, qword [rcx + 0x10]
call fcn.140004b00
mov r14, rax
mov rsi, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140004b00
cmp rsi, rbx
jne 0x14002a257
mov r8, rsi
mov rdx, r14
mov rcx, rax
call fcn.1400416b0
test eax, eax
je 0x14002a262
cmp rdi, rbp
je 0x14002a26e
mov rdi, qword [rdi + 8]
jmp 0x14002a221
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
jmp 0x14002a27a
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
xor edi, edi
test rdi, rdi
je 0x14002a2b3
cmp rdi, qword [r13 + 8]
je 0x14002a2b3
mov rbx, qword [rdi + 0x30]
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14002a2bd
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbp
mov rdx, rsi
mov rcx, r12
call rbx
mov ebx, eax
jmp 0x14002a2c2
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 0xc0000138
jmp 0x14002a402
call fcn.140010200
mov r13, rax
lea rdx, str.NtQueueApcThread
lea rcx, [rsp + 0x40]
call fcn.140003230
nop
call fcn.140025990
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x40]
call fcn.140003ea0
mov rbx, rax
lea rcx, [rsp + 0x40]
call fcn.140003eb0
movabs rdx, 0xcbf29ce484222325
xor r8d, r8d
test rbx, rbx
je 0x14002a344
movabs r9, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax + r8]
xor rdx, rcx
imul rdx, r9
inc r8
cmp r8, rbx
jb 0x14002a330
mov rcx, qword [r13 + 0x30]
and rcx, rdx
add rcx, rcx
mov rax, qword [r13 + 0x18]
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r13 + 8]
je 0x14002a3b8
mov rbp, qword [rax + rcx*8]
lea rcx, [rdi + 0x10]
mov rbx, qword [rcx + 0x10]
call fcn.140004b00
mov r14, rax
mov rsi, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140004b00
cmp rsi, rbx
jne 0x14002a397
mov r8, rsi
mov rdx, r14
mov rcx, rax
call fcn.1400416b0
test eax, eax
je 0x14002a3a2
cmp rdi, rbp
je 0x14002a3ae
mov rdi, qword [rdi + 8]
jmp 0x14002a361
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
jmp 0x14002a3ba
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
xor edi, edi
test rdi, rdi
je 0x14002a3f3
cmp rdi, qword [r13 + 8]
je 0x14002a3f3
mov rbx, qword [rdi + 0x30]
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14002a3fd
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbp
mov rdx, rsi
mov rcx, r12
call rbx
mov ebx, eax
jmp 0x14002a402
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 0xc0000138
lea rcx, [rsp + 0x40]
call fcn.1400040b0
mov eax, ebx
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret