Function at 0x1400a4870
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x14018c010]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r15, rcx
xor r12d, r12d
xorps xmm0, xmm0
cmp byte [0x1401984e4], r12b
jne 0x1400a4942
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
lea rcx, [rsp + 0x70]
call fcn.14009e5c0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x70], r12d
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
lea ecx, [r12 + 0x78]
call fcn.1401302e8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x58], 8
mov dword [rsp + 0x70], 0x3f800000
mov r8, rax
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x78]
call fcn.140025ef0
nop
lea rcx, [rsp + 0x70]
call fcn.14009f790
jmp 0x1400a5055
xor eax, eax
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rax
movups xmmword [rsp + 0x50], xmm0
lea rbx, [0x1401973c8]
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x58], 1
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rdx, [0x1401973e0]
lea rcx, [rbp - 0x50]
call fcn.140076e00
nop
mov rcx, rbx
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rsp + 0x50], xmm0
lea rsi, [0x1401973d0]
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x58], 1
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
mov eax, dword [0x140197410]
mov dword [rbp - 0x30], eax
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r12
mov ecx, 0x78
call fcn.1401302e8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov rcx, qword [0x140197440]
mov qword [rbp], rcx
mov rcx, qword [0x140197448]
mov qword [rbp + 8], rcx
mov rdx, qword [0x140197430]
sub rdx, qword [0x140197428]
sar rdx, 3
mov r8, rax
lea rcx, [rbp - 0x18]
call fcn.140025ef0
mov rdi, qword [0x140197418]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400a4a4d
nop dword [rax]
lea r8, [rbx + 0x10]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.1400b2880
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x1400a4a30
mov rcx, rsi
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
mov rcx, qword [rbp - 0x48]
sub rcx, qword [rbp - 0x50]
movabs r13, 0x2aaaaaaaaaaaaaab
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x1400a4a9a
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
lea rcx, [rsp + 0x70]
call fcn.14009e5c0
jmp 0x1400a5042
mov r8d, 3
mov edx, dword [0x14019673c]
mov rcx, qword [0x140198a68]
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Initialize]
mov r14, rax
mov rsi, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x50]
cmp rbx, rsi
je 0x1400a4b7b
add rbx, 8
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.1400953a0
test rax, rax
je 0x1400a4aff
mov r8, rbx
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400ab940
mov rcx, qword [rax]
mov rax, qword [rcx + 0x50]
mov qword [rbx + 0x30], rax
jmp 0x1400a4b6a
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
mov r8d, recvfrom
lea rdx, str.RootComponent
lea rcx, [rsp + 0x70]
call fcn.140023450
nop
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x40]
lea rcx, [0x140196a48]
call fcn.14009d010
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x30]
add rdx, qword [rbx]
mov qword [rsp + 0x20], r12
lea r9, [rbx + 0x30]
mov r8d, 8
mov rcx, r14
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
nop
lea rcx, [rsp + 0x70]
call fcn.140021950
add rbx, 0x60
lea rax, [rbx - 8]
cmp rax, rsi
jne 0x1400a4ad0
mov rcx, r14
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_ExecuteRead]
test eax, eax
je 0x1400a4b9d
mov r8d, 3
mov edx, dword [0x14019673c]
mov rcx, r14
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Clear]
mov rdi, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x50]
cmp rbx, rdi
je 0x1400a4cfd
add rbx, 0xa
movabs rsi, 0x100000001b3
movabs r13, 0xcbf29ce484222325
nop word [rax + rax]
movzx ecx, byte [rbx - 2]
xor rcx, r13
imul rcx, rsi
movzx eax, byte [rbx - 1]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx + 1]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx + 2]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx + 3]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx + 4]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx + 5]
xor rcx, rax
imul rcx, rsi
mov rdx, qword [rbp]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [rbp - 0x28]
je 0x1400a4c61
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rbx - 2]
cmp rcx, qword [rax + 0x10]
je 0x1400a4c64
nop
cmp rax, rdx
je 0x1400a4c61
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1400a4c50
jmp 0x1400a4c64
mov rax, r12
test rax, rax
jne 0x1400a4c76
mov rcx, qword [rbx + 0x2e]
call fcn.14009db20
mov qword [rbx + 0x2e], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
mov r8d, reloc.WSOCK32.dll_recvfrom
lea rdx, str.ComponentLocation
lea rcx, [rsp + 0x70]
call fcn.140023450
nop
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
lea rcx, [0x140196a48]
call fcn.14009d010
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x30]
add rdx, qword [rbx + 0x2e]
lea r9, [rbx + 0x36]
mov qword [rsp + 0x20], r12
mov r8d, recvfrom
mov rcx, r14
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
nop
lea rcx, [rsp + 0x70]
call fcn.140021950
add rbx, 0x60
lea rax, [rbx - 0xa]
cmp rax, rdi
jne 0x1400a4bd0
movabs r13, 0x2aaaaaaaaaaaaaab
mov rcx, r14
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_ExecuteRead]
test eax, eax
je 0x1400a4d1f
mov r8d, 3
mov edx, dword [0x14019673c]
mov rcx, r14
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Clear]
mov rdi, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
cmp rcx, rdi
je 0x1400a4e05
lea rbx, [rcx + 0x44]
movss xmm6, dword [0x14016216c]
nop dword [rax]
movaps xmm0, xmmword [r15]
movaps xmmword [rsp + 0x70], xmm0
movsd xmm1, qword [r15 + 0x10]
movsd qword [rbp - 0x80], xmm1
mov eax, dword [r15 + 0x18]
mov dword [rbp - 0x78], eax
movsd xmm0, qword [rbx - 4]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rbx + 4]
mov dword [rsp + 0x48], eax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400397b0
movsd xmm0, qword [rax]
movsd qword [rbx + 8], xmm0
mov eax, dword [rax + 8]
mov dword [rbx + 0x10], eax
movss xmm1, dword [rbx + 4]
subss xmm1, dword [0x140196f64]
movss xmm0, dword [rbx]
subss xmm0, dword [0x140196f60]
movss xmm2, dword [rbx - 4]
subss xmm2, dword [0x140196f5c]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1400a4ddb
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1400a4de3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm0, xmm6
movss dword [rbx + 0x14], xmm0
add rbx, 0x60
lea rax, [rbx - 0x44]
cmp rax, rdi
jne 0x1400a4d40
mov rdi, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov r8, rdi
sub r8, rcx
mov rax, r13
imul r8
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
movzx r9d, byte [rsp + 0x30]
mov rdx, rdi
call fcn.1400af200
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
mov rcx, qword [rbp - 0x48]
sub rcx, qword [rbp - 0x50]
mov rax, r13
imul rcx
mov rdi, rdx
sar rdi, 4
mov rax, rdi
shr rax, 0x3f
add rdi, rax
je 0x1400a4ef2
movabs rax, 0x2aaaaaaaaaaaaaa
cmp rdi, rax
ja 0x1400a5087
mov rdx, rdi
call fcn.14007d060
mov rbx, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
lea rcx, [rdi + rdi*2]
shl rcx, 5
add rcx, rax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov rdi, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x48]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
lea rax, [rsp + 0x50]
mov qword [rbp - 0x80], rax
cmp rdi, rsi
je 0x1400a4eed
nop word [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.1400733f0
add rbx, 0x60
mov qword [rsp + 0x78], rbx
add rdi, 0x60
cmp rdi, rsi
jne 0x1400a4ed0
mov qword [rsp + 0x58], rbx
lea rcx, [rsp + 0x50]
call fcn.14009e5c0
mov rsi, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x50]
cmp rbx, rsi
je 0x1400a4f97
add rbx, 8
mov r8, rbx
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400ab940
mov rdi, qword [rax]
mov eax, dword [rbx - 8]
mov dword [rdi + 0x18], eax
mov rax, qword [rbx]
mov qword [rdi + 0x20], rax
mov eax, dword [rbx + 8]
mov dword [rdi + 0x28], eax
lea rcx, [rdi + 0x30]
lea rdx, [rbx + 0x10]
cmp rcx, rdx
je 0x1400a4f58
cmp qword [rbx + 0x28], 0x10
jb 0x1400a4f4f
mov rdx, qword [rdx]
mov r8, qword [rbx + 0x20]
call fcn.140021a50
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x50], rax
movsd xmm0, qword [rbx + 0x38]
movsd qword [rdi + 0x58], xmm0
mov eax, dword [rbx + 0x40]
mov dword [rdi + 0x60], eax
movsd xmm0, qword [rbx + 0x44]
movsd qword [rdi + 0x64], xmm0
mov eax, dword [rbx + 0x4c]
mov dword [rdi + 0x6c], eax
mov eax, dword [rbx + 0x50]
mov dword [rdi + 0x70], eax
add rbx, 0x60
lea rax, [rbx - 8]
cmp rax, rsi
jne 0x1400a4f11
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp - 0x30]
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov ecx, 0x78
call fcn.1401302e8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r12
mov rcx, qword [rbp]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rbp + 8]
mov qword [rbp - 0x58], rcx
mov rdx, qword [rbp - 0x10]
sub rdx, qword [rbp - 0x18]
sar rdx, 3
mov r8, rax
lea rcx, [rbp - 0x78]
call fcn.140025ef0
mov rdi, qword [rbp - 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400a502e
nop word [rax + rax]
lea r8, [rbx + 0x10]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.1400b2880
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x1400a5010
lea rcx, [rsp + 0x70]
call fcn.14009f790
mov rcx, r14
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_CloseHandle]
nop
lea rcx, [rbp - 0x30]
call fcn.14009f720
nop
lea rcx, [rbp - 0x50]
call fcn.140078700
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140130030
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140022460
nop
int3