Function at 0x4125e5
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x164
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4125ed
call fcn.00426dd0
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x28
call fcn.004249d0
lea eax, [esp + 0x4c8]
push 0x28
push eax
call fcn.00426cc0
lea eax, [esp + 0x514]
mov edx, 0x42a02e
push edx
push 3
push eax
call fcn.00426d00
lea eax, [esp + 0x51c]
mov edx, 0x42a02e
push edx
push 2
push eax
call fcn.00426d00
mov edx, 0x42a02e
lea ecx, [esp + 0x520]
call fcn.00414068
lea eax, [esp + 0x524]
mov edx, 0x42a02e
push edx
push 3
push eax
call fcn.00426d00
lea eax, [esp + 0x52c]
mov edx, 0x42a02e
push edx
push 3
push eax
call fcn.00426d00
mov dword [esp + 0x540], 0
mov dword [esp + 0x544], 0
mov dword [esp + 0x548], 0
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x104
call fcn.004249d0
lea eax, [esp + 0x550]
push eax
call fcn.00426c30
mov edx, 0x42a02e
lea ecx, [esp + 0x550]
call fcn.00414068
mov edx, 0x42a02e
lea ecx, [esp + 0x554]
call fcn.00414068
push edx
call fcn.00426bf0
pop edx
push eax
push 0x10
push 1
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
call fcn.00415bba
call fcn.00414322
add dword [esp], edx
call fcn.0040e1ea
call fcn.00414340
mov dword [esp + 0x578], eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x10
push 2
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
call fcn.00415bba
call fcn.00414322
add dword [esp], edx
call fcn.0040e1ea
call fcn.00414340
mov dword [esp + 0x57c], eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x10
push 3
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
call fcn.00415bba
call fcn.00414322
add dword [esp], edx
call fcn.0040e1ea
call fcn.00414340
mov dword [esp + 0x580], eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x10
push 4
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
call fcn.00415bba
call fcn.00414322
add dword [esp], edx
call fcn.0040e1ea
call fcn.00414340
mov dword [esp + 0x584], eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x10
push 0xffffffdd
mov edx, dword [0x42f5e0]
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426d30
mov edx, str.System32imageres.dll
push edx
call fcn.00426d30
call fcn.00414322
add dword [esp], edx
call fcn.0040e1ea
call fcn.00414340
mov dword [esp + 0x58c], eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x10
push 0xffffffdc
mov edx, dword [0x42f5e0]
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426d30
mov edx, str.System32imageres.dll
push edx
call fcn.00426d30
call fcn.00414322
add dword [esp], edx
call fcn.0040e1ea
call fcn.00414340
mov dword [esp + 0x588], eax
push dword [0x42f574]
call fcn.00417f37
push dword [0x42f67c]
call fcn.00417f37
mov eax, dword [esp + 0x54c]
push eax
push 0x104
call sub.KERNEL32.dll_GetLogicalDriveStringsW
mov dword [esp + 0x544], eax
mov dword [esp + 0x534], 0
jmp 0x4128d6
mov ebx, dword [esp + 0x544]
mov eax, ebx
mov ecx, 4
cdq
idiv ecx
mov ebx, eax
dec ebx
cmp ebx, dword [esp + 0x534]
jl 0x413491
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
mov eax, dword [esp + 0x554]
mov ebx, eax
mov edi, dword [esp + 0x53c]
shl edi, 2
add edi, edi
add ebx, edi
push ebx
call fcn.00425d00
lea eax, [esp + 0x518]
push 3
push eax
call fcn.00426cc0
push edx
call fcn.00426bf0
pop edx
push eax
lea edx, [esp + 0x518]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call sub.KERNEL32.dll_GetDriveTypeW
call fcn.00414340
mov dword [esp + 0x540], eax
mov ebx, dword [esp + 0x540]
cmp ebx, 2
je 0x41298b
mov ebx, dword [esp + 0x540]
cmp ebx, 3
je 0x41298b
jmp 0x412992
mov eax, 1
jmp 0x412994
xor eax, eax
and eax, eax
je 0x413484
push 0
push 0xc
lea eax, [esp + 0x98]
push eax
call fcn.00425d50
push 0
push 0x90
lea eax, [esp + 8]
push eax
call fcn.00425d50
push 0
push 0x428
lea eax, [esp + 0xa4]
push eax
call fcn.00425d50
push edx
call fcn.00426bf0
pop edx
push eax
lea eax, [esp + 0x94]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call fcn.00409950
call fcn.00414340
and eax, eax
je 0x413484
push edx
call fcn.00426bf0
pop edx
push eax
lea eax, [esp + 4]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call fcn.0040a66a
call fcn.00414340
and eax, eax
je 0x413484
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x104
call fcn.004249d0
lea eax, [esp + 0x55c]
push eax
call fcn.00426c30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x104
call fcn.004249d0
lea eax, [esp + 0x560]
push eax
call fcn.00426c30
push edx
call fcn.00426bf0
pop edx
push eax
push 0x104
mov eax, dword [esp + 0x564]
push eax
push 0
push 0
push 0
push 0x104
mov eax, dword [esp + 0x574]
push eax
lea edx, [esp + 0x534]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call sub.KERNEL32.dll_GetVolumeInformationW
call fcn.00414340
mov dword [esp + 0x53c], eax
push edx
call fcn.00426bf0
pop edx
push eax
lea eax, [esp + 0x574]
push eax
lea eax, [esp + 0x570]
push eax
lea eax, [esp + 0x56c]
push eax
lea edx, [esp + 0x524]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceExW
call fcn.00414340
mov dword [esp + 0x53c], eax
mov dword [esp + 0x538], 0
jmp 0x412b75
mov eax, 0x3ff
cmp eax, dword [esp + 0x538]
jl 0x412ba2
lea ebp, [esp + 0x9c]
push ebp
mov eax, dword [esp + 0x53c]
pop ebp
add ebp, eax
mov byte [ebp + 0x25], 0
inc dword [esp + 0x538]
jno 0x412b75
mov edx, 0x42a02e
lea ecx, [esp + 0x554]
call fcn.00414068
push edx
call fcn.00426bf0
pop edx
push eax
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call fcn.00411fed
call fcn.00414340
and eax, eax
je 0x412cf7
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0xc], 0
je 0x412c6c
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x18
push 0xffffffff
lea eax, [esp + 0xb4]
mov ebx, eax
lea ebp, [esp + 0xb4]
add ebx, dword [ebp + 0xc]
push ebx
call fcn.00425ec0
call fcn.00414322
add dword [esp], edx
call fcn.00425ab0
mov edx, 0x42a0d4
push edx
call fcn.00426d30
lea eax, [esp + 0x558]
push eax
call fcn.00426c30
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0x10], 0
je 0x412cf7
mov edx, dword [esp + 0x554]
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0x18
push 0xffffffff
lea eax, [esp + 0xb8]
mov ebx, eax
lea ebp, [esp + 0xb8]
add ebx, dword [ebp + 0x10]
push ebx
call fcn.00425ec0
call fcn.00414322
add dword [esp], edx
call fcn.00425ab0
pop eax
mov edx, 0x42a0d4
push edx
call fcn.00426d30
lea eax, [esp + 0x558]
push eax
call fcn.00426c30
lea eax, [esp + 0x524]
mov edx, 0x42a02e
push edx
push 3
push eax
call fcn.00426d00
lea eax, [esp + 0x52c]
mov edx, 0x42a02e
push edx
push 3
push eax
call fcn.00426d00
lea ebp, [esp]
push dword [ebp]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x412dd1
lea eax, [esp + 0x528]
mov edx, 0x42bebe
push edx
push 3
push eax
call fcn.00426d00
lea ebp, [esp + 4]
movsx ebx, byte [ebp + 0x21]
cmp ebx, 1
jne 0x412d75
lea eax, [esp + 0x530]
mov edx, 0x42a7a8
push edx
push 3
push eax
call fcn.00426d00
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 1
lea ebp, [esp + 0x10]
movsx eax, byte [ebp + 0x20]
cdq
push edx
push eax
call fcn.004254f0
call fcn.00426e90
mov edx, 0x42b008
pop ecx
push ecx
call fcn.00414350
mov ecx, eax
call fcn.00414360
je 0x412dcc
lea eax, [esp + 0x530]
mov edx, 0x42c05c
push edx
push 3
push eax
call fcn.00426d00
jmp 0x412ee0
mov ebx, 1
cmp ebx, dword [esp]
jne 0x412ec8
lea eax, [esp + 0x528]
mov edx, 0x42aa40
push edx
push 3
push eax
call fcn.00426d00
push 0x28
lea eax, [esp + 0x4cc]
push eax
lea ebp, [esp + 0xc]
lea eax, [ebp + 0x20]
push eax
call sub.ole32.dll_StringFromGUID2
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
lea edx, [esp + 0x4d0]
push edx
call fcn.00426bf0
pop edx
push eax
push 0x28
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call fcn.00424a50
call fcn.00426e90
mov edx, str.C12A7328_F81F_11D2_BA4B_00A0C93EC93B
pop ecx
push ecx
call fcn.00414350
mov ecx, eax
call fcn.00414360
je 0x412ec6
lea eax, [esp + 0x530]
mov edx, 0x42c05c
push edx
push 3
push eax
call fcn.00426d00
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
lea ebp, [esp + 0xc]
lea eax, [ebp + 0x48]
push eax
call fcn.00425d00
lea eax, [esp + 0x558]
push eax
call fcn.00426c30
mov edx, dword [esp + 0x554]
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426d30
lea eax, [esp + 0x560]
push eax
call fcn.00426c30
jmp 0x412ee0
lea eax, [esp + 0x528]
mov edx, 0x42c756
push edx
push 3
push eax
call fcn.00426d00
pop eax
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
mov eax, 0x42a180
push eax
mov eax, 0x42c064
push eax
lea edx, [esp + 0x524]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call fcn.00424e20
lea eax, [esp + 0x520]
push 2
push eax
call fcn.00426cc0
lea edx, [esp + 0x51c]
push edx
call fcn.00426bf0
pop edx
push eax
push 2
push edx
call fcn.00426ec0
mov edx, 0x42a04a
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
lea ebp, [esp + 0x9c]
mov eax, dword [ebp + 4]
cdq
push edx
push eax
call fcn.004245c0
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
mov eax, dword [ebp + 8]
cdq
push edx
push eax
call fcn.004245c0
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
lea eax, [esp + 0x524]
push eax
call fcn.00426c30
mov edx, dword [esp + 0x520]
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push dword [esp + 0x564]
call fcn.004247c0
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push dword [esp + 0x574]
push dword [esp + 0x574]
call fcn.004099e7
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push dword [esp + 0x568]
call fcn.004247c0
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
lea eax, [esp + 0x524]
push eax
call fcn.00426c30
mov edx, dword [esp + 0x520]
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426d30
lea edx, [esp + 0x528]
push 3
push edx
call fcn.00426ec0
mov edx, 0x42a04a
push edx
call fcn.00426d30
lea edx, [esp + 0x530]
push 3
push edx
call fcn.00426ec0
mov edx, 0x42a04a
push edx
call fcn.00426d30
mov edx, dword [esp + 0x558]
push edx
call fcn.00426d30
mov edx, 0x42a04a
push edx
call fcn.00426d30
lea eax, [esp + 0x524]
push eax
call fcn.00426c30
mov edx, dword [esp + 0x520]
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push dword [esp + 0x578]
push dword [esp + 0x578]
lea eax, [esp + 0x584]
mov edx, dword [eax]
sub dword [esp], edx
mov edx, dword [eax + 4]
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
call fcn.004245c0
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push dword [esp + 0x580]
push dword [esp + 0x580]
call fcn.004245c0
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
mov eax, dword [esp + 0x54c]
cdq
push edx
push eax
call fcn.004245c0
pop eax
mov edx, 0x42a04a
push edx
call fcn.00426d30
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
lea ebp, [esp + 0xa8]
movsx eax, word [ebp + 0x1c]
cdq
push edx
push eax
call fcn.004245c0
pop eax
lea eax, [esp + 0x524]
push eax
call fcn.00426c30
movsx ebx, word [ebp + 0x1c]
push ebx
mov ebx, 0xe
cmp ebx, dword [esp]
je 0x4131c9
mov ebx, 0xf
cmp ebx, dword [esp]
jne 0x413222
lea edx, [esp + 0x530]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00426e90
mov edx, 0x42c05c
pop ecx
push ecx
call fcn.00414350
mov ecx, eax
call fcn.00414360
je 0x41320e
push dword [esp + 0x588]
pop eax
mov dword [esp + 0x54c], eax
jmp 0x41321d
push dword [esp + 0x584]
pop eax
mov dword [esp + 0x54c], eax
jmp 0x4132fc
push dword [esp + 0x544]
mov ebx, 2
cmp ebx, dword [esp]
jne 0x413247
push dword [esp + 0x580]
pop eax
mov dword [esp + 0x550], eax
jmp 0x4132fb
lea edx, [esp + 0x534]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00426e90
mov edx, 0x42c05c
pop ecx
push ecx
call fcn.00414350
mov ecx, eax
call fcn.00414360
je 0x41328c
push dword [esp + 0x584]
pop eax
mov dword [esp + 0x550], eax
jmp 0x4132fb
lea edx, [esp + 0x524]
push edx
call fcn.00426bf0
pop edx
push eax
push 2
push edx
call fcn.00426ec0
call fcn.00426e90
lea edx, [0x42f570]
push edx
call fcn.00426bf0
pop edx
push eax
push 2
push edx
call fcn.00426ec0
call fcn.00414350
mov edx, eax
pop ecx
push ecx
call fcn.00414350
mov ecx, eax
call fcn.00414360
je 0x4132ec
push dword [esp + 0x590]
pop eax
mov dword [esp + 0x550], eax
jmp 0x4132fb
push dword [esp + 0x594]
pop eax
mov dword [esp + 0x550], eax
pop eax
pop eax
push edx
call fcn.00426bf0
pop edx
push eax
mov eax, 0x42c05c
push eax
lea edx, [esp + 0x534]
push edx
call fcn.00426bf0
pop edx
push eax
push 3
push edx
call fcn.00426ec0
call fcn.00414322
add dword [esp], edx
call fcn.004250c0
call fcn.00414340
mov ebx, eax
cmp ebx, 1
jge 0x4133e3
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x42f574]
call fcn.00417f5a
lea edx, [esp + 0x51c]
push edx
call fcn.00426bf0
pop edx
push eax
push 2
push edx
call fcn.00426ec0
call fcn.00426e90
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0
push 0
push dword [0x42f5b8]
call fcn.00417b51
call fcn.00414350
mov edx, eax
pop ecx
push ecx
call fcn.00414350
mov ecx, eax
call fcn.00414360
je 0x4133e3
xor eax, eax
push eax
push 0
push dword [0x42f5b8]
push dword [0x42f574]
call fcn.00417c85
mov ebx, eax
dec ebx
push ebx
push dword [0x42f574]
call fcn.00403975
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x42f67c]
call fcn.00417f5a
lea edx, [esp + 0x51c]
push edx
call fcn.00426bf0
pop edx
push eax
push 2
push edx
call fcn.00426ec0
call fcn.00426e90
push edx
call fcn.00426bf0
pop edx
push eax
push edx
call fcn.00426bf0
pop edx
push eax
push 0
push 0
push dword [0x42f550]
call fcn.00417b51
call fcn.00414350
mov edx, eax
pop ecx
push ecx
call fcn.00414350
mov ecx, eax
call fcn.00414360
je 0x413484
xor eax, eax
push eax
push 0
push dword [0x42f550]
push dword [0x42f67c]
call fcn.00417c85
mov ebx, eax
dec ebx
push ebx
push dword [0x42f67c]
call fcn.00403975
inc dword [esp + 0x534]
jno 0x4128d6
push dword [esp + 0x578]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x57c]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x580]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x584]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x58c]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x588]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push 0
push dword [0x42f5b8]
call fcn.0040adf4
push 0
push dword [0x42f550]
call fcn.0040adf4
push 0
push dword [0x42f574]
call fcn.0040adf4
push 0
push dword [0x42f67c]
call fcn.0040adf4
xor eax, eax
push dword [esp + 0x55c]
call fcn.00426e60
push dword [esp + 0x520]
call fcn.00426e60
push dword [esp + 0x558]
call fcn.00426e60
push dword [esp + 0x54c]
call fcn.00426e60
push dword [esp + 0x554]
call fcn.00426e60
push dword [esp + 0x550]
call fcn.00426e60
add esp, 0x590
pop edi
pop ebx
pop ebp
ret