Function at 0x18006a780
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push r13
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x18010e098]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r13d, r8d
mov rbx, rcx
mov dword [rbp - 0x3d], r13d
test r8d, r8d
jns 0x18006a7b8
mov eax, 0xffffffea
jmp 0x18006aba0
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x90], r15
cmp r13d, 0x80
jg 0x18006a7fa
mov dword [rcx + 0xb0], 2
mov edi, 0x10
jmp 0x18006a823
cmp r13d, 0xc0
jg 0x18006a814
mov dword [rcx + 0xb0], 3
mov edi, 0x18
jmp 0x18006a823
mov dword [rcx + 0xb0], 4
mov edi, 0x20
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
movups xmmword [rbp + 0xf], xmm0
cmp r13d, 0x100
jg 0x18006a849
mov r8, r13
lea rcx, [rbp - 1]
shr r8, 3
call fcn.1800a5250
jmp 0x18006a858
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rbp - 1], xmm0
movups xmmword [rbp + 0xf], xmm1
and rdi, 0xfffffffffffffffc
lea rdx, [rbp - 1]
mov r8, rdi
lea rcx, [rbp - 0x21]
call fcn.1800a5250
xor r15d, r15d
lea rsi, [rbp - 0x1d]
mov edi, r15d
mov r14d, r15d
nop dword [rax]
mov ecx, dword [rsi - 4]
mov edx, dword [rsi]
mov dword [rbp + r14 - 0x31], ecx
mov dword [rbp + r14 - 1], edx
call fcn.18006abc0
mov ecx, eax
lea rsi, [rsi + 8]
mov eax, dword [rbx + 0xb0]
lea r14, [r14 + 4]
sub eax, edi
inc edi
cdqe
mov dword [rbx + rax*4 + 0x9c], ecx
cmp edi, dword [rbx + 0xb0]
jl 0x18006a880
mov edi, r15d
lea rsi, [rbx + 0x4b4]
lea r12, [0x180000000]
nop word [rax + rax]
mov r8d, dword [rbx + 0xb0]
lea rdx, [rbx + 0xa0]
lea rcx, [rbp - 0x49]
mov byte [rbp - 0x46], dil
mov byte [rbp - 0x47], dil
mov byte [rbp - 0x48], dil
mov byte [rbp - 0x49], dil
call fcn.18006b6a0
movzx ecx, byte [rbp - 0x48]
lea rsi, [rsi + 4]
movzx r8d, byte [rbp - 0x49]
inc edi
movzx eax, byte [r8 + r12 + 0xe6110]
mov edx, eax
shl edx, 8
xor edx, eax
movzx eax, byte [r8 + r12 + 0xe6010]
shl edx, 8
xor edx, eax
mov eax, ecx
shl edx, 8
xor edx, r8d
shl eax, 8
movzx r8d, byte [rcx + r12 + 0xe6110]
mov dword [rsi - 0x404], edx
movzx edx, byte [rcx + r12 + 0xe6010]
xor edx, eax
movzx eax, byte [rbp - 0x47]
shl edx, 8
xor edx, r8d
shl edx, 8
movzx ecx, byte [rax + r12 + 0xe6110]
xor edx, r8d
mov dword [rsi - 4], edx
mov edx, ecx
shl edx, 8
xor edx, eax
movzx eax, byte [rax + r12 + 0xe6010]
shl edx, 8
xor edx, ecx
movzx ecx, byte [rbp - 0x46]
shl edx, 8
xor edx, eax
mov dword [rsi + 0x3fc], edx
movzx r8d, byte [rcx + r12 + 0xe6010]
movzx edx, byte [rcx + r12 + 0xe6110]
mov eax, r8d
shl eax, 8
xor edx, eax
shl edx, 8
xor edx, ecx
shl edx, 8
xor edx, r8d
mov dword [rsi + 0x7fc], edx
cmp edi, 0x100
jl 0x18006a8d0
mov r13d, r15d
mov qword [rbp - 0x39], rbx
nop word [rax + rax]
mov r12d, dword [rbx + 0xb0]
lea rdx, [rbp - 0x31]
mov r8d, r12d
mov dword [rbp - 0x49], r13d
lea rcx, [rbp - 0x49]
call fcn.18006b6a0
movzx esi, byte [rbp - 0x47]
lea r9, [0x180000000]
movzx r15d, byte [rbp - 0x48]
mov r8d, r12d
mov eax, dword [rbp - 0x49]
movzx r10d, byte [rbp - 0x46]
movzx ecx, al
xor cl, byte [rsi + r9 + 0xe6010]
mov edi, r10d
movzx edx, byte [r15 + r9 + 0xe6110]
xor cl, dl
movzx r14d, byte [r10 + r9 + 0xe6010]
xor cl, r14b
mov byte [rbp - 0x41], cl
movzx ecx, al
lea rax, [0x180000000]
movzx r9d, byte [rsi + rax + 0xe6110]
xor r10b, byte [rcx + rax + 0xe6010]
movzx ecx, byte [rcx + rax + 0xe6110]
xor r10b, r9b
movzx eax, byte [r15 + rax + 0xe6010]
xor r10b, dl
xor r15b, cl
mov byte [rbp - 0x40], r10b
lea rdx, [0x180000000]
xor r15b, r9b
xor al, byte [rdi + rdx + 0xe6110]
xor r15b, r14b
xor al, sil
mov byte [rbp - 0x3e], r15b
xor al, cl
lea rdx, [rbp - 1]
mov byte [rbp - 0x3f], al
lea rcx, [rbp - 0x49]
lea eax, [r13 + 0x1010101]
mov dword [rbp - 0x49], eax
call fcn.18006b6a0
mov eax, dword [rbp - 0x49]
lea r12, [0x180000000]
movzx esi, byte [rbp - 0x47]
movzx ecx, al
movzx r15d, byte [rbp - 0x48]
movzx r10d, byte [rbp - 0x46]
mov r8, qword [rbp - 0x39]
mov edi, r10d
xor cl, byte [rsi + r12 + 0xe6010]
movzx edx, byte [r15 + r12 + 0xe6110]
movzx r14d, byte [r10 + r12 + 0xe6010]
xor cl, dl
movzx r9d, byte [rsi + r12 + 0xe6110]
xor cl, r14b
mov byte [rbp - 0x45], cl
movzx ecx, al
movzx eax, byte [r15 + r12 + 0xe6010]
xor al, byte [rdi + r12 + 0xe6110]
xor al, sil
xor r10b, byte [rcx + r12 + 0xe6010]
movzx ecx, byte [rcx + r12 + 0xe6110]
xor r10b, r9b
xor r15b, cl
xor al, cl
xor r10b, dl
mov byte [rbp - 0x43], al
mov eax, dword [rbp - 0x41]
xor r15b, r9b
xor r15b, r14b
mov byte [rbp - 0x44], r10b
mov byte [rbp - 0x42], r15b
mov edx, dword [rbp - 0x45]
rol edx, 8
lea ecx, [rax + rdx]
mov dword [r8], ecx
lea ecx, [rax + rdx*2]
rol ecx, 9
mov dword [r8 + 4], ecx
add r8, 8
add r13d, 0x2020202
mov qword [rbp - 0x39], r8
cmp r13d, 0x28282828
jl 0x18006a9d0
mov ecx, dword [rbx + 0xb0]
mov eax, 0
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xe8]
shl ecx, 6
cmp ecx, dword [rbp - 0x3d]
setne al
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1800a4400
add rsp, 0xb0
pop r13
pop rbx
pop rbp
ret