Function at 0x140036ad0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rbp, rcx
imul r9d, dword [rcx + 0x30], 0x64
add r9d, dword [rcx + 0x2c]
mov r10d, r9d
mov r8, qword [0x1401362c0]
mov eax, r9d
shr eax, 8
movzx edx, al
movzx eax, r9b
movabs r12, 0xcbf29ce484222325
xor rax, r12
movabs r15, 0x100000001b3
imul rax, r15
xor rdx, rax
imul rdx, r15
mov eax, r9d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r15
mov eax, r9d
shr rax, 0x18
xor rdx, rax
imul rdx, r15
mov rcx, qword [r8 + 0x170]
and rcx, rdx
add rcx, rcx
mov rax, qword [r8 + 0x158]
mov rbx, qword [rax + rcx*8 + 8]
mov rdx, qword [r8 + 0x148]
xor edi, edi
cmp rbx, rdx
je 0x140036b91
mov rax, qword [rax + rcx*8]
cmp r10d, dword [rbx + 0x10]
je 0x140036b94
nop word [rax + rax]
cmp rbx, rax
je 0x140036b91
mov rbx, qword [rbx + 8]
cmp r9d, dword [rbx + 0x10]
jne 0x140036b80
jmp 0x140036b94
mov rbx, rdi
test rbx, rbx
cmove rbx, rdx
mov r8d, dword [rbp + 0x14]
cmp r8d, 0x12
jne 0x140036bbf
xor al, al
cmp word [rbx + 0x18], di
je 0x140036bb6
mov word [rbx + 0x18], di
jmp 0x140036ea4
mov word [rbx + 0x1a], di
jmp 0x140036ea4
movzx edx, r8b
xor rdx, r12
imul rdx, r15
mov eax, r8d
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r15
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rcx, rdx
imul rcx, r15
mov rax, r8
shr rax, 0x18
xor rcx, rax
imul rcx, r15
and rcx, qword [0x140136d00]
shl rcx, 4
add rcx, qword [0x140136ce8]
mov rax, qword [rcx + 8]
mov r14, qword [0x140136cd8]
cmp rax, r14
je 0x140036c34
mov rcx, qword [rcx]
cmp r8d, dword [rax + 0x10]
je 0x140036c37
cmp rax, rcx
je 0x140036c34
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x140036c23
jmp 0x140036c37
mov rax, rdi
test rax, rax
cmovne r14, rax
movzx eax, byte [r14 + 0x1e]
cmp al, 0x12
jne 0x140036c54
movzx eax, word [rbp + 0x14]
mov word [rbx + 0x1a], ax
jmp 0x140036d3a
cmp al, 0x13
jne 0x140036d32
mov ecx, Ordinal_27
call fcn.1400e7fd8
mov rsi, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x140036c92
movsxd rax, dword [r14 + 0x134]
mov dword [rsi], edi
mov byte [rsi + 4], dil
mov qword [rsi + 8], rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rsi + 0x10], rax
jmp 0x140036c95
mov rsi, rdi
movzx eax, byte [rbp + 3]
mov byte [rsi + 4], al
movzx eax, word [rbp + 0x14]
mov word [rbx + 0x18], ax
mov qword [rsp + 0x20], rsi
mov ecx, Ordinal_27
call fcn.1400e7fd8
mov r14, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x140036ce4
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_struct_SeedData_.0
mov qword [r14], rax
mov qword [r14 + 0x10], rsi
jmp 0x140036ce7
mov r14, rdi
mov edx, Ordinal_27
xor ecx, ecx
call fcn.1400e8014
mov qword [rbx + 0x20], rsi
mov rsi, qword [rbx + 0x28]
mov qword [rbx + 0x28], r14
test rsi, rsi
je 0x140036d3a
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140036d3a
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock xadd dword [rsi + 0xc], ebx
cmp ebx, 1
jne 0x140036d3a
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140036d3a
movzx eax, word [rbp + 0x14]
mov word [rbx + 0x18], ax
mov r9, qword [0x1401362c0]
mov eax, dword [r9 + 0x248]
cmp dword [rbp + 4], eax
jne 0x140036ea2
mov edx, dword [rbp + 0x14]
mov eax, edx
shr eax, 8
movzx ebx, al
mov eax, edx
shr eax, 0x10
movzx esi, al
mov r10d, edx
shr r10, 0x18
movzx ecx, dl
xor rcx, r12
imul rcx, r15
xor rcx, rbx
imul rcx, r15
xor rcx, rsi
imul rcx, r15
xor rcx, r10
imul rcx, r15
mov r11, qword [r9 + 0x298]
and rcx, r11
mov rbp, qword [r9 + 0x280]
add rcx, rcx
mov rax, qword [rbp + rcx*8 + 8]
mov r8, qword [r9 + 0x270]
cmp rax, r8
je 0x140036dd0
mov rcx, qword [rbp + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x140036dd3
nop dword [rax]
cmp rax, rcx
je 0x140036dd0
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140036dc0
jmp 0x140036dd3
mov rax, rdi
test rax, rax
cmove rax, r8
cmp rax, r8
je 0x140036ea2
movzx ecx, byte [rax + 0x16]
cmp cl, 1
jbe 0x140036df6
dec cl
mov byte [rax + 0x16], cl
jmp 0x140036ea2
movzx eax, dl
xor rax, r12
imul rax, r15
xor rax, rbx
imul rax, r15
xor rax, rsi
imul rax, r15
xor rax, r10
imul rax, r15
and r11, rax
add r11, r11
mov r10, qword [rbp + r11*8 + 8]
mov rax, r10
cmp r10, r8
je 0x140036e44
mov rcx, qword [rbp + r11*8]
cmp edx, dword [r10 + 0x10]
je 0x140036e41
cmp rax, rcx
je 0x140036e44
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140036e33
mov rdi, rax
test rdi, rdi
je 0x140036ea2
mov rax, qword [rbp + r11*8]
cmp r10, rdi
jne 0x140036e6f
cmp rax, rdi
jne 0x140036e64
mov qword [rbp + r11*8], r8
mov qword [rbp + r11*8 + 8], r8
jmp 0x140036e7c
mov r8, qword [rdi + 8]
mov qword [rbp + r11*8 + 8], r8
jmp 0x140036e7c
cmp rax, rdi
jne 0x140036e7c
mov rax, qword [rdi]
mov qword [rbp + r11*8], rax
mov r8, qword [rdi]
dec qword [r9 + 0x278]
mov rax, qword [rdi + 8]
mov qword [rax], r8
mov rax, qword [rdi + 8]
mov qword [r8 + 8], rax
mov edx, Ordinal_27
mov rcx, rdi
call fcn.1400e8014
xor al, al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret