Function at 0x18001a590
Capabilities:
Delete drive layout via ioctl
Unmount volume via ioctl
Write file on windows

Disassembly:
mov r11, rsp
push rbx
push rsi
sub rsp, 0x128
mov rax, qword [0x18002d000]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov eax, dword [r9 + 0xc]
mov ebx, dword [r9 + 0x10]
mov qword [r11 - 0x18], rbp
mov qword [r11 - 0x20], rdi
imul rbx, rax
mov eax, dword [r9 + 0x14]
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
imul rbx, rax
imul rbx, qword [r9]
mov qword [r11 - 0x40], r15
xor r15d, r15d
mov rbp, r9
mov r13d, r8d
mov r14, rdx
mov rdi, rcx
mov esi, r15d
cmp rbx, 0x10000
jae 0x18001a602
lea ebx, [r15 + 0x14]
jmp 0x18001a755
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov edx, 0x90018
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x18001a638
lea ebx, [rax + 7]
jmp 0x18001a755
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov edx, 0x7c100
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r12d, dword [rbp + 0x14]
mov ecx, r12d
call qword [sym.imp.msvcrt.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x18001a682
lea ebx, [rax + 9]
jmp 0x18001a71f
mov r8, r12
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x88
call sub.msvcrt.dll_memset
mov r8d, dword [rbp + 0x14]
lea r9, [rsp + 0x40]
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x38], r15
lea rax, [rbx - 0x10000]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x40]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov r9d, 0x88
mov edx, 0x7c010
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x50], 4
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x58], 0x10000
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x70], 0x101010b
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x18001a76c
lea ebx, [rax + 1]
test rdi, rdi
je 0x18001a851
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov edx, 0x9001c
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test rdi, rdi
je 0x18001a851
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18001a851
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov edx, 0x90020
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x9001c
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.fmifs
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
test rax, rax
jne 0x18001a7e9
lea ebx, [rax + 1]
jmp 0x18001a838
lea rdx, str.Format
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x18001a803
lea ebx, [rax + 1]
jmp 0x18001a82f
lea rcx, [0x180017650]
lea r9, [0x180027ca4]
lea r8, [0x180027ae8]
mov qword [rsp + 0x28], rcx
mov rcx, r14
xor edx, edx
mov dword [rsp + 0x20], 1
call rax
mov ebx, r15d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test ebx, ebx
jne 0x18001a851
mov r8d, dword [rsp + 0x160]
lea edx, [rbx + 1]
mov ecx, r13d
call sym.dcapi.dll_dc_set_mbr
mov ebx, eax
mov r15, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x100]
mov r13, qword [rsp + 0x108]
mov r12, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x120]
test rsi, rsi
je 0x18001a88f
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
mov eax, ebx
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.18000ee20
add rsp, 0x128
pop rsi
pop rbx
ret