Function at 0x18000cb60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [rdx + 0x90]
mov rsi, r8
mov rbx, qword [rdx + 0x98]
xor r8d, r8d
mov rbp, qword [rdx + 0xa0]
mov r14, qword [rdx + 0xb8]
mov qword [rsp + 0x20], rax
mov rax, qword [rdx + 0xb0]
lea r13, [rbx + 0x3c]
lea rdx, [r9 + 0x3c]
mov qword [rsp + 0x78], rax
lea edi, [r8 + 0x10]
lea r15d, [r8 + 2]
cmp rbx, rdx
ja 0x18000cbc5
cmp r13, r9
jae 0x18000cc72
lea rcx, [rsi + 0x3c]
cmp rbx, rcx
ja 0x18000cbd7
cmp r13, rsi
jae 0x18000cc72
lea rax, [r14 + 0x3c]
cmp rbx, rax
ja 0x18000cbe9
cmp r13, r14
jae 0x18000cc72
cmp r14, rdx
ja 0x18000cbf3
cmp rax, r9
jae 0x18000cc72
cmp r14, rcx
ja 0x18000cbfd
cmp rax, rsi
jae 0x18000cc72
mov r11, r14
lea rax, [r9 + 0x10]
mov r12, r14
mov rdx, rsi
sub r11, rsi
sub r12, r9
sub rdx, r9
mov r8, rbx
sub r8, r9
mov r10, r15
nop dword [rax]
lea rcx, [rdx + rax]
movdqu xmm0, xmmword [rax - 0x10]
lea rax, [rax + 0x20]
movdqu xmmword [r12 + rax - 0x30], xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rdx + rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmmword [rcx + r11], xmm0
movdqu xmm1, xmmword [rax - 0x20]
movdqu xmm0, xmmword [rcx]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax - 0x20], xmm1
sub r10, 1
jne 0x18000cc20
mov r8d, edi
movsxd rax, r8d
cmp rax, rdi
jge 0x18000ccbe
mov r10, r14
lea rdx, [r9 + rax*4]
mov r11, rsi
mov r12, rbx
sub r10, rsi
sub r11, r9
sub r12, r9
mov r8, rdi
sub r8, rax
nop word [rax + rax]
mov eax, dword [rdx]
lea rcx, [r11 + rdx]
mov dword [r10 + rcx], eax
lea rdx, [rdx + 4]
mov eax, dword [rcx]
xor eax, dword [rdx - 4]
mov dword [r12 + rdx - 4], eax
sub r8, 1
jne 0x18000cca0
mov r12, qword [rsp + 0x20]
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov rcx, r14
call fcn.18000c1e0
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x1000000
mov rdx, r14
call fcn.18000c1e0
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x2000000
mov rcx, r14
call fcn.18000c1e0
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x3000000
mov rdx, r14
call fcn.18000c1e0
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x4000000
mov rcx, r14
call fcn.18000c1e0
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x5000000
mov rdx, r14
call fcn.18000c1e0
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x6000000
mov rcx, r14
call fcn.18000c1e0
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x7000000
mov rdx, r14
call fcn.18000c1e0
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x8000000
mov rcx, r14
call fcn.18000c1e0
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 0x9000000
mov rdx, rbp
call fcn.18000c1e0
mov rdx, qword [rsp + 0x78]
mov r9, r12
xor r8d, r8d
mov rcx, rbx
call fcn.18000b890
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 1
mov rdx, r14
call fcn.18000b890
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, r15d
mov rcx, r14
call fcn.18000b890
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 3
mov rdx, r14
call fcn.18000b890
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 4
mov rcx, r14
call fcn.18000b890
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 5
mov rdx, r14
call fcn.18000b890
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 6
mov rcx, r14
call fcn.18000b890
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 7
mov rdx, r14
call fcn.18000b890
mov rdx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 8
mov rcx, r14
call fcn.18000b890
mov rcx, qword [rsp + 0x78]
mov r9, r12
mov r8d, 9
mov rdx, rbx
call fcn.18000b890
lea rcx, [rsi + 0x3c]
cmp rsi, r13
ja 0x18000ce80
cmp rcx, rbx
jae 0x18000cefb
lea rax, [rbp + 0x3c]
cmp rsi, rax
ja 0x18000ce8e
cmp rcx, rbp
jae 0x18000cefb
mov r8, rbp
lea rcx, [rsi + 0x10]
mov r9, rbp
sub r8, rbx
sub r9, rsi
mov rdx, rbx
sub rdx, rsi
mov r10d, edi
nop word [rax + rax]
lea rax, [rdx + rcx]
movdqu xmm0, xmmword [r9 + rcx - 0x10]
movdqu xmm1, xmmword [rdx + rcx - 0x10]
lea rcx, [rcx + 0x20]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + r8]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
sub r15, 1
jne 0x18000ceb0
jmp 0x18000cefe
xor r10d, r10d
movsxd rax, r10d
cmp rax, rdi
jge 0x18000cf36
sub rbp, rbx
lea rdx, [rsi + rax*4]
sub rbx, rsi
sub rdi, rax
nop dword [rax]
nop word [rax + rax]
lea rax, [rdx + rbx]
mov ecx, dword [rax + rbp]
lea rdx, [rdx + 4]
xor ecx, dword [rax]
xor dword [rdx - 4], ecx
sub rdi, 1
jne 0x18000cf20
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret