Function at 0x140005ca0
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x490
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov rbx, rcx
lea rcx, [rsp + 0x82]
xor esi, esi
xor edx, edx
mov r8d, 0x3fe
mov word [rsp + 0x80], si
call fcn.14000fe80
lea rcx, str.VentoyMountISOByAPI___s_
mov rdx, rbx
call fcn.140005180
mov rdx, rbx
mov rcx, rbx
neg rdx
nop
movzx eax, byte [rcx]
test al, al
je 0x140005d1e
cmp al, 0x7f
ja 0x140005dec
inc rcx
lea rax, [rdx + rcx]
cmp rax, 0x104
jl 0x140005d00
lea rcx, str.This_is_ANSI_encoding
call fcn.140005180
or r9, 0xffffffffffffffff
nop
inc r9
cmp byte [rbx + r9], sil
jne 0x140005d30
xor ecx, ecx
lea rax, [rsp + 0x80]
mov r8, rbx
xor edx, edx
mov dword [rsp + 0x28], 0x200
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
mov edi, esi
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], eax
nop dword [rax + rax]
lea rax, [rsp + 0x30]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
xor r9d, r9d
mov r8d, 0xd0000
mov qword [rsp + 0x20], rax
call qword [sym.imp.VirtDisk.dll_OpenVirtualDisk]
mov ebx, eax
add eax, 0xfffffffe
cmp eax, 1
ja 0x140005e13
lea rcx, str.OpenVirtualDisk_ErrorCode:_u__now_wait_and_retry...
mov edx, ebx
call fcn.140005180
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0xa
jl 0x140005d90
jmp 0x140005e51
lea rcx, str.This_is_UTF8_encoding
call fcn.140005180
or r9, 0xffffffffffffffff
nop dword [rax]
inc r9
cmp byte [rbx + r9], sil
jne 0x140005e00
mov ecx, 0xfde9
jmp 0x140005d3b
test ebx, ebx
jne 0x140005e25
lea rcx, str.OpenVirtualDisk_success
call fcn.140005180
jmp 0x140005e59
cmp ebx, 0xc03a0014
jne 0x140005e43
lea rcx, str.VirtualDisk_for_ISO_file_is_not_supported_in_current_system
call fcn.140005180
mov eax, 1
jmp 0x140005f13
lea rcx, str.Failed_to_open_virtual_disk_ErrorCode:_u
mov edx, ebx
call fcn.140005180
test ebx, ebx
jne 0x140005ef3
lea rcx, str.OpenVirtualDisk_success
call fcn.140005180
mov rbx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
lea rcx, str.Y:_is_occupied
bt eax, 0x18
jb 0x140005e84
lea rcx, str.Y:_is_free_now
call fcn.140005180
lea rcx, str.VentoyMountAnywhere
call fcn.140005180
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
lea r8d, [r9 + 5]
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.VirtDisk.dll_AttachVirtualDisk]
test eax, eax
je 0x140005efa
lea rcx, str.Failed_to_attach_virtual_disk_ErrorCode:_u
mov edx, eax
call fcn.140005180
lea rcx, str.Failed_to_attach_virtual_disk_ErrorCode:_u
mov edx, 1
call fcn.140005180
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140005f13
lea rcx, str.VentoyAttachVirtualDisk_success
call fcn.140005180
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.14000d130
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret