Function at 0x14001d730
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x20
xor edi, edi
lea r15, [rcx + 0x1000]
mov r14, r9
mov r12, rdx
mov rbx, rcx
lea eax, [rdi + 1]
test r9, r9
jne 0x14001d771
movzx r9d, ax
mov byte [rbp + 0x30], dil
lea r14, [rbp + 0x30]
jmp 0x14001d776
movzx r9d, word [rbp + 0x50]
movsx esi, r8w
mov r10, r15
mov r11d, 2
lea eax, [r11 - 2]
cdq
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r12]
lea eax, [r11 - 1]
cdq
shl ecx, 0x18
xor dword [r10], ecx
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r12]
mov eax, r11d
cdq
shl ecx, 0x10
xor ecx, dword [r10]
idiv esi
mov dword [r10], ecx
movsxd rax, edx
movzx r8d, byte [rax + r12]
lea eax, [r11 + 1]
cdq
shl r8d, 8
xor r8d, ecx
add r11d, 4
idiv esi
mov dword [r10], r8d
movsxd rax, edx
movzx ecx, byte [rax + r12]
xor ecx, r8d
mov dword [r10], ecx
lea r10, [r10 + 4]
cmp r11d, 0x4a
jl 0x14001d783
and dword [rbp + 0x4c], edi
and dword [rbp + 0x48], edi
xor esi, esi
movsx r12d, r9w
xor r9d, r9d
mov ecx, r9d
mov eax, r9d
and ecx, 3
test r9d, r9d
jns 0x14001d80f
lea eax, [r9 + 3]
sub ecx, 4
sar eax, 2
inc r9d
movsxd r8, eax
mov eax, edi
cdq
inc edi
idiv r12d
movsxd rax, edx
movzx edx, byte [rax + r14]
mov eax, 3
sub eax, ecx
shl eax, 3
mov cl, al
shl edx, cl
xor dword [rbp + r8*4 + 0x48], edx
cmp r9d, 8
jl 0x14001d7fa
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, dword [rbp + 0x4c]
mov r9, rbx
call fcn.14001d2a8
mov eax, dword [rbp + 0x48]
mov dword [r15 + rsi*4], eax
mov eax, dword [rbp + 0x4c]
mov dword [r15 + rsi*4 + 4], eax
add rsi, 2
cmp rsi, 0x12
jl 0x14001d7f7
xor esi, esi
lea r15d, [rsi + 3]
xor r9d, r9d
mov ecx, r9d
mov eax, r9d
and ecx, r15d
test r9d, r9d
jns 0x14001d88a
lea eax, [r15 + r9]
sub ecx, 4
sar eax, 2
inc r9d
movsxd r8, eax
mov eax, edi
cdq
inc edi
idiv r12d
movsxd rax, edx
movzx edx, byte [rax + r14]
mov eax, r15d
sub eax, ecx
shl eax, 3
mov cl, al
shl edx, cl
xor dword [rbp + r8*4 + 0x48], edx
cmp r9d, 8
jl 0x14001d875
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, dword [rbp + 0x4c]
mov r9, rbx
call fcn.14001d2a8
mov eax, dword [rbp + 0x48]
mov dword [rbx + rsi*4], eax
mov eax, dword [rbp + 0x4c]
mov dword [rbx + rsi*4 + 4], eax
add rsi, 2
cmp rsi, 0x100
jl 0x14001d872
xor esi, esi
xor r9d, r9d
mov ecx, r9d
mov eax, r9d
and ecx, r15d
test r9d, r9d
jns 0x14001d900
lea eax, [r15 + r9]
sub ecx, 4
sar eax, 2
inc r9d
movsxd r8, eax
mov eax, edi
cdq
inc edi
idiv r12d
movsxd rax, edx
movzx edx, byte [rax + r14]
mov eax, r15d
sub eax, ecx
shl eax, 3
mov cl, al
shl edx, cl
xor dword [rbp + r8*4 + 0x48], edx
cmp r9d, 8
jl 0x14001d8eb
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, dword [rbp + 0x4c]
mov r9, rbx
call fcn.14001d2a8
mov eax, dword [rbp + 0x48]
mov dword [rbx + rsi*4 + 0x400], eax
mov eax, dword [rbp + 0x4c]
mov dword [rbx + rsi*4 + 0x404], eax
add rsi, 2
cmp rsi, 0x100
jl 0x14001d8e8
xor esi, esi
xor r9d, r9d
mov ecx, r9d
mov eax, r9d
and ecx, r15d
test r9d, r9d
jns 0x14001d97d
lea eax, [r15 + r9]
sub ecx, 4
sar eax, 2
inc r9d
movsxd r8, eax
mov eax, edi
cdq
inc edi
idiv r12d
movsxd rax, edx
movzx edx, byte [rax + r14]
mov eax, r15d
sub eax, ecx
shl eax, 3
mov cl, al
shl edx, cl
xor dword [rbp + r8*4 + 0x48], edx
cmp r9d, 8
jl 0x14001d968
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, dword [rbp + 0x4c]
mov r9, rbx
call fcn.14001d2a8
mov eax, dword [rbp + 0x48]
mov dword [rbx + rsi*4 + 0x800], eax
mov eax, dword [rbp + 0x4c]
mov dword [rbx + rsi*4 + 0x804], eax
add rsi, 2
cmp rsi, 0x100
jl 0x14001d965
xor esi, esi
xor r9d, r9d
mov ecx, r9d
mov eax, r9d
and ecx, r15d
test r9d, r9d
jns 0x14001d9fa
lea eax, [r15 + r9]
sub ecx, 4
sar eax, 2
inc r9d
movsxd r8, eax
mov eax, edi
cdq
inc edi
idiv r12d
movsxd rax, edx
movzx edx, byte [rax + r14]
mov eax, r15d
sub eax, ecx
shl eax, 3
mov cl, al
shl edx, cl
xor dword [rbp + r8*4 + 0x48], edx
cmp r9d, 8
jl 0x14001d9e5
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, dword [rbp + 0x4c]
mov r9, rbx
call fcn.14001d2a8
mov eax, dword [rbp + 0x48]
mov dword [rbx + rsi*4 + 0xc00], eax
mov eax, dword [rbp + 0x4c]
mov dword [rbx + rsi*4 + 0xc04], eax
add rsi, 2
cmp rsi, 0x100
jl 0x14001d9e2
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret