Function at 0x14003a770
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x1400fb0c0]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rsi, r8
mov rdi, rdx
mov qword [rsp + 0x70], rdx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm0
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm0
mov dword [rdx], r12d
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], r12
mov ecx, Ordinal_50
call fcn.1400ca420
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r12
mov qword [rdi + 0x28], r12
mov qword [rdi + 0x30], 7
mov qword [rdi + 0x38], 8
mov dword [rdi], 0x3f800000
mov r8, qword [rdi + 8]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rdi + 0x18]
call fcn.14002d160
nop
mov dword [rsp + 0x20], 1
movss xmm7, dword [rdi]
mov rcx, qword [rsi + 8]
sub rcx, qword [rsi]
sar rcx, 3
add rcx, rcx
xorps xmm0, xmm0
js 0x14003a868
cvtsi2ss xmm0, rcx
jmp 0x14003a87d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor eax, eax
movabs r15, 0x8000000000000000
movss xmm6, dword [0x1400e67b4]
comiss xmm0, xmm6
jb 0x14003a8ab
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x14003a8ab
mov rax, r15
cvttss2si rbx, xmm0
add rbx, rax
mov rcx, qword [rdi + 0x10]
xorps xmm0, xmm0
test rcx, rcx
js 0x14003a8c6
cvtsi2ss xmm0, rcx
jmp 0x14003a8db
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor eax, eax
comiss xmm0, xmm6
jb 0x14003a8f7
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x14003a8f7
mov rax, r15
cvttss2si rdx, xmm0
add rdx, rax
cmp rdx, rbx
cmovb rdx, rbx
cmp rdx, qword [rdi + 0x38]
jbe 0x14003a914
mov rcx, rdi
call fcn.140052fb0
mov r8, qword [0x1401f65d8]
lea rcx, [r8 + 8]
lea rdx, [rsp + 0x30]
call fcn.140039bb0
mov r15, qword [rsi + 8]
mov qword [rsp + 0x28], r15
mov rsi, qword [rsi]
cmp rsi, r15
je 0x14003ab08
movabs r13, 0x100000001b3
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm12, xmmword [rsp + 0x30]
mov eax, dword [rsi]
mov dword [rbp + 0x50], eax
mov eax, dword [rsi + 4]
mov dword [rbp + 0x54], eax
lea rbx, [rbp + 0x50]
movabs r15, 0xcbf29ce484222325
nop dword [rax]
mov r9d, dword [rbx]
mov dword [rbp + 0x48], r9d
movzx edx, r9b
xor rdx, r15
imul rdx, r13
mov eax, r9d
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov eax, r9d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov eax, r9d
shr rax, 0x18
xor rdx, rax
imul rdx, r13
mov rcx, qword [rdi + 0x30]
and rcx, rdx
add rcx, rcx
mov r10, qword [rdi + 0x18]
mov rax, qword [r10 + rcx*8 + 8]
mov rdx, qword [rdi + 8]
cmp rax, rdx
je 0x14003a9f7
mov rcx, qword [r10 + rcx*8]
cmp r9d, dword [rax + 0x10]
je 0x14003a9fa
cmp rax, rcx
je 0x14003a9f7
mov rax, qword [rax + 8]
cmp r9d, dword [rax + 0x10]
jne 0x14003a9e6
jmp 0x14003a9fa
mov rax, r12
test rax, rax
cmove rax, rdx
cmp rax, rdx
jne 0x14003aae8
lea eax, [r9 + r9*2]
shl eax, 5
movsxd rcx, eax
add rcx, qword [r8]
mov r8, rcx
lea rdx, [rbp - 0x80]
mov rcx, qword [0x1401f6530]
call fcn.1400537f0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.14003a180
movaps xmmword [rbp - 0x20], xmm12
movaps xmmword [rbp - 0x10], xmm11
movaps xmmword [rbp], xmm10
movaps xmmword [rbp + 0x10], xmm9
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rbp - 0x80], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x70], xmm1
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rbp - 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x50], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140039d70
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x30]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
shufps xmm1, xmm1, 0xaa
xorps xmm7, xmm7
cvtss2sd xmm7, xmm1
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.140054970
mov rcx, qword [rax]
unpcklpd xmm8, xmm6
movups xmmword [rcx + 0x18], xmm8
movsd qword [rcx + 0x28], xmm7
mov r8, qword [0x1401f65d8]
add rbx, 4
lea rax, [rbp + 0x58]
cmp rbx, rax
jne 0x14003a980
add rsi, 8
cmp rsi, qword [rsp + 0x28]
jne 0x14003a960
mov rax, rdi
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.1400ca400
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret