Function at 0x44372b
Capabilities:
Get disk information

Disassembly:
push ebx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
call fcn.005873a0
push dword [esp + 0x28]
call fcn.004fc320
mov edx, dword [esp + 0x20]
lea ecx, [esp]
call fcn.004fc000
mov dword [section..data], 0xa00084
mov dword [section..data], 0xa0008e
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push 1
push dword [esp + 0x14]
call fcn.005752e0
call fcn.004fc302
add dword [esp], edx
call fcn.00575d20
mov edx, 0x6e043a
push edx
call fcn.00587330
lea eax, [esp + 8]
push eax
call fcn.005872c0
mov dword [section..data], 0xa0008f
mov dword [esp + 0xc], 0x104
mov dword [section..data], 0xa00090
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x14]
call fcn.00575d90
lea eax, [esp + 0xc]
push eax
call fcn.005872c0
mov dword [section..data], 0xa00092
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x20]
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
call sub.KERNEL32.dll_GetVolumeInformationW
and eax, eax
je 0x443963
mov dword [section..data], 0xa00093
mov ebx, dword [esp + 0x24]
and ebx, ebx
jl 0x44394a
mov dword [section..data], 0xa00094
mov eax, dword [esp + 4]
push eax
call sub.KERNEL32.dll_GetDriveTypeW
mov dword [esp + 0x10], eax
mov dword [section..data], 0xa00095
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x24]
je 0x443940
mov dword [section..data], 0xa00096
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Drive
push edx
call fcn.00587330
mov edx, dword [esp + 0xc]
push edx
call fcn.00587330
mov edx, str._is_not_the_expected_type___
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6be4e2
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00574cc0
pop eax
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_GetVolumeName
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0xa00097
mov edx, str.ERROR
lea ecx, [esp + 8]
call fcn.004fc008
mov dword [section..data], 0xa00098
mov dword [section..data], 0xa00099
mov dword [section..data], 0xa0009a
jmp 0x443a2b
mov dword [section..data], 0xa0009a
mov dword [section..data], 0xa0009b
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x14], eax
mov dword [section..data], 0xa0009c
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Error_getting_volume_name__
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push dword [esp + 0x24]
call fcn.0044170b
pop eax
mov edx, str.___0x
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005756b0
pop eax
mov edx, 0x6bdecc
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_GetVolumeName
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0xa0009d
mov edx, str.ERROR
lea ecx, [esp + 8]
call fcn.004fc008
mov dword [section..data], 0xa0009e
mov dword [section..data], 0xa000a0
mov edx, dword [esp + 8]
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587330
pop eax
push eax
call fcn.004fc2f0
pop edx
add eax, edx
jmp 0x443a71
push dword [esp + 4]
call fcn.00587410
push dword [esp + 8]
call fcn.00587410
push dword [esp]
call fcn.00587410
add esp, 0x18
pop ebx
ret 8