Function at 0x1800846d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1800d8040]
xor rax, rsp
mov qword [rbp + 0x17], rax
movzx edi, r8b
mov rbx, rdx
mov rcx, rdx
call fcn.18007d9a0
mov r13, qword [rax]
test r13, r13
je 0x1800847bb
mov qword [rbp + 7], 0
mov dword [rbp + 0xf], 0
mov qword [rbp - 9], 0
mov dword [rbp - 1], 0
test dil, dil
je 0x1800847ef
mov esi, 4
mov r15d, dword [0x18013a0b4]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + r15*8]
mov eax, dword [rsi + rcx]
cmp dword [0x18013a87c], eax
jle 0x18008479a
lea rcx, [0x18013a87c]
call fcn.1800ad598
cmp dword [0x18013a87c], 0xffffffff
jne 0x18008479a
mov rax, qword [0x18013a340]
mov qword [0x18013a8b0], rax
lea rcx, [0x18013a87c]
call fcn.1800ad52c
mov rax, qword [0x18013a8b0]
test rax, rax
je 0x1800847bb
lea r8, [rbp - 9]
lea rdx, [rbp + 7]
mov rcx, rbx
call rax
test al, al
jne 0x180084b05
xor al, al
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1800ad4d0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
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
mov rcx, rbx
call fcn.180078820
mov rdi, qword [rax]
test rdi, rdi
je 0x1800847bb
mov esi, 4
mov r15d, dword [0x18013a0b4]
mov rax, qword gs:[0x58]
mov r12, qword [rax + r15*8]
movabs rbx, 0xcbf29ce484222325
movabs r14, 0x100000001b3
mov eax, dword [r12 + rsi]
cmp dword [0x18013a89c], eax
jle 0x1800848e8
lea rcx, [0x18013a89c]
call fcn.1800ad598
cmp dword [0x18013a89c], 0xffffffff
jne 0x1800848e8
lea rdx, str.m_vecAbsOrigin
mov rcx, rbx
mov al, 0x6d
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, r14
movzx eax, byte [rdx]
test al, al
jne 0x180084861
lea r8, str.CGameSceneNode
mov rdx, rbx
mov al, 0x43
nop dword [rax]
nop word [rax + rax]
movsx rax, al
lea r8, [r8 + 1]
xor rdx, rax
imul rdx, r14
movzx eax, byte [r8]
test al, al
jne 0x180084890
mov qword [rbp - 0x19], rdx
mov qword [rbp - 0x29], rcx
lea r8, [rbp - 0x19]
lea rdx, [rbp - 0x49]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x39]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a8a8], eax
lea rcx, [0x18013a89c]
call fcn.1800ad52c
movsxd r14, dword [0x18013a8a8]
add r14, rdi
lea rdi, str.CCollisionProperty
mov eax, dword [r12 + rsi]
cmp dword [0x18013a8b8], eax
jle 0x1800849b8
lea rcx, [0x18013a8b8]
call fcn.1800ad598
cmp dword [0x18013a8b8], 0xffffffff
jne 0x1800849b8
lea rdx, str.m_vecMins
mov rcx, rbx
mov al, 0x6d
movabs r9, 0x100000001b3
nop dword [rax + rax]
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, r9
movzx eax, byte [rdx]
test al, al
jne 0x180084940
mov r8, rdi
mov rdx, rbx
mov al, 0x43
nop
movsx rax, al
lea r8, [r8 + 1]
xor rdx, rax
imul rdx, r9
movzx eax, byte [r8]
test al, al
jne 0x180084960
mov qword [rbp - 0x29], rdx
mov qword [rbp - 0x19], rcx
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x39]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x19]
lea rdx, [rbp - 0x49]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a8a0], eax
lea rcx, [0x18013a8b8]
call fcn.1800ad52c
movsxd rax, dword [0x18013a8a0]
movsd xmm2, qword [r14]
movss xmm1, dword [r14 + 8]
addss xmm1, dword [rax + r13 + 8]
movaps xmm0, xmm2
shufps xmm0, xmm0, 0x55
addss xmm0, dword [rax + r13 + 4]
movsd qword [rbp - 0x29], xmm2
addss xmm2, dword [rax + r13]
movss dword [rbp + 7], xmm2
movss dword [rbp + 0xb], xmm0
movss dword [rbp + 0xf], xmm1
mov eax, dword [r12 + rsi]
cmp dword [0x18013a880], eax
jle 0x180084ab7
lea rcx, [0x18013a880]
call fcn.1800ad598
cmp dword [0x18013a880], 0xffffffff
jne 0x180084ab7
lea rdx, str.m_vecMaxs
mov rcx, rbx
mov al, 0x6d
movabs r8, 0x100000001b3
nop dword [rax + rax]
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rdx]
test al, al
jne 0x180084a40
mov al, 0x43
nop dword [rax + rax]
movsx rax, al
lea rdi, [rdi + 1]
xor rbx, rax
imul rbx, r8
movzx eax, byte [rdi]
test al, al
jne 0x180084a60
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rcx
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x39]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x19]
lea rdx, [rbp - 0x49]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a878], eax
lea rcx, [0x18013a880]
call fcn.1800ad52c
movsxd rax, dword [0x18013a878]
movsd xmm3, qword [r14]
mov ecx, dword [r14 + 8]
movss xmm2, dword [rax + r13 + 4]
movss xmm4, dword [rax + r13 + 8]
movaps xmm0, xmm3
addss xmm0, dword [rax + r13]
movss dword [rbp - 9], xmm0
movaps xmm1, xmm3
shufps xmm1, xmm1, 0x55
movsd qword [rbp - 0x29], xmm3
addss xmm2, xmm1
movss dword [rbp - 5], xmm2
movd xmm0, ecx
addss xmm4, xmm0
movss dword [rbp - 1], xmm4
mov dword [0x18013a18c], 0x7f7fffff
mov dword [0x18013a188], 0x7f7fffff
mov dword [0x18013a194], 0xff7fffff
mov dword [0x18013a190], 0xff7fffff
xor ebx, ebx
mov rax, qword gs:[0x58]
mov rdi, qword [rax + r15*8]
movss xmm6, dword [0x1800c5488]
test bl, 4
je 0x180084b50
movss xmm2, dword [rbp - 1]
jmp 0x180084b55
movss xmm2, dword [rbp + 0xf]
test bl, 2
je 0x180084b61
movss xmm1, dword [rbp - 5]
jmp 0x180084b66
movss xmm1, dword [rbp + 0xb]
test bl, 1
je 0x180084b72
movss xmm0, dword [rbp - 9]
jmp 0x180084b77
movss xmm0, dword [rbp + 7]
movss dword [rbp - 0x19], xmm0
movss dword [rbp - 0x15], xmm1
movss dword [rbp - 0x11], xmm2
mov qword [rbp - 0x29], 0
mov dword [rbp - 0x21], 0
mov eax, dword [rdi + rsi]
cmp dword [0x18013a5c0], eax
jle 0x180084bcf
lea rcx, [0x18013a5c0]
call fcn.1800ad598
cmp dword [0x18013a5c0], 0xffffffff
jne 0x180084bcf
mov rax, qword [0x18013a320]
mov qword [0x18013a5f8], rax
lea rcx, [0x18013a5c0]
call fcn.1800ad52c
mov rax, qword [0x18013a5f8]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
call rax
test al, al
jne 0x180084ca9
mov rax, qword [0x18013a110]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
movaps xmm3, xmm0
mulss xmm3, dword [rbp - 0x29]
mulss xmm3, xmm6
mulss xmm0, xmm6
addss xmm3, xmm0
movss dword [rbp - 0x29], xmm3
movaps xmm2, xmm1
mulss xmm2, xmm6
mulss xmm1, dword [rbp - 0x25]
mulss xmm1, xmm6
subss xmm2, xmm1
movss dword [rbp - 0x25], xmm2
movss xmm0, dword [0x18013a188]
minss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss dword [0x18013a188], xmm4
movss xmm0, dword [0x18013a18c]
minss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss dword [0x18013a18c], xmm5
movss xmm0, dword [0x18013a190]
maxss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x18013a190], xmm0
movss xmm1, dword [0x18013a194]
maxss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x18013a194], xmm0
jmp 0x180084cb9
movss xmm5, dword [0x18013a18c]
movss xmm4, dword [0x18013a188]
inc ebx
cmp ebx, 8
jl 0x180084b44
movss xmm0, dword [0x18013a190]
subss xmm0, xmm4
mulss xmm0, xmm6
addss xmm0, xmm4
movss dword [0x18013a198], xmm0
movss xmm1, dword [0x18013a194]
subss xmm1, xmm5
mulss xmm1, xmm6
addss xmm1, xmm5
movss dword [0x18013a19c], xmm1
mov al, 1
jmp 0x1800847bd