Function at 0x1400033d0
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rbp + 0x220], rax
xorps xmm0, xmm0
movsx r14d, cl
xorps xmm1, xmm1
lea r8, str.._C:
mov rsi, rdx
lea rcx, [rbp + 0x90]
xor r15d, r15d
mov r9d, r14d
mov edx, 0x80
mov edi, r15d
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp - 0x60], xmm1
movups xmmword [rbp - 0x50], xmm1
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x30], xmm1
movups xmmword [rbp - 0x20], xmm1
call fcn.140001120
mov qword [rsp + 0x30], r15
lea rcx, [rbp + 0x90]
mov dword [rsp + 0x28], r15d
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400034bf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, [rbp + 0x90]
lea rdx, str.CreateFileA__s_failed__u_n
lea ecx, [rbx + 2]
call fcn.140001c50
jmp 0x140003765
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 0x20
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x560000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140003742
cmp dword [rsp + 0x50], edi
je 0x140003742
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x58]
mov qword [rsp + 0x40], rdi
test ebx, ebx
js 0x14000376a
cmp rdi, 0x100000
je 0x140003547
mov r8, rdi
lea rdx, str.Partition_offset_is_NOT_1MB._This_is_NOT_ventoy_image_partition___llu__n
mov ecx, 1
call fcn.140001c50
jmp 0x140003781
lea r9, [rsp + 0x70]
mov ecx, ebx
lea r8, [rbp - 0x10]
lea rdx, [rsp + 0x40]
call fcn.140002990
test eax, eax
je 0x140003576
lea rdx, str.GetPhyDriveInfo_failed_n
mov ecx, 1
call fcn.140001c50
jmp 0x140003781
mov rdx, qword [rsp + 0x40]
mov r8d, 1
xorps xmm1, xmm1
test rdx, rdx
js 0x140003590
cvtsi2sd xmm1, rdx
jmp 0x1400035a8
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, r8d
or rcx, rax
cvtsi2sd xmm1, rcx
addsd xmm1, xmm1
movsd xmm0, qword [0x140060408]
divsd xmm1, xmm0
divsd xmm1, xmm0
divsd xmm1, xmm0
test rdx, 0x3fffffff
jne 0x1400035cb
shr rdx, 0x1e
jmp 0x140003647
movsd xmm3, qword [0x1400603f8]
mov eax, r15d
nop word [rax + rax]
movd xmm2, r8d
cvtdq2pd xmm2, xmm2
comisd xmm2, xmm1
jbe 0x1400035f8
movaps xmm0, xmm2
subsd xmm0, xmm1
jmp 0x1400035ff
movaps xmm0, xmm1
subsd xmm0, xmm2
divsd xmm0, xmm2
comisd xmm3, xmm0
ja 0x140003644
add r8d, r8d
inc eax
cmp eax, 0xc
jl 0x1400035e0
movsd xmm0, qword [0x140060418]
xor eax, eax
comisd xmm1, xmm0
jb 0x14000363a
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x14000363a
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rdx, xmm1
add rdx, rax
jmp 0x140003647
movsxd rdx, r8d
mov r9d, edx
lea rcx, [rsi + 0x84]
mov edx, 0x40
lea r8, str._dGB
call fcn.140001120
lea rax, [rsp + 0x70]
mov edx, 0x100
lea rcx, [rsi + 0xc4]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x10]
lea r8, [0x14005ac78]
call fcn.140001120
mov r9d, r14d
lea r8, str._C:_
mov edx, 0x20
lea rcx, [rbp + 0x70]
call fcn.140001120
mov dword [rsp + 0x38], 0x104
lea rax, [rbp + 0x110]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x70]
lea rax, [rsp + 0x48]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
jne 0x1400036f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetVolumeInformationA_failed__u_n
mov ecx, 1
mov r8d, eax
call fcn.140001c50
jmp 0x140003781
lea rcx, [rsi + 0x44]
mov dword [rsi + 0x40], 1
lea r8, [rbp + 0x110]
mov edx, 0x40
call fcn.140031660
mov rdx, rsi
mov ecx, ebx
call fcn.140002ff0
test eax, eax
je 0x14000373e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetVentoyVersion_failed__u_n
mov ecx, 1
mov r8d, eax
call fcn.140001c50
jmp 0x140003781
xor eax, eax
jmp 0x140003786
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTSfailed__u_n
mov ecx, 1
mov r8d, eax
call fcn.140001c50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, 0xffffffff
mov r9, rdi
lea rdx, str.GetPhyDriveByLogicalDrive_failed__d__llu_n
mov r8d, ebx
mov ecx, 1
call fcn.140001c50
mov eax, 1
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.14002b5c0
mov rbx, qword [rsp + 0x370]
add rsp, 0x330
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret