Function at 0x14002ef0c
Capabilities:
Unmount volume via ioctl

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x140197b10]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r13d, r8d
mov rbx, rdx
mov ebp, ecx
lea rcx, [r11 - 0x60]
lea r12, [0x140000000]
mov eax, dword [r12 + 0x148b2c]
mov dword [rcx], eax
movzx eax, word [r12 + 0x148b30]
mov word [rcx + 4], ax
mov edi, 2
lea esi, [rdi + 0x38]
mov r14d, dword [rsp + 0xe0]
xor r15d, r15d
cmp r9d, r15d
je 0x14002efaf
mov edx, ebp
xor ecx, ecx
call qword [0x14019c118]
cmp eax, r15d
jne 0x14002f4e2
lea rax, str.Error
cmp rbx, r15
cmove rbx, rax
mov rcx, rbx
call fcn.14002ecf8
mov eax, edi
jmp 0x14002f600
mov edx, 0x448
lea rcx, [rsp + 0x50]
call fcn.1400632b0
nop
mov r12, qword [rsp + 0x50]
cmp rbx, r15
jne 0x14002f012
mov edx, 0xc0000000
mov ecx, ebp
call qword [0x14019c140]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002f250
mov edx, 0x80000000
mov ecx, ebp
call qword [0x14019c140]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002f250
mov edx, 0x80
mov ecx, ebp
call qword [0x14019c140]
mov rsi, rax
jmp 0x14002f14a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, edi
jne 0x14002f02b
mov ecx, r15d
cmp word [rbx + 2], si
sete cl
jmp 0x14002f057
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jne 0x14002f054
lea rcx, [rbx + 2]
lea rdx, [0x140148b18]
call fcn.14010e1b8
mov ecx, r15d
cmp eax, r15d
sete cl
jmp 0x14002f057
mov ecx, r15d
cmp ecx, r15d
je 0x14002f178
lea rcx, [rsp + 0x60]
lea rdx, [0x140000000]
mov rax, qword [rdx + 0x148b08]
mov qword [rcx], rax
mov eax, dword [rdx + 0x148b10]
mov dword [rcx + 8], eax
movzx eax, word [rdx + 0x148b14]
mov word [rcx + 0xc], ax
movzx edx, word [rbx]
mov word [rsp + 0x68], dx
mov ecx, r15d
cmp dx, 0x5a
setbe cl
mov eax, r15d
cmp dx, 0x41
setae al
test eax, ecx
je 0x14002f0b7
movzx ecx, dx
mov r8d, r14d
xor edx, edx
call fcn.14002eb48
mov qword [rsp + 0x30], r15
mov ebp, 0x20000000
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002f250
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], ebp
lea r8d, [rax + 4]
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov edx, 0x80000000
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002f250
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], ebp
lea eax, [rsi + 4]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, eax
lea edx, [rax + 0x7d]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
jne 0x14002f250
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jne 0x14002f166
lea edi, [rsi + 2]
jmp 0x14002f484
lea rcx, str.Error_opening_device:
call fcn.14002ecf8
nop
jmp 0x14002f484
mov edx, 0xc0000000
mov rcx, rbx
call qword [0x14019c148]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002f250
mov edx, 0x80000000
mov rcx, rbx
call qword [0x14019c148]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002f250
mov edx, 0x80
mov rcx, rbx
call qword [0x14019c148]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002f250
call qword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 1
je 0x14002f23c
sub eax, 0x56
je 0x14002f228
sub eax, 0x3a
je 0x14002f1fb
sub eax, 0x7a
je 0x14002f1fb
cmp eax, 0x101b
je 0x14002f1fb
mov rcx, rbx
call fcn.14002ecf8
nop
lea edi, [rsi + 0xa]
jmp 0x14002f484
call fcn.14010df94
mov r8, rbx
lea rdx, str.Not_a_mount_point:__1_ws__n
lea rcx, [rax + 0x60]
call fcn.14002ec70
nop
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov eax, 9
jmp 0x14002f600
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov eax, 9
jmp 0x14002f600
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov eax, 9
jmp 0x14002f600
mov rcx, rsi
call fcn.14002ed74
cmp eax, r15d
jne 0x14002f271
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov edi, 5
jmp 0x14002f484
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x448
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0x83722008
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, r15d
jne 0x14002f2cc
mov rcx, rbx
call fcn.14002ecf8
call fcn.14010df94
mov r8, rbx
lea rdx, str._1_ws_:_Is_that_drive_really_an_ImDisk_drive_
lea rcx, [rax + 0x60]
call fcn.14002ec70
nop
jmp 0x14002f484
cmp dword [rsp + 0x40], 0x36
jae 0x14002f2f1
call fcn.14010df94
mov r8, rbx
lea rdx, str._1_ws_:_Is_that_drive_really_an_ImDisk_drive_
lea rcx, [rax + 0x60]
call fcn.14002ec70
nop
jmp 0x14002f484
movzx edx, word [r12 + 0x2c]
mov ecx, r15d
cmp dx, r15w
setne cl
mov eax, r15d
cmp rbx, r15
sete al
test eax, ecx
je 0x14002f318
mov word [rsp + 0x58], dx
lea rbx, [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov ebp, 0x90018
mov edx, ebp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, r15d
jne 0x14002f3cd
cmp r13d, r15d
je 0x14002f3b1
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea edx, [rbp + 8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov edx, ebp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
jmp 0x14002f418
lea rax, str.Error
cmp rbx, r15
cmove rbx, rax
mov rcx, rbx
call fcn.14002ecf8
nop
jmp 0x14002f484
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov edx, 0x90020
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, r15d
jne 0x14002f418
lea rax, str.Error
cmp rbx, r15
cmove rbx, rax
mov rcx, rbx
call fcn.14002ecf8
nop
jmp 0x14002f484
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2d4808
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp eax, r15d
jne 0x14002f495
cmp r13d, r15d
je 0x14002f465
xor edx, edx
mov rcx, rsi
call qword [0x14019c118]
mov ecx, r15d
cmp eax, r15d
sete cl
jmp 0x14002f468
mov ecx, r15d
cmp ecx, r15d
je 0x14002f495
lea rax, str.Error
cmp rbx, r15
cmove rbx, rax
mov rcx, rbx
call fcn.14002ecf8
nop
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov eax, edi
jmp 0x14002f600
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov edx, 0x9001c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov esi, 0x3a
lea r12, [0x140000000]
cmp rbx, r15
je 0x14002f5fe
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, edi
jne 0x14002f504
mov ecx, r15d
cmp word [rbx + 2], si
sete cl
jmp 0x14002f530
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jne 0x14002f52d
lea rcx, [rbx + 2]
lea rdx, [0x140148b18]
call fcn.14010e1b8
mov ecx, r15d
cmp eax, r15d
sete cl
jmp 0x14002f530
mov ecx, r15d
cmp ecx, r15d
je 0x14002f5ae
lea rcx, [rsp + 0x50]
mov eax, dword [r12 + 0x148b2c]
mov dword [rcx], eax
movzx eax, word [r12 + 0x148b30]
mov word [rcx + 4], ax
movzx eax, word [rbx]
mov word [rsp + 0x50], ax
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
cmp eax, r15d
jne 0x14002f576
mov rcx, rbx
call fcn.14002ecf8
movzx ecx, word [rbx]
call fcn.14005eb10
lea r11, [rsp + 0x60]
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x219
mov ecx, 0xffff
lea r8d, [r9 + 7]
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
jmp 0x14002f5fe
mov rcx, rbx
call qword [0x14019c150]
cmp eax, r15d
jne 0x14002f5fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 1
je 0x14002f5fe
sub eax, 0x56
je 0x14002f5fe
sub eax, esi
je 0x14002f5e6
sub eax, 0x7a
je 0x14002f5e6
cmp eax, 0x101b
je 0x14002f5e6
mov rcx, rbx
call fcn.14002ecf8
jmp 0x14002f5fe
call fcn.14010df94
mov r8, rbx
lea rdx, str.Not_a_mount_point:__1_ws__n
lea rcx, [rax + 0x60]
call fcn.14002ec70
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14010bcc0
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret