Function at 0x140021be0
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 - 0x50]
sub rsp, 0x150
mov rax, qword [0x1403687c8]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov eax, dword [rcx]
mov r14d, 8
mov edi, dword [rdx + 0x38]
mov dword [rsp + 0xc], eax
mov eax, dword [rcx + 4]
mov r13d, eax
mov dword [rsp + 0x1c], eax
mov eax, dword [rcx + 8]
mov dword [rsp + 0x20], eax
mov dword [rsp + 4], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x24], eax
mov dword [rsp + 8], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x10], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x14], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x30], eax
mov dword [rsp], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x18], eax
mov eax, dword [rdx]
mov dword [rsp + 0x40], eax
mov eax, dword [rdx + 4]
mov dword [rsp + 0x44], eax
mov eax, dword [rdx + 8]
mov dword [rsp + 0x48], eax
mov eax, dword [rdx + 0xc]
mov dword [rsp + 0x4c], eax
mov eax, dword [rdx + 0x10]
mov dword [rsp + 0x50], eax
mov eax, dword [rdx + 0x14]
mov dword [rsp + 0x54], eax
mov eax, dword [rdx + 0x18]
mov dword [rsp + 0x58], eax
mov eax, dword [rdx + 0x1c]
mov dword [rsp + 0x5c], eax
mov eax, dword [rdx + 0x20]
mov dword [rsp + 0x60], eax
mov eax, dword [rdx + 0x24]
mov dword [rsp + 0x64], eax
mov eax, dword [rdx + 0x28]
mov dword [rsp + 0x68], eax
mov eax, dword [rdx + 0x2c]
mov dword [rsp + 0x6c], eax
mov eax, dword [rdx + 0x30]
mov dword [rsp + 0x70], eax
mov eax, dword [rdx + 0x34]
mov dword [rsp + 0x74], eax
mov eax, dword [rdx + 0x3c]
mov dword [rsp + 0x7c], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x78], edi
mov r10d, dword [rax - 0x34]
mov edx, edi
ror edx, 0x13
mov esi, edi
mov r9d, r10d
mov ecx, r10d
ror ecx, 7
ror r9d, 0x12
xor r9d, ecx
mov ecx, r10d
shr ecx, 3
xor r9d, ecx
mov ecx, edi
ror ecx, 0x11
xor edx, ecx
mov ecx, edi
shr ecx, 0xa
xor edx, ecx
add r9d, edx
add r9d, dword [rax - 0x38]
add r9d, dword [rax - 0x14]
mov dword [rax + 8], r9d
mov r11d, dword [rax - 0x30]
mov edx, dword [rax + 4]
mov r8d, edx
mov ecx, edx
ror r8d, 0x13
ror ecx, 0x11
xor r8d, ecx
shr edx, 0xa
xor r8d, edx
mov ecx, r11d
ror ecx, 7
mov edx, r11d
ror edx, 0x12
xor edx, ecx
mov ecx, r11d
shr ecx, 3
xor edx, ecx
add r8d, edx
mov edx, r9d
add r8d, dword [rax - 0x10]
ror edx, 0x13
add r10d, r8d
mov dword [rax + 0xc], r10d
mov r8d, dword [rax - 0x2c]
mov edi, r8d
ror edi, 0x12
mov ecx, r8d
ror ecx, 7
xor edi, ecx
mov ecx, r8d
shr ecx, 3
xor edi, ecx
mov ecx, r9d
ror ecx, 0x11
xor edx, ecx
shr r9d, 0xa
xor edx, r9d
add edi, edx
mov edx, r10d
add edi, dword [rax - 0xc]
ror edx, 0x13
add edi, r11d
mov dword [rax + 0x10], edi
mov r9d, dword [rax - 0x28]
mov ebx, r9d
ror ebx, 0x12
mov ecx, r9d
ror ecx, 7
xor ebx, ecx
mov ecx, r9d
shr ecx, 3
xor ebx, ecx
mov ecx, r10d
ror ecx, 0x11
xor edx, ecx
shr r10d, 0xa
xor edx, r10d
add ebx, edx
add ebx, dword [rax - 8]
add ebx, r8d
mov edx, edi
ror edx, 0x13
mov dword [rax + 0x14], ebx
mov r11d, dword [rax - 0x24]
lea rax, [rax + 0x18]
mov r8d, r11d
mov ecx, r11d
ror ecx, 7
ror r8d, 0x12
xor r8d, ecx
mov ecx, r11d
shr ecx, 3
xor r8d, ecx
mov ecx, edi
ror ecx, 0x11
xor edx, ecx
shr edi, 0xa
xor edi, edx
mov ecx, ebx
add edi, r8d
ror ecx, 0x11
add edi, dword [rax - 0x1c]
mov r8d, ebx
add edi, r9d
ror r8d, 0x13
xor r8d, ecx
mov dword [rax], edi
mov r9d, dword [rax - 0x38]
mov edx, r9d
ror edx, 0x12
mov ecx, r9d
ror ecx, 7
xor edx, ecx
shr ebx, 0xa
xor r8d, ebx
shr r9d, 3
xor edx, r9d
lea ecx, [r11 + r8]
add edx, ecx
add edx, esi
mov dword [rax + 4], edx
sub r14, 1
jne 0x140021ce2
mov edi, dword [rsp + 4]
lea rsi, [0x1400e0380]
mov r9d, dword [rsp + 8]
xor r12d, r12d
mov ebx, dword [rsp + 0xc]
mov r14d, dword [rsp + 0x10]
mov r11d, dword [rsp + 0x14]
mov r15d, dword [rsp]
mov r10d, dword [rsp + 0x18]
mov r8d, r14d
mov eax, r14d
ror eax, 0xb
mov edx, ebx
ror r8d, 0x19
mov ecx, ebx
xor r8d, eax
ror edx, 0x16
mov eax, r14d
ror eax, 6
xor r8d, eax
mov eax, r11d
xor eax, r15d
and eax, r14d
xor eax, r15d
add r8d, eax
mov eax, ebx
add r8d, dword [r12 + rsi]
add r8d, dword [rsp + r12 + 0x40]
ror eax, 0xd
add r8d, r10d
xor edx, eax
mov eax, ebx
ror eax, 2
xor edx, eax
mov eax, r13d
and eax, ebx
lea r10d, [r9 + r8]
mov r9d, r13d
or r9d, ebx
and r9d, edi
or r9d, eax
lea eax, [r8 + rdx]
add r9d, eax
mov r8d, r10d
ror r8d, 0x19
or ecx, r9d
and ecx, r13d
mov eax, r10d
ror eax, 0xb
mov edx, r9d
xor r8d, eax
ror edx, 0xd
mov eax, r10d
ror eax, 6
xor r8d, eax
mov eax, r11d
xor eax, r14d
and eax, r10d
xor eax, r11d
add r8d, eax
mov eax, r9d
add r8d, dword [rsp + r12 + 0x44]
add r8d, dword [r12 + rsi + 4]
ror eax, 2
add r8d, r15d
xor edx, eax
add edi, r8d
mov eax, r9d
ror eax, 0x16
xor edx, eax
mov eax, ebx
and eax, r9d
add r8d, edx
or ecx, eax
mov edx, edi
ror edx, 0x19
mov eax, edi
ror eax, 0xb
add r8d, ecx
xor edx, eax
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, r14d
xor eax, r10d
and eax, edi
xor eax, r14d
add edx, eax
add edx, dword [rsp + r12 + 0x48]
add edx, dword [r12 + rsi + 8]
add edx, r11d
mov ecx, r8d
ror ecx, 0x16
mov r11d, r9d
or r11d, r8d
mov eax, r8d
ror eax, 0xd
and r11d, ebx
xor ecx, eax
lea esi, [rdx + r13]
mov eax, r8d
lea r13, [0x1400e0380]
ror eax, 2
xor ecx, eax
mov eax, r9d
and eax, r8d
or r11d, eax
lea eax, [rdx + rcx]
mov edx, esi
add r11d, eax
ror edx, 0x19
mov eax, esi
mov ecx, r11d
ror eax, 0xb
xor edx, eax
ror ecx, 0x16
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, edi
xor eax, r10d
and eax, esi
xor eax, r10d
add edx, eax
mov eax, r11d
add edx, dword [rsp + r12 + 0x4c]
add edx, dword [r12 + r13 + 0xc]
ror eax, 0xd
add edx, r14d
xor ecx, eax
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, r11d
lea r14d, [rbx + rdx]
and eax, r8d
mov ebx, r11d
or ebx, r8d
and ebx, r9d
or ebx, eax
lea eax, [rdx + rcx]
add ebx, eax
mov edx, r14d
ror edx, 0x19
mov eax, r14d
ror eax, 0xb
mov ecx, ebx
xor edx, eax
ror ecx, 0xd
mov eax, r14d
ror eax, 6
xor edx, eax
mov eax, edi
xor eax, esi
and eax, r14d
xor eax, edi
add edx, eax
mov eax, ebx
add edx, dword [rsp + r12 + 0x50]
add edx, dword [r12 + r13 + 0x10]
ror eax, 2
add edx, r10d
xor ecx, eax
mov eax, ebx
ror eax, 0x16
xor ecx, eax
mov eax, ebx
lea r10d, [r9 + rdx]
mov r9d, ebx
or r9d, r11d
and r9d, r8d
and eax, r11d
or r9d, eax
lea eax, [rdx + rcx]
add r9d, eax
mov edx, r10d
ror edx, 0x19
mov eax, r10d
ror eax, 0xb
mov ecx, r9d
xor edx, eax
ror ecx, 0xd
mov eax, r10d
ror eax, 6
xor edx, eax
mov eax, esi
xor eax, r14d
and eax, r10d
xor eax, esi
add edx, eax
mov eax, r9d
add edx, dword [rsp + r12 + 0x54]
add edx, dword [r12 + r13 + 0x14]
ror eax, 2
add edx, edi
xor ecx, eax
mov edi, r9d
or edi, ebx
mov eax, r9d
ror eax, 0x16
and edi, r11d
xor ecx, eax
lea r15d, [r8 + rdx]
mov eax, r9d
and eax, ebx
or edi, eax
lea eax, [rdx + rcx]
mov edx, r15d
add edi, eax
ror edx, 0x19
mov eax, r15d
mov ecx, edi
ror eax, 0xb
xor edx, eax
ror ecx, 0xd
mov eax, r15d
ror eax, 6
xor edx, eax
mov eax, r10d
xor eax, r14d
and eax, r15d
xor eax, r14d
add edx, eax
mov eax, edi
add edx, dword [rsp + r12 + 0x58]
add edx, dword [r12 + r13 + 0x18]
mov r13d, edi
ror eax, 2
or r13d, r9d
xor ecx, eax
add edx, esi
add r11d, edx
and r13d, ebx
mov eax, edi
mov r8d, r11d
ror eax, 0x16
xor ecx, eax
ror r8d, 0x19
mov eax, edi
and eax, r9d
or r13d, eax
lea eax, [rdx + rcx]
add r13d, eax
mov eax, r11d
ror eax, 0xb
xor r8d, eax
mov eax, r11d
ror eax, 6
xor r8d, eax
mov eax, r10d
xor eax, r15d
and eax, r11d
xor eax, r10d
lea rsi, [0x1400e0380]
add r8d, eax
mov edx, r13d
add r8d, dword [rsp + r12 + 0x5c]
mov eax, r13d
add r8d, dword [r12 + rsi + 0x1c]
add r12, 0x20
ror eax, 0xd
add r8d, r14d
ror edx, 0x16
xor edx, eax
mov eax, r13d
ror eax, 2
lea r14d, [rbx + r8]
xor edx, eax
mov ebx, edi
mov eax, edi
or ebx, r13d
and eax, r13d
and ebx, r9d
or ebx, eax
lea eax, [r8 + rdx]
add ebx, eax
cmp r12, 0x100
jl 0x140021e81
mov eax, dword [rsp + 0x1c]
add eax, r13d
mov dword [rsp], r15d
mov r15, qword [rsp + 0x38]
add dword [r15], ebx
mov dword [r15 + 4], eax
mov eax, dword [rsp + 0x20]
add eax, edi
mov dword [r15 + 8], eax
mov eax, dword [rsp + 0x24]
add eax, r9d
mov dword [r15 + 0xc], eax
mov eax, dword [rsp + 0x28]
add eax, r14d
mov dword [r15 + 0x10], eax
mov eax, dword [rsp + 0x2c]
add eax, r11d
mov dword [r15 + 0x14], eax
mov eax, dword [rsp + 0x30]
add eax, dword [rsp]
mov dword [r15 + 0x18], eax
mov eax, dword [rsp + 0x34]
add eax, r10d
mov dword [r15 + 0x1c], eax
xor eax, eax
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140095720
lea r11, [rsp + 0x150]
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