Function at 0x1400f8220
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x218]
sub rsp, 0x318
mov rax, qword [0x1405fa008]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rdi, rcx
mov qword [rsp + 0x30], r9
lea rcx, [rbp - 0x80]
mov r15, r9
mov r13, r8
mov r12, rdx
call fcn.1400ee8dc
xor ebx, ebx
lea r9, [0x1400b5a70]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x38], rbx
lea edx, [rbx + 0x10]
lea r8d, [rbx + 2]
call fcn.14003c25c
mov rcx, qword [rdi + 8]
lea r9, [rsp + 0x40]
mov esi, 0xa0
mov qword [rsp + 0x50], rbx
mov r8d, esi
mov qword [rsp + 0x20], rbx
lea rdx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1400f82cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14003de7c
mov ebx, eax
mov ecx, eax
call fcn.14003e600
jmp 0x1400f8649
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x1400f82e0
mov ebx, 0x80070026
mov ecx, ebx
jmp 0x1400f82c5
cmp eax, esi
je 0x1400f82ef
mov edi, 0x8007000d
mov ebx, edi
mov ecx, edi
jmp 0x1400f82c5
mov esi, dword [rbp - 4]
test esi, esi
je 0x1400f82e4
mov edx, esi
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14003bcf0
mov r14, qword [rsp + 0x38]
test r14, r14
jne 0x1400f8321
mov ebx, 0x8007000e
jmp 0x1400f82dc
mov rcx, qword [rdi + 8]
lea r9, [rsp + 0x40]
mov r8d, esi
mov qword [rsp + 0x20], rbx
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400f82b4
cmp esi, dword [rsp + 0x40]
jne 0x1400f82e4
mov rbx, qword [rdi + 0x18]
lea rax, [rbp - 0x80]
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x60], 0x80
mov dword [rsp + 0x70], esi
mov qword [rsp + 0x78], r14
call fcn.14003a604
lea rcx, [rbp + 0xb0]
call fcn.14003a604
cmp dword [rdi + 0x20], 0x40
jbe 0x1400f838e
mov ebx, 0x80004005
mov ecx, ebx
jmp 0x1400f843a
xor edx, edx
lea rcx, [rbp + 0x180]
lea r8d, [rdx + 0x40]
call fcn.14001ba6e
xor edx, edx
lea rcx, [rbp + 0x140]
lea r8d, [rdx + 0x40]
call fcn.14001ba6e
mov edi, dword [rdi + 0x20]
lea rcx, [rbp + 0x180]
mov r8d, edi
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov r8d, edi
lea rcx, [rbp + 0x140]
mov rdx, rbx
call sub.msvcrt.dll_memcpy
xor edi, edi
mov eax, edi
lea ecx, [rdi + 4]
movdqu xmm0, xmmword [rbp + rax + 0x180]
lea rax, [rax + 0x10]
pxor xmm0, xmmword [str.6666666666666666_]
movdqu xmmword [rbp + rax + 0x170], xmm0
movdqu xmm0, xmmword [rbp + rax + 0x130]
pxor xmm0, xmmword [0x1403a6380]
movdqu xmmword [rbp + rax + 0x130], xmm0
sub rcx, 1
jne 0x1400f83e0
lea r8d, [rcx + 0x40]
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x180]
call fcn.14007ae3c
mov ebx, eax
test eax, eax
jns 0x1400f8444
mov ecx, eax
call fcn.14003e600
jmp 0x1400f84e8
mov r15d, edi
lea rdi, [rsp + 0x68]
mov r8d, dword [rdi - 8]
lea rcx, [rbp + 0x20]
mov rdx, qword [rdi]
call fcn.14007ae3c
mov ebx, eax
test eax, eax
js 0x1400f84dc
inc r15d
add rdi, 0x10
cmp r15d, 2
jb 0x1400f844c
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x20]
call fcn.140062c08
mov ebx, eax
test eax, eax
js 0x1400f84dc
mov r8d, 0x40
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0xb0]
call fcn.14007ae3c
mov ebx, eax
test eax, eax
js 0x1400f84dc
mov r8d, 0x20
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0xb0]
call fcn.14007ae3c
mov ebx, eax
test eax, eax
js 0x1400f84dc
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0xb0]
call fcn.140062c08
mov ebx, eax
test eax, eax
jns 0x1400f84e3
mov ecx, eax
call fcn.14003e600
mov r15, qword [rsp + 0x30]
xor eax, eax
lea rdi, [rbp + 0x180]
lea edx, [rax + 0x40]
mov ecx, edx
rep stosb byte [rdi], al
mov ecx, edx
lea rdi, [rbp + 0x140]
rep stosb byte [rdi], al
mov ecx, ebx
call fcn.14006a86c
test ebx, ebx
jns 0x1400f8515
mov ecx, ebx
call fcn.14003e600
mov ecx, ebx
call fcn.14006a86c
mov edi, 0x8007000d
test ebx, ebx
jns 0x1400f8529
mov ecx, ebx
jmp 0x1400f8547
mov r8d, 0x20
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp]
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400f854c
mov ebx, edi
mov ecx, edi
call fcn.14003e600
mov ecx, ebx
call fcn.14006a86c
cmp ebx, edi
jne 0x1400f8580
xor eax, eax
lea r8, [rbp - 0x80]
xor r9d, r9d
mov word [rbp - 0xa], ax
mov edx, 0x800004a0
mov qword [rsp + 0x20], rax
lea ecx, [rax + 2]
call fcn.14006a49c
mov ebx, 0xc004e025
jmp 0x1400f82dc
test ebx, ebx
js 0x1400f82dc
mov r8d, 0x3c
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.14007b650
mov ebx, eax
test eax, eax
js 0x1400f82dc
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.14003f3c8
xor ecx, ecx
mov ebx, eax
test eax, eax
js 0x1400f82c3
cmp dword [rbp - 8], ecx
je 0x1400f862f
mov eax, esi
and eax, 0xf
test al, al
jne 0x1400f82e9
lea rcx, [0x14041cd98]
call fcn.140014e98
mov rdi, rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x50]
mov edx, esi
mov rcx, r14
call rdi
mov rcx, rdi
mov ebx, eax
call fcn.140018b24
xor edi, edi
test ebx, ebx
js 0x1400f82dc
mov esi, dword [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.14007cb64
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x50], rdi
call fcn.1400b7c18
mov r14, qword [rsp + 0x38]
xor ecx, ecx
mov rax, qword [rsp + 0x48]
mov qword [r12], rax
mov dword [r13], esi
mov qword [r15], r14
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], rcx
mov ecx, ebx
call fcn.14006a86c
lea rcx, [rsp + 0x50]
call fcn.14003b618
lea rcx, [rsp + 0x38]
call fcn.14003b618
lea rcx, [rsp + 0x48]
call fcn.14003b968
mov eax, ebx
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14001af10
add rsp, 0x318
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret