Function at 0x436440
Capabilities:
Unmount volume via ioctl

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
mov eax, dword [str..C:]
mov dword [ebp - 0x134], eax
mov ecx, dword [0x443adc]
mov dword [ebp - 0x130], ecx
mov edx, dword [0x443ae0]
mov dword [ebp - 0x12c], edx
mov ax, word [0x443ae4]
mov word [ebp - 0x128], ax
mov byte [ebp - 0x121], 1
lea ecx, [ebp - 0x120]
push ecx
movzx edx, word [ebp + 8]
push edx
call fcn.00437810
test eax, eax
jne 0x4364b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Get_Volume_Information_failed__d
call fcn.004396b0
add esp, 8
xor eax, eax
jmp 0x436ba1
cmp dword [ebp - 0x11c], 1
je 0x4364cd
push str.Volume_is_not_protected
call fcn.004396b0
add esp, 4
xor eax, eax
jmp 0x436ba1
mov ax, word [ebp + 8]
mov word [ebp - 0x12c], ax
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xffffffff
jne 0x436521
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Open_Volume_failed__d
call fcn.004396b0
add esp, 8
xor eax, eax
jmp 0x436ba1
push 0x443b88
push 0x443b98
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x138], eax
push 0
lea edx, [ebp - 0x13c]
push edx
push 0
push 0
push 0
push 0
push 0x90018
mov eax, dword [ebp - 0x84]
push eax
call dword [ebp - 0x138]
test eax, eax
jne 0x436719
cmp dword [ebp + 0x10], 0
je 0x4366b4
push 0
lea ecx, [ebp - 0x13c]
push ecx
push 0
push 0
push 0
push 0
push 0x90020
mov edx, dword [ebp - 0x84]
push edx
call dword [ebp - 0x138]
test eax, eax
jne 0x4365db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
push eax
push str.Dismount_Volume1_failed__d
call fcn.004396b0
add esp, 8
mov ecx, dword [ebp - 0x84]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x144]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
mov eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xffffffff
jne 0x43664a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x148], eax
mov edx, dword [ebp - 0x148]
push edx
push str.Open_Volume1_failed__d
call fcn.004396b0
add esp, 8
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
push 0
lea ecx, [ebp - 0x13c]
push ecx
push 0
push 0
push 0
push 0
push 0x90018
mov edx, dword [ebp - 0x84]
push edx
call dword [ebp - 0x138]
test eax, eax
jne 0x4366b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x14c]
push ecx
push 0x443c1c
call fcn.004396b0
add esp, 8
mov edx, dword [ebp - 0x14c]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
jmp 0x436719
movzx eax, byte [ebp - 0x121]
test eax, eax
je 0x4366d8
mov byte [ebp - 0x121], 0
mov ecx, dword [ebp - 0x84]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4364cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x150]
push edx
push str.Lock_Volume11_failed__d
call fcn.004396b0
add esp, 8
mov eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
mov edx, dword [ebp - 0x120]
push edx
push str.DpShadow
push 0x443c7c
push 0x40
lea eax, [ebp - 0x80]
push eax
call fcn.00421c63
add esp, 0x14
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
lea ecx, [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0xffffffff
jne 0x4367cb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x154]
push edx
lea eax, [ebp - 0x80]
push eax
push str.Open_Volume2__s__failed__d
call fcn.004396b0
add esp, 0xc
push 0
lea ecx, [ebp - 0x13c]
push ecx
push 0
push 0
push 0
push 0
push 0x9001c
mov edx, dword [ebp - 0x84]
push edx
call dword [ebp - 0x138]
mov eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x154]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
push 0
lea edx, [ebp - 0x13c]
push edx
push 0
push 0
push 0
push 0
push 0x90018
mov eax, dword [ebp - 0x140]
push eax
call dword [ebp - 0x138]
test eax, eax
jne 0x4369c2
push 0
lea ecx, [ebp - 0x13c]
push ecx
push 0
push 0
push 0
push 0
push 0x90020
mov edx, dword [ebp - 0x140]
push edx
call dword [ebp - 0x138]
test eax, eax
jne 0x43688e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
push eax
push str.Dismount_Volume2_failed__d
call fcn.004396b0
add esp, 8
push 0
lea ecx, [ebp - 0x13c]
push ecx
push 0
push 0
push 0
push 0
push 0x9001c
mov edx, dword [ebp - 0x84]
push edx
call dword [ebp - 0x138]
mov eax, dword [ebp - 0x140]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x84]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x158]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
mov eax, dword [ebp - 0x140]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
lea ecx, [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0xffffffff
jne 0x43692a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0x15c]
push edx
push str.Open_Volume3_failed__d
call fcn.004396b0
add esp, 8
push 0
lea eax, [ebp - 0x13c]
push eax
push 0
push 0
push 0
push 0
push 0x9001c
mov ecx, dword [ebp - 0x84]
push ecx
call dword [ebp - 0x138]
mov edx, dword [ebp - 0x84]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
push 0
lea ecx, [ebp - 0x13c]
push ecx
push 0
push 0
push 0
push 0
push 0x90018
mov edx, dword [ebp - 0x140]
push edx
call dword [ebp - 0x138]
test eax, eax
jne 0x4369c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x160], eax
push 0
lea eax, [ebp - 0x13c]
push eax
push 0
push 0
push 0
push 0
push 0x9001c
mov ecx, dword [ebp - 0x84]
push ecx
call dword [ebp - 0x138]
mov edx, dword [ebp - 0x140]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x160]
push ecx
push str.Lock_Volume12_failed__d
call fcn.004396b0
add esp, 8
mov edx, dword [ebp - 0x160]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x436ba1
jmp 0x46bf6f
mov esp, ebp
pop ebp
ret 0x10