Function at 0x140035d50
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 [0x14011dc78]
movzx edx, r9b
movabs r12, 0xcbf29ce484222325
xor rdx, r12
movabs r15, 0x100000001b3
imul rdx, r15
mov eax, r9d
shr eax, 8
movzx ecx, al
xor rdx, rcx
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 0x140035e11
mov rax, qword [rax + rcx*8]
cmp r10d, dword [rbx + 0x10]
je 0x140035e14
nop word [rax + rax]
cmp rbx, rax
je 0x140035e11
mov rbx, qword [rbx + 8]
cmp r9d, dword [rbx + 0x10]
jne 0x140035e00
jmp 0x140035e14
mov rbx, rdi
test rbx, rbx
cmove rbx, rdx
mov r8d, dword [rbp + 0x14]
cmp r8d, 0x12
jne 0x140035e3f
xor al, al
cmp word [rbx + 0x18], di
je 0x140035e36
mov word [rbx + 0x18], di
jmp 0x14003613f
mov word [rbx + 0x1a], di
jmp 0x14003613f
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, r12
imul rax, r15
xor rdx, rax
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 [0x14011e440]
shl rcx, 4
add rcx, qword [0x14011e428]
mov rax, qword [rcx + 8]
mov r14, qword [0x14011e418]
cmp rax, r14
je 0x140035eb4
mov rcx, qword [rcx]
cmp r8d, dword [rax + 0x10]
je 0x140035eb7
cmp rax, rcx
je 0x140035eb4
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x140035ea3
jmp 0x140035eb7
mov rax, rdi
test rax, rax
cmovne r14, rax
movzx eax, byte [r14 + 0x1e]
cmp al, 0x12
jne 0x140035ed4
movzx eax, word [rbp + 0x14]
mov word [rbx + 0x1a], ax
jmp 0x140035fba
cmp al, 0x13
jne 0x140035fb2
mov ecx, Ordinal_27
call fcn.1400d9698
mov rsi, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x140035f12
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 0x140035f15
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.1400d9698
mov r14, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140035f64
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 0x140035f67
mov r14, rdi
mov edx, Ordinal_27
xor ecx, ecx
call fcn.1400d96d4
mov qword [rbx + 0x20], rsi
mov rsi, qword [rbx + 0x28]
mov qword [rbx + 0x28], r14
test rsi, rsi
je 0x140035fba
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140035fba
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock xadd dword [rsi + 0xc], ebx
cmp ebx, 1
jne 0x140035fba
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140035fba
movzx eax, word [rbp + 0x14]
mov word [rbx + 0x18], ax
mov r10, qword [0x14011dc78]
mov eax, dword [r10 + 0x248]
cmp dword [rbp + 4], eax
jne 0x14003613d
mov r8d, dword [rbp + 0x14]
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, r12
imul rax, r15
xor rdx, rax
imul rdx, r15
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r15
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r15
mov r11, qword [r10 + 0x298]
mov rcx, r11
and rcx, rdx
mov rbx, qword [r10 + 0x280]
add rcx, rcx
mov rax, qword [rbx + rcx*8 + 8]
mov r9, qword [r10 + 0x270]
cmp rax, r9
je 0x140036051
mov rcx, qword [rbx + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x140036054
cmp rax, rcx
je 0x140036051
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x140036040
jmp 0x140036054
mov rax, rdi
test rax, rax
cmove rax, r9
cmp rax, r9
je 0x14003613d
movzx ecx, byte [rax + 0x16]
cmp cl, 1
jbe 0x140036077
dec cl
mov byte [rax + 0x16], cl
jmp 0x14003613d
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, r12
imul rax, r15
xor rdx, rax
imul rdx, r15
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r15
mov rax, r8
shr rax, 0x18
xor rdx, rax
imul rdx, r15
and r11, rdx
add r11, r11
mov rdx, qword [rbx + r11*8 + 8]
mov rax, rdx
cmp rdx, r9
je 0x1400360e2
mov rcx, qword [rbx + r11*8]
cmp r8d, dword [rdx + 0x10]
je 0x1400360df
nop dword [rax]
cmp rax, rcx
je 0x1400360e2
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x1400360d0
mov rdi, rax
test rdi, rdi
je 0x14003613d
mov rax, qword [rbx + r11*8]
cmp rdx, rdi
jne 0x14003610b
cmp rax, rdi
jne 0x140036100
mov qword [rbx + r11*8], r9
mov qword [rbx + r11*8 + 8], r9
jmp 0x140036117
mov r9, qword [rdi + 8]
mov qword [rbx + r11*8 + 8], r9
jmp 0x140036117
cmp rax, rdi
jne 0x140036117
mov rax, qword [rdi]
mov qword [rbx + r11*8], rax
mov r8, qword [rdi]
dec qword [r10 + 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.1400d96d4
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