Function at 0x18008edd0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
sub rsp, 0xe8
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 8], r12
mov qword [rax - 0x10], r13
mov qword [rax - 0x18], r14
mov qword [rax - 0x20], r15
mov eax, 8
lea r14d, [rdx + 7]
mov r15d, edx
mov rbp, r8
shr r14d, 3
and r15d, 7
mov rbx, rcx
cmove r15d, eax
xor r9d, r9d
lea eax, [r14 - 1]
test eax, eax
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x24], r9d
mov r8d, r9d
mov dword [rsp + 0x20], r9d
mov r13d, r9d
lea r10d, [r9 + 2]
je 0x18008f0c9
mov rdi, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x54]
mov r15, r10
nop
xor dword [rbx], r8d
xor dword [rbx + 4], r9d
test r13d, r13d
mov ecx, dword [rbx]
mov edx, dword [rbx + 4]
jne 0x18008ef7d
cmp r14d, r15d
jbe 0x18008ef4b
mov word [rbp + 0x10], r13w
mov rax, qword [rbx]
mov rcx, rbp
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x40], rdi
mov dword [rbp + 0x12], eax
lea rax, [rsp + 0x38]
mov word [rbp + 0x16], r15w
shr rax, 0x20
mov word [rbp + 0x3e], r13w
mov dword [rbp + 0x5c], eax
call fcn.18008e5f0
mov rdi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rdi
mov esi, dword [rsp + 0x34]
mov qword [rbx], rax
mov dword [rsp + 0x50], edi
lea rdx, [rsp + 0x54]
mov word [rbp + 0x16], r13w
lea r8d, [r13 + 5]
nop
mov ecx, dword [rdx - 4]
add rdx, 0x14
lea eax, [rcx + rsi]
and ecx, 0x1f
mov dword [rdx - 0x14], eax
mov eax, edi
ror eax, cl
xor dword [rsp + 0x54], eax
mov ecx, dword [rdx - 0x14]
lea eax, [rcx + rsi]
and ecx, 0x1f
mov dword [rdx - 0x10], eax
mov eax, edi
ror eax, cl
xor dword [rsp + 0x54], eax
mov ecx, dword [rdx - 0x10]
lea eax, [rcx + rsi]
and ecx, 0x1f
mov dword [rdx - 0xc], eax
mov eax, edi
ror eax, cl
xor dword [rsp + 0x54], eax
mov ecx, dword [rdx - 0xc]
lea eax, [rcx + rsi]
and ecx, 0x1f
mov dword [rdx - 8], eax
mov eax, edi
ror eax, cl
xor dword [rsp + 0x54], eax
mov ecx, dword [rdx - 8]
lea eax, [rcx + rsi]
and ecx, 0x1f
mov dword [rdx - 4], eax
mov r12d, dword [rsp + 0x54]
mov eax, edi
ror eax, cl
xor r12d, eax
dec r8
mov dword [rsp + 0x54], r12d
jne 0x18008eed0
jmp 0x18008f097
mov rax, rbx
mov rcx, rbp
mov word [rbp + 0x10], 0
shr rax, 0x20
mov word [rbp + 0x16], 1
mov word [rbp + 0x3e], 0
mov dword [rbp + 0x5c], eax
mov dword [rbp + 0x12], ebx
call fcn.18008e5f0
mov word [rbp + 0x16], 0
jmp 0x18008f097
mov eax, dword [rsp + 0x50]
lea r8d, [rcx + r12]
lea r9, [rsp + 0x5c]
lea esi, [rdx + rax]
mov dword [rbx], r8d
mov r10, r15
mov dword [rbx + 4], esi
nop
nop
nop
mov ecx, r8d
mov edx, r8d
add r9, 0x30
shr ecx, 4
xor edx, esi
and ecx, 0x1f
rol edx, cl
sub edx, dword [r9 - 0x34]
xor r8d, edx
mov ecx, edx
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [r9 - 0x30]
mov ecx, r8d
mov esi, r8d
shr ecx, 4
xor esi, edx
and ecx, 0x1f
rol esi, cl
sub esi, dword [r9 - 0x2c]
xor r8d, esi
mov ecx, esi
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [r9 - 0x28]
mov ecx, r8d
mov edx, r8d
shr ecx, 4
xor edx, esi
and ecx, 0x1f
rol edx, cl
sub edx, dword [r9 - 0x24]
xor r8d, edx
mov ecx, edx
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [r9 - 0x20]
mov ecx, r8d
mov esi, r8d
shr ecx, 4
xor esi, edx
and ecx, 0x1f
rol esi, cl
sub esi, dword [r9 - 0x1c]
xor r8d, esi
mov ecx, esi
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [r9 - 0x18]
mov ecx, r8d
mov edx, r8d
shr ecx, 4
xor edx, esi
and ecx, 0x1f
rol edx, cl
sub edx, dword [r9 - 0x14]
xor r8d, edx
mov ecx, edx
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [r9 - 0x10]
mov ecx, r8d
mov esi, r8d
shr ecx, 4
xor esi, edx
and ecx, 0x1f
rol esi, cl
sub esi, dword [r9 - 0xc]
xor r8d, esi
mov ecx, esi
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [r9 - 8]
dec r10
jne 0x18008efa0
mov dword [rbx], r8d
mov dword [rbx + 4], esi
mov r8d, dword [rbx]
mov r9d, dword [rbx + 4]
lea eax, [r14 - 1]
inc r13d
add rbx, 8
mov dword [rsp + 0x20], r8d
cmp r13d, eax
mov dword [rsp + 0x24], r9d
jb 0x18008ee50
mov r15d, dword [rsp + 0x28]
mov r10d, 2
jmp 0x18008f0ce
mov r12d, dword [rsp + 0x54]
test r15d, r15d
mov r13, qword [rsp + 0xd8]
je 0x18008f109
lea rax, [rsp + 0x20]
mov rdi, rbx
lea rcx, [rsp + 0x20]
sub rdi, rax
mov edx, r15d
nop
movzx eax, byte [rdi + rcx]
inc rcx
xor byte [rcx - 1], al
dec rdx
jne 0x18008f0f0
mov r9d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x20]
cmp r14d, 2
jbe 0x18008f212
add r9d, dword [rsp + 0x50]
lea rsi, [rsp + 0x5c]
add r8d, r12d
mov ecx, r8d
mov edx, r8d
add rsi, 0x30
shr ecx, 4
xor edx, r9d
and ecx, 0x1f
rol edx, cl
sub edx, dword [rsi - 0x34]
xor r8d, edx
mov ecx, edx
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [rsi - 0x30]
mov ecx, r8d
mov edi, r8d
shr ecx, 4
xor edi, edx
and ecx, 0x1f
rol edi, cl
sub edi, dword [rsi - 0x2c]
xor r8d, edi
mov ecx, edi
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [rsi - 0x28]
mov ecx, r8d
mov edx, r8d
shr ecx, 4
xor edx, edi
and ecx, 0x1f
rol edx, cl
sub edx, dword [rsi - 0x24]
xor r8d, edx
mov ecx, edx
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [rsi - 0x20]
mov ecx, r8d
mov edi, r8d
shr ecx, 4
xor edi, edx
and ecx, 0x1f
rol edi, cl
sub edi, dword [rsi - 0x1c]
xor r8d, edi
mov ecx, edi
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [rsi - 0x18]
mov ecx, r8d
mov edx, r8d
shr ecx, 4
xor edx, edi
and ecx, 0x1f
rol edx, cl
sub edx, dword [rsi - 0x14]
xor r8d, edx
mov ecx, edx
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [rsi - 0x10]
mov ecx, r8d
mov r9d, r8d
shr ecx, 4
xor r9d, edx
and ecx, 0x1f
rol r9d, cl
sub r9d, dword [rsi - 0xc]
xor r8d, r9d
mov ecx, r9d
shr ecx, 7
and ecx, 0x1f
rol r8d, cl
add r8d, dword [rsi - 8]
dec r10
jne 0x18008f120
jmp 0x18008f263
cmp r14d, 1
jne 0x18008f225
mov eax, dword [rbx]
mov dword [rsp + 0x20], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x24], eax
lea rax, [rsp + 0x20]
mov rcx, rbp
mov word [rbp + 0x10], 0
mov dword [rbp + 0x12], eax
lea rax, [rsp + 0x20]
mov word [rbp + 0x16], 1
shr rax, 0x20
mov word [rbp + 0x3e], 0
mov dword [rbp + 0x5c], eax
call fcn.18008e5f0
mov r9d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x20]
mov word [rbp + 0x16], 0
mov r12, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xf8]
cmp r14d, 1
mov r14, qword [rsp + 0xd0]
jbe 0x18008f29c
test r15d, r15d
je 0x18008f292
lea rsi, [rbx - 8]
mov ecx, r15d
mov rdi, rbx
rep movsb byte [rdi], byte [rsi]
mov dword [rbx - 8], r8d
mov dword [rbx - 4], r9d
jmp 0x18008f2a3
mov dword [rbx], r8d
mov dword [rbx + 4], r9d
mov r15, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xe8
ret