Function at 0x18008cb40
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0xd0
call fcn.180090180
sub rsp, rax
mov rax, qword [0x18012c3a8]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r12, qword [rsp + 0x140]
lea esi, [rdx - 1]
mov rax, qword [rsp + 0x130]
mov ebx, r9d
mov rbp, qword [rsp + 0x148]
mov rdi, rcx
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x40], rax
test r12, r12
jne 0x18008cbab
call fcn.18008af20
mov r12, rax
test rbp, rbp
mov rcx, r12
cmove rbp, r12
mov qword [rsp + 0x50], rbp
call fcn.180078d50
movsxd r14, eax
mov r15d, esi
xor r9d, r9d
lea eax, [r14 + r14]
sub r15d, eax
lea ecx, [r15 - 1]
cmp ebx, ecx
jle 0x18008cbf5
xor edi, edi
lea r8d, [r9 + 0x6e]
mov edx, 0xa0
mov dword [rsp + 0x20], edi
lea ecx, [rdi + 4]
call fcn.180075230
xor eax, eax
jmp 0x18008cf71
inc eax
cmp esi, eax
jge 0x18008cc19
xor edi, edi
mov edx, 0xa0
mov dword [rsp + 0x20], edi
lea ecx, [rdi + 4]
lea r8d, [rdi + 0x78]
call fcn.180075230
xor eax, eax
jmp 0x18008cf71
movsxd rdx, dword [rsp + 0x138]
lea rax, [r14 + rdi]
mov rcx, qword [rsp + 0x40]
lea rbp, [rdi + 1]
mov byte [rdi], 0
mov rbx, r14
mov qword [rsp + 0xc8], r13
xor edi, edi
lea r13, [rax + 1]
mov qword [rsp + 0x28], rdi
mov r8, r13
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], r12
call fcn.18007af30
test eax, eax
je 0x18008cf67
movsxd r12, dword [rsp + 0x38]
xor edx, edx
sub r15d, r12d
dec r15d
movsxd r8, r15d
mov r15, qword [rsp + 0x30]
lea rcx, [r15 + 1]
add rcx, rbx
call fcn.1800abaa0
mov rdx, qword [rsp + 0x48]
mov eax, esi
sub eax, r12d
movsxd rcx, esi
sub rcx, r12
mov r8d, r12d
sub rcx, rbx
sub eax, r14d
cdqe
inc rcx
add rcx, r15
mov byte [rax + r15], 1
call fcn.1800ab630
mov edx, r14d
mov rcx, rbp
call fcn.180070550
test eax, eax
jle 0x18008cf67
sub esi, r14d
lea r8d, [rdi + 0x55]
mov ecx, esi
lea rdx, [0x18012ff4f]
call fcn.1800742d0
mov r15, rax
test rax, rax
jne 0x18008ccff
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov edx, 0xa0
lea ecx, [rdi + 4]
lea r8d, [rdi + 0x41]
call fcn.180075230
jmp 0x18008cf67
mov r12, qword [rsp + 0x50]
mov r9d, r14d
mov r8, rbp
mov qword [rsp + 0x20], r12
mov edx, esi
mov rcx, r15
call fcn.18008c980
test eax, eax
js 0x18008cf5f
mov r9d, edi
test esi, esi
jle 0x18008cde1
cmp esi, 0x40
jb 0x18008cde1
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + r15]
lea rdx, [rcx + r13]
cmp r13, rax
ja 0x18008cd51
cmp rdx, r15
jae 0x18008cde1
mov ecx, esi
and ecx, 0x8000003f
jge 0x18008cd62
dec ecx
or ecx, 0xffffffc0
inc ecx
mov r8, qword [rsp + 0x30]
mov eax, esi
sub eax, ecx
mov r10, r8
mov rdx, r15
movsxd r11, eax
sub rdx, r13
not r10
mov rcx, r13
nop dword [rax]
movdqu xmm0, xmmword [rcx]
add r9d, 0x40
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
lea rax, [rcx + r10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rdx + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [rcx + rdx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r11
jl 0x18008cd80
jmp 0x18008cde6
mov r8, qword [rsp + 0x30]
movsxd rax, r9d
movsxd rdx, esi
cmp rax, rdx
jge 0x18008ce12
lea rcx, [r8 + 1]
mov r9, r15
add rcx, rax
sub r9, r13
sub rdx, rax
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x18008ce01
mov r9d, esi
mov qword [rsp + 0x20], r12
mov r8, r13
lea rcx, [rsp + 0x70]
mov edx, r14d
call fcn.18008c980
test eax, eax
js 0x18008cf5f
test r14d, r14d
jle 0x18008cf26
cmp r14d, 0x40
jb 0x18008cf26
lea eax, [r14 - 1]
movsxd rcx, eax
lea rax, [rsp + 0x70]
add rax, rcx
lea rdx, [rcx + rbp]
cmp rbp, rax
ja 0x18008ce6b
lea rax, [rsp + 0x70]
cmp rdx, rax
jae 0x18008cf26
mov eax, r14d
and eax, 0x8000003f
jge 0x18008ce7c
dec eax
or eax, 0xffffffc0
inc eax
mov rbx, qword [rsp + 0x58]
lea rdx, [rsp + 0x70]
sub r14d, eax
lea r8, [rsp + 0x80]
lea r9, [rsp + 0x90]
movsxd r11, r14d
sub rdx, rbp
lea r10, [rsp + 0xa0]
sub r8, rbp
sub r9, rbp
sub r10, rbp
mov rcx, rbp
not rbx
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add edi, 0x40
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
lea rax, [rbx + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [r8 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [r9 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [r10 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r11
jl 0x18008cec0
mov rbx, qword [rsp + 0x60]
movsxd rcx, edi
cmp rcx, rbx
jge 0x18008cf50
lea rdx, [rsp + 0x70]
sub rdx, rbp
lea rax, [rcx + rbp]
sub rbx, rcx
nop dword [rax]
movzx ecx, byte [rax + rdx]
xor byte [rax], cl
lea rax, [rax + 1]
sub rbx, 1
jne 0x18008cf40
mov rcx, r15
call fcn.180074230
mov eax, 1
jmp 0x18008cf69
mov rcx, r15
call fcn.180074230
xor eax, eax
mov r13, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.18008f850
add rsp, 0xd0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret