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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x430]
sub rsp, 0x530
mov rsi, rcx
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
xor ebx, ebx
mov eax, dword [rcx + rax]
cmp dword [0x1401f1644], eax
jle 0x1400a9030
lea rcx, [0x1401f1644]
call fcn.1400d17c0
cmp dword [0x1401f1644], 0xffffffff
jne 0x1400a9030
xorps xmm0, xmm0
movups xmmword [0x1401f1600], xmm0
movups xmmword [0x1401f1610], xmm0
movups xmmword [0x1401f1620], xmm0
movups xmmword [0x1401f1630], xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm1
lea r8d, [rbx + 7]
lea rdx, str.Unknown
lea rcx, [rsp + 0x30]
call fcn.14000d3d0
mov dword [rsp + 0x50], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
lea r8d, [rbx + 0xe]
lea rdx, str.StructProperty
lea rcx, [rsp + 0x58]
call fcn.14000d3d0
mov dword [rsp + 0x78], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x70], xmm1
lea r8d, [rbx + 0xe]
lea rdx, str.ObjectProperty
lea rcx, [rbp - 0x80]
call fcn.14000d3d0
mov dword [rbp - 0x60], 2
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rbx
lea r8d, [rbx + 0x12]
lea rdx, str.SoftObjectProperty
lea rcx, [rbp - 0x58]
call fcn.14000d3d0
mov dword [rbp - 0x38], 3
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x20], xmm1
lea r8d, [rbx + 0x12]
lea rdx, str.LazyObjectProperty
lea rcx, [rbp - 0x30]
call fcn.14000d3d0
mov dword [rbp - 0x10], 4
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], rbx
lea r8d, [rbx + 0xd]
lea rdx, str.FloatProperty
lea rcx, [rbp - 8]
call fcn.14000d3d0
mov dword [rbp + 0x18], 5
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x30], xmm1
lea r8d, [rbx + 0xc]
lea rdx, str.ByteProperty
lea rcx, [rbp + 0x20]
call fcn.14000d3d0
mov dword [rbp + 0x40], 6
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], rbx
lea r8d, [rbx + 0xc]
lea rdx, str.BoolProperty
lea rcx, [rbp + 0x48]
call fcn.14000d3d0
mov dword [rbp + 0x68], 7
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x80], xmm1
lea r8d, [rbx + 0xb]
lea rdx, str.IntProperty
lea rcx, [rbp + 0x70]
call fcn.14000d3d0
mov dword [rbp + 0x90], 8
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
lea r8d, [rbx + 0xc]
lea rdx, str.Int8Property
lea rcx, [rbp + 0x98]
call fcn.14000d3d0
mov dword [rbp + 0xb8], 9
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xd0], xmm1
lea r8d, [rbx + 0xd]
lea rdx, str.Int16Property
lea rcx, [rbp + 0xc0]
call fcn.14000d3d0
mov dword [rbp + 0xe0], 0xa
xorps xmm0, xmm0
movups xmmword [rbp + 0xe8], xmm0
mov qword [rbp + 0xf8], rbx
mov qword [rbp + 0x100], rbx
lea r8d, [rbx + 0xd]
lea rdx, str.Int64Property
lea rcx, [rbp + 0xe8]
call fcn.14000d3d0
mov dword [rbp + 0x108], 0xb
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x120], xmm1
lea r8d, [rbx + 0xe]
lea rdx, str.UInt16Property
lea rcx, [rbp + 0x110]
call fcn.14000d3d0
mov dword [rbp + 0x130], 0xc
xorps xmm0, xmm0
movups xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], rbx
mov qword [rbp + 0x150], rbx
lea r8d, [rbx + 0xe]
lea rdx, str.UInt32Property
lea rcx, [rbp + 0x138]
call fcn.14000d3d0
mov dword [rbp + 0x158], 0xd
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x170], xmm1
lea r8d, [rbx + 0xe]
lea rdx, str.UInt64Property
lea rcx, [rbp + 0x160]
call fcn.14000d3d0
mov dword [rbp + 0x180], 0xe
xorps xmm0, xmm0
movups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], rbx
lea r8d, [rbx + 0xc]
lea rdx, str.NameProperty
lea rcx, [rbp + 0x188]
call fcn.14000d3d0
mov dword [rbp + 0x1a8], 0xf
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x1c0], xmm1
lea r8d, [rbx + 0x10]
lea rdx, str.DelegateProperty
lea rcx, [rbp + 0x1b0]
call fcn.14000d3d0
mov dword [rbp + 0x1d0], 0x10
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d8], xmm0
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f0], rbx
lea r8d, [rbx + 0xb]
lea rdx, str.SetProperty
lea rcx, [rbp + 0x1d8]
call fcn.14000d3d0
mov dword [rbp + 0x1f8], 0x11
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x210], xmm1
lea r8d, [rbx + 0xd]
lea rdx, str.ArrayProperty
lea rcx, [rbp + 0x200]
call fcn.14000d3d0
mov dword [rbp + 0x220], 0x12
xorps xmm0, xmm0
movups xmmword [rbp + 0x228], xmm0
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x240], rbx
lea r8d, [rbx + 0x12]
lea rdx, str.WeakObjectProperty
lea rcx, [rbp + 0x228]
call fcn.14000d3d0
mov dword [rbp + 0x248], 0x13
xorps xmm0, xmm0
movups xmmword [rbp + 0x250], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x260], xmm1
lea r8d, [rbx + 0xb]
lea rdx, str.StrProperty
lea rcx, [rbp + 0x250]
call fcn.14000d3d0
mov dword [rbp + 0x270], 0x14
xorps xmm0, xmm0
movups xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], rbx
mov qword [rbp + 0x290], rbx
lea r8d, [rbx + 0xc]
lea rdx, str.TextProperty
lea rcx, [rbp + 0x278]
call fcn.14000d3d0
mov dword [rbp + 0x298], 0x15
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x2b0], xmm1
lea r8d, [rbx + 0x1f]
lea rdx, str.MulticastSparseDelegateProperty
lea rcx, [rbp + 0x2a0]
call fcn.14000d3d0
mov dword [rbp + 0x2c0], 0x16
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c8], xmm0
mov qword [rbp + 0x2d8], rbx
mov qword [rbp + 0x2e0], rbx
lea r8d, [rbx + 0xc]
lea rdx, str.EnumProperty
lea rcx, [rbp + 0x2c8]
call fcn.14000d3d0
mov dword [rbp + 0x2e8], 0x17
xorps xmm0, xmm0
movups xmmword [rbp + 0x2f0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x300], xmm1
lea r8d, [rbx + 0xe]
lea rdx, str.DoubleProperty
lea rcx, [rbp + 0x2f0]
call fcn.14000d3d0
mov dword [rbp + 0x310], 0x18
xorps xmm0, xmm0
movups xmmword [rbp + 0x318], xmm0
mov qword [rbp + 0x328], rbx
mov qword [rbp + 0x330], rbx
lea r8d, [rbx + 0x19]
lea rdx, str.MulticastDelegateProperty
lea rcx, [rbp + 0x318]
call fcn.14000d3d0
mov dword [rbp + 0x338], 0x19
xorps xmm0, xmm0
movups xmmword [rbp + 0x340], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x350], xmm1
lea r8d, [rbx + 0xd]
lea rdx, str.ClassProperty
lea rcx, [rbp + 0x340]
call fcn.14000d3d0
mov dword [rbp + 0x360], 0x1a
xorps xmm0, xmm0
movups xmmword [rbp + 0x368], xmm0
mov qword [rbp + 0x378], rbx
mov qword [rbp + 0x380], rbx
lea r8d, [rbx + 0x1f]
lea rdx, str.MulticastInlineDelegateProperty
lea rcx, [rbp + 0x368]
call fcn.14000d3d0
mov dword [rbp + 0x388], 0x1b
xorps xmm0, xmm0
movups xmmword [rbp + 0x390], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x3a0], xmm1
lea r8d, [rbx + 0xb]
lea rdx, str.MapProperty
lea rcx, [rbp + 0x390]
call fcn.14000d3d0
mov dword [rbp + 0x3b0], 0x1c
xorps xmm0, xmm0
movups xmmword [rbp + 0x3b8], xmm0
mov qword [rbp + 0x3c8], rbx
mov qword [rbp + 0x3d0], rbx
lea r8d, [rbx + 0x11]
lea rdx, str.InterfaceProperty
lea rcx, [rbp + 0x3b8]
call fcn.14000d3d0
mov dword [rbp + 0x3d8], 0x1d
xorps xmm0, xmm0
movups xmmword [rbp + 0x3e0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x3f0], xmm1
lea r8d, [rbx + 0x11]
lea rdx, str.FieldPathProperty
lea rcx, [rbp + 0x3e0]
call fcn.14000d3d0
mov dword [rbp + 0x400], 0x1e
xorps xmm0, xmm0
movups xmmword [rbp + 0x408], xmm0
mov qword [rbp + 0x418], rbx
mov qword [rbp + 0x420], rbx
lea r8d, [rbx + 0x11]
lea rdx, str.SoftClassProperty
lea rcx, [rbp + 0x408]
call fcn.14000d3d0
mov dword [rbp + 0x428], 0x1f
mov dword [0x1401f1600], ebx
mov qword [0x1401f1608], rbx
mov qword [0x1401f1610], rbx
lea ecx, [rbx + 0x38]
call fcn.1400d1838
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1401f1608], rax
mov qword [0x1401f1618], rbx
xorps xmm0, xmm0
movdqa xmmword [0x1401f1620], xmm0
mov qword [0x1401f1630], 7
mov qword [0x1401f1638], 8
mov dword [0x1401f1600], 0x3f800000
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [0x1401f1618]
call fcn.1400224d0
nop
lea rdi, [rsp + 0x30]
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.1400ac860
add rdi, 0x28
lea rax, [rbp + 0x430]
cmp rdi, rax
jne 0x1400a8fe0
lea r9, [fcn.14000b6a0]
mov edx, 0x28
lea r8d, [rdx - 8]
lea rcx, [rsp + 0x30]
call fcn.1400d1874
lea rcx, [0x140110f50]
call fcn.1400d1b6c
nop
lea rcx, [0x1401f1644]
call fcn.1400d1754
mov rdx, qword [rsi + 0x10]
mov rcx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400a9041
mov rcx, qword [rsi]
movabs r9, 0xcbf29ce484222325
test rdx, rdx
je 0x1400a9073
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor r9, rax
imul r9, r8
inc rbx
cmp rbx, rdx
jb 0x1400a9060
mov r8, rsi
lea rdx, [rsp + 0x20]
call fcn.1400acdd0
mov rcx, qword [rax + 8]
mov rax, qword [0x1401f1608]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [0x1401f1608]
je 0x1400a90a0
mov eax, dword [rax + 0x30]
jmp 0x1400a90a2
xor eax, eax
lea r11, [rsp + 0x530]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret