Function at 0x18006a444
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1800c33b0]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rax, rcx
mov qword [rsp + 0x18], rcx
add rax, 8
lea r11, [rsp + 0x50]
xor esi, esi
mov qword [rsp + 0x20], rax
mov r9, rdx
mov r10d, esi
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rsp + 0x38], xmm1
mov edx, r10d
inc r10d
shl edx, 2
movzx r8d, byte [rdx + r9]
lea eax, [rdx + 1]
movzx eax, byte [rax + r9]
shl r8d, 8
or r8d, eax
lea eax, [rdx + 2]
shl r8d, 8
movzx eax, byte [rax + r9]
or r8d, eax
lea eax, [rdx + 3]
shl r8d, 8
movzx eax, byte [rax + r9]
or r8d, eax
mov dword [r11], r8d
lea r11, [r11 + 4]
cmp r10d, 0x10
jb 0x18006a4a5
mov r15d, dword [rsp + 0x44]
lea r14, [0x180093a40]
mov r12d, dword [rsp + 0x40]
mov r8d, 2
mov r13d, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x34]
mov edi, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x2c]
mov r11d, dword [rsp + 0x28]
mov edx, ebx
mov eax, ebx
rol eax, 7
mov ecx, r11d
ror edx, 0xb
xor edx, eax
ror ecx, 0xd
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, r13d
xor eax, r12d
and eax, ebx
xor eax, r12d
add edx, eax
mov eax, r11d
add edx, dword [rsi + r14]
add edx, dword [rsp + rsi + 0x50]
rol eax, 0xa
add edx, r15d
xor ecx, eax
add r10d, edx
mov eax, r11d
mov r15d, r9d
ror eax, 2
or r15d, r11d
xor ecx, eax
and r15d, edi
mov eax, r9d
and eax, r11d
or r15d, eax
lea eax, [rdx + rcx]
mov edx, r10d
add r15d, eax
ror edx, 0xb
mov eax, r10d
mov ecx, r15d
rol eax, 7
xor edx, eax
ror ecx, 0xd
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, r13d
xor eax, ebx
and eax, r10d
xor eax, r13d
add edx, eax
mov eax, r15d
add edx, dword [rsi + r14 + 4]
add edx, dword [rsp + rsi + 0x54]
rol eax, 0xa
add edx, r12d
xor ecx, eax
add edi, edx
mov eax, r15d
mov r12d, r11d
ror eax, 2
or r12d, r15d
xor ecx, eax
and r12d, r9d
mov eax, r11d
and eax, r15d
or r12d, eax
lea eax, [rdx + rcx]
mov edx, edi
add r12d, eax
ror edx, 0xb
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, r10d
xor eax, ebx
and eax, edi
xor eax, ebx
add edx, eax
add edx, dword [rsi + r14 + 8]
add edx, dword [rsp + rsi + 0x58]
add edx, r13d
mov ecx, r12d
add r9d, edx
ror ecx, 0xd
mov r13d, r15d
mov eax, r12d
rol eax, 0xa
or r13d, r12d
xor ecx, eax
and r13d, r11d
mov eax, r12d
ror eax, 2
xor ecx, eax
mov eax, r15d
and eax, r12d
or r13d, eax
lea eax, [rdx + rcx]
mov edx, r9d
add r13d, eax
ror edx, 0xb
mov eax, r9d
mov ecx, r13d
rol eax, 7
xor edx, eax
ror ecx, 0xd
mov eax, r9d
ror eax, 6
xor edx, eax
mov eax, edi
xor eax, r10d
and eax, r9d
xor eax, r10d
add edx, eax
mov eax, r13d
add edx, dword [rsi + r14 + 0xc]
add edx, dword [rsp + rsi + 0x5c]
rol eax, 0xa
add edx, ebx
xor ecx, eax
add r11d, edx
mov eax, r13d
mov ebx, r13d
ror eax, 2
or ebx, r12d
xor ecx, eax
and ebx, r15d
mov eax, r13d
and eax, r12d
or ebx, eax
lea eax, [rdx + rcx]
mov edx, r11d
add ebx, eax
ror edx, 0xb
mov eax, r11d
mov ecx, ebx
rol eax, 7
xor edx, eax
ror ecx, 0xd
mov eax, r11d
ror eax, 6
xor edx, eax
mov eax, edi
xor eax, r9d
and eax, r11d
xor eax, edi
add edx, eax
mov eax, ebx
add edx, dword [rsi + r14 + 0x10]
add edx, dword [rsp + rsi + 0x60]
rol eax, 0xa
add edx, r10d
xor ecx, eax
mov r10d, r13d
or r10d, ebx
mov eax, ebx
ror eax, 2
and r10d, r12d
xor ecx, eax
add r15d, edx
mov eax, r13d
and eax, ebx
or r10d, eax
lea eax, [rdx + rcx]
add r10d, eax
mov edx, r15d
ror edx, 0xb
mov eax, r15d
rol eax, 7
mov ecx, r10d
xor edx, eax
ror ecx, 0xd
mov eax, r15d
ror eax, 6
xor edx, eax
mov eax, r9d
xor eax, r11d
and eax, r15d
xor eax, r9d
add edx, eax
mov eax, r10d
add edx, dword [rsi + r14 + 0x14]
add edx, dword [rsp + rsi + 0x64]
rol eax, 0xa
add edx, edi
xor ecx, eax
add r12d, edx
mov eax, r10d
mov edi, r10d
ror eax, 2
or edi, ebx
xor ecx, eax
and edi, r13d
mov eax, r10d
and eax, ebx
or edi, eax
lea eax, [rdx + rcx]
mov edx, r12d
add edi, eax
ror edx, 0xb
mov eax, r12d
mov ecx, edi
rol eax, 7
xor edx, eax
ror ecx, 0xd
mov eax, r12d
ror eax, 6
xor edx, eax
mov eax, r11d
xor eax, r15d
and eax, r12d
xor eax, r11d
add edx, eax
mov eax, edi
add edx, dword [rsi + r14 + 0x18]
add edx, dword [rsp + rsi + 0x68]
rol eax, 0xa
add edx, r9d
xor ecx, eax
add r13d, edx
mov eax, edi
mov r9d, edi
ror eax, 2
or r9d, r10d
xor ecx, eax
and r9d, ebx
mov eax, edi
and eax, r10d
or r9d, eax
lea eax, [rdx + rcx]
mov edx, r13d
add r9d, eax
ror edx, 0xb
mov eax, r13d
rol eax, 7
xor edx, eax
mov eax, r13d
ror eax, 6
xor edx, eax
mov eax, r15d
xor eax, r12d
and eax, r13d
xor eax, r15d
add edx, eax
mov eax, r9d
add edx, dword [rsi + r14 + 0x1c]
mov ecx, r9d
add edx, dword [rsp + rsi + 0x6c]
lea rsi, [rsi + 0x20]
add edx, r11d
rol eax, 0xa
ror ecx, 0xd
mov r11d, edi
xor ecx, eax
or r11d, r9d
and r11d, r10d
mov eax, r9d
ror eax, 2
add ebx, edx
xor ecx, eax
mov eax, edi
and eax, r9d
or r11d, eax
lea eax, [rdx + rcx]
add r11d, eax
sub r8, 1
jne 0x18006a520
lea r14d, [r8 + 0xe]
mov dword [rsp + 8], r11d
mov dword [rsp], r14d
mov dword [rsp + 4], r9d
mov dword [rsp + 0xc], edi
mov dword [rsp + 0x10], ebx
lea eax, [r14 - 0xd]
mov r8d, dword [rsp + rax*4 + 0x50]
mov ecx, r8d
rol ecx, 0xe
mov eax, r14d
mov esi, dword [rsp + rax*4 + 0x50]
mov eax, esi
rol eax, 0xd
mov edx, esi
rol edx, 0xf
xor edx, eax
mov eax, esi
shr eax, 0xa
xor edx, eax
mov eax, r8d
ror eax, 7
xor ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
lea eax, [r14 - 0xe]
add edx, ecx
add edx, dword [rsp + rax*4 + 0x50]
lea eax, [r14 - 5]
mov r14d, dword [rsp + rax*4 + 0x50]
mov eax, dword [rsp]
add r14d, edx
add eax, 2
mov edx, ebx
mov ecx, eax
ror edx, 0xb
mov dword [rsp + rax*4 + 0x50], r14d
mov eax, ebx
rol eax, 7
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, r13d
xor eax, r12d
and eax, ebx
xor eax, r12d
add edx, eax
lea rax, [0x180093a40]
add edx, dword [rax + rcx*4]
mov eax, r11d
rol eax, 0xa
add edx, r14d
add edx, r15d
mov ecx, r11d
add r10d, edx
ror ecx, 0xd
xor ecx, eax
mov dword [rsp + 0x14], r10d
mov eax, r11d
mov r15d, r9d
ror eax, 2
or r15d, r11d
xor ecx, eax
and r15d, edi
mov eax, r9d
and eax, r11d
mov r11d, dword [rsp]
or r15d, eax
lea eax, [rdx + rcx]
add r15d, eax
lea eax, [r11 - 0xc]
mov r9d, dword [rsp + rax*4 + 0x50]
lea eax, [r11 + 1]
mov edi, dword [rsp + rax*4 + 0x50]
mov ecx, r9d
mov edx, edi
mov eax, edi
rol eax, 0xd
rol edx, 0xf
xor edx, eax
mov eax, edi
shr eax, 0xa
xor edx, eax
mov eax, r9d
rol ecx, 0xe
ror eax, 7
xor ecx, eax
mov eax, r9d
shr eax, 3
xor ecx, eax
lea eax, [r11 - 4]
add edx, ecx
add edx, dword [rsp + rax*4 + 0x50]
lea r11d, [rdx + r8]
mov r8d, dword [rsp]
mov edx, r10d
ror edx, 0xb
lea eax, [r8 + 3]
mov ecx, eax
mov dword [rsp + rax*4 + 0x50], r11d
mov eax, r10d
rol eax, 7
xor edx, eax
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, r13d
xor eax, ebx
and eax, r10d
xor eax, r13d
add edx, eax
lea rax, [0x180093a40]
add edx, dword [rax + rcx*4]
mov eax, r15d
rol eax, 0xa
add edx, r11d
add edx, r12d
mov ecx, r15d
add dword [rsp + 0xc], edx
ror ecx, 0xd
xor ecx, eax
mov eax, r15d
ror eax, 2
xor ecx, eax
mov eax, dword [rsp + 8]
mov r12d, eax
and eax, r15d
or r12d, r15d
and r12d, dword [rsp + 4]
or r12d, eax
lea eax, [rdx + rcx]
add r12d, eax
mov ecx, r14d
lea eax, [r8 - 0xb]
rol ecx, 0xf
mov r8d, dword [rsp + rax*4 + 0x50]
mov eax, r8d
ror eax, 7
mov ebx, r8d
rol ebx, 0xe
xor ebx, eax
mov eax, r8d
shr eax, 3
xor ebx, eax
mov eax, r14d
rol eax, 0xd
xor ecx, eax
mov eax, r14d
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp]
add eax, 0xfffffffd
add ebx, ecx
add ebx, dword [rsp + rax*4 + 0x50]
mov eax, dword [rsp]
add ebx, r9d
mov r9d, dword [rsp + 0xc]
add eax, 4
mov ecx, eax
mov edx, r9d
ror edx, 0xb
mov dword [rsp + rax*4 + 0x50], ebx
mov eax, r9d
rol eax, 7
xor edx, eax
mov eax, r9d
ror eax, 6
xor edx, eax
mov r9d, dword [rsp + 0x10]
mov eax, r10d
xor eax, r9d
and eax, dword [rsp + 0xc]
xor eax, r9d
add edx, eax
lea rax, [0x180093a40]
add edx, dword [rax + rcx*4]
mov eax, r12d
rol eax, 0xa
add edx, ebx
add edx, r13d
mov ecx, r12d
add dword [rsp + 4], edx
mov r13d, r15d
ror ecx, 0xd
or r13d, r12d
xor ecx, eax
and r13d, dword [rsp + 8]
mov eax, r12d
ror eax, 2
xor ecx, eax
mov eax, r15d
and eax, r12d
or r13d, eax
lea eax, [rdx + rcx]
mov edx, r11d
add r13d, eax
rol edx, 0xf
mov eax, dword [rsp]
add eax, 0xfffffff6
mov r10d, dword [rsp + rax*4 + 0x50]
mov eax, r11d
rol eax, 0xd
mov ecx, r10d
xor edx, eax
rol ecx, 0xe
shr r11d, 0xa
mov eax, r10d
ror eax, 7
xor r11d, edx
xor ecx, eax
mov eax, r10d
shr eax, 3
xor ecx, eax
mov eax, dword [rsp]
add eax, 0xfffffffe
add r11d, ecx
add r11d, dword [rsp + rax*4 + 0x50]
mov eax, dword [rsp]
add r11d, r8d
mov r8d, dword [rsp + 4]
add eax, 5
mov ecx, eax
mov edx, r8d
ror edx, 0xb
mov dword [rsp + rax*4 + 0x50], r11d
mov eax, r8d
rol eax, 7
xor edx, eax
mov eax, r8d
mov r8d, dword [rsp + 0x14]
ror eax, 6
xor edx, eax
mov eax, dword [rsp + 0xc]
xor eax, r8d
and eax, dword [rsp + 4]
xor eax, r8d
add edx, eax
lea rax, [0x180093a40]
add edx, dword [rax + rcx*4]
mov ecx, r13d
add edx, r11d
ror ecx, 0xd
add edx, r9d
mov eax, r13d
add dword [rsp + 8], edx
rol eax, 0xa
xor ecx, eax
mov eax, r13d
mov r9d, r13d
ror eax, 2
or r9d, r12d
xor ecx, eax
and r9d, r15d
mov eax, r13d
and eax, r12d
or r9d, eax
lea eax, [rdx + rcx]
mov ecx, ebx
add r9d, eax
rol ecx, 0xf
mov eax, dword [rsp]
add eax, 0xfffffff7
mov dword [rsp + 0x10], r9d
mov r9d, dword [rsp + rax*4 + 0x50]
mov eax, r9d
ror eax, 7
mov edx, r9d
rol edx, 0xe
xor edx, eax
mov eax, r9d
shr eax, 3
xor edx, eax
mov eax, ebx
rol eax, 0xd
xor ecx, eax
shr ebx, 0xa
xor ecx, ebx
mov ebx, dword [rsp]
add edx, ecx
lea eax, [rbx - 1]
add edx, dword [rsp + rax*4 + 0x50]
lea eax, [rbx + 6]
mov ebx, dword [rsp + 8]
add r10d, edx
mov ecx, eax
mov edx, ebx
mov dword [rsp + rax*4 + 0x50], r10d
mov eax, ebx
rol eax, 7
ror edx, 0xb
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, dword [rsp + 0xc]
xor eax, dword [rsp + 4]
and eax, ebx
mov ebx, dword [rsp + 0x10]
xor eax, dword [rsp + 0xc]
add edx, eax
lea rax, [0x180093a40]
add edx, dword [rax + rcx*4]
mov eax, ebx
rol eax, 0xa
add edx, r10d
add edx, r8d
mov ecx, ebx
ror ecx, 0xd
add r15d, edx
xor ecx, eax
mov r8d, r13d
or r8d, ebx
mov eax, ebx
ror eax, 2
and r8d, r12d
xor ecx, eax
mov eax, r13d
and eax, ebx
or r8d, eax
lea eax, [rdx + rcx]
mov edx, r11d
add r8d, eax
mov eax, dword [rsp]
add eax, 0xfffffff8
mov dword [rsp + 0x14], r8d
mov dword [rsp + 0x34], r8d
rol edx, 0xf
mov r8d, dword [rsp + rax*4 + 0x50]
mov eax, r11d
shr r11d, 0xa
rol eax, 0xd
xor edx, eax
mov eax, r8d
ror eax, 7
xor edx, r11d
mov r11d, r8d
rol r11d, 0xe
xor r11d, eax
mov eax, r8d
shr eax, 3
xor r11d, eax
lea eax, [rsi + rdx]
mov esi, dword [rsp + 0x14]
add r11d, eax
mov eax, dword [rsp]
add r11d, r9d
add eax, 7
mov edx, r15d
mov ecx, eax
mov r9d, esi
ror edx, 0xb
or r9d, ebx
and r9d, r13d
mov dword [rsp + rax*4 + 0x50], r11d
mov eax, r15d
rol eax, 7
xor edx, eax
mov eax, r15d
ror eax, 6
xor edx, eax
mov eax, dword [rsp + 4]
xor eax, dword [rsp + 8]
and eax, r15d
xor eax, dword [rsp + 4]
add edx, eax
lea rax, [0x180093a40]
add edx, dword [rax + rcx*4]
mov eax, esi
rol eax, 0xa
add edx, r11d
add edx, dword [rsp + 0xc]
mov ecx, esi
add r12d, edx
ror ecx, 0xd
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, esi
and eax, ebx
or r9d, eax
lea eax, [rdx + rcx]
mov ecx, r10d
add r9d, eax
rol ecx, 0xf
mov eax, dword [rsp]
add eax, 0xfffffff9
mov dword [rsp + 0xc], r9d
mov dword [rsp + 0x30], r9d
mov r9d, dword [rsp + rax*4 + 0x50]
mov edx, r9d
rol edx, 0xe
mov eax, r9d
ror eax, 7
xor edx, eax
mov eax, r9d
shr eax, 3
xor edx, eax
mov eax, r10d
shr r10d, 0xa
add edx, r8d
rol eax, 0xd
xor ecx, eax
xor ecx, r10d
mov r10d, dword [rsp]
add edx, ecx
add edx, edi
add r10d, 8
mov dword [rsp + r10*4 + 0x50], edx
mov edi, dword [rsp + 0xc]
mov eax, r12d
rol eax, 7
mov ecx, edi
ror ecx, 0xd
mov r8d, r12d
ror r8d, 0xb
xor r8d, eax
mov eax, r12d
ror eax, 6
xor r8d, eax
mov eax, dword [rsp + 8]
xor eax, r15d
and eax, r12d
xor eax, dword [rsp + 8]
add r8d, eax
lea rax, [0x180093a40]
add r8d, dword [rax + r10*4]
mov eax, edi
rol eax, 0xa
add r8d, edx
add r8d, dword [rsp + 4]
xor ecx, eax
add r13d, r8d
mov eax, edi
ror eax, 2
mov edx, edi
xor ecx, eax
or edx, esi
and edx, ebx
mov eax, edi
and eax, esi
or edx, eax
lea eax, [r8 + rcx]
add edx, eax
mov eax, dword [rsp]
add eax, 0xfffffffa
mov dword [rsp + 4], edx
mov dword [rsp + 0x2c], edx
mov edx, dword [rsp + rax*4 + 0x50]
mov eax, edx
ror eax, 7
mov r8d, edx
rol r8d, 0xe
xor r8d, eax
shr edx, 3
xor r8d, edx
mov eax, r11d
rol eax, 0xd
mov edx, r11d
rol edx, 0xf
xor edx, eax
shr r11d, 0xa
lea eax, [r9 + r8]
xor edx, r11d
add edx, eax
mov r8d, r13d
mov eax, dword [rsp]
add edx, r14d
add eax, 9
ror r8d, 0xb
mov ecx, eax
mov dword [rsp + rax*4 + 0x50], edx
mov eax, r13d
rol eax, 7
xor r8d, eax
mov eax, r13d
ror eax, 6
xor r8d, eax
mov eax, r15d
xor eax, r12d
and eax, r13d
xor eax, r15d
add r8d, eax
lea rax, [0x180093a40]
add r8d, dword [rax + rcx*4]
add r8d, edx
add r8d, dword [rsp + 8]
add ebx, r8d
mov dword [rsp + 0x10], ebx
mov dword [rsp + 0x38], ebx
mov r9d, dword [rsp + 4]
mov r11d, edi
or r11d, r9d
mov dword [rsp], r10d
and r11d, esi
mov ecx, r9d
ror ecx, 0xd
mov eax, r9d
rol eax, 0xa
mov r14d, r10d
xor ecx, eax
mov eax, r9d
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, r9d
or r11d, eax
lea eax, [r8 + rcx]
add r11d, eax
lea eax, [r10 + 2]
mov dword [rsp + 8], r11d
mov r10d, esi
mov dword [rsp + 0x28], r11d
cmp eax, 0x40
jb 0x18006a82e
mov rcx, qword [rsp + 0x20]
lea rdx, [rsp + 0x28]
sub rdx, qword [rsp + 0x18]
mov r8d, 8
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x3c], r13d
mov eax, dword [rdx + rcx - 8]
add dword [rcx], eax
lea rcx, [rcx + 4]
sub r8, 1
jne 0x18006ae80
xor eax, eax
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.180084a40
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret