Function at 0x1400017c0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x490
mov rax, qword [0x140052010]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov qword [rsp + 0x70], rcx
mov rdi, rcx
mov rax, qword [0x1400527a0]
mov ecx, edx
sar ecx, 0x10
add rax, 0xdf86ad0
shl ecx, 3
xor esi, esi
add rcx, rax
mov ebx, edx
call fcn.14000fdc0
mov rcx, rax
movzx eax, bx
lea r12, [rcx + rax*4]
mov rcx, r12
call fcn.14000fe60
movzx ebp, ax
shr ebp, 6
test ebp, ebp
je 0x140001a1b
mov qword [rsp + 0x4d0], r14
mov ebx, esi
mov qword [rsp + 0x4d8], r15
mov r14d, esi
mov r15d, ebp
mov rdx, qword [0x1400528e8]
mov ecx, r14d
add rcx, 4
mov dword [rsp + 0x30], 1
add rcx, r12
mov eax, dword [rdx]
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x60], 1
mov eax, dword [rdx + 0x20]
mov dword [rsp + 0x64], eax
lea rax, [rdx + 0x18]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
movups xmm0, xmmword [rsp + 0x28]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rdx + 8]
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rdx + 0x10]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
movzx eax, byte [rsp + 0x68]
inc r14d
mov byte [rsp + rbx + 0x80], al
inc rbx
cmp rbx, r15
jl 0x140001841
mov r14, qword [rsp + 0x4d0]
lea rdx, [rsp + 0x80]
dec rdx
mov r8d, esi
mov ecx, 0x1c
mov eax, r8d
lea rdx, [rdx + 1]
or eax, 0xb000
inc r8d
add ecx, eax
movzx eax, byte [rdx]
not al
xor al, cl
shr ecx, 2
mov byte [rdx], al
cmp r8d, ebp
jl 0x1400018f0
mov r15, qword [rsp + 0x4d8]
lea rax, [rsp + 0x80]
xorps xmm0, xmm0
mov byte [rsp + rbp + 0x80], sil
movups xmmword [rdi], xmm0
mov rdx, 0xffffffffffffffff
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, rdx
inc rbx
cmp byte [rax + rbx], sil
jne 0x140001942
movabs rbp, 0x7fffffffffffffff
cmp rbx, rbp
ja 0x140001a57
mov qword [rdi + 0x18], 0xf
cmp rbx, 0x10
jae 0x14000198c
mov r8, rbx
mov qword [rdi + 0x10], rbx
lea rdx, [rsp + 0x80]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], sil
jmp 0x140001a30
mov rax, rbx
or rax, 0xf
cmp rax, rbp
ja 0x1400019a7
mov ecx, 0x16
mov rbp, rax
cmp rax, rcx
cmovb rbp, rcx
mov rcx, rbp
add rcx, 1
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x1400019ea
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001a51
mov rcx, rax
call fcn.140043124
test rax, rax
je 0x1400019e3
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400019f7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x1400019f7
call fcn.140043124
mov rsi, rax
mov r8, rbx
mov qword [rdi], rsi
lea rdx, [rsp + 0x80]
mov qword [rdi + 0x10], rbx
mov rcx, rsi
mov qword [rdi + 0x18], rbp
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
jmp 0x140001a30
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov byte [rdi], sil
mov rax, rdi
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.140042d20
add rsp, 0x490
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1400012b0
int3
call fcn.140001350
int3