Function at 0x1400bc090
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, 0x4e0
mov rax, qword [0x14018e298]
xor rax, rsp
mov qword [rsp + 0x4d0], rax
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x5c], edx
xor edx, edx
mov r8d, 0x1b0
lea rcx, [rsp + 0x320]
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [0x1401923a8]
add rdx, 0x5ef0
lea rcx, [rsp + 0x320]
call fcn.1400b9de0
nop
mov rdx, qword [0x1401923a8]
add rdx, 0x5f50
lea rcx, [rsp + 0x270]
call fcn.140006ab0
nop
xor edx, edx
mov r8d, 0x1b0
lea rcx, [rsp + 0xc0]
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [0x1401923a8]
add rdx, 0x5ef0
lea rcx, [rsp + 0xc0]
call fcn.1400b9de0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x2b0], xmm0
movups xmmword [rsp + 0x2f0], xmm0
mov eax, dword [rsp + 0x17c]
mov dword [rsp + 0x2b0], eax
mov eax, dword [rsp + 0x180]
mov dword [rsp + 0x2b4], eax
mov qword [rsp + 0x2b8], 0
movdqa xmmword [rsp + 0x2c0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x2d0], xmm1
movdqa xmmword [rsp + 0x2e0], xmm0
xor r14d, r14d
mov qword [rsp + 0x2f0], r14
mov qword [rsp + 0x2f8], r14
xor ecx, ecx
movabs rsi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
movabs r11, 0x7fffffffffffffff
mov rdi, qword [rsp + 0x280]
mov r10, qword [rsp + 0x270]
mov dword [rsp + 0x30], ecx
cmp ecx, dword [rsp + 0x17c]
jge 0x1400bc854
xor r15d, r15d
mov dword [rsp + 0x34], r15d
nop
cmp r15d, dword [rsp + 0x180]
jge 0x1400bc84d
imul eax, r15d, 0x64
add ecx, eax
mov r8d, ecx
movzx edx, cl
xor rdx, rsi
imul rdx, rbx
mov eax, ecx
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rbx
and rdx, qword [rsp + 0x1c8]
add rdx, rdx
mov rcx, qword [rsp + 0x1b0]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [rsp + 0x1a0]
je 0x1400bc283
mov rcx, qword [rcx + rdx*8]
cmp r8d, dword [rax + 0x10]
je 0x1400bc285
cmp rax, rcx
jne 0x1400bc844
xor eax, eax
mov r13, qword [rsp + 0x1a0]
test rax, rax
cmovne r13, rax
movzx r8d, word [r13 + 0x14]
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 [0x140194d10]
add rdx, rdx
mov rax, qword [0x140194cf8]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, qword [0x140194ce8]
je 0x1400bc300
mov rax, qword [rax + rdx*8]
cmp r8d, dword [rcx + 0x10]
je 0x1400bc302
cmp rcx, rax
jne 0x1400bc83b
xor ecx, ecx
mov r8, qword [0x140194ce8]
mov rax, r8
test rcx, rcx
cmovne rax, rcx
movzx r12d, byte [rax + 0x70]
test r12b, r12b
je 0x1400bc6d5
movzx r9d, word [r13 + 0x14]
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 [0x140194d10]
add rdx, rdx
mov rax, qword [0x140194cf8]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, r8
je 0x1400bc38f
mov rax, qword [rax + rdx*8]
nop word [rax + rax]
cmp r9d, dword [rcx + 0x10]
je 0x1400bc391
cmp rcx, rax
jne 0x1400bc832
xor ecx, ecx
mov rax, qword [0x140194ce8]
test rcx, rcx
cmovne rax, rcx
cmp byte [rax + 0x74], 0
je 0x1400bc3b0
cmp byte [r13 + 0x1d], 0
jne 0x1400bc6d5
movzx r8d, word [r13 + 0x14]
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 [0x140194d10]
add rdx, rdx
mov rax, qword [0x140194cf8]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, qword [0x140194ce8]
je 0x1400bc41f
mov rax, qword [rax + rdx*8]
nop dword [rax]
cmp r8d, dword [rcx + 0x10]
je 0x1400bc421
cmp rcx, rax
jne 0x1400bc829
xor ecx, ecx
mov rax, qword [0x140194ce8]
test rcx, rcx
cmovne rax, rcx
cmp byte [rax + 0x180], 0
je 0x1400bc591
cmp byte [r13 + 0x1e], 0
jne 0x1400bc6d5
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x78], 0
lea rsi, [rsp + 0x270]
cmp qword [rsp + 0x288], 0x10
cmovae rsi, r10
cmp rdi, r11
ja 0x1400bcbe5
cmp rdi, 0x10
jae 0x1400bc49a
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 0x1400bc4fe
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov rbx, rdi
or rbx, 0xf
cmp rbx, r11
jbe 0x1400bc4b4
mov rbx, r11
jmp 0x1400bc4c1
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.140007c20
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 0x1400bc56d
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 0x1400bc568
nop
cmp byte [rax], 0x60
jne 0x1400bc53f
cmp byte [rax + 1], 0x60
jne 0x1400bc53f
xor ecx, ecx
jmp 0x1400bc544
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400bc5da
inc rax
lea r8, [r15 - 1]
sub r8, rax
mov edx, 0x60
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1400bc530
mov r15d, dword [rsp + 0x34]
lea rcx, [rsp + 0x60]
call fcn.140006de0
mov r14, qword [rsp + 0x2f0]
mov r10, qword [rsp + 0x270]
movabs r11, 0x7fffffffffffffff
cmp r12b, 1
je 0x1400bc7d3
cmp r12b, 2
je 0x1400bc6d5
cmp r12b, 3
jne 0x1400bc7b2
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
lea rsi, [rsp + 0x270]
cmp qword [rsp + 0x288], 0x10
cmovae rsi, r10
cmp rdi, r11
ja 0x1400bcbeb
jmp 0x1400bc714
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x1400bc568
lea rsi, [rsp + 0x60]
cmp rbx, 0x10
cmovae rsi, r14
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 0x1400bc64f
nop dword [rax]
cmp byte [rax], 0x60
jne 0x1400bc61f
cmp byte [rax + 1], 0x5e
jne 0x1400bc61f
xor ecx, ecx
jmp 0x1400bc624
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400bc646
inc rax
lea r8, [r15 - 1]
sub r8, rax
mov edx, 0x60
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1400bc610
jmp 0x1400bc64f
sub rax, rsi
cmp rax, 0xffffffffffffffff
jne 0x1400bc6c6
lea rsi, [rsp + 0x60]
cmp rbx, 0x10
cmovae rsi, r14
lea rbx, [rsi + rdi]
lea r8, [rbx - 1]
sub r8, rsi
mov edx, 0x60
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1400bc568
nop dword [rax]
cmp byte [rax], 0x60
jne 0x1400bc68f
cmp byte [rax + 1], 0x32
jne 0x1400bc68f
xor ecx, ecx
jmp 0x1400bc694
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400bc6b9
inc rax
lea r8, [rbx - 1]
sub r8, rax
mov edx, 0x60
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1400bc680
jmp 0x1400bc568
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x1400bc568
lea rcx, [rsp + 0x60]
call fcn.140006de0
mov r15d, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
inc r15d
mov dword [rsp + 0x34], r15d
mov r14, qword [rsp + 0x2f0]
mov r10, qword [rsp + 0x270]
movabs rbx, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
movabs r11, 0x7fffffffffffffff
jmp 0x1400bc200
cmp rdi, 0x10
jae 0x1400bc732
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x38], xmm0
jmp 0x1400bc78a
mov rbx, rdi
or rbx, 0xf
cmp rbx, r11
jbe 0x1400bc743
mov rbx, r11
jmp 0x1400bc750
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.140007c20
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.1400c1dc0
test al, al
jne 0x1400bc7ae
xor eax, eax
mov ecx, 0x90
cmp word [r13 + 0x1a], cx
jmp 0x1400bc7c7
xor eax, eax
jmp 0x1400bc7ca
xor eax, eax
cmp r12b, 4
jne 0x1400bc7c2
cmp word [r13 + 0x1a], 0x40
jmp 0x1400bc7c7
cmp word [r13 + 0x14], ax
setne al
cmp eax, 1
jne 0x1400bc6d5
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x84], r15d
cmp r14, qword [rsp + 0x2f8]
je 0x1400bc80c
mov rax, qword [rsp + 0x80]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x2f0], r14
jmp 0x1400bc6d9
lea r8, [rsp + 0x80]
mov rdx, r14
lea rcx, [rsp + 0x2e8]
call fcn.140017b40
jmp 0x1400bc6d5
mov rcx, qword [rcx + 8]
jmp 0x1400bc410
mov rcx, qword [rcx + 8]
jmp 0x1400bc380
mov rcx, qword [rcx + 8]
jmp 0x1400bc2f1
mov rax, qword [rax + 8]
jmp 0x1400bc274
inc ecx
jmp 0x1400bc1e6
lea rax, [rsp + 0x98]
mov qword [rsp + 0x90], rax
movdqa xmm0, xmmword [0x14015a200]
movdqu xmmword [rsp + 0xb0], xmm0
movdqa xmm0, xmmword [0x14015a1e0]
movdqu xmmword [rsp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x98], xmm1
mov qword [rsp + 0xa8], 0
mov edx, 4
lea rcx, [rsp + 0x98]
call fcn.1400403d0
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 + 0xb0]
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.1400403d0
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 + 0x80]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x40], rbx
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x2b0]
call fcn.1400c4680
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x2a0], rax
mov rax, qword [0x1401923a8]
movss xmm0, dword [rax + 0x5fa0]
mulss xmm0, dword [0x140159ac0]
cvttss2si r9d, xmm0
movss xmm0, dword [rax + 0x5f9c]
mulss xmm0, dword [0x140159ac0]
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 + 0x290]
lea rcx, [rsp + 0x2b0]
call fcn.1400ba8d0
mov rax, qword [rsp + 0x298]
mov rcx, qword [rsp + 0x290]
sub rax, rcx
sar rax, 3
test rax, rax
je 0x1400bcaad
test rcx, rcx
je 0x1400bca25
mov rax, qword [rsp + 0x2a0]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bca1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400bcaea
call fcn.14012be40
nop
lea rcx, [rsp + 0x2b0]
call fcn.1400ba2f0
nop
lea rcx, [rsp + 0xc0]
call fcn.1400ba3f0
nop
mov rax, qword [rsp + 0x288]
cmp rax, 0x10
jb 0x1400bca85
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bca80
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400bcb4e
call fcn.14012be40
mov qword [rsp + 0x288], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x270], 0
lea rcx, [rsp + 0x320]
call fcn.1400ba3f0
mov al, 1
jmp 0x1400bcbb3
test rcx, rcx
je 0x1400bcaf7
mov rax, qword [rsp + 0x2a0]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bcaf1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bcaf1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14012be40
nop
lea rcx, [rsp + 0x2b0]
call fcn.1400ba2f0
nop
lea rcx, [rsp + 0xc0]
call fcn.1400ba3f0
nop
mov rax, qword [rsp + 0x288]
cmp rax, 0x10
jb 0x1400bcb5a
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bcb55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bcb55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14012be40
mov qword [rsp + 0x288], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x270], 0
lea rcx, [rsp + 0x320]
call fcn.1400ba3f0
xor al, al
jmp 0x1400bcbb3
mov rcx, qword [rsp + 0x4d0]
xor rcx, rsp
call fcn.14012c1b0
lea r11, [rsp + 0x4e0]
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.140007c00
nop
call fcn.140007c00
int3