Function at 0x14001f414
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 0x14001f751
mov eax, dword [rcx + 0x3d0]
cmp eax, 0x10
jne 0x14001f457
call fcn.14001ec40
jmp 0x14001f739
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 r14d, dword [rcx + rax + 0x15649c]
mov r13d, dword [rcx + rax + 0x1564a4]
mov ecx, dword [rcx + rax + 0x1564ac]
mov dword [rsp + 0xa0], ecx
mov dword [rsp + 0x24], r14d
mov dword [rsp + 0x28], r13d
test ebp, ebp
jle 0x14001f513
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 0x14001f4c4
mov ecx, dword [rsp + 0xa0]
mov r12d, 1
cmp dword [rbx + 0x3d4], r12d
jle 0x14001f661
lea eax, [rbp*4]
mov r10, 0xfffffffffffffdb4
cdqe
lea rdx, [rbx + 0x438]
mov qword [rsp + 0x38], rax
lea r15, [rbx + 0x458]
mov qword [rsp + 0x30], r10
test rsi, rsi
jle 0x14001f616
mov r11d, r13d
mov dword [rsp + 0x20], r14d
mov r13d, dword [rsp + 0x20]
sub r11d, r14d
sub ecx, r14d
mov rdi, r15
mov r14, rsi
lea r15, [0x140000000]
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
mov r9d, dword [r15 + r8*4 + 0x157910]
movzx ecx, byte [rbx + rax*4 + 0x458]
mov eax, r13d
cdq
inc r13d
idiv ebp
xor r9d, dword [r15 + rcx*4 + 0x157510]
movsxd rax, edx
mov ecx, dword [rbx + rax*4 + 0x458]
sar rcx, 0x10
movzx eax, cl
xor r9d, dword [r15 + rax*4 + 0x157d10]
movzx eax, byte [rdi + 3]
xor r9d, dword [r15 + rax*4 + 0x158110]
xor r9d, dword [r10 + rdi]
mov dword [rdi - 0x20], r9d
lea rdi, [rdi + 4]
sub r14, 1
jne 0x14001f579
mov r14d, dword [rsp + 0x24]
lea r15, [rbx + 0x458]
mov r13d, dword [rsp + 0x28]
lea rdx, [rbx + 0x438]
mov rax, qword [rsp + 0x38]
xor edi, edi
mov rsi, rbp
mov r8, rax
mov rcx, r15
call fcn.1400595d0
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 0x14001f54e
mov r15, qword [rsp + 0xb0]
lea r11, [rbx + 0x458]
test rsi, rsi
jle 0x14001f739
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 + 0x159510]
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 + 0x159510]
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 + 0x159510]
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 + 0x159510]
xor al, r8b
mov byte [r15 - 1], al
cmp rdi, rsi
jl 0x14001f67f
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.Object_not_Initialized
lea rcx, [rsp + 0x40]
call fcn.1400080b8
lea rdx, [0x1401724c8]
lea rcx, [rsp + 0x40]
call fcn.140059b70
int3