Function at 0x18003c780
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x60
cmp byte [0x1801233a5], 0
mov rbx, rcx
movaps xmmword [rsp + 0x50], xmm6
movaps xmm6, xmm2
movaps xmmword [rsp + 0x40], xmm7
movaps xmm7, xmm1
movaps xmmword [rsp + 0x30], xmm8
movaps xmm8, xmm6
movaps xmmword [rsp + 0x20], xmm9
movaps xmm9, xmm7
shufps xmm9, xmm9, 0
shufps xmm8, xmm8, 0
jne 0x18003c7de
mov edx, dword [0x1801232c0]
lea rcx, str.ArrayRangeClamp
call qword [sym.imp.FactoryGameEGS_Core.dll_public:_static_void___cdecl_FCsvProfilerTrace::OutputInlineStat_char_const____ptr64__int_]
mov byte [0x1801233a5], 1
mov edi, dword [0x1801232c0]
lea r8, str.CSV_ArrayRangeClamp
mov edx, edi
lea rcx, str.ArrayRangeClamp
call qword [sym.imp.FactoryGameEGS_Core.dll_public:_static_void___cdecl_FCsvProfiler::BeginStat_char_const____ptr64__unsigned_int__char_const____ptr64_]
cmp byte [0x180123008], 0
movsxd r10, dword [rbx + 8]
mov r9, qword [rbx]
mov edx, r10d
je 0x18003c820
movaps xmm3, xmm6
movaps xmm2, xmm7
mov rcx, r9
call fcn.1800209a0
jmp 0x18003c9cb
and edx, 0xfffffffc
mov ecx, r10d
and ecx, 3
movsxd r8, edx
movaps xmm4, xmm7
movaps xmm5, xmm6
shufps xmm4, xmm4, 0
shufps xmm5, xmm5, 0
cmp r8, 1
jl 0x18003c87b
xor eax, eax
movups xmm1, xmmword [r9 + rax*4]
movaps xmm3, xmm5
movaps xmm2, xmm1
movaps xmm0, xmm1
cmpltps xmm0, xmm4
xorps xmm2, xmm4
andps xmm2, xmm0
xorps xmm2, xmm1
movaps xmm0, xmm2
xorps xmm0, xmm5
cmpltps xmm3, xmm1
andps xmm0, xmm3
xorps xmm0, xmm2
movups xmmword [r9 + rax*4], xmm0
add rax, 4
cmp rax, r8
jl 0x18003c842
test ecx, ecx
je 0x18003c9cb
mov ecx, r10d
sub ecx, edx
cmp edx, r10d
jge 0x18003c910
cmp ecx, 0x10
jb 0x18003c910
movsxd r8, edx
and ecx, 0x8000000f
jge 0x18003c8a8
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, r10d
sub eax, ecx
movsxd rcx, eax
lea rax, [r9 + 0x20]
lea rax, [rax + r8*4]
nop dword [rax + rax]
movups xmm0, xmmword [rax - 0x20]
add edx, 0x10
lea rax, [rax + 0x40]
add r8, 0x10
minps xmm0, xmm8
maxps xmm0, xmm9
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rax - 0x50]
minps xmm0, xmm8
maxps xmm0, xmm9
movups xmmword [rax - 0x50], xmm0
movups xmm1, xmmword [rax - 0x40]
minps xmm1, xmm8
maxps xmm1, xmm9
movups xmmword [rax - 0x40], xmm1
movups xmm0, xmmword [rax - 0x30]
minps xmm0, xmm8
maxps xmm0, xmm9
movups xmmword [rax - 0x30], xmm0
cmp r8, rcx
jl 0x18003c8c0
movsxd r8, edx
cmp r8, r10
jge 0x18003c9cb
mov rax, r10
sub rax, r8
cmp rax, 4
jl 0x18003c9b0
mov rcx, r10
lea rax, [r9 + 8]
sub rcx, r8
lea rax, [rax + r8*4]
sub rcx, 4
shr rcx, 2
inc rcx
lea r8, [r8 + rcx*4]
nop dword [rax]
movss xmm0, dword [rax - 8]
movss xmm1, dword [rax - 4]
minss xmm0, xmm6
minss xmm1, xmm6
lea rax, [rax + 0x10]
maxss xmm0, xmm7
maxss xmm1, xmm7
movss dword [rax - 0x18], xmm0
movss xmm0, dword [rax - 0x10]
movss dword [rax - 0x14], xmm1
movaps xmm1, xmm6
minss xmm0, xmm6
minss xmm1, dword [rax - 0xc]
maxss xmm0, xmm7
maxss xmm1, xmm7
movss dword [rax - 0x10], xmm0
movss dword [rax - 0xc], xmm1
sub rcx, 1
jne 0x18003c950
cmp r8, r10
jge 0x18003c9cb
nop word [rax + rax]
movaps xmm0, xmm6
minss xmm0, dword [r9 + r8*4]
maxss xmm0, xmm7
movss dword [r9 + r8*4], xmm0
inc r8
cmp r8, r10
jl 0x18003c9b0
mov edx, edi
lea rcx, str.ArrayRangeClamp
mov rbx, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x20]
add rsp, 0x60
pop rdi
jmp qword [sym.imp.FactoryGameEGS_Core.dll_public:_static_void___cdecl_FCsvProfiler::EndStat_char_const____ptr64__unsigned_int_]