Function at 0x18000b3d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, rcx
movsxd rdi, r8d
mov ecx, dword [rcx]
mov r14, r9
mov rsi, rdx
sub ecx, 1
je 0x18000b536
sub ecx, 1
je 0x18000b519
sub ecx, 1
je 0x18000b437
cmp ecx, 1
jne 0x18000b56f
mov rax, qword [rsp + 0x80]
mov r8d, edi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.18000b240
jmp 0x18000b632
mov eax, dword [rbx + 0x38]
mov r12, qword [rsp + 0x80]
lea ebp, [rax + rdi]
mov dword [r12], ebp
cmp ebp, 0x10
jbe 0x18000b54d
cmp r14, rsi
je 0x18000b56f
mov ecx, 0x10
sub ecx, eax
mov edi, ecx
movsxd r8, ecx
lea rcx, [rbx + 0x28]
add rcx, rax
call fcn.180022420
lea rdx, [rbx + 0x18]
add rdi, rsi
lea rcx, [rbx + 0x3c]
lea esi, [rbp - 0x10]
call fcn.1800091c0
mov eax, dword [rbx + 0x28]
xor eax, dword [rbx + 0x18]
mov dword [r14], eax
mov eax, dword [rbx + 0x2c]
xor eax, dword [rbx + 0x1c]
mov dword [r14 + 4], eax
mov eax, dword [rbx + 0x30]
xor eax, dword [rbx + 0x20]
mov dword [r14 + 8], eax
mov eax, dword [rbx + 0x34]
xor eax, dword [rbx + 0x24]
mov dword [r14 + 0xc], eax
add r14, 0x10
cmp esi, 0x10
jbe 0x18000b610
lea ebp, [rsi - 0x11]
sub r14, rdi
shr ebp, 4
inc ebp
nop word [rax + rax]
lea rdx, [rbx + 0x18]
lea rcx, [rbx + 0x3c]
call fcn.1800091c0
mov eax, dword [rbx + 0x18]
add esi, 0xfffffff0
xor eax, dword [rdi]
mov dword [r14 + rdi], eax
mov eax, dword [rdi + 4]
xor eax, dword [rbx + 0x1c]
mov dword [r14 + rdi + 4], eax
mov eax, dword [rdi + 8]
xor eax, dword [rbx + 0x20]
mov dword [r14 + rdi + 8], eax
mov eax, dword [rdi + 0xc]
xor eax, dword [rbx + 0x24]
mov dword [r14 + rdi + 0xc], eax
add rdi, 0x10
sub rbp, 1
jne 0x18000b4d0
jmp 0x18000b610
mov rax, qword [rsp + 0x80]
mov r8d, edi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.18000b050
jmp 0x18000b632
mov eax, dword [rbx + 0x38]
mov r12, qword [rsp + 0x80]
lea ebp, [rax + rdi]
mov dword [r12], ebp
cmp ebp, 0x10
ja 0x18000b56a
lea rcx, [rbx + 0x28]
mov r8, rdi
add rcx, rax
call fcn.180022420
add dword [rbx + 0x38], edi
xor eax, eax
mov dword [r12], eax
jmp 0x18000b632
cmp rsi, r14
jne 0x18000b579
mov eax, 0x1001
jmp 0x18000b632
mov ecx, 0x10
sub ecx, eax
mov edi, ecx
movsxd r8, ecx
lea rcx, [rbx + 0x28]
add rcx, rax
call fcn.180022420
mov eax, dword [rbx + 0x28]
lea rcx, [rbx + 0x3c]
mov dword [r14], eax
add rdi, rsi
mov eax, dword [rbx + 0x2c]
lea esi, [rbp - 0x10]
mov dword [r14 + 4], eax
mov rdx, r14
mov eax, dword [rbx + 0x30]
mov dword [r14 + 8], eax
mov eax, dword [rbx + 0x34]
mov dword [r14 + 0xc], eax
call fcn.18000a110
add r14, 0x10
cmp esi, 0x10
jbe 0x18000b610
lea ebp, [rsi - 0x11]
sub r14, rdi
shr ebp, 4
inc ebp
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdi]
lea rdx, [r14 + rdi]
mov dword [rdx], eax
lea rcx, [rbx + 0x3c]
mov eax, dword [rdi + 4]
mov dword [rdx + 4], eax
mov eax, dword [rdi + 8]
mov dword [rdx + 8], eax
mov eax, dword [rdi + 0xc]
mov dword [rdx + 0xc], eax
call fcn.18000a110
add rdi, 0x10
add esi, 0xfffffff0
sub rbp, 1
jne 0x18000b5e0
movsxd r8, esi
lea rcx, [rbx + 0x28]
mov rdx, rdi
call fcn.180022420
mov eax, dword [rbx + 0x38]
sub dword [r12], esi
and eax, 0xf0000000
add eax, esi
mov dword [rbx + 0x38], eax
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret