Function at 0x1400277e0
Capabilities:
Check mutex on windows
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x310
xor ebp, ebp
mov esi, ecx
mov rdi, r8
lea ecx, [rbp + 0x3a]
mov rbx, rdx
movzx r12d, bp
cmp rdx, rbp
je 0x140027831
cmp word [rdx], bp
je 0x140027831
cmp cx, word [rdx + 2]
jne 0x140027831
cmp word [rdx + 4], bp
je 0x14002782d
lea eax, [rbp + 0x5c]
cmp ax, word [rdx + 4]
jne 0x140027831
cmp word [rdx + 6], bp
jne 0x140027831
mov r12w, word [rdx]
mov eax, 0xff
mov word [rsp + 0x36a], cx
mov rcx, r8
mov word [rsp + 0x368], ax
mov word [rsp + 0x36c], bp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax + rax + 0x4a]
lea rcx, [rsp + 0x50]
movsxd rdx, eax
call fcn.140055ddc
mov r13, qword [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x98]
lea r8d, [rdx + 0x60]
mov dword [rsp + 0x90], 0x68
call fcn.1400cc8d0
or dword [rsp + 0xcc], 1
mov word [rsp + 0xd0], bp
movdqu xmm0, xmmword [str..D:]
movdqu xmmword [rsp + 0x78], xmm0
lea r8, str.ImDiskFormat
mov ebp, 8
xor edx, edx
xor ecx, ecx
mov r14d, ebp
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov r15, rax
mov qword [rsp + 0x58], rax
xor eax, eax
cmp r12w, ax
je 0x1400278df
mov word [rsp + 0x368], r12w
xor ebx, ebx
jmp 0x140027910
mov rcx, rbx
call fcn.1400195cc
xor ebx, ebx
cmp eax, ebx
mov esi, eax
jge 0x140027902
lea rcx, [rsp + 0x50]
call fcn.14004ea6c
neg esi
mov eax, esi
jmp 0x140027bb4
call qword [0x140106e58]
mov word [rsp + 0x368], ax
lea r8, str.DeviceImDisk_u
lea rcx, [rsp + 0x100]
mov r9d, esi
mov edx, 0x103
call fcn.1400cdd70
cmp word [rsp + 0x368], bx
jne 0x14002793d
xor edi, edi
jmp 0x140027b8e
cmp r12w, bx
jne 0x140027969
lea rdx, [rsp + 0x368]
lea rcx, [rsp + 0x100]
mov r9d, 1
xor r8d, r8d
mov byte [rsp + 0x20], bl
call fcn.14006527c
cmp eax, ebx
je 0x140027936
lea rdx, str.format.com
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [rsp + 0x368]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [0x1400e9f08]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, 0x22
lea r15d, [rax - 0x20]
cmp ax, word [rdi]
jne 0x1400279ca
add rdi, r15
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, ebx
jle 0x1400279ca
lea ecx, [r15 + 0x20]
cdqe
cmp cx, word [rdi + rax*2 - 2]
jne 0x1400279ca
mov word [rdi + rax*2 - 2], bx
mov rdx, rdi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [0x1400ed5fc]
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
cmp rax, rbx
jne 0x1400279fb
lea rdx, [0x1400ed5f0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [0x1400ed5fc]
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
xor edi, edi
cmp rax, rdi
jne 0x140027a22
lea rdx, [0x1400ed5e0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcatW]
movzx eax, word [rsp + 0x368]
mov ebx, 0x12b
mov word [rsp + 0x80], ax
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x78]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x140027a80
lea edx, [rax + 0x65]
lea rcx, [0x140106ec0]
xor r9d, r9d
xor r8d, r8d
call fcn.14001bbe8
sub ebx, 1
jns 0x140027a37
jmp 0x140027a89
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, 0x1d
lea rax, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x90]
mov rdx, r13
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor ecx, ecx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp eax, edi
jne 0x140027ae8
lea rcx, str.Cannot_format_drive:
call fcn.140019474
sub r15d, 1
js 0x140027ba8
jmp 0x140027b37
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x358], edi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x358]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rcx, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x358]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x358], edi
je 0x140027b56
xor r9d, r9d
lea rcx, [0x140106ec0]
xor r8d, r8d
lea edx, [r9 + 0x64]
call fcn.14001bbe8
sub ebx, 1
jns 0x140027a8e
cmp r12w, di
jne 0x140027b77
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x368]
mov ecx, 7
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
xor r9d, r9d
xor edx, edx
mov r8d, 0x10000
mov ecx, esi
call fcn.140019d14
mov r15, qword [rsp + 0x58]
cmp r15, rdi
je 0x140027ba5
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebp, r14d
lea rcx, [rsp + 0x50]
call fcn.14004ea6c
mov eax, ebp
mov rbx, qword [rsp + 0x350]
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret