Function at 0x18003fd40
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 - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x1801cc8c0]
xor rax, rsp
mov qword [rbp - 0x11], rax
movzx r12d, r9b
mov r13, r8
mov qword [rbp - 0x71], rdx
mov rcx, qword [0x1801ce548]
mov rax, qword [rcx + 0x1c20]
mov byte [rax + 0x90], 1
mov rbx, qword [rcx + 0x1c20]
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call fcn.18004a3c0
mov edi, eax
mov esi, eax
shr esi, 0x18
mov r14d, eax
shr r14d, 0x10
mov r15d, eax
shr r15d, 8
movss xmm6, dword [0x180166cf0]
movss dword [rsp + 0x20], xmm6
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp - 0x71]
lea rcx, [rbp - 0x19]
call fcn.180045ee0
movss dword [rsp + 0x20], xmm6
mov r9b, 1
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp - 0x29]
call fcn.180045ee0
movss xmm6, dword [rbx + 0xd8]
movss xmm7, dword [rbx + 0xdc]
mov rax, qword [rbx + 0x270]
mov qword [rbp - 0x59], rax
movaps xmm8, xmm7
addss xmm8, dword [0x1801688a0]
call fcn.18004b100
addss xmm0, xmm6
movss dword [rbp - 0x39], xmm6
movss dword [rbp - 0x35], xmm7
movss dword [rbp - 0x31], xmm0
movss dword [rbp - 0x2d], xmm8
xor r9d, r9d
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x39]
call fcn.18004d9a0
call fcn.18004ae20
movss xmm1, dword [rax + 0x40]
lea rcx, [rbp - 0x39]
call fcn.18004dd60
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea r9, [rbp - 0x21]
lea r8, [rbp - 0x20]
mov edx, edi
lea rcx, [rbp - 0x39]
call fcn.18007b8a0
mov byte [rbp - 0x79], al
mov edx, dword [0x1801ceac4]
mov rcx, qword gs:[0x58]
mov eax, 0x6d0
mov rcx, qword [rcx + rdx*8]
movss xmm8, dword [0x180166c34]
mov ecx, dword [rax + rcx]
cmp dword [0x1801ce540], ecx
jg 0x180040180
movzx ebx, dil
movabs rax, 0xcbf29ce484222325
xor rbx, rax
movabs rcx, 0x100000001b3
imul rbx, rcx
movzx eax, r15b
xor rbx, rax
imul rbx, rcx
movzx eax, r14b
xor rbx, rax
imul rbx, rcx
mov eax, esi
xor rbx, rax
imul rbx, rcx
mov rax, rbx
and rax, qword [0x1801ce530]
add rax, rax
mov r8, qword [0x1801ce518]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [0x1801ce508]
cmp rcx, rdx
je 0x18003ff30
mov rax, qword [r8 + rax*8]
cmp edi, dword [rcx + 0x10]
je 0x18003ff32
nop dword [rax]
cmp rcx, rax
je 0x18003ff30
mov rcx, qword [rcx + 8]
cmp edi, dword [rcx + 0x10]
jne 0x18003ff20
jmp 0x18003ff32
xor ecx, ecx
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
xorps xmm7, xmm7
cmp rax, rdx
jne 0x18003ffa9
mov dword [rbp - 0x69], edi
mov dword [rbp - 0x65], 0
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x49]
lea rcx, [0x1801ce500]
call fcn.18003f4b0
and rbx, qword [0x1801ce530]
add rbx, rbx
mov rdx, qword [0x1801ce518]
mov rcx, qword [rdx + rbx*8 + 8]
mov rax, qword [0x1801ce508]
cmp rcx, rax
je 0x18003ffa0
mov rdx, qword [rdx + rbx*8]
cmp edi, dword [rcx + 0x10]
je 0x18003ffa2
nop dword [rax]
cmp rcx, rdx
je 0x18003ffa0
mov rcx, qword [rcx + 8]
cmp edi, dword [rcx + 0x10]
jne 0x18003ff90
jmp 0x18003ffa2
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
test r12b, r12b
je 0x18003ffb2
movaps xmm7, xmm8
subss xmm7, dword [rax + 0x14]
mulss xmm7, dword [0x180168884]
addss xmm7, dword [rax + 0x14]
movss dword [rax + 0x14], xmm7
movss xmm6, dword [0x180166c30]
mulss xmm7, xmm6
call fcn.18004ae20
movss xmm2, dword [rax]
movss xmm0, dword [0x1801cbe78]
movss dword [rbp - 0x69], xmm0
movss xmm1, dword [0x1801cbe7c]
movss dword [rbp - 0x65], xmm1
movss xmm0, dword [0x1801cbe80]
movss dword [rbp - 0x61], xmm0
mulss xmm2, dword [0x1801cbe84]
mulss xmm2, xmm7
movss dword [rbp - 0x5d], xmm2
lea rcx, [rbp - 0x69]
call fcn.1800471f0
mov r9d, eax
mov dword [rsp + 0x28], 0
movss xmm0, dword [0x180166c74]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x39]
mov rbx, qword [rbp - 0x59]
mov rcx, rbx
call fcn.18005eb80
call fcn.18004ae20
movss xmm2, dword [rax]
movss xmm0, dword [0x1801cbe28]
movss dword [rbp - 0x59], xmm0
movss xmm1, dword [0x1801cbe2c]
movss dword [rbp - 0x55], xmm1
movss xmm0, dword [0x1801cbe30]
movss dword [rbp - 0x51], xmm0
mulss xmm2, dword [0x1801cbe34]
movss dword [rbp - 0x4d], xmm2
lea rcx, [rbp - 0x59]
call fcn.1800471f0
movss xmm0, dword [rbp - 0x39]
addss xmm0, dword [0x180166c84]
movss dword [rbp - 0x69], xmm0
movss xmm2, dword [rbp - 0x35]
addss xmm2, dword [rbp - 0x2d]
mulss xmm2, xmm6
cvtps2pd xmm3, xmm2
movss xmm0, dword [rbp - 0x25]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x180168890]
subsd xmm3, xmm0
cvtpd2ps xmm0, xmm3
movss dword [rbp - 0x65], xmm0
mov qword [rsp + 0x20], 0
mov r9, qword [rbp - 0x71]
mov r8d, eax
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.18005ef00
movaps xmm1, xmm8
xor ecx, ecx
call fcn.180049fe0
movss xmm0, dword [rbp - 0x39]
addss xmm0, dword [0x180166cac]
movss dword [rbp - 0x71], xmm0
movss xmm1, dword [rbp - 0x35]
addss xmm1, dword [rbp - 0x2d]
mulss xmm1, xmm6
movss xmm0, dword [rbp - 0x25]
mulss xmm0, xmm6
subss xmm1, xmm0
movss dword [rbp - 0x6d], xmm1
mov qword [rsp + 0x20], 0
mov r9, r13
mov r8d, eax
lea rdx, [rbp - 0x71]
mov rcx, rbx
call fcn.18005ef00
movzx eax, byte [rbp - 0x79]
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.1800e9aa0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1801ce540]
call fcn.1800e97dc
cmp dword [0x1801ce540], 0xffffffff
jne 0x18003feb1
mov ecx, Ordinal_27
call fcn.1800e9380
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1801ce508], rax
mov qword [0x1801ce518], rbx
xorps xmm0, xmm0
movdqa xmmword [0x1801ce520], xmm0
mov qword [0x1801ce530], 7
mov qword [0x1801ce538], 8
mov dword [0x1801ce500], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x1801ce518]
call fcn.18003bf00
nop
lea rcx, [0x1800f0e80]
call fcn.1800e971c
nop
lea rcx, [0x1801ce540]
call fcn.1800e9770
jmp 0x18003feb1