Function at 0x1400117cc
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xor edi, edi
mov r15, r8
mov r9, rdx
mov rbx, rcx
cmp byte [rcx + 8], dil
je 0x140011afe
mov eax, dword [rcx + 0x3d0]
cmp eax, 0x10
jne 0x14001180f
call fcn.140149cd4
jmp 0x140011ae6
cdq
lea r11, [rbx + 0x458]
and edx, 3
mov rcx, rdi
add eax, edx
mov r8, r11
sar eax, 2
movsxd rbp, eax
lea rax, [0x140000000]
cmp ebp, 6
mov rsi, rbp
setne cl
inc rcx
cmp ebp, 4
cmove rcx, rdi
shl rcx, 5
mov r13d, dword [rcx + rax + 0x15a5e4]
mov r14d, dword [rcx + rax + 0x15a5dc]
mov ecx, dword [rcx + rax + 0x15a5ec]
mov dword [rsp + 0xa0], ecx
mov dword [rsp + 0x24], r13d
test ebp, ebp
jle 0x1400118c6
lea r10, [rbx + 0x1ec]
mov r12, rbp
movzx eax, byte [r9]
lea r9, [r9 + 4]
shl eax, 0x18
mov dword [r8], eax
movzx edx, byte [r9 - 3]
shl edx, 0x10
or edx, eax
mov dword [r8], edx
movzx ecx, byte [r9 - 2]
shl ecx, 8
or ecx, edx
mov rdx, r8
mov dword [r8], ecx
movzx eax, byte [r9 - 1]
or eax, ecx
mov dword [r8], eax
add r8, 4
xor eax, dword [r10]
lea r10, [r10 + 4]
mov dword [rdx], eax
sub r12, 1
jne 0x140011877
mov ecx, dword [rsp + 0xa0]
mov r12d, 1
cmp dword [rbx + 0x3d4], r12d
jle 0x140011a0e
mov eax, ebp
lea rdx, [rbx + 0x438]
shl eax, 2
lea r15, [rbx + 0x458]
cdqe
mov r10, 0xfffffffffffffdb4
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r10
test rsi, rsi
jle 0x1400119c3
mov r11d, r13d
mov qword [rsp + 0x28], rsi
sub r11d, r14d
mov rdi, r15
sub ecx, r14d
mov r13d, r14d
mov esi, ecx
lea eax, [r11 + r13]
cdq
idiv ebp
movsxd rax, edx
mov ecx, dword [rbx + rax*4 + 0x458]
lea eax, [rsi + r13]
cdq
sar rcx, 8
idiv ebp
movzx r8d, cl
movsxd rax, edx
movzx ecx, byte [rbx + rax*4 + 0x458]
lea rax, [0x140000000]
mov r9d, dword [rax + r8*4 + 0x158db0]
mov eax, r13d
cdq
lea r8, [0x140000000]
idiv ebp
xor r9d, dword [r8 + rcx*4 + 0x1591b0]
inc r13d
movsxd rax, edx
mov ecx, dword [rbx + rax*4 + 0x458]
sar rcx, 0x10
movzx eax, cl
xor r9d, dword [r8 + rax*4 + 0x1589b0]
movzx eax, byte [rdi + 3]
xor r9d, dword [r8 + rax*4 + 0x1585b0]
xor r9d, dword [r10 + rdi]
sub qword [rsp + 0x28], 1
mov dword [rdi - 0x20], r9d
lea rdi, [rdi + 4]
jne 0x14001191e
mov r13d, dword [rsp + 0x24]
lea rdx, [rbx + 0x438]
mov rax, qword [rsp + 0x38]
xor edi, edi
mov rsi, rbp
mov r8, rax
mov rcx, r15
call fcn.1400530f0
mov r10, qword [rsp + 0x30]
lea rdx, [rbx + 0x438]
mov ecx, dword [rsp + 0xa0]
add r10, 0x20
mov rax, qword [rsp + 0x38]
inc r12d
mov qword [rsp + 0x30], r10
cmp r12d, dword [rbx + 0x3d4]
jl 0x1400118ff
mov r15, qword [rsp + 0xb0]
lea r11, [rbx + 0x458]
test rsi, rsi
jle 0x140011ae6
mov r9d, dword [rsp + 0xa0]
lea r10, [0x140000000]
sub r14d, r13d
sub r9d, r13d
movsxd rax, dword [rbx + 0x3d4]
lea r11, [r11 + 4]
lea rcx, [rdi + rax*8]
movzx eax, byte [r11 - 1]
mov r8d, dword [rbx + rcx*4 + 0x1ec]
inc rdi
mov ecx, r8d
sar ecx, 0x18
mov al, byte [rax + r10 + 0x1574b0]
xor al, cl
mov byte [r15], al
lea eax, [r14 + r13]
cdq
lea r15, [r15 + 4]
idiv ebp
movsxd rax, edx
mov ecx, dword [rbx + rax*4 + 0x458]
sar rcx, 0x10
movzx eax, cl
mov ecx, r8d
sar ecx, 0x10
mov al, byte [rax + r10 + 0x1574b0]
xor al, cl
mov byte [r15 - 3], al
mov eax, r13d
cdq
idiv ebp
movsxd rax, edx
mov ecx, dword [rbx + rax*4 + 0x458]
sar rcx, 8
movzx eax, cl
mov ecx, r8d
sar ecx, 8
mov al, byte [rax + r10 + 0x1574b0]
xor al, cl
mov byte [r15 - 2], al
lea eax, [r9 + r13]
cdq
inc r13d
idiv ebp
movsxd rax, edx
movzx ecx, byte [rbx + rax*4 + 0x458]
mov al, byte [rcx + r10 + 0x1574b0]
xor al, r8b
mov byte [r15 - 1], al
cmp rdi, rsi
jl 0x140011a2c
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, qword [str.Object_not_Initialized]
lea rcx, [rsp + 0x40]
call fcn.140026d60
lea rdx, [0x140196560]
lea rcx, [rsp + 0x40]
call fcn.140053908
int3