Function at 0x14020e960
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 - 0x328]
sub rsp, 0x3f0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1405e3440]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
movaps xmm7, xmm2
movaps xmm6, xmm1
mov rdx, qword [0x1405ebba0]
add rdx, 0x108
lea rcx, [rbp + 0x70]
call fcn.14014ccf0
nop
mov rbx, qword [0x1405ebba0]
mov eax, dword [rbx + 0x1b0]
mov dword [rsp + 0x70], eax
xor esi, esi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rsi
lea ecx, [rsi + 0x40]
call fcn.140487b50
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov rcx, qword [rbx + 0x1e0]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rbx + 0x1e8]
mov qword [rbp - 0x58], rcx
mov rdx, qword [rbx + 0x1d0]
sub rdx, qword [rbx + 0x1c8]
sar rdx, 3
mov r8, rax
lea rcx, [rbp - 0x78]
call fcn.14015c8f0
mov r8, qword [rbx + 0x1b8]
mov rdx, qword [r8]
lea rcx, [rsp + 0x70]
call fcn.14013b600
nop
movss xmm0, dword [rbp + 0xe0]
mulss xmm0, dword [0x1404cefe4]
cvttss2si r12d, xmm0
mov dword [rsp + 0x60], r12d
movss xmm0, dword [rbp + 0xe4]
mulss xmm0, dword [0x1404cefe4]
cvttss2si r13d, xmm0
mov dword [rsp + 0x40], r13d
lea rcx, [rbp - 0x10]
call fcn.14012a890
nop
mov rcx, qword [0x1405ebba0]
mov eax, dword [rcx + 0x194]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x198]
mov dword [rsp + 0x34], eax
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp - 0x10]
call fcn.14012b510
lea rax, vtable.std::_Func_impl_no_alloc_unsigned_int____cdecl___struct_AStar::CL_Vec2f__struct_AStar::CL_Vec2f___unsigned_int__struct_AStar::CL_Vec2f__struct_AStar::CL_Vec2f_.0
mov qword [rbp - 0x50], rax
lea rax, [0x14012b420]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x50]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x10]
call fcn.14012b450
mov r15d, esi
mov r11, qword [0x1405ebba0]
cmp dword [r11 + 0x194], esi
jle 0x14020ecde
movabs rax, 0xcbf29ce484222325
movabs r13, 0x100000001b3
mov r14, qword [rsp + 0x78]
mov rsi, qword [0x1405ecae8]
movzx r10d, byte [0x1405ebab0]
xor r12d, r12d
mov edi, r12d
cmp dword [r11 + 0x198], r12d
jle 0x14020ecc2
mov ebx, r15d
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x30], ebx
movzx ecx, bl
xor rcx, rax
imul rcx, r13
movzx eax, byte [rsp + 0x31]
xor rcx, rax
imul rcx, r13
movzx eax, byte [rsp + 0x32]
xor rcx, rax
imul rcx, r13
movzx eax, byte [rsp + 0x33]
xor rcx, rax
imul rcx, r13
mov rdx, qword [rbp - 0x60]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, r14
je 0x14020eb93
mov rcx, qword [rcx + rdx*8]
cmp ebx, dword [rax + 0x10]
je 0x14020eb96
cmp rax, rcx
je 0x14020eb93
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x14020eb83
jmp 0x14020eb96
mov rax, r12
mov r9, r14
test rax, rax
cmovne r9, rax
movzx r8d, word [r9 + 0x24]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
imul rdx, r13
mov eax, r8d
shr rax, 8
xor rdx, rax
imul rdx, r13
mov eax, r8d
shr rax, 0x10
xor rdx, rax
imul rdx, r13
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r13
and rdx, qword [0x1405ecb10]
add rdx, rdx
mov rax, qword [0x1405ecaf8]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, rsi
je 0x14020ec21
mov rax, qword [rax + rdx*8]
cmp r8d, dword [rcx + 0x10]
je 0x14020ec24
nop dword [rax]
cmp rcx, rax
je 0x14020ec21
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x14020ec10
jmp 0x14020ec24
mov rcx, r12
mov rax, rsi
test rcx, rcx
cmovne rax, rcx
movzx ecx, byte [rax + 0x70]
test cl, cl
je 0x14020eca6
cmp cl, 1
je 0x14020ec74
cmp cl, 2
je 0x14020eca6
cmp cl, 3
jne 0x14020ec60
test r10b, r10b
jne 0x14020ec56
test byte [r9 + 0x2c], 0x80
mov eax, 1
je 0x14020ec59
mov eax, r12d
cmp eax, 1
jne 0x14020eca6
jmp 0x14020ec74
sub cl, 4
cmp cl, 3
jbe 0x14020eca6
test r10b, r10b
jne 0x14020eca6
cmp byte [r9 + 0x2e], 1
je 0x14020eca6
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x3c], edi
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.14012af00
mov r14, qword [rsp + 0x78]
mov r11, qword [0x1405ebba0]
mov rsi, qword [0x1405ecae8]
movzx r10d, byte [0x1405ebab0]
inc edi
add ebx, 0x64
cmp edi, dword [r11 + 0x198]
movabs rax, 0xcbf29ce484222325
jl 0x14020eb30
inc r15d
cmp r15d, dword [r11 + 0x194]
jl 0x14020eb10
mov r12d, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x40]
xor esi, esi
cvttss2si eax, xmm6
mov dword [rsp + 0x38], eax
cvttss2si eax, xmm7
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], r13d
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x10]
call fcn.14012af90
nop
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
call fcn.1404878f0
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
cmp r8, rdx
je 0x14020ef8e
mov rax, rdx
sub rax, r8
sar rax, 3
cmp rax, 1
jbe 0x14020ef8e
cmp rax, 8
jb 0x14020ee8b
mov ebx, esi
mov rdi, rsi
nop word [rax + rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x4f], xmm0
mov dword [rbp - 0x3f], esi
mov word [rbp - 0x3b], si
mov byte [rbp - 0x39], 0
mov dword [rbp - 0x28], esi
mov qword [rbp - 0x1c], rsi
mov byte [rbp - 0x50], 0
mov eax, dword [rdi + r8]
mov dword [rbp - 0x24], eax
mov ecx, dword [rdi + r8 + 4]
mov dword [rbp - 0x20], ecx
shl eax, 5
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x38], xmm1
shl ecx, 5
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x30], xmm1
movss dword [rbp - 0x2c], xmm0
mov eax, ebx
and eax, 0x80000007
jge 0x14020edc5
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x14020edd1
test ebx, ebx
jne 0x14020ee6f
mov rax, qword [0x1405ebba0]
mov r14, qword [rax + 0x10]
mov rsi, qword [rax + 8]
test r14, r14
je 0x14020ee6d
test rsi, rsi
je 0x14020ee6d
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.1401317e0
mov r8, qword [rax + 0x10]
mov dword [r8], 4
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [r8 + 4], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [r8 + 0x14], xmm1
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [r8 + 0x24], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [r8 + 0x34], xmm1
mov edx, dword [rbp - 0x18]
mov dword [r8 + 0x3c], edx
xor ecx, ecx
mov byte [r8 + 0x40], cl
mov r8, rax
xor edx, edx
mov rcx, r14
call fcn.140132910
test eax, eax
je 0x14020ee5b
mov edx, eax
lea rcx, str._SERVER_:_Error_sending_packet__code:__d_n
call fcn.140209c00
mov rcx, rsi
call fcn.140132db0
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
xor esi, esi
inc ebx
add rdi, 8
mov rcx, rdx
sub rcx, r8
sar rcx, 3
movsxd rax, ebx
cmp rax, rcx
jb 0x14020ed60
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [reloc.WS2_32.dll_htonl]
movdqu xmmword [rbp - 0x40], xmm1
movabs rax, 0x736f507465536e4f
mov qword [rbp - 0x50], rax
mov byte [rbp - 0x48], 0
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x100]
call fcn.14014d170
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x14020ef00
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14020eefb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14020eefb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140487b8c
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
sub rdx, rcx
sar rdx, 3
mov eax, dword [rcx + rdx*8 - 8]
shl eax, 5
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rcx + rdx*8 - 4]
shl eax, 5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [rbp + 0x140], 3
movss dword [rbp + 0x150], xmm1
movss dword [rbp + 0x154], xmm0
mov dword [rsp + 0x20], 0xffffffff
mov rcx, qword [0x1405ebba0]
mov r9d, dword [rcx + 0x150]
lea r8, [rbp + 0x100]
mov dl, 1
call fcn.14020f7a0
nop
lea r9, [fcn.140150df0]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x100]
call fcn.140487d5c
nop
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x14020efe5
mov rax, qword [rsp + 0x58]
sub rax, r8
sar rax, 3
lea rdx, [rax*8]
mov rax, r8
cmp rdx, 0x1000
jb 0x14020efcf
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14020efcf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.140487b8c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rsi
lea rcx, [rbp - 0x10]
call fcn.140209f30
nop
lea rcx, [rsp + 0x70]
call fcn.14014d560
nop
lea rcx, [rbp + 0x70]
call fcn.140150cb0
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.140487ca0
lea r11, [rsp + 0x3f0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret