Function at 0x140091d4c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
cmp byte [rcx + 8], 0
mov r12, r8
mov rbp, rcx
je 0x140092162
movzx ebx, byte [rdx]
lea r15, [0x140000000]
movzx eax, byte [rdx + 1]
movzx edi, byte [rdx + 4]
movzx esi, byte [rdx + 8]
movzx r9d, byte [rdx + 0xe]
movsxd r14, dword [rbp + 0x3d4]
shl eax, 0x10
shl ebx, 0x18
or ebx, eax
shl edi, 0x18
movzx eax, byte [rdx + 2]
shl eax, 8
or ebx, eax
shl esi, 0x18
movzx eax, byte [rdx + 3]
or ebx, eax
shl r9d, 8
xor ebx, dword [rcx + 0xc]
movzx eax, byte [rdx + 5]
shl eax, 0x10
or edi, eax
movzx eax, byte [rdx + 6]
shl eax, 8
or edi, eax
movzx eax, byte [rdx + 7]
or edi, eax
movzx eax, byte [rdx + 9]
xor edi, dword [rcx + 0x10]
shl eax, 0x10
or esi, eax
movzx eax, byte [rdx + 0xa]
shl eax, 8
or esi, eax
movzx eax, byte [rdx + 0xb]
or esi, eax
movzx eax, byte [rdx + 0xd]
xor esi, dword [rcx + 0x14]
movzx ecx, byte [rdx + 0xc]
shl eax, 0x10
shl ecx, 0x18
or ecx, eax
movzx eax, byte [rdx + 0xf]
or r9d, eax
or r9d, ecx
xor r9d, dword [rbp + 0x18]
cmp r14, 1
jle 0x140091f69
lea r15, [rbp + 0x34]
lea r13, [r14 - 1]
lea r12, [0x140000000]
movsxd r10, r9d
movsxd r8, ebx
movsxd r9, edi
mov rax, r8
sar rax, 0x18
movzx edx, al
mov rax, r9
sar rax, 0x10
movzx ecx, al
movsxd r11, esi
mov ebx, dword [r12 + rdx*4 + 0xba3b0]
mov rax, r11
sar rax, 8
xor ebx, dword [r12 + rcx*4 + 0xb9fb0]
movzx ecx, al
movzx eax, r10b
xor ebx, dword [r12 + rcx*4 + 0xb9bb0]
xor ebx, dword [r12 + rax*4 + 0xb97b0]
mov rax, r9
xor ebx, dword [r15 - 8]
sar rax, 0x18
movzx edx, al
mov rax, r11
sar rax, 0x10
movzx ecx, al
mov rax, r10
sar rax, 8
mov edi, dword [r12 + rdx*4 + 0xba3b0]
xor edi, dword [r12 + rcx*4 + 0xb9fb0]
movzx ecx, al
movzx eax, r8b
xor edi, dword [r12 + rcx*4 + 0xb9bb0]
xor edi, dword [r12 + rax*4 + 0xb97b0]
mov rax, r8
xor edi, dword [r15 - 4]
sar rax, 8
movzx edx, al
mov rax, r11
sar rax, 0x18
movzx ecx, al
mov rax, r10
sar rax, 0x10
mov esi, dword [r12 + rdx*4 + 0xb9bb0]
sar r8, 0x10
xor esi, dword [r12 + rcx*4 + 0xba3b0]
movzx ecx, al
movzx eax, r9b
sar r9, 8
sar r10, 0x18
xor esi, dword [r12 + rcx*4 + 0xb9fb0]
xor esi, dword [r12 + rax*4 + 0xb97b0]
xor esi, dword [r15]
lea r15, [r15 + 0x20]
movzx eax, r9b
movzx ecx, r8b
mov r9d, dword [r12 + rcx*4 + 0xb9fb0]
xor r9d, dword [r12 + rax*4 + 0xb9bb0]
movzx eax, r10b
xor r9d, dword [r12 + rax*4 + 0xba3b0]
movzx eax, r11b
xor r9d, dword [r12 + rax*4 + 0xb97b0]
xor r9d, dword [r15 - 0x1c]
sub r13, 1
jne 0x140091e2f
mov r12, qword [rsp + 0x90]
lea r15, [0x140000000]
shl r14, 5
movsxd rbx, ebx
movsxd r10, esi
mov rax, rbx
sar rax, 0x18
mov r8d, dword [r14 + rbp + 0xc]
mov ecx, r8d
movzx edx, al
sar ecx, 0x18
movsxd r9, r9d
movsxd r11, edi
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov ecx, r8d
mov byte [r12], al
mov rax, r11
sar rax, 0x10
movzx edx, al
sar ecx, 0x10
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov ecx, r8d
mov byte [r12 + 1], al
mov rax, r10
sar rax, 8
movzx edx, al
sar ecx, 8
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov byte [r12 + 2], al
movzx eax, r9b
mov al, byte [rax + r15 + 0xba8b0]
xor al, r8b
mov byte [r12 + 3], al
mov rax, r11
mov r8d, dword [r14 + rbp + 0x10]
mov ecx, r8d
sar rax, 0x18
movzx edx, al
sar ecx, 0x18
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov ecx, r8d
mov byte [r12 + 4], al
mov rax, r10
sar rax, 0x10
movzx edx, al
sar ecx, 0x10
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov ecx, r8d
mov byte [r12 + 5], al
mov rax, r9
sar rax, 8
movzx edx, al
sar ecx, 8
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov byte [r12 + 6], al
movzx eax, bl
mov al, byte [rax + r15 + 0xba8b0]
xor al, r8b
mov byte [r12 + 7], al
mov rax, r10
mov r8d, dword [r14 + rbp + 0x14]
mov ecx, r8d
sar rax, 0x18
movzx edx, al
sar ecx, 0x18
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov ecx, r8d
mov byte [r12 + 8], al
mov rax, r9
sar rax, 0x10
movzx edx, al
sar ecx, 0x10
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov byte [r12 + 9], al
mov rax, rbx
sar rax, 8
mov ecx, r8d
movzx edx, al
sar ecx, 8
sar rbx, 0x10
sar r9, 0x18
mov al, byte [rdx + r15 + 0xba8b0]
xor al, cl
mov byte [r12 + 0xa], al
movzx eax, r11b
sar r11, 8
mov al, byte [rax + r15 + 0xba8b0]
xor al, r8b
mov byte [r12 + 0xb], al
mov edx, dword [r14 + rbp + 0x18]
mov ecx, edx
sar ecx, 0x18
movzx eax, r9b
mov al, byte [rax + r15 + 0xba8b0]
xor al, cl
mov ecx, edx
mov byte [r12 + 0xc], al
sar ecx, 0x10
movzx eax, bl
mov al, byte [rax + r15 + 0xba8b0]
xor al, cl
mov ecx, edx
mov byte [r12 + 0xd], al
movzx eax, r11b
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov al, byte [rax + r15 + 0xba8b0]
sar ecx, 8
xor al, cl
mov byte [r12 + 0xe], al
movzx eax, r10b
mov al, byte [rax + r15 + 0xba8b0]
xor al, dl
mov byte [r12 + 0xf], al
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rax, vtable.std::exception.0
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x38]
xor eax, eax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
lea rax, str.Object_not_Initialized
mov qword [rsp + 0x20], rax
call fcn.14004f738
lea rdx, [0x1400d1948]
lea rcx, [rsp + 0x30]
call fcn.14004fca4
int3