Function at 0x14018b610
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rsi, rdx
mov r13, rcx
movzx edx, word [rdx + 0x18]
mov rcx, qword [0x14026e870]
mov rax, qword [0x14026e878]
sub rax, rcx
sar rax, 3
movabs r8, 0x8f9c18f9c18f9c19
imul rax, r8
cmp rdx, rax
jae 0x14018b66e
imul rax, rdx, 0x148
add rcx, rax
xor r12d, r12d
cmp byte [rcx + 0x139], r12b
je 0x14018b68c
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x14018b6aa
mov eax, dword [rax + 0x18]
shr eax, 1
test al, 1
je 0x14018b6aa
mov rax, qword [rsi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rsi
mov rax, qword [rcx]
call qword [rax + 0x58]
test rax, rax
je 0x14018b8b4
mov rax, r13
shr rax, 8
movzx edx, al
movzx eax, r13b
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r8, 0x100000001b3
imul rax, r8
xor rdx, rax
imul rdx, r8
mov rax, r13
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r13
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r13
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r13
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r13
shr rax, 0x30
movzx ecx, al
xor rcx, rdx
imul rcx, r8
mov rax, r13
shr rax, 0x38
xor rcx, rax
imul rcx, r8
and rcx, qword [0x14026dba0]
shl rcx, 4
add rcx, qword [0x14026db88]
mov rax, qword [rcx + 8]
mov rdx, qword [0x14026db78]
cmp rax, rdx
je 0x14018b779
mov rcx, qword [rcx]
cmp r13, qword [rax + 0x10]
je 0x14018b77c
cmp rax, rcx
je 0x14018b779
mov rax, qword [rax + 8]
cmp r13, qword [rax + 0x10]
jne 0x14018b768
jmp 0x14018b77c
mov rax, r12
mov rdi, rdx
test rax, rax
cmovne rdi, rax
cmp rdi, rdx
je 0x14018b8b4
mov rbx, qword [rdi + 0x18]
mov rdx, rsi
mov rcx, rbx
call fcn.140033ce0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x90]
mov r14d, eax
add dword [rbx + 0x7c], eax
mov rcx, qword [rbx + 8]
movsxd rcx, dword [rcx + 4]
add rcx, 8
add rcx, rbx
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x14018b7f1
mov rcx, qword [rax + 8]
movsxd rcx, dword [rcx + 4]
add rcx, 8
add rcx, rax
je 0x14018b7f1
mov rax, qword [rcx]
call qword [rax + 0x58]
test rax, rax
je 0x14018b7f1
mov edx, r14d
mov rcx, rax
call fcn.140033fe0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x98]
movzx r14d, ax
add dword [rbx + 0x80], r14d
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14018b849
mov rcx, qword [rax + 8]
movsxd rcx, dword [rcx + 4]
add rcx, 8
add rcx, rax
je 0x14018b849
mov rax, qword [rcx]
call qword [rax + 0x58]
test rax, rax
je 0x14018b849
mov edx, r14d
mov rcx, rax
call fcn.1400340b0
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14018b88c
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp rax, qword [0x14026d158]
je 0x14018b88c
mov rdx, rsi
mov rcx, rbx
call fcn.140034420
mov rax, qword [rsi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rsi
mov rax, qword [rcx]
mov r8, qword [rax + 0x20]
mov rax, qword [rdi + 0x18]
lea rdx, [rax + 0x40]
test rax, rax
cmove rdx, r12
call r8
mov rdx, rsi
mov rcx, r13
call fcn.14018f920
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov qword [rbp + 0x30], 0x20
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.14001be30
nop
movzx ebx, byte [r13 + 0x1c]
cmp bl, 0x10
jae 0x14018b92f
lea r8, [r13 + 0x18]
lea rdx, [rbp + 0x30]
lea rcx, [0x14026dc30]
call fcn.14010fda0
mov rdx, qword [rbp + 0x30]
cmp rdx, qword [0x14026dc30]
je 0x14018ba94
mov rbx, qword [rbp - 0x20]
mov r12, qword [rbp - 0x18]
cmp rbx, r12
je 0x14018ba67
add rdx, 0x28
lea rcx, [rbp - 0x20]
call fcn.140048df0
mov r12, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x20]
mov rdi, rbx
cmp rbx, r12
je 0x14018b9df
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r14, rax
test rax, rax
je 0x14018b987
cmp qword [rax + 0x8f8], 0
je 0x14018b987
mov r8, rsi
mov rdx, rax
mov rcx, r13
call fcn.14018ea80
cmp eax, 0xffffffff
je 0x14018b987
mov r9, rsi
mov r8d, eax
lea rdx, [r13 + 0x18]
mov rcx, qword [r14 + 0x8f8]
call fcn.140163110
add rdi, 8
cmp rdi, r12
jne 0x14018b943
cmp rbx, r12
je 0x14018b9df
nop word [rax + rax]
mov rcx, qword [rbx]
cmp byte [rcx + 0x5b2], 0
je 0x14018b9d6
movzx eax, byte [r13 + 0x1c]
cmp al, byte [rcx + 0x16]
jne 0x14018b9d6
movzx r8d, word [r13 + 0x18]
movzx eax, word [rcx + 0x12]
sub r8d, eax
movzx eax, word [rcx + 0x14]
movzx r9d, word [r13 + 0x1a]
sub r9d, eax
mov rdx, r13
call fcn.1400386b0
add rbx, 8
cmp rbx, r12
jne 0x14018b9a0
mov eax, dword [r13 + 0x20]
shr eax, 7
test al, 1
je 0x14018b9f3
cmp byte [0x14026e499], 0
je 0x14018ba3d
mov rcx, rsi
call fcn.14010bfb0
test al, al
je 0x14018ba3d
mov dword [rsp + 0x20], 0
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, r13
call sub.VCRUNTIME140.dll___RTDynamicCast
test rax, rax
jne 0x14018ba3d
mov qword [rbp + 0x30], r13
lea r8, [rbp + 0x30]
lea rdx, [rbp - 0x30]
lea rcx, [0x14026e0b8]
call fcn.140152b00
nop
lea rcx, [rbp - 0x20]
call fcn.140012df0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea r8, [rdx + 0x28]
lea rax, [rbp - 0x20]
cmp rax, r8
je 0x14018b937
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x20]
call fcn.140066b10
jmp 0x14018b92f
cmp bl, 7
jbe 0x14018bab1
lea ecx, [rbx - 2]
test ecx, ecx
cmovs ecx, r12d
lea eax, [rbx + 2]
mov edx, 0xf
cmp eax, edx
cmova eax, edx
jmp 0x14018bacf
cmp bl, 6
jne 0x14018babd
mov eax, 8
jmp 0x14018bacc
cmp bl, 7
mov eax, 9
je 0x14018bacc
mov eax, 7
mov ecx, r12d
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], setsockopt
mov dword [rsp + 0x28], 0xffffffef
mov dword [rsp + 0x20], setsockopt
mov r9d, 0xffffffef
lea r8, [r13 + 0x18]
lea rdx, [rbp - 0x20]
lea rcx, [0x14026dbc8]
call fcn.14010dbf0
lea r8, [r13 + 0x18]
lea rdx, [rbp - 0x30]
lea rcx, [0x14026dc30]
call fcn.140110080
mov rcx, qword [rax]
add rcx, 0x28
lea rax, [rbp - 0x20]
cmp rcx, rax
je 0x14018b92f
mov r12, qword [rbp - 0x18]
mov r8, r12
mov rbx, qword [rbp - 0x20]
sub r8, rbx
sar r8, 3
mov rdx, rbx
call fcn.140066b10
jmp 0x14018b937