Function at 0x140012610
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
movzx esi, r8b
mov rdi, rdx
lea rbx, [0x14008d0a0]
mov qword [rsp + 0x28], rbx
mov rcx, rbx
call fcn.140063dc8
test eax, eax
jne 0x14001288e
mov eax, dword [0x14008d0ec]
cmp eax, 0x7fffffff
je 0x14001287b
test sil, sil
je 0x140012739
mov r8d, dword [rdi + 8]
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
xor rdx, rax
imul rdx, r9
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r9
mov rcx, qword [0x14008d090]
and rcx, rdx
shl rcx, 4
mov rax, qword [0x14008d078]
add rax, rcx
mov rcx, qword [rax + 8]
mov rdx, qword [0x14008d068]
cmp rcx, rdx
je 0x1400126f1
mov rax, qword [rax]
cmp r8d, dword [rcx + 0x10]
je 0x1400126f3
nop
cmp rcx, rax
je 0x1400126f1
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x1400126e0
jmp 0x1400126f3
xor ecx, ecx
test rcx, rcx
je 0x14001270f
cmp rcx, rdx
je 0x14001270f
xor r8d, r8d
mov rdx, rdi
lea rcx, [0x14008d060]
call fcn.140012610
mov eax, dword [rdi + 8]
mov dword [rsp + 0x20], eax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
call fcn.140013210
mov rdx, qword [rax]
mov qword [rdx + 0x18], rdi
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
jmp 0x140012864
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov eax, dword [rdi + 8]
mov dword [rsp + 0x20], eax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
call fcn.140013210
mov rcx, qword [rax]
mov edx, reloc.WS2_32.dll_recv
mov rcx, qword [rcx + 0x18]
call fcn.140042e44
mov r8d, dword [rdi + 8]
movzx edx, r8b
movabs rcx, 0xcbf29ce484222325
xor rdx, rcx
movabs r9, 0x100000001b3
imul rdx, r9
mov eax, r8d
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r9
mov rax, rdx
mov r11, qword [0x14008d090]
and rax, r11
add rax, rax
mov r10, qword [0x14008d078]
mov rcx, qword [r10 + rax*8 + 8]
mov r9, qword [0x14008d068]
cmp rcx, r9
je 0x140012801
mov rax, qword [r10 + rax*8]
cmp r8d, dword [rcx + 0x10]
je 0x140012803
nop dword [rax]
cmp rcx, rax
je 0x140012801
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x1400127f0
jmp 0x140012803
xor ecx, ecx
test rcx, rcx
je 0x140012864
and rdx, r11
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp qword [r10 + rdx*8 + 8], rcx
jne 0x140012834
cmp rax, rcx
jne 0x140012829
mov qword [r10 + rdx*8], r9
mov qword [r10 + rdx*8 + 8], r9
jmp 0x140012840
mov r9, qword [rcx + 8]
mov qword [r10 + rdx*8 + 8], r9
jmp 0x140012840
cmp rax, rcx
jne 0x140012840
mov rax, qword [rcx]
mov qword [r10 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [0x14008d070]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.140042e44
nop
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
jmp 0x140063dd0
dec eax
mov dword [0x14008d0ec], eax
mov ecx, 6
call fcn.140063d18
int3
mov ecx, 5
call fcn.140063d18
int3
sub rsp, 0x28
sub dword [rcx + 0x4c], 1
jne 0x140063de8
or dword [rcx + 0x48], 0xffffffff
add rcx, 0x10
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor eax, eax
add rsp, 0x28
ret