Function at 0x14026cba0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x498
mov rax, qword [0x14048a080]
xor rax, rsp
mov qword [rsp + 0x480], rax
cmp dword [rcx + 0x148], 1
mov r12, r9
mov rax, qword [rsp + 0x508]
mov rsi, r8
mov r15, qword [rsp + 0x510]
mov rdi, rdx
mov qword [rsp + 0x30], rax
mov rbp, rcx
mov rax, qword [rsp + 0x518]
mov qword [rsp + 0x38], rax
jne 0x14026cebb
mov r14, qword [rcx + 8]
lea rax, [r14 - 0x10]
cmp rax, 0x3f0
ja 0x14026cebb
mov ecx, dword [rcx + 0x14c]
call fcn.14026e0f0
movzx ebx, al
test al, al
je 0x14026cebb
lea r13d, [rbx + rbx]
lea ecx, [r13 + 2]
cmp rcx, r14
ja 0x14026cebb
lea rax, [rsp + 0x80]
mov r9, r15
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rbp
call fcn.14026c600
mov edi, eax
test eax, eax
jne 0x14026ce96
mov eax, dword [rbp + 0x14c]
lea rcx, [rsp + 0x81]
mov esi, ebx
mov dword [rsp + 0x20], eax
mov r15, r14
mov edx, esi
sub r15, rbx
lea rbx, [rsp + 0x81]
add rbx, rsi
mov r8, rbx
lea r9, [r15 - 1]
call fcn.14026d100
mov edi, eax
test eax, eax
jne 0x14026ce96
mov eax, dword [rbp + 0x14c]
lea r8, [rsp + 0x81]
mov r9d, esi
mov dword [rsp + 0x20], eax
lea rdx, [r15 - 1]
mov rcx, rbx
call fcn.14026d100
mov edi, eax
test eax, eax
jne 0x14026ce96
mov ecx, dword [rbp + 0x14c]
call fcn.140263e60
test rax, rax
jne 0x14026cce6
mov edi, 0xffffbf80
jmp 0x14026ce96
mov r8, qword [rsp + 0x500]
lea r9, [rsp + 0x40]
mov rdx, r12
mov rcx, rax
call fcn.1402637d0
mov edi, eax
test eax, eax
jne 0x14026ce96
movzx r8d, byte [rsp + 0x80]
xor edi, edi
mov ecx, edi
test rsi, rsi
je 0x14026cdc5
cmp rsi, 0x20
jb 0x14026cdb0
mov rax, rsi
lea rdx, [rsp + 0x40]
and rax, 0xffffffffffffffe0
xorps xmm3, xmm3
xorps xmm2, xmm2
nop word [rax + rax]
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rdx + rcx]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbx + 0x10]
add rbx, 0x20
orps xmm3, xmm1
movdqu xmm1, xmmword [rsp + rcx + 0x50]
add rcx, 0x20
xorps xmm1, xmm0
orps xmm2, xmm1
cmp rcx, rax
jb 0x14026cd40
orps xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 2
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 1
orps xmm2, xmm0
movd eax, xmm2
or r8b, al
cmp rcx, rsi
jae 0x14026cdc5
nop dword [rax]
movzx eax, byte [rsp + rcx + 0x40]
inc rcx
xor al, byte [rbx]
inc rbx
or r8b, al
cmp rcx, rsi
jb 0x14026cdb0
mov eax, r13d
mov rbp, r14
sub rbp, rax
xor dl, dl
add rbp, 0xfffffffffffffffe
mov r9, rdi
mov r10, rdi
mov r11, rdi
mov rcx, rdi
cmp rbp, 2
jb 0x14026ce26
lea rsi, [rbp - 1]
nop word [rax + rax]
or dl, byte [rcx + rbx]
movzx eax, dl
neg al
or al, dl
or dl, byte [rbx + rcx + 1]
not al
add rcx, 2
movzx eax, al
shr rax, 7
add r9, rax
movzx eax, dl
neg al
or al, dl
not al
movzx eax, al
shr rax, 7
add r10, rax
cmp rcx, rsi
jb 0x14026cdf0
cmp rcx, rbp
jae 0x14026ce3f
or dl, byte [rcx + rbx]
movzx eax, dl
neg al
or al, dl
not al
movzx r11d, al
shr r11, 7
lea rax, [r10 + r9]
add rax, r11
add rbx, rax
movzx eax, byte [rbx]
inc rbx
xor al, 1
or r8b, al
je 0x14026ce5d
mov edi, 0xffffbf00
jmp 0x14026ce96
sub r14, rbx
lea r8, [rsp + 0x80]
add r8, r14
cmp r8, qword [rsp + 0x520]
jbe 0x14026ce7c
mov edi, 0xffffbc00
jmp 0x14026ce96
mov rax, qword [rsp + 0x30]
mov qword [rax], r8
test r8, r8
je 0x14026ce96
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov edx, 0x400
lea rcx, [rsp + 0x80]
call fcn.140265080
mov edx, 0x40
lea rcx, [rsp + 0x40]
call fcn.140265080
mov eax, edi
jmp 0x14026cec0
mov eax, 0xffffbf80
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.14028bc60
add rsp, 0x498
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret