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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x210
mov rax, qword [0x180141040]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rax, qword gs:[0x58]
mov r15, rcx
mov r8d, dword [0x180141ae8]
xor r13d, r13d
mov ecx, 4
mov r14, rdx
movabs rsi, 0x9a14b80673a05043
movabs rbx, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov rdi, qword [rax + r8*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1801422d8], eax
jle 0x180067e74
lea rcx, [0x1801422d8]
call fcn.1800d7590
cmp dword [0x1801422d8], 0xffffffff
jne 0x180067e6f
movabs rax, 0xf451dd7512e20f00
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x80], rax
movabs rax, 0x55025bae763fdf84
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x88], rax
movabs rax, 0xad0d6bb8b4470bed
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x90], rax
movabs rax, 0x73efd1b1808db0dd
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x20], rsi
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x120], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x128], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x130], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rsp + 0x80]
vpxor xmm2, xmm0, xmmword [rsp + 0x120]
vmovdqu xmm0, xmmword [rsp + 0x90]
mov qword [rsp + 0x138], rax
vpxor xmm1, xmm0, xmmword [rsp + 0x130]
vmovq rax, xmm2
vmovdqu xmmword [rsp + 0x90], xmm1
vmovdqu xmmword [rsp + 0x80], xmm2
test al, al
je 0x180067e2c
inc rdx
cmp byte [rdx], r13b
jne 0x180067e24
lea rax, [rsp + 0x80]
mov r8, r13
sub rdx, rax
je 0x180067e58
nop dword [rax]
movsx rax, byte [rsp + r8 + 0x80]
inc r8
xor rcx, rax
imul rcx, r12
cmp r8, rdx
jb 0x180067e40
call fcn.18006e5c0
lea rcx, [0x1801422d8]
mov dword [0x180142300], eax
call fcn.1800d7524
mov ecx, 4
mov eax, dword [0x180142300]
vmovaps xmmword [rsp + 0x200], xmm6
vmovaps xmmword [rsp + 0x1f0], xmm7
vmovaps xmmword [rsp + 0x1e0], xmm8
mov rsi, qword [rax + r15]
vmovaps xmmword [rsp + 0x1d0], xmm9
vmovaps xmmword [rsp + 0x1c0], xmm10
vmovaps xmmword [rsp + 0x1b0], xmm11
vmovaps xmmword [rsp + 0x1a0], xmm12
vmovaps xmmword [rsp + 0x190], xmm13
vmovaps xmmword [rsp + 0x180], xmm14
vmovaps xmmword [rsp + 0x170], xmm15
test rsi, rsi
je 0x18006897c
mov eax, dword [rdi + rcx]
cmp dword [0x180142318], eax
jle 0x180068084
lea rcx, [0x180142318]
call fcn.1800d7590
cmp dword [0x180142318], 0xffffffff
jne 0x18006807f
movabs rax, 0xf451dd7512e20f00
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rax
movabs rax, 0x55025bae763fdf84
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xa8], rax
movabs rax, 0xa11d51b1b5490fed
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xb0], rax
movabs rax, 0x73efb4d5efc3bbdc
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xb8], rax
movabs rax, 0x9a14b80673a05043
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x120], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x128], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x130], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rsp + 0xa0]
vpxor xmm2, xmm0, xmmword [rsp + 0x120]
vmovdqu xmm0, xmmword [rsp + 0xb0]
mov qword [rsp + 0x138], rax
vpxor xmm1, xmm0, xmmword [rsp + 0x130]
vmovq rax, xmm2
vmovdqu xmmword [rsp + 0xb0], xmm1
vmovdqu xmmword [rsp + 0xa0], xmm2
test al, al
je 0x18006803b
inc rdx
cmp byte [rdx], r13b
jne 0x180068033
lea rax, [rsp + 0xa0]
mov r8, r13
sub rdx, rax
je 0x180068068
nop dword [rax + rax]
movsx rax, byte [rsp + r8 + 0xa0]
inc r8
xor rcx, rax
imul rcx, r12
cmp r8, rdx
jb 0x180068050
call fcn.18006e5c0
lea rcx, [0x180142318]
mov dword [0x1801422ec], eax
call fcn.1800d7524
mov ecx, 4
mov eax, dword [0x1801422ec]
mov r15, qword [rax + r15]
test r15, r15
je 0x18006897c
mov eax, dword [rdi + rcx]
cmp dword [0x180142320], eax
jle 0x180068244
lea rcx, [0x180142320]
call fcn.1800d7590
cmp dword [0x180142320], 0xffffffff
jne 0x18006823f
movabs rax, 0xff77eb631ec11700
lea rdx, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xc0], rax
movabs rax, 0x344200e76005d39e
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xc8], rax
movabs rax, 0xab2a67b0b74617f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xd0], rax
movabs rax, 0x73efd1d5ecffb1e5
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xd8], rax
movabs rax, 0x9a14b80673a05043
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x120], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x128], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x130], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rsp + 0xc0]
vpxor xmm2, xmm0, xmmword [rsp + 0x120]
vmovdqu xmm0, xmmword [rsp + 0xd0]
mov qword [rsp + 0x138], rax
vpxor xmm1, xmm0, xmmword [rsp + 0x130]
vmovq rax, xmm2
vmovdqu xmmword [rsp + 0xd0], xmm1
vmovdqu xmmword [rsp + 0xc0], xmm2
test al, al
je 0x1800681f8
nop dword [rax]
inc rdx
cmp byte [rdx], r13b
jne 0x1800681f0
lea rax, [rsp + 0xc0]
mov r8, r13
sub rdx, rax
je 0x180068228
nop dword [rax + rax]
movsx rax, byte [rsp + r8 + 0xc0]
inc r8
xor rcx, rax
imul rcx, r12
cmp r8, rdx
jb 0x180068210
call fcn.18006e5c0
lea rcx, [0x180142320]
mov dword [0x1801422f4], eax
call fcn.1800d7524
mov ecx, 4
vmovss xmm3, dword [0x1801305f8]
mov eax, dword [0x1801422f4]
vmovups ymm12, ymmword [rax + r15]
mov eax, dword [rdi + rcx]
movabs r15, 0xf367d16a1fcf1300
cmp dword [0x1801422e0], eax
vextractf128 xmm5, ymm12, 1
vextractf128 xmm9, ymm12, 1
vshufps xmm9, xmm9, xmm9, 0xaa
vmulss xmm0, xmm9, xmm3
vmulss xmm7, xmm0, xmm9
vmovss xmm0, dword [0x1801305bc]
vextractf128 xmm8, ymm12, 1
vshufps xmm8, xmm8, xmm8, 0x55
vmulss xmm10, xmm8, xmm3
vmulss xmm11, xmm10, xmm8
vsubss xmm0, xmm0, xmm11
vsubss xmm0, xmm0, xmm7
vmovss dword [rsp + 0x50], xmm0
vextractf128 xmm1, ymm12, 1
vshufps xmm1, xmm1, xmm1, 0xff
vmulss xmm6, xmm1, xmm3
vmulss xmm1, xmm5, xmm3
vmulss xmm0, xmm1, xmm8
vmulss xmm2, xmm6, xmm9
vaddss xmm3, xmm0, xmm2
vsubss xmm0, xmm0, xmm2
vmovss dword [rsp + 0x54], xmm0
vmulss xmm4, xmm1, xmm9
vmulss xmm0, xmm1, xmm5
vmovss dword [rsp + 0x60], xmm3
vmulss xmm3, xmm6, xmm8
vsubss xmm8, xmm4, xmm3
vmulss xmm1, xmm6, xmm5
vmovss dword [rsp + 0x70], xmm8
vmovss xmm8, dword [0x1801305bc]
vsubss xmm2, xmm8, xmm0
vsubss xmm0, xmm2, xmm7
vmovss dword [rsp + 0x64], xmm0
vmulss xmm0, xmm10, xmm9
vaddss xmm5, xmm0, xmm1
vsubss xmm0, xmm0, xmm1
vshufps xmm9, xmm12, xmm12, 0x55
vmovss dword [rsp + 0x68], xmm0
vmovss dword [rsp + 0x5c], xmm12
vmovups ymmword [rsp + 0x140], ymm12
vmovups ymmword [rsp + 0x120], ymm12
vsubss xmm0, xmm2, xmm11
vaddss xmm3, xmm3, xmm4
vshufps xmm12, xmm12, xmm12, 0xaa
vmovss dword [rsp + 0x78], xmm0
vmovss dword [rsp + 0x74], xmm5
vmovss dword [rsp + 0x58], xmm3
vmovss dword [rsp + 0x6c], xmm9
vmovss dword [rsp + 0x7c], xmm12
jle 0x18006852f
lea rcx, [0x1801422e0]
vzeroupper
call fcn.1800d7590
cmp dword [0x1801422e0], 0xffffffff
jne 0x18006852a
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0xe0]
mov rax, qword [rsp + 0x20]
movabs r15, 0x9a14b80673a05043
mov qword [rsp + 0xe0], rax
mov rcx, rbx
movabs rax, 0x780a15ec7d1bd89f
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xe8], rax
movabs rax, 0xa1085db9e60531e9
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xf0], rax
movabs rax, 0x73efd1c2eee493d1
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x140], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x148], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x150], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rsp + 0xe0]
vpxor xmm2, xmm0, xmmword [rsp + 0x140]
vmovdqu xmm0, xmmword [rsp + 0xf0]
mov qword [rsp + 0x158], rax
vpxor xmm1, xmm0, xmmword [rsp + 0x150]
vmovq rax, xmm2
vmovdqu xmmword [rsp + 0xf0], xmm1
vmovdqu xmmword [rsp + 0xe0], xmm2
test al, al
je 0x1800684bd
inc rdx
cmp byte [rdx], r13b
jne 0x1800684b5
lea rax, [rsp + 0xe0]
mov r8, r13
sub rdx, rax
je 0x1800684e8
nop dword [rax]
movsx rax, byte [rsp + r8 + 0xe0]
inc r8
xor rcx, rax
imul rcx, r12
cmp r8, rdx
jb 0x1800684d0
call fcn.18006e5c0
lea rcx, [0x1801422e0]
mov dword [0x18014231c], eax
call fcn.1800d7524
vmovss xmm0, dword [rsp + 0x120]
vmovss xmm12, dword [rsp + 0x128]
vmovss xmm9, dword [rsp + 0x124]
vmovups ymmword [rsp + 0x140], ymm0
mov ecx, 4
jmp 0x180068539
mov ecx, 4
movabs r15, 0x9a14b80673a05043
mov eax, dword [0x18014231c]
vmovsd xmm0, qword [rax + rsi]
mov eax, dword [rax + rsi + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + rcx]
cmp dword [0x180142310], eax
vmovsd qword [rsp + 0x30], xmm0
jle 0x180068718
lea rcx, [0x180142310]
vzeroupper
call fcn.1800d7590
cmp dword [0x180142310], 0xffffffff
jne 0x180068718
movabs rax, 0xf367d16a1fcf1300
lea rdx, [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x100], rax
movabs rax, 0x780a15ec7d1bd89f
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x108], rax
movabs rax, 0xa1085db9e60531e9
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x110], rax
movabs rax, 0x73efd1c2f8ec93d1
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x140], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x148], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x150], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rsp + 0x100]
vpxor xmm2, xmm0, xmmword [rsp + 0x140]
vmovdqu xmm0, xmmword [rsp + 0x110]
mov qword [rsp + 0x158], rax
vpxor xmm1, xmm0, xmmword [rsp + 0x150]
vmovq rax, xmm2
vmovdqu xmmword [rsp + 0x110], xmm1
vmovdqu xmmword [rsp + 0x100], xmm2
test al, al
je 0x1800686a8
nop word [rax + rax]
inc rdx
cmp byte [rdx], r13b
jne 0x1800686a0
lea rax, [rsp + 0x100]
mov r8, r13
sub rdx, rax
je 0x1800686d8
nop dword [rax + rax]
movsx rax, byte [rsp + r8 + 0x100]
inc r8
xor rbx, rax
imul rbx, r12
cmp r8, rdx
jb 0x1800686c0
mov rcx, rbx
call fcn.18006e5c0
lea rcx, [0x180142310]
mov dword [0x180142314], eax
call fcn.1800d7524
vmovss xmm3, dword [rsp + 0x120]
vmovss xmm12, dword [rsp + 0x128]
vmovss xmm9, dword [rsp + 0x124]
vmovups ymmword [rsp + 0x140], ymm3
jmp 0x180068721
vmovups ymm3, ymmword [rsp + 0x140]
mov eax, dword [0x180142314]
mov ecx, r13d
vmovss xmm10, dword [0x180130714]
vmovss xmm11, dword [0x180130764]
mov rdx, qword [0x180141b18]
vmovsd xmm0, qword [rax + rsi]
mov eax, dword [rax + rsi + 8]
vmovss xmm13, dword [0x180130570]
vmovsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
mov dword [r14 + 4], 0x7f7fffff
mov dword [r14], 0x7f7fffff
mov dword [r14 + 0xc], 0xff7fffff
mov dword [r14 + 8], 0xff7fffff
vmovss dword [rsp + 0x28], xmm10
vmovss dword [rsp + 0x2c], xmm11
nop word [rax + rax]
vmovd xmm1, r13d
mov eax, ecx
and eax, 1
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vmovss xmm0, dword [rsp + 0x30]
vmovss xmm1, dword [rsp + 0x40]
vblendvps xmm6, xmm1, xmm0, xmm2
vmovd xmm1, r13d
mov eax, ecx
and eax, 2
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vmovss xmm0, dword [rsp + 0x34]
vmovss xmm1, dword [rsp + 0x44]
vblendvps xmm5, xmm1, xmm0, xmm2
vmovd xmm1, r13d
mov eax, ecx
and eax, 4
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vmovss xmm0, dword [rsp + 0x38]
vmovss xmm1, dword [rsp + 0x48]
vblendvps xmm4, xmm1, xmm0, xmm2
vmulss xmm1, xmm5, dword [rsp + 0x54]
vmulss xmm0, xmm6, dword [rsp + 0x50]
vaddss xmm2, xmm1, xmm0
vmulss xmm1, xmm4, dword [rsp + 0x58]
vmulss xmm0, xmm6, dword [rsp + 0x60]
vaddss xmm2, xmm2, xmm1
vmulss xmm1, xmm4, dword [rsp + 0x68]
vaddss xmm14, xmm2, xmm3
vmulss xmm3, xmm5, dword [rsp + 0x64]
vaddss xmm2, xmm3, xmm0
vmulss xmm3, xmm5, dword [rsp + 0x74]
vmulss xmm0, xmm6, dword [rsp + 0x70]
vaddss xmm2, xmm2, xmm1
vmulss xmm1, xmm4, dword [rsp + 0x78]
vaddss xmm15, xmm2, xmm9
vaddss xmm2, xmm3, xmm0
vmulss xmm0, xmm14, dword [0x180141f90]
vmulss xmm3, xmm15, dword [0x180141f94]
vaddss xmm2, xmm2, xmm1
vaddss xmm5, xmm2, xmm12
vmulss xmm1, xmm5, dword [0x180141f98]
vaddss xmm2, xmm3, xmm0
vaddss xmm2, xmm2, xmm1
vaddss xmm0, xmm2, dword [0x180141f9c]
vmovss xmm1, dword [0x18013050c]
vcomiss xmm1, xmm0
vmovss dword [rsp + 0x20], xmm5
ja 0x18006897c
vmulss xmm1, xmm15, dword [0x180141f64]
vdivss xmm8, xmm8, xmm0
vmulss xmm0, xmm14, dword [0x180141f60]
vaddss xmm2, xmm1, xmm0
vmulss xmm1, xmm5, dword [0x180141f68]
vmulss xmm5, xmm13, dword [rdx + 0x14]
vaddss xmm2, xmm2, xmm1
vaddss xmm0, xmm2, dword [0x180141f6c]
vmulss xmm3, xmm0, xmm8
vmulss xmm1, xmm3, dword [rdx + 0x10]
vmulss xmm0, xmm13, dword [rdx + 0x10]
vmulss xmm3, xmm15, dword [0x180141f74]
vmulss xmm2, xmm1, xmm13
vmovss xmm1, dword [0x180141f78]
vaddss xmm7, xmm2, xmm0
vmulss xmm2, xmm14, dword [0x180141f70]
vmulss xmm0, xmm1, dword [rsp + 0x20]
vaddss xmm4, xmm3, xmm2
vaddss xmm2, xmm4, xmm0
vaddss xmm3, xmm2, dword [0x180141f7c]
vmulss xmm1, xmm3, xmm8
vmulss xmm0, xmm1, dword [rdx + 0x14]
vminss xmm10, xmm7, xmm10
vmaxss xmm11, xmm7, xmm11
vmulss xmm2, xmm0, xmm13
vsubss xmm3, xmm5, xmm2
vminss xmm8, xmm3, dword [rsp + 0x28]
vmaxss xmm7, xmm3, dword [rsp + 0x2c]
inc ecx
vmovss dword [rsp + 0x28], xmm8
vmovss dword [r14 + 4], xmm8
vmovss dword [rsp + 0x2c], xmm7
vmovss dword [r14 + 0xc], xmm7
vmovss dword [r14], xmm10
vmovss dword [r14 + 8], xmm11
cmp ecx, 8
jge 0x180068978
vmovups ymm3, ymmword [rsp + 0x140]
vmovss xmm8, dword [0x1801305bc]
jmp 0x180068790
mov al, 1
jmp 0x18006897e
xor al, al
vzeroupper
vmovaps xmm15, xmmword [rsp + 0x170]
vmovaps xmm14, xmmword [rsp + 0x180]
vmovaps xmm13, xmmword [rsp + 0x190]
vmovaps xmm12, xmmword [rsp + 0x1a0]
vmovaps xmm11, xmmword [rsp + 0x1b0]
vmovaps xmm10, xmmword [rsp + 0x1c0]
vmovaps xmm9, xmmword [rsp + 0x1d0]
vmovaps xmm8, xmmword [rsp + 0x1e0]
vmovaps xmm7, xmmword [rsp + 0x1f0]
vmovaps xmm6, xmmword [rsp + 0x200]
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1800d7380
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret