Function at 0x140043c26
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140174566]
xor rax, rsp
mov qword [rbp - 8], rax
mov r13, r8
mov rdi, rdx
mov rbx, rcx
mov r12, qword [rcx + 0x20]
mov qword [rbp - 0x20], r12
lea rax, [rcx + 0x18]
xor edx, edx
test rax, rax
cmove rcx, rdx
mov qword [rbp - 0x30], rcx
mov eax, dword [r8 + 0x10]
imul r14, rax, 0x270
add r14, qword [rbx + 0x38]
mov rsi, qword [r14 + 8]
mov rax, qword [r8 + 0x28]
mov qword [rbx + 0x50], rax
mov edx, 2
mov rcx, r14
call fcn.140048276
mov r15d, eax
test eax, eax
je 0x140043d0f
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], reloc.WS2_32.dll_ntohs
lea rax, [0x140160a56]
mov qword [rsp + 0x20], rax
mov r8, r12
lea rdx, [rbp - 0x28]
call fcn.1400402a6
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140043d07
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140043d02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004409a
call fcn.1400ef8b6
mov eax, r15d
jmp 0x140044076
mov rax, qword [rdi]
mov qword [r14 + 0x30], rax
mov rcx, rdi
call fcn.14004b466
mov r15d, eax
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140043d5d
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], reloc.WS2_32.dll_ntohs
lea rax, [0x14016012e]
mov qword [rsp + 0x20], rax
mov r8, r12
lea rdx, [rbp - 0x28]
call fcn.1400402a6
nop
jmp 0x140043ccc
mov r11d, dword [r14 + 0x260]
mov rdx, qword [rdi]
mov rax, rdx
shr rax, 8
movzx r10d, al
movzx eax, dl
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r8, 0x100000001b3
imul rax, r8
xor r10, rax
imul r10, r8
mov rax, rdx
shr rax, 0x10
movzx ecx, al
xor r10, rcx
imul r10, r8
mov rax, rdx
shr rax, 0x18
movzx ecx, al
xor r10, rcx
imul r10, r8
mov rax, rdx
shr rax, 0x20
movzx ecx, al
xor r10, rcx
imul r10, r8
mov rax, rdx
shr rax, 0x28
movzx ecx, al
xor r10, rcx
imul r10, r8
mov rax, rdx
shr rax, 0x30
movzx ecx, al
xor r10, rcx
imul r10, r8
shr rdx, 0x38
xor r10, rdx
imul r10, r8
mov r9, qword [rbx + 0x20]
movzx eax, byte [r9 + 0x554]
neg al
sbb r8d, r8d
and r8d, 8
mov ecx, dword [r9 + 0x698]
nop
mov eax, 0x10624dd3
mul ecx
shr edx, 6
imul eax, edx, 0x3e8
sub ecx, eax
inc ecx
xchg dword [r9 + 0x698], ecx
mov r9d, dword [r9 + 0x698]
nop
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], r10d
mov r8, rsi
mov edx, r11d
mov rcx, rdi
call fcn.140055286
mov r15d, eax
test eax, eax
je 0x140043ec9
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], reloc.WS2_32.dll_ntohs
lea rax, [0x140160156]
mov qword [rsp + 0x20], rax
mov r8, r12
lea rdx, [rbp - 0x28]
call fcn.1400402a6
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140043d07
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140043d02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004409a
jmp 0x140043d02
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.14004be96
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140043ef6
lea r8, [0x1401601ce]
lea rcx, [rbp - 0x28]
call fcn.140040536
mov eax, dword [rbp - 0x28]
jmp 0x140044076
mov r8, rsi
mov rdx, rdi
mov rcx, qword [rbp - 0x30]
call fcn.14004c066
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140043f1d
lea rcx, [rbp - 0x28]
call fcn.140049856
mov eax, dword [rbp - 0x28]
jmp 0x140044076
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax + 0x554]
neg cl
sbb r9d, r9d
and r9d, 8
lea r8, [rsi + 0x48c]
mov edx, 0x2094
mov rcx, rdi
call fcn.14004acc6
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140043f64
lea r8, [0x14016024e]
lea rcx, [rbp - 0x28]
call fcn.140040536
mov eax, dword [rbp - 0x28]
jmp 0x140044076
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax + 0x554]
neg cl
sbb r9d, r9d
and r9d, 8
lea r8, [rsi + 0x4b4]
mov edx, 0xa01c
mov rcx, rdi
call fcn.14004acc6
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140043fab
lea r8, [0x140160276]
lea rcx, [rbp - 0x28]
call fcn.140040536
mov eax, dword [rbp - 0x28]
jmp 0x140044076
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax + 0x554]
neg cl
sbb r9d, r9d
and r9d, 8
lea r8, [rsi + 0x4b8]
mov rdx, qword [r13 + 0x18]
mov rcx, rdi
call fcn.14004aea6
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140043fea
lea rcx, [rbp - 0x28]
call fcn.1400498f6
mov eax, dword [rbp - 0x28]
jmp 0x140044076
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax + 0x554]
neg cl
sbb r9d, r9d
and r9d, 8
lea r8, [rsi + 0x4c0]
mov rdx, qword [r13 + 0x20]
mov rcx, rdi
call fcn.14004aea6
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140044026
lea rcx, [rbp - 0x28]
call fcn.140049986
mov eax, dword [rbp - 0x28]
jmp 0x140044076
mov rax, qword [rbx + 0x20]
movzx edx, byte [rax + 0x554]
neg dl
sbb r9d, r9d
and r9d, 8
lea r8, [rsi + 0x480]
mov rdx, qword [rbx + 0x50]
mov rcx, rdi
call fcn.14004aea6
mov dword [rbp - 0x28], eax
test eax, eax
je 0x140044069
lea r8, [0x14016031e]
lea rcx, [rbp - 0x28]
call fcn.140040536
mov eax, dword [rbp - 0x28]
jmp 0x140044076
mov dword [r14 + 0x264], 2
xor eax, eax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400ef896
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140114be6
int3