Function at 0x1401e3290
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x520
mov rax, qword [0x140542918]
xor rax, rsp
mov qword [rsp + 0x510], rax
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x5c], edx
mov rdx, qword [0x140546c20]
add rdx, 0x5ef0
lea rcx, [rsp + 0x340]
call fcn.1401e0af0
nop
mov rdx, qword [0x140546c20]
add rdx, 0x5fc4
lea rcx, [rsp + 0x290]
call fcn.14012dd60
nop
mov rdx, qword [0x140546c20]
add rdx, 0x5ef0
lea rcx, [rsp + 0xc0]
call fcn.1401e0af0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x2d0], xmm0
movups xmmword [rsp + 0x310], xmm0
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x2d4], eax
mov qword [rsp + 0x2d8], 0
movdqa xmmword [rsp + 0x2e0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x2f0], xmm1
movdqa xmmword [rsp + 0x300], xmm0
xor r13d, r13d
mov qword [rsp + 0x310], r13
mov qword [rsp + 0x318], r13
xor ecx, ecx
movabs rsi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
movabs r11, 0x7fffffffffffffff
mov rdi, qword [rsp + 0x2a0]
mov r10, qword [rsp + 0x290]
mov dword [rsp + 0x30], ecx
cmp ecx, dword [rsp + 0x130]
jge 0x1401e39cb
xor r15d, r15d
mov dword [rsp + 0x34], r15d
nop word [rax + rax]
cmp r15d, dword [rsp + 0x134]
jge 0x1401e39c4
imul eax, r15d, 0x64
add eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x13c]
mov r14, qword [rax + rcx*8]
mov qword [rsp + 0xb0], r14
movzx r8d, word [r14]
movzx edx, r8b
xor rdx, rsi
imul rdx, rbx
mov eax, r8d
shr rax, 8
xor rdx, rax
imul rdx, rbx
mov eax, r8d
shr rax, 0x10
xor rdx, rax
imul rdx, rbx
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rbx
and rdx, qword [rsp + 0xf0]
add rdx, rdx
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, qword [rsp + 0xc8]
je 0x1401e347f
mov rax, qword [rax + rdx*8]
nop word [rax + rax]
cmp r8d, dword [rcx + 0x10]
je 0x1401e3481
cmp rcx, rax
jne 0x1401e39bb
xor ecx, ecx
mov r8, qword [rsp + 0xc8]
mov rax, r8
test rcx, rcx
cmovne rax, rcx
movzx r12d, byte [rax + 0x70]
test r12b, r12b
je 0x1401e3855
movzx r9d, word [r14]
movzx edx, r9b
xor rdx, rsi
imul rdx, rbx
mov eax, r9d
shr rax, 8
xor rdx, rax
imul rdx, rbx
mov eax, r9d
shr rax, 0x10
xor rdx, rax
imul rdx, rbx
mov eax, r9d
shr rax, 0x18
xor rdx, rax
imul rdx, rbx
and rdx, qword [rsp + 0xf0]
add rdx, rdx
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, r8
je 0x1401e350f
mov rax, qword [rax + rdx*8]
nop dword [rax + rax]
cmp r9d, dword [rcx + 0x10]
je 0x1401e3511
cmp rcx, rax
jne 0x1401e39b2
xor ecx, ecx
mov rax, qword [rsp + 0xc8]
test rcx, rcx
cmovne rax, rcx
cmp byte [rax + 0x74], 0
je 0x1401e3534
cmp byte [r14 + 0x1c7], 0
jne 0x1401e3855
movzx r8d, word [r14]
movzx edx, r8b
xor rdx, rsi
imul rdx, rbx
mov eax, r8d
shr rax, 8
xor rdx, rax
imul rdx, rbx
mov eax, r8d
shr rax, 0x10
xor rdx, rax
imul rdx, rbx
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rbx
and rdx, qword [rsp + 0xf0]
add rdx, rdx
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, qword [rsp + 0xc8]
je 0x1401e35a2
mov rax, qword [rax + rdx*8]
cmp r8d, dword [rcx + 0x10]
je 0x1401e35a4
cmp rcx, rax
jne 0x1401e39a9
xor ecx, ecx
mov rax, qword [rsp + 0xc8]
test rcx, rcx
cmovne rax, rcx
cmp byte [rax + 0x180], 0
je 0x1401e3716
cmp byte [r14 + 0x1c6], 0
jne 0x1401e3855
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x78], 0
lea rsi, [rsp + 0x290]
cmp qword [rsp + 0x2a8], 0x10
cmovae rsi, r10
cmp rdi, r11
ja 0x1401e3d5c
cmp rdi, 0x10
jae 0x1401e3621
mov qword [rsp + 0x70], rdi
mov ebx, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], rbx
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x60], xmm0
movq r14, xmm0
jmp 0x1401e3685
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov rbx, rdi
or rbx, 0xf
cmp rbx, r11
jbe 0x1401e363b
mov rbx, r11
jmp 0x1401e3648
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14012eef0
mov r14, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rsi, [rsp + 0x60]
cmp rbx, 0x10
cmovae rsi, r14
cmp rdi, 2
jb 0x1401e36f2
lea r15, [rsi + rdi]
lea r8, [r15 - 1]
sub r8, rsi
mov edx, 0x60
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1401e36ed
cmp byte [rax], 0x60
jne 0x1401e36c4
cmp byte [rax + 1], 0x60
jne 0x1401e36c4
xor ecx, ecx
jmp 0x1401e36c9
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1401e375f
inc rax
lea r8, [r15 - 1]
sub r8, rax
mov edx, 0x60
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1401e36b5
mov r15d, dword [rsp + 0x34]
lea rcx, [rsp + 0x60]
call fcn.14012e0b0
mov r14, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x290]
movabs r11, 0x7fffffffffffffff
cmp r12b, 1
je 0x1401e394a
cmp r12b, 2
je 0x1401e3855
cmp r12b, 3
jne 0x1401e392a
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
lea rsi, [rsp + 0x290]
cmp qword [rsp + 0x2a8], 0x10
cmovae rsi, r10
cmp rdi, r11
ja 0x1401e3d62
jmp 0x1401e388c
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x1401e36ed
lea rsi, [rsp + 0x60]
cmp rbx, 0x10
cmovae rsi, r14
lea r15, [rdi + rsi]
lea r8, [r15 - 1]
sub r8, rsi
mov edx, 0x60
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1401e37d1
cmp byte [rax], 0x60
jne 0x1401e37a1
cmp byte [rax + 1], 0x5e
jne 0x1401e37a1
xor ecx, ecx
jmp 0x1401e37a6
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1401e37c8
inc rax
lea r8, [r15 - 1]
sub r8, rax
mov edx, 0x60
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1401e3792
jmp 0x1401e37d1
sub rax, rsi
cmp rax, 0xffffffffffffffff
jne 0x1401e3846
lea rsi, [rsp + 0x60]
cmp rbx, 0x10
cmovae rsi, r14
lea rbx, [rdi + rsi]
lea r8, [rbx - 1]
sub r8, rsi
mov edx, 0x60
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1401e36ed
nop
cmp byte [rax], 0x60
jne 0x1401e380f
cmp byte [rax + 1], 0x32
jne 0x1401e380f
xor ecx, ecx
jmp 0x1401e3814
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1401e3839
inc rax
lea r8, [rbx - 1]
sub r8, rax
mov edx, 0x60
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1401e3800
jmp 0x1401e36ed
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x1401e36ed
lea rcx, [rsp + 0x60]
call fcn.14012e0b0
mov r15d, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
inc r15d
mov dword [rsp + 0x34], r15d
mov r10, qword [rsp + 0x290]
movabs rbx, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
movabs r11, 0x7fffffffffffffff
jmp 0x1401e33e0
cmp rdi, 0x10
jae 0x1401e38aa
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x38], xmm0
jmp 0x1401e3902
mov rbx, rdi
or rbx, 0xf
cmp rbx, r11
jbe 0x1401e38bb
mov rbx, r11
jmp 0x1401e38c8
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14012eef0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.1401e3110
test al, al
jne 0x1401e3926
xor eax, eax
mov ecx, 0x90
cmp word [r14 + 8], cx
jmp 0x1401e393e
xor eax, eax
jmp 0x1401e3941
xor eax, eax
cmp r12b, 4
jne 0x1401e393a
cmp word [r14 + 8], 0x40
jmp 0x1401e393e
cmp word [r14], ax
setne al
cmp eax, 1
jne 0x1401e3855
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x84], r15d
cmp r13, qword [rsp + 0x318]
je 0x1401e3984
mov rax, qword [rsp + 0x80]
mov qword [r13], rax
add r13, 8
mov qword [rsp + 0x310], r13
jmp 0x1401e3859
lea r8, [rsp + 0x80]
mov rdx, r13
lea rcx, [rsp + 0x308]
call fcn.14013e970
mov r13, qword [rsp + 0x310]
jmp 0x1401e3855
mov rcx, qword [rcx + 8]
jmp 0x1401e3593
mov rcx, qword [rcx + 8]
jmp 0x1401e3500
mov rcx, qword [rcx + 8]
jmp 0x1401e3470
inc ecx
jmp 0x1401e33bc
lea rax, [rsp + 0x98]
mov qword [rsp + 0x90], rax
movdqa xmm0, xmmword [0x140444840]
movdqu xmmword [rsp + 0x80], xmm0
movdqa xmm0, xmmword [0x140444820]
movdqu xmmword [rsp + 0xb0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x98], xmm1
mov qword [rsp + 0xa8], 0
mov edx, 4
lea rcx, [rsp + 0x98]
call fcn.140166cb0
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0xa8], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x80]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0xa0], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], 0
mov edx, 4
lea rcx, [rsp + 0x38]
call fcn.140166cb0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x48], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0xb0]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x40], rbx
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x2d0]
call fcn.1401eb430
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x2b0], xmm0
mov qword [rsp + 0x2c0], rax
mov rax, qword [0x140546c20]
movss xmm0, dword [rax + 0x6014]
mulss xmm0, dword [0x1404440a0]
cvttss2si r9d, xmm0
movss xmm0, dword [rax + 0x6010]
mulss xmm0, dword [0x1404440a0]
cvttss2si r8d, xmm0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x2d0]
call fcn.1401e1930
mov rax, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2b0]
sub rax, rcx
sar rax, 3
test rax, rax
je 0x1401e3c24
test rcx, rcx
je 0x1401e3b9c
mov rax, qword [rsp + 0x2c0]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401e3b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401e3c61
call fcn.14040fbd0
nop
lea rcx, [rsp + 0x2d0]
call fcn.1401e1110
nop
lea rcx, [rsp + 0xc0]
call fcn.1401e1210
nop
mov rax, qword [rsp + 0x2a8]
cmp rax, 0x10
jb 0x1401e3bfc
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401e3bf7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401e3cc5
call fcn.14040fbd0
mov qword [rsp + 0x2a8], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x290], 0
lea rcx, [rsp + 0x340]
call fcn.1401e1210
mov al, 1
jmp 0x1401e3d2a
test rcx, rcx
je 0x1401e3c6e
mov rax, qword [rsp + 0x2c0]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401e3c68
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401e3c68
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14040fbd0
nop
lea rcx, [rsp + 0x2d0]
call fcn.1401e1110
nop
lea rcx, [rsp + 0xc0]
call fcn.1401e1210
nop
mov rax, qword [rsp + 0x2a8]
cmp rax, 0x10
jb 0x1401e3cd1
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401e3ccc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401e3ccc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14040fbd0
mov qword [rsp + 0x2a8], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x290], 0
lea rcx, [rsp + 0x340]
call fcn.1401e1210
xor al, al
jmp 0x1401e3d2a
mov rcx, qword [rsp + 0x510]
xor rcx, rsp
call fcn.14040ff40
lea r11, [rsp + 0x520]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.14012eed0
nop
call fcn.14012eed0
int3