Function at 0x1400258f0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rdx
cmp r9d, 0xffffffff
jne 0x14002590d
mov r9d, dword [0x1406b9674]
mov r11d, r8d
shr r11d, 8
mov r10d, r8d
shr r10d, 0x10
mov edx, r8d
shr edx, 0x18
mov rax, qword [rcx + 0x50]
mov rcx, qword [rcx + 0x58]
sub rcx, rax
shr rcx, 3
imul ebx, ecx, 0xc28f5c29
xor ecx, ecx
cmp r9d, ebx
jge 0x1400259dc
movsxd rcx, r9d
imul rcx, rcx, 0xc8
movzx edi, r8b
movabs r14, 0xcbf29ce484222325
xor r14, rdi
movabs rdi, 0x100000001b3
imul r14, rdi
movzx r15d, r11b
xor r15, r14
imul r15, rdi
movzx r14d, r10b
xor r14, r15
imul r14, rdi
mov r15d, edx
xor r15, r14
imul r15, rdi
and r15, qword [rax + rcx + 0x58]
mov r14, qword [rax + rcx + 0x30]
mov r12, qword [rax + rcx + 0x40]
mov rdi, r15
shl rdi, 4
mov rdi, qword [r12 + rdi + 8]
cmp rdi, r14
je 0x1400259d8
cmp dword [rdi + 0x10], r8d
je 0x1400259cf
add r15, r15
mov r15, qword [r12 + r15*8]
nop word [rax + rax]
cmp rdi, r15
je 0x1400259d8
mov rdi, qword [rdi + 8]
cmp dword [rdi + 0x10], r8d
jne 0x1400259c0
cmp rdi, r14
jne 0x140025b24
mov ecx, dword [rax + rcx + 8]
cmp r9d, ecx
je 0x140025a88
cmp ecx, ebx
jge 0x140025a88
movsxd rdi, ecx
imul rdi, rdi, 0xc8
movzx ebx, r8b
movabs r14, 0xcbf29ce484222325
xor r14, rbx
movabs rbx, 0x100000001b3
imul r14, rbx
movzx r15d, r11b
xor r15, r14
imul r15, rbx
movzx r12d, r10b
xor r12, r15
imul r12, rbx
mov r14d, edx
xor r14, r12
imul r14, rbx
and r14, qword [rax + rdi + 0x58]
mov rbx, qword [rax + rdi + 0x30]
mov r15, qword [rax + rdi + 0x40]
mov rdi, r14
shl rdi, 4
mov rdi, qword [r15 + rdi + 8]
cmp rdi, rbx
je 0x140025a88
cmp dword [rdi + 0x10], r8d
je 0x140025a7f
add r14, r14
mov r14, qword [r15 + r14*8]
nop word cs:[rax + rax]
cmp rdi, r14
je 0x140025a88
mov rdi, qword [rdi + 8]
cmp dword [rdi + 0x10], r8d
jne 0x140025a70
cmp rdi, rbx
jne 0x140025b24
test r9d, r9d
je 0x140025b47
test ecx, ecx
je 0x140025b47
movzx ecx, r8b
movabs r9, 0xcbf29ce484222325
xor r9, rcx
movabs rcx, 0x100000001b3
imul r9, rcx
movzx r11d, r11b
xor r11, r9
imul r11, rcx
movzx r9d, r10b
xor r9, r11
imul r9, rcx
mov edx, edx
xor rdx, r9
imul rdx, rcx
and rdx, qword [rax + 0x58]
mov rcx, qword [rax + 0x30]
mov rax, qword [rax + 0x40]
mov r9, rdx
shl r9, 4
mov rdi, qword [rax + r9 + 8]
cmp rdi, rcx
je 0x140025b47
cmp dword [rdi + 0x10], r8d
je 0x140025b1f
add rdx, rdx
mov rax, qword [rax + rdx*8]
nop word cs:[rax + rax]
cmp rdi, rax
je 0x140025b47
mov rdi, qword [rdi + 8]
cmp dword [rdi + 0x10], r8d
jne 0x140025b10
cmp rdi, rcx
je 0x140025b47
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov rbx, qword [rdi + 0x28]
cmp qword [rdi + 0x30], 0x10
jb 0x140025b62
mov rdi, qword [rdi + 0x18]
test rbx, rbx
jns 0x140025b6b
call fcn.140002160
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
jmp 0x140025be7
add rdi, 0x18
test rbx, rbx
js 0x140025b42
cmp rbx, 0xf
ja 0x140025b85
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
jmp 0x140025be7
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r14d, reloc.WS2_32.dll_shutdown
cmovae r14, rax
cmp r14, 0xfff
jb 0x140025bc2
lea rcx, [r14 + 0x28]
call fcn.140170c88
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140025bce
lea rcx, [r14 + 1]
call fcn.140170c88
mov rcx, rax
mov qword [rsi], rcx
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r14
inc rbx
mov rdx, rdi
mov r8, rbx
call fcn.1403766a0
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret