Function at 0x14000ec58
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, 0x70
xor esi, esi
mov r15, r8
mov r9, rdx
mov rdi, rcx
cmp byte [rcx + 8], sil
je 0x14000ef94
mov eax, dword [rcx + 0x3d0]
cmp eax, 0x10
jne 0x14000ec9b
call fcn.14000e7dc
jmp 0x14000ef7c
cdq
mov ecx, esi
and edx, 3
mov ebx, 1
add eax, edx
sar eax, 2
movsxd r12, eax
lea rax, [0x140000000]
cmp r12d, 6
mov rbp, r12
setne cl
cmp r12d, 4
lea edx, [rbx + rcx]
cmove edx, esi
shl rdx, 5
mov r14d, dword [rdx + rax + 0xa4c5c]
mov r13d, dword [rdx + rax + 0xa4c64]
mov r11d, dword [rdx + rax + 0xa4c6c]
lea rdx, [rdi + 0x458]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x2c], r13d
mov dword [rsp + 0xb0], r11d
test r12d, r12d
jle 0x14000ed4f
lea r8, [rdi + 0x1ec]
mov r10, r12
movzx eax, byte [r9]
mov rcx, rdx
shl eax, 0x18
add r9, rbx
mov dword [rdx], eax
movzx eax, byte [r9]
add r9, rbx
shl eax, 0x10
or dword [rdx], eax
movzx eax, byte [r9]
add r9, rbx
shl eax, 8
or dword [rdx], eax
movzx eax, byte [r9]
add r9, rbx
or dword [rdx], eax
add rdx, 4
mov eax, dword [r8]
lea r8, [r8 + 4]
xor dword [rcx], eax
sub r10, rbx
jne 0x14000ed0d
mov dword [rsp + 0xc8], ebx
cmp dword [rdi + 0x3d4], ebx
jle 0x14000ee9d
mov eax, r12d
mov r10d, 0x22c
shl eax, 2
mov r15d, r11d
cdqe
mov qword [rsp + 0x40], rax
lea rax, [rdi + 0x20c]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r10
test rbp, rbp
jle 0x14000ee3d
mov r11d, r13d
sub r11d, r14d
mov rsi, rbp
sub r15d, r14d
mov ebp, r14d
lea r14, [0x140000000]
mov r13, rax
lea eax, [r11 + rbp]
cdq
idiv r12d
movsxd rax, edx
mov ecx, dword [rdi + rax*4 + 0x458]
lea eax, [r15 + rbp]
cdq
sar rcx, 8
idiv r12d
movzx r8d, cl
movsxd rax, edx
mov r9d, dword [r14 + r8*4 + 0xa60d0]
movzx ecx, byte [rdi + rax*4 + 0x458]
mov eax, ebp
cdq
add ebp, ebx
idiv r12d
xor r9d, dword [r14 + rcx*4 + 0xa5cd0]
movsxd rax, edx
mov ecx, dword [rdi + rax*4 + 0x458]
sar rcx, 0x10
movzx eax, cl
xor r9d, dword [r14 + rax*4 + 0xa64d0]
movzx eax, byte [r10 + r13 + 0x23]
xor r9d, dword [r14 + rax*4 + 0xa68d0]
xor r9d, dword [r13]
mov dword [r10 + r13], r9d
lea r13, [r13 + 4]
sub rsi, rbx
jne 0x14000edab
mov r14d, dword [rsp + 0x28]
mov rbp, r12
mov r13d, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0xb0]
mov r8, qword [rsp + 0x40]
lea rdx, [rdi + 0x438]
lea rcx, [rdi + 0x458]
call fcn.140057750
mov ecx, dword [rsp + 0xc8]
mov rax, qword [rsp + 0x30]
add ecx, ebx
mov r10, qword [rsp + 0x38]
add rax, 0x20
sub r10, 0x20
mov dword [rsp + 0xc8], ecx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r10
cmp ecx, dword [rdi + 0x3d4]
jl 0x14000ed89
mov r15, qword [rsp + 0xc0]
mov r11d, dword [rsp + 0xb0]
test rbp, rbp
jle 0x14000ef7c
sub r14d, r13d
lea r9, [rdi + 0x458]
sub r11d, r13d
lea r10, [0x140000000]
movsxd rax, dword [rdi + 0x3d4]
lea r9, [r9 + 4]
lea rcx, [rsi + rax*8]
movzx eax, byte [r9 - 1]
mov r8d, dword [rdi + rcx*4 + 0x1ec]
add rsi, rbx
mov ecx, r8d
sar ecx, 0x18
mov al, byte [rax + r10 + 0xa7cd0]
xor al, cl
mov byte [r15], al
lea eax, [r14 + r13]
cdq
add r15, rbx
idiv r12d
movsxd rax, edx
mov ecx, dword [rdi + rax*4 + 0x458]
sar rcx, 0x10
movzx eax, cl
mov ecx, r8d
sar ecx, 0x10
mov al, byte [rax + r10 + 0xa7cd0]
xor al, cl
mov byte [r15], al
mov eax, r13d
cdq
add r15, rbx
idiv r12d
movsxd rax, edx
mov ecx, dword [rdi + rax*4 + 0x458]
sar rcx, 8
movzx eax, cl
mov ecx, r8d
sar ecx, 8
mov al, byte [rax + r10 + 0xa7cd0]
xor al, cl
mov byte [r15], al
lea eax, [r11 + r13]
cdq
add r15, rbx
idiv r12d
add r13d, ebx
movsxd rax, edx
movzx ecx, byte [rdi + rax*4 + 0x458]
mov al, byte [rcx + r10 + 0xa7cd0]
xor al, r8b
mov byte [r15], al
add r15, rbx
cmp rsi, rbp
jl 0x14000eeba
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, vtable.std::exception.0
mov ebx, 1
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x60]
xor eax, eax
mov byte [rsp + 0x48], bl
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x68], rax
lea rax, str.Object_not_Initialized
mov qword [rsp + 0x40], rax
call fcn.140057bc4
lea rdx, [0x1400b5eb0]
lea rcx, [rsp + 0x58]
call fcn.1400582e8
int3