Function at 0x140004550
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r14
lea rbp, [r11 - 0x188]
sub rsp, 0x268
mov rax, qword [0x14000e8e8]
xor rax, rsp
mov qword [rbp + 0x150], rax
test byte [rcx], 0xe0
mov rdi, r8
mov qword [r11 + 8], rbx
mov r14, rdx
mov qword [r11 - 0x28], r15
mov r15, rcx
je 0x1400045bb
test r8, r8
lea rbx, str._none_
mov ecx, 2
cmovne rbx, r8
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rbx
lea rdx, str.FILE__s_____s_n
mov rcx, rax
mov r8, r14
call fcn.140003670
mov r8d, dword [section..data]
lea r10, [rsp + 0x30]
mov r9d, dword [0x14000e004]
mov esi, 0x190
mov r11d, esi
nop word [rax + rax]
mov ecx, r8d
lea r10, [r10 + 1]
shr ecx, 0x19
mov eax, r9d
shl eax, 7
or ecx, eax
mov eax, r8d
shr eax, 0xc
movzx eax, al
movzx edx, cl
mov ecx, r8d
xor edx, eax
shr ecx, 0x18
mov eax, r9d
shl r8d, 8
shl eax, 8
mov r9d, ecx
or r9d, eax
mov byte [r10 - 1], dl
or r8d, edx
sub r11, 1
jne 0x1400045e0
xor eax, eax
mov dword [section..data], r8d
mov qword [rsp + 0x48], rax
lea rdx, [0x14000b6ac]
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
mov dword [rbp + 0x94], eax
mov rcx, r14
mov dword [rbp + 0x9c], eax
lea rax, [rsp + 0x30]
mov qword [rbp + 0xb0], rax
lea rax, [0x140002500]
mov qword [rbp + 0xb8], rax
mov dword [0x14000e004], r9d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rdi
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rbp + 0xa0], xmm0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov r15, qword [rsp + 0x260]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400046c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rcx, r14
mov edx, dword [rax]
or dword [rsp + 0x48], 0x10
mov dword [rsp + 0x4c], edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
mov r14d, 0x10
jmp 0x140004714
test rdi, rdi
je 0x140004707
lea rdx, [0x14000b6b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x140004707
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rcx, rdi
mov edx, dword [rax]
or dword [rsp + 0x48], 0x20
mov dword [rsp + 0x50], edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
mov r14d, 0x20
jmp 0x140004714
lea rcx, [rsp + 0x30]
call fcn.140005be0
mov r14d, eax
cmp qword [rbp + 0xa8], 0
je 0x14000472a
lea rcx, [rbp + 0xa8]
call fcn.140001000
cmp qword [rbp + 0xa0], 0
je 0x140004740
lea rcx, [rbp + 0xa0]
call fcn.140002b40
mov rcx, qword [rsp + 0x70]
mov edi, dword [rsp + 0x48]
test rcx, rcx
je 0x140004754
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140004814
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov rcx, qword [rsp + 0x78]
mov ebx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
mov rcx, qword [rsp + 0x78]
or ebx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
or eax, ebx
je 0x140004814
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
mov ecx, dword [rsp + 0x4c]
test ecx, ecx
je 0x1400047df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov ecx, 2
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x38]
lea r9, str.read_failure:
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, str.output_write_error
lea rdx, str._s:__s__s___s__n
mov qword [rsp + 0x20], rax
call fcn.140003670
jmp 0x140004811
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x38]
lea r9, str.read_failure:
mov rcx, rax
lea rdx, str._s:__s__s_n
lea rax, str.output_write_error
mov qword [rsp + 0x20], rax
call fcn.140003670
or edi, 0x20
mov rax, qword [rsp + 0x30]
lea r10, [rsp + 0x30]
mov rbx, qword [rsp + 0x290]
or dword [rax + 8], edi
mov r8d, dword [section..data]
mov r9d, dword [0x14000e004]
nop word [rax + rax]
mov ecx, r8d
lea r10, [r10 + 1]
shr ecx, 0x19
mov eax, r9d
shl eax, 7
or ecx, eax
mov eax, r8d
shr eax, 0xc
movzx eax, al
movzx edx, cl
mov ecx, r8d
xor edx, eax
shr ecx, 0x18
mov eax, r9d
shl r8d, 8
shl eax, 8
mov r9d, ecx
or r9d, eax
or r8d, edx
sub rsi, 1
jne 0x140004840
or edi, r14d
mov dword [section..data], r8d
mov eax, edi
mov dword [0x14000e004], r9d
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140007ba0
add rsp, 0x268
pop r14
pop rdi
pop rsi
pop rbp
ret