Function at 0x140035b80
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 [0x1400937b8]
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 0x140035c41
mov rax, qword [rax + rcx*8]
cmp r10d, dword [rbx + 0x10]
je 0x140035c44
nop word [rax + rax]
cmp rbx, rax
je 0x140035c41
mov rbx, qword [rbx + 8]
cmp r9d, dword [rbx + 0x10]
jne 0x140035c30
jmp 0x140035c44
mov rbx, rdi
test rbx, rbx
cmove rbx, rdx
mov r8d, dword [rbp + 0x14]
cmp r8d, 0x12
jne 0x140035c6f
xor al, al
cmp word [rbx + 0x18], di
je 0x140035c66
mov word [rbx + 0x18], di
jmp 0x140035f6f
mov word [rbx + 0x1a], di
jmp 0x140035f6f
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 [0x140093f80]
shl rcx, 4
add rcx, qword [0x140093f68]
mov rax, qword [rcx + 8]
mov r14, qword [0x140093f58]
cmp rax, r14
je 0x140035ce4
mov rcx, qword [rcx]
cmp r8d, dword [rax + 0x10]
je 0x140035ce7
cmp rax, rcx
je 0x140035ce4
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x140035cd3
jmp 0x140035ce7
mov rax, rdi
test rax, rax
cmovne r14, rax
movzx eax, byte [r14 + 0x1e]
cmp al, 0x12
jne 0x140035d04
movzx eax, word [rbp + 0x14]
mov word [rbx + 0x1a], ax
jmp 0x140035dea
cmp al, 0x13
jne 0x140035de2
mov ecx, 0x18
call fcn.140069938
mov rsi, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x140035d42
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 0x140035d45
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, 0x18
call fcn.140069938
mov r14, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140035d94
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 0x140035d97
mov r14, rdi
mov edx, 0x18
xor ecx, ecx
call fcn.140069974
mov qword [rbx + 0x20], rsi
mov rsi, qword [rbx + 0x28]
mov qword [rbx + 0x28], r14
test rsi, rsi
je 0x140035dea
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140035dea
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock xadd dword [rsi + 0xc], ebx
cmp ebx, 1
jne 0x140035dea
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140035dea
movzx eax, word [rbp + 0x14]
mov word [rbx + 0x18], ax
mov r10, qword [0x1400937b8]
mov eax, dword [r10 + 0x248]
cmp dword [rbp + 4], eax
jne 0x140035f6d
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 0x140035e81
mov rcx, qword [rbx + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x140035e84
cmp rax, rcx
je 0x140035e81
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x140035e70
jmp 0x140035e84
mov rax, rdi
test rax, rax
cmove rax, r9
cmp rax, r9
je 0x140035f6d
movzx ecx, byte [rax + 0x16]
cmp cl, 1
jbe 0x140035ea7
dec cl
mov byte [rax + 0x16], cl
jmp 0x140035f6d
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 0x140035f12
mov rcx, qword [rbx + r11*8]
cmp r8d, dword [rdx + 0x10]
je 0x140035f0f
nop dword [rax]
cmp rax, rcx
je 0x140035f12
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x140035f00
mov rdi, rax
test rdi, rdi
je 0x140035f6d
mov rax, qword [rbx + r11*8]
cmp rdx, rdi
jne 0x140035f3b
cmp rax, rdi
jne 0x140035f30
mov qword [rbx + r11*8], r9
mov qword [rbx + r11*8 + 8], r9
jmp 0x140035f47
mov r9, qword [rdi + 8]
mov qword [rbx + r11*8 + 8], r9
jmp 0x140035f47
cmp rax, rdi
jne 0x140035f47
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, 0x18
mov rcx, rdi
call fcn.140069974
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