Function at 0x14010c820
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
test r9d, r9d
mov rbx, rcx
mov rbp, rdx
jle 0x14010c849
mov eax, dword [rsp + 0x130]
test eax, eax
jne 0x14010c864
mov edi, 0x37
mov eax, edi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r8d, 0x30
je 0x14010c880
cmp r8d, 0x29
je 0x14010cbc0
mov edi, 0x95
jmp 0x14010c84e
mov r15d, 8
mov r12d, 0x400
mov esi, 0x400
mov r14d, 8
mov ecx, dword [rsp + 0x130]
xor edx, edx
mov edi, 0x8056
mov r13, rcx
imul r13, r12
mov rax, r13
div r12
cmp rcx, rax
jne 0x14010c84e
movsxd rax, r9d
xor edx, edx
mov r8, rax
mov rcx, rax
mov qword [rsp + 0x58], rax
imul r8, r12
mov rax, r8
div r12
cmp rcx, rax
jne 0x14010c84e
mov rcx, r13
mov qword [rsp + 0x40], r8
lea rdi, [r12 + 0x40]
call fcn.1400eb8b0
test rax, rax
mov qword [rsp + 0x78], rax
mov r8, qword [rsp + 0x40]
je 0x14010cbee
mov rcx, r8
call fcn.1400eb8b0
test rax, rax
mov qword [rsp + 0x60], rax
je 0x14010cbdc
mov rcx, rdi
call fcn.1400eb8b0
test rax, rax
mov qword [rsp + 0x40], rax
je 0x14010cc09
mov rax, qword [rsp + 0x78]
mov r9, qword [rsp + 0x120]
mov r8d, 8
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 1
mov rdx, rbp
mov rcx, rbx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
call fcn.1400fb2b0
test eax, eax
mov edi, eax
jne 0x14010cb9d
mov rax, qword [rsp + 0x58]
shl r15, 7
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x74], 0
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], r13
sub rax, 1
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x50], rax
lea eax, [rsi - 0x40]
mov esi, r12d
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x108], rbp
mov qword [rsp + 0x98], rax
mov rax, r12
and eax, 7
mov qword [rsp + 0x90], rax
mov r9d, dword [rsp + 0x74]
mov rax, qword [rsp + 0x78]
xor ebp, ebp
imul r9, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
lea r15, [rax + r9]
mov rax, qword [rsp + 0x80]
lea rbx, [r15 + rax]
mov r13, rbx
mov rbx, r15
mov r15, rax
mov rdx, qword [rbx]
lea rdi, [r12 + 8]
mov rcx, r12
mov rsi, rbx
add rbp, 1
and rdi, 0xfffffffffffffff8
mov qword [r12], rdx
mov rdx, qword [r13 - 8]
sub rcx, rdi
sub rsi, rcx
mov qword [r12 + r15 - 8], rdx
add ecx, dword [rsp + 0x68]
mov rdx, rbx
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
mov ecx, r14d
mov r8, qword [rsp + 0x40]
call fcn.14010c360
add r12, qword [rsp + 0x48]
cmp rbp, qword [rsp + 0x50]
jbe 0x14010ca12
mov rax, qword [rsp + 0x98]
mov r15, rbx
xor edi, edi
lea rbx, [rbx + rax]
mov rax, qword [rsp + 0x88]
mov r12, rbx
mov rbx, rdi
mov rdi, qword [rsp + 0x90]
lea rsi, [r15 + rax]
mov rax, qword [rsp + 0xa0]
lea rbp, [r15 + rax]
mov r13, rax
nop dword [rax + rax]
mov rax, qword [r12]
xor edx, edx
div qword [rsp + 0x58]
mov rax, r15
imul rdx, qword [rsp + 0x48]
add rdx, qword [rsp + 0x60]
mov rcx, rdx
nop dword [rax]
add rax, 8
add rcx, 8
mov r8, qword [rcx - 8]
xor qword [rax - 8], r8
cmp rax, rsi
jne 0x14010cac0
lea rax, [rdx + r13]
test rdi, rdi
mov rdx, rbp
lea rcx, [rax + rdi]
je 0x14010cafb
add rax, 1
add rdx, 1
movzx r8d, byte [rax - 1]
xor byte [rdx - 1], r8b
cmp rax, rcx
jne 0x14010cae5
mov r8, qword [rsp + 0x40]
mov rdx, r15
mov ecx, r14d
add rbx, 1
call fcn.14010c360
cmp rbx, qword [rsp + 0x50]
jbe 0x14010caa0
add dword [rsp + 0x74], 1
mov eax, dword [rsp + 0x74]
cmp dword [rsp + 0x130], eax
ja 0x14010c9e2
mov r13, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x100]
xor esi, esi
mov rbp, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x78]
jmp 0x14010cb59
cmp dword [rsp + 0x130], esi
jbe 0x14010cb9b
mov rax, qword [rsp + 0x140]
mov dword [rsp + 0x28], 1
mov r9, rdi
mov qword [rsp + 0x20], r13
mov r8d, 8
mov rdx, rbp
mov rcx, rbx
add esi, 1
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x30], rax
call fcn.1400fb2b0
test eax, eax
je 0x14010cb50
mov edi, eax
mov rcx, qword [rsp + 0x40]
call fcn.1400eba10
mov rcx, qword [rsp + 0x60]
call fcn.1400eba10
mov rcx, qword [rsp + 0x78]
call fcn.1400eba10
jmp 0x14010c84e
mov r15d, 1
mov r12d, pe_nt_image_headers64
mov esi, pe_nt_image_headers64
mov r14d, 1
jmp 0x14010c897
call fcn.14014d490
mov qword [rsp + 0x40], 0
mov edi, eax
jmp 0x14010cb9d
call fcn.14014d490
mov qword [rsp + 0x40], 0
mov edi, eax
mov qword [rsp + 0x60], 0
jmp 0x14010cb9d
call fcn.14014d490
mov edi, eax
jmp 0x14010cb9d