Function at 0x140033140
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push r12
sub rsp, 0x50
mov r12, r9
mov r9, rcx
test r12, r12
je 0x1400334b4
mov qword [rax + 0x10], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
lea r15, [r8 + 8]
sub r8, rdx
lea rax, [r8 - 8]
lea r14, [rdx + 8]
mov qword [rsp + 8], r15
mov qword [rsp + 0x10], rax
mov qword [rsp], r14
nop dword [rax]
mov eax, dword [r14 - 8]
mov ecx, dword [r14]
mov r15, qword [r9 + 8]
mov edi, eax
rol eax, 8
and eax, 0xff00ff
ror edi, 8
and edi, 0xff00ff00
or edi, eax
mov eax, dword [r14 - 4]
mov esi, eax
rol eax, 8
and eax, 0xff00ff
ror esi, 8
and esi, 0xff00ff00
or esi, eax
mov eax, ecx
rol ecx, 8
and ecx, 0xff00ff
ror eax, 8
and eax, 0xff00ff00
or eax, ecx
mov ecx, dword [r14 + 4]
lea r14, [0x140000000]
mov ebp, ecx
ror ebp, 8
and ebp, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or ebp, ecx
xor r13d, r13d
lea r12d, [r13 + 0x70]
nop word [rax + rax]
mov rbx, r15
sub rbx, r13
mov r9d, dword [rbx + 0x7c]
xor r9d, ebp
xor r9d, eax
mov ecx, r9d
shr ecx, 0x18
movzx r8d, cl
mov ecx, r9d
mov r10d, dword [r14 + r8*4 + 0x316390]
shr ecx, 0x10
movzx edx, cl
mov ecx, r9d
xor r10d, dword [r14 + rdx*4 + 0x314570]
shr ecx, 8
movzx edx, cl
movzx ecx, r9b
mov r9d, dword [r15 + r12 + 8]
xor r10d, dword [r14 + rdx*4 + 0x323470]
xor r9d, eax
xor r10d, dword [r14 + rcx*4 + 0x30ce50]
add r9d, r10d
mov ecx, r9d
shr ecx, 0x18
movzx r8d, cl
mov ecx, r9d
mov r11d, dword [r14 + r8*4 + 0x316390]
shr ecx, 0x10
movzx edx, cl
mov ecx, r9d
xor r11d, dword [r14 + rdx*4 + 0x314570]
shr ecx, 8
movzx edx, cl
movzx ecx, r9b
xor r11d, dword [r14 + rdx*4 + 0x323470]
xor r11d, dword [r14 + rcx*4 + 0x30ce50]
add r10d, r11d
mov ecx, r10d
shr ecx, 0x18
movzx r8d, cl
mov ecx, r10d
mov r9d, dword [r14 + r8*4 + 0x316390]
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
xor r9d, dword [r14 + rdx*4 + 0x314570]
shr ecx, 8
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r14 + rdx*4 + 0x323470]
xor r9d, dword [r14 + rcx*4 + 0x30ce50]
xor esi, r9d
lea ecx, [r9 + r11]
mov r9d, dword [rbx + 0x74]
xor edi, ecx
xor r9d, esi
xor r9d, edi
mov ecx, r9d
shr ecx, 0x18
movzx r8d, cl
mov ecx, r9d
mov r10d, dword [r14 + r8*4 + 0x316390]
shr ecx, 0x10
movzx edx, cl
mov ecx, r9d
xor r10d, dword [r14 + rdx*4 + 0x314570]
shr ecx, 8
movzx edx, cl
movzx ecx, r9b
mov r9d, dword [r15 + r12]
xor r10d, dword [r14 + rdx*4 + 0x323470]
xor r9d, edi
xor r10d, dword [r14 + rcx*4 + 0x30ce50]
add r9d, r10d
mov ecx, r9d
shr ecx, 0x18
movzx r8d, cl
mov ecx, r9d
mov r11d, dword [r14 + r8*4 + 0x316390]
shr ecx, 0x10
movzx edx, cl
xor r11d, dword [r14 + rdx*4 + 0x314570]
mov ecx, r9d
add r13, 0x10
shr ecx, 8
lea r12, [r12 - 0x10]
movzx edx, cl
movzx ecx, r9b
xor r11d, dword [r14 + rdx*4 + 0x323470]
xor r11d, dword [r14 + rcx*4 + 0x30ce50]
add r10d, r11d
mov ecx, r10d
shr ecx, 0x18
movzx r8d, cl
mov ecx, r10d
mov r9d, dword [r14 + r8*4 + 0x316390]
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
xor r9d, dword [r14 + rdx*4 + 0x314570]
shr ecx, 8
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r14 + rdx*4 + 0x323470]
xor r9d, dword [r14 + rcx*4 + 0x30ce50]
xor ebp, r9d
lea ecx, [r9 + r11]
xor eax, ecx
cmp r13, 0x80
jne 0x140033220
mov r15, qword [rsp + 8]
mov r14, qword [rsp]
mov r9, qword [rsp + 0x60]
mov ecx, eax
rol eax, 8
add r15, 0x10
and eax, 0xff00ff
ror ecx, 8
add r14, 0x10
and ecx, 0xff00ff00
mov qword [rsp + 8], r15
mov qword [rsp], r14
or ecx, eax
mov rax, qword [rsp + 0x10]
mov dword [rax + r14 - 0x10], ecx
mov eax, ebp
ror eax, 8
and eax, 0xff00ff00
rol ebp, 8
and ebp, 0xff00ff
or eax, ebp
mov dword [r15 - 0x14], eax
mov eax, edi
ror eax, 8
and eax, 0xff00ff00
rol edi, 8
and edi, 0xff00ff
or eax, edi
mov dword [r15 - 0x10], eax
mov eax, esi
ror eax, 8
and eax, 0xff00ff00
rol esi, 8
and esi, 0xff00ff
or eax, esi
dec qword [rsp + 0x78]
mov dword [r15 - 0xc], eax
jne 0x1400331a0
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop r12
ret