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

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x168
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x413d0c
call fcn.00428a90
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x28
call fcn.00426280
lea eax, [esp + 0x4c8]
push 0x28
push eax
call fcn.004289e0
lea eax, [esp + 0x514]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a20
lea eax, [esp + 0x51c]
mov edx, 0x42c02e
push edx
push 2
push eax
call fcn.00428a20
mov edx, 0x42c02e
lea ecx, [esp + 0x520]
call fcn.00415068
lea eax, [esp + 0x524]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a20
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a20
mov dword [esp + 0x540], 0
mov dword [esp + 0x544], 0
mov dword [esp + 0x548], 0
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x104
call fcn.00426280
lea eax, [esp + 0x550]
push eax
call fcn.004288f0
mov edx, 0x42c02e
lea ecx, [esp + 0x550]
call fcn.00415068
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.004288b0
pop edx
push eax
push 0x10
push 1
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
call fcn.00416c60
call fcn.004153e2
add dword [esp], edx
call fcn.0040e573
call fcn.00415400
mov dword [esp + 0x588], eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x10
push 2
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
call fcn.00416c60
call fcn.004153e2
add dword [esp], edx
call fcn.0040e573
call fcn.00415400
mov dword [esp + 0x58c], eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x10
push 3
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
call fcn.00416c60
call fcn.004153e2
add dword [esp], edx
call fcn.0040e573
call fcn.00415400
mov dword [esp + 0x590], eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x10
push 4
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
call fcn.00416c60
call fcn.004153e2
add dword [esp], edx
call fcn.0040e573
call fcn.00415400
mov dword [esp + 0x594], eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x10
push 0xffffffdd
mov edx, dword [0x4324f0]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
mov edx, str.imageres.dll
push edx
call fcn.00428980
call fcn.004153e2
add dword [esp], edx
call fcn.0040e573
call fcn.00415400
mov dword [esp + 0x59c], eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x10
push 0xffffffdc
mov edx, dword [0x4324f0]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
mov edx, str.imageres.dll
push edx
call fcn.00428980
call fcn.004153e2
add dword [esp], edx
call fcn.0040e573
call fcn.00415400
mov dword [esp + 0x598], eax
push dword [0x432498]
call fcn.004192b5
push dword [0x4325b0]
call fcn.004192b5
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 0x413ff5
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 0x414c66
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
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.004279c0
lea eax, [esp + 0x518]
push 3
push eax
call fcn.004289e0
push edx
call fcn.004288b0
pop edx
push eax
lea edx, [esp + 0x518]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call sub.KERNEL32.dll_GetDriveTypeW
call fcn.00415400
mov dword [esp + 0x540], eax
mov ebx, dword [esp + 0x540]
cmp ebx, 2
je 0x4140aa
mov ebx, dword [esp + 0x540]
cmp ebx, 3
je 0x4140aa
jmp 0x4140b1
mov eax, 1
jmp 0x4140b3
xor eax, eax
and eax, eax
je 0x414c59
push 0
push 0xc
lea eax, [esp + 0x98]
push eax
call fcn.00427a10
push 0
push 0x90
lea eax, [esp + 8]
push eax
call fcn.00427a10
push 0
push 0x428
lea eax, [esp + 0xa4]
push eax
call fcn.00427a10
push edx
call fcn.004288b0
pop edx
push eax
lea eax, [esp + 0x94]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call fcn.0040aef2
call fcn.00415400
and eax, eax
je 0x414c59
push edx
call fcn.004288b0
pop edx
push eax
lea eax, [esp + 4]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call fcn.0040bb31
call fcn.00415400
and eax, eax
je 0x414c59
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x104
call fcn.00426280
lea eax, [esp + 0x55c]
push eax
call fcn.004288f0
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push 0x104
call fcn.00426280
lea eax, [esp + 0x560]
push eax
call fcn.004288f0
push edx
call fcn.004288b0
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.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call sub.KERNEL32.dll_GetVolumeInformationW
call fcn.00415400
mov dword [esp + 0x53c], eax
push edx
call fcn.004288b0
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.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceExW
call fcn.00415400
mov dword [esp + 0x53c], eax
push edx
call fcn.004288b0
pop edx
push eax
lea eax, [esp + 0x588]
push eax
lea eax, [esp + 0x588]
push eax
lea eax, [esp + 0x588]
push eax
lea eax, [esp + 0x588]
push eax
lea edx, [esp + 0x528]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceW
call fcn.00415400
mov dword [esp + 0x53c], eax
mov dword [esp + 0x538], 0
jmp 0x4142ef
mov eax, 0x3ff
cmp eax, dword [esp + 0x538]
jl 0x41431c
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 0x4142ef
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.004288b0
pop edx
push eax
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call fcn.004122b3
call fcn.00415400
and eax, eax
je 0x414471
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0xc], 0
je 0x4143e6
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
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.00427b80
call fcn.004153e2
add dword [esp], edx
call fcn.00427770
mov edx, 0x42c0de
push edx
call fcn.00428980
lea eax, [esp + 0x558]
push eax
call fcn.004288f0
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0x10], 0
je 0x414471
mov edx, dword [esp + 0x554]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
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.00427b80
call fcn.004153e2
add dword [esp], edx
call fcn.00427770
pop eax
mov edx, 0x42c0de
push edx
call fcn.00428980
lea eax, [esp + 0x558]
push eax
call fcn.004288f0
lea eax, [esp + 0x524]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a20
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a20
lea ebp, [esp]
push dword [ebp]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x414549
lea eax, [esp + 0x528]
mov edx, 0x42eb04
push edx
push 3
push eax
call fcn.00428a20
lea ebp, [esp + 4]
movsx ebx, byte [ebp + 0x21]
cmp ebx, 1
jne 0x4144ef
lea eax, [esp + 0x530]
mov edx, 0x42d1be
push edx
push 3
push eax
call fcn.00428a20
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push 1
lea ebp, [esp + 0x10]
movsx eax, byte [ebp + 0x20]
cdq
push edx
push eax
call fcn.00426430
call fcn.00428b50
mov edx, 0x42daea
call fcn.00415410
mov ecx, eax
call fcn.00415420
je 0x414544
lea eax, [esp + 0x530]
mov edx, 0x42eccc
push edx
push 3
push eax
call fcn.00428a20
jmp 0x414656
mov ebx, 1
cmp ebx, dword [esp]
jne 0x41463e
lea eax, [esp + 0x528]
mov edx, 0x42d4e0
push edx
push 3
push eax
call fcn.00428a20
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.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
lea edx, [esp + 0x4d0]
push edx
call fcn.004288b0
pop edx
push eax
push 0x28
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call fcn.004263c0
call fcn.00428b50
mov edx, 0x42db34
call fcn.00415410
mov ecx, eax
call fcn.00415420
je 0x41463c
lea eax, [esp + 0x530]
mov edx, 0x42eccc
push edx
push 3
push eax
call fcn.00428a20
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
lea ebp, [esp + 0xc]
lea eax, [ebp + 0x48]
push eax
call fcn.004279c0
lea eax, [esp + 0x558]
push eax
call fcn.004288f0
mov edx, dword [esp + 0x554]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
lea eax, [esp + 0x560]
push eax
call fcn.004288f0
jmp 0x414656
lea eax, [esp + 0x528]
mov edx, 0x42edd0
push edx
push 3
push eax
call fcn.00428a20
pop eax
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
mov eax, 0x42c1d6
push eax
mov eax, 0x42ecd4
push eax
lea edx, [esp + 0x524]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call fcn.00426f80
lea eax, [esp + 0x520]
push 2
push eax
call fcn.004289e0
lea edx, [esp + 0x51c]
push edx
call fcn.004288b0
pop edx
push eax
push 2
push edx
call fcn.00428b80
mov edx, 0x42c04a
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
lea ebp, [esp + 0x9c]
mov eax, dword [ebp + 4]
cdq
push edx
push eax
call fcn.00427090
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
mov eax, dword [ebp + 8]
cdq
push edx
push eax
call fcn.00427090
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
lea eax, [esp + 0x524]
push eax
call fcn.004288f0
mov edx, dword [esp + 0x520]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push dword [esp + 0x564]
call fcn.00426370
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push dword [esp + 0x574]
push dword [esp + 0x574]
call fcn.0040af87
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push dword [esp + 0x568]
call fcn.00426370
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
lea eax, [esp + 0x524]
push eax
call fcn.004288f0
mov edx, dword [esp + 0x520]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
lea edx, [esp + 0x528]
push 3
push edx
call fcn.00428b80
mov edx, 0x42c04a
push edx
call fcn.00428980
lea edx, [esp + 0x530]
push 3
push edx
call fcn.00428b80
mov edx, 0x42c04a
push edx
call fcn.00428980
mov edx, dword [esp + 0x558]
push edx
call fcn.00428980
mov edx, 0x42c04a
push edx
call fcn.00428980
lea eax, [esp + 0x524]
push eax
call fcn.004288f0
mov edx, dword [esp + 0x520]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
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.00427090
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push dword [esp + 0x580]
push dword [esp + 0x580]
call fcn.00427090
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
lea eax, [esp + 0x524]
push eax
call fcn.004288f0
mov edx, dword [esp + 0x520]
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
mov eax, dword [esp + 0x584]
cdq
push edx
push eax
mov eax, dword [esp + 0x590]
cdq
push edx
push eax
push dword [esp + 0xc]
push dword [esp + 0xc]
call fcn.004151e0
mov dword [esp], eax
mov dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
call fcn.00427090
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
mov eax, dword [esp + 0x54c]
cdq
push edx
push eax
call fcn.00427090
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428980
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
lea ebp, [esp + 0xa8]
movsx eax, word [ebp + 0x1c]
cdq
push edx
push eax
call fcn.00427090
pop eax
lea eax, [esp + 0x524]
push eax
call fcn.004288f0
movsx ebx, word [ebp + 0x1c]
push ebx
mov ebx, 0xe
cmp ebx, dword [esp]
je 0x4149ae
mov ebx, 0xf
cmp ebx, dword [esp]
jne 0x414a03
lea edx, [esp + 0x530]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.00428b50
mov edx, 0x42eccc
call fcn.00415410
mov ecx, eax
call fcn.00415420
je 0x4149f0
mov eax, dword [esp + 0x598]
mov dword [esp + 0x54c], eax
jmp 0x4149fe
mov eax, dword [esp + 0x594]
mov dword [esp + 0x54c], eax
jmp 0x414ad5
push dword [esp + 0x544]
mov ebx, 2
cmp ebx, dword [esp]
jne 0x414a27
mov eax, dword [esp + 0x590]
mov dword [esp + 0x550], eax
jmp 0x414ad4
lea edx, [esp + 0x534]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.00428b50
mov edx, 0x42eccc
call fcn.00415410
mov ecx, eax
call fcn.00415420
je 0x414a69
mov eax, dword [esp + 0x594]
mov dword [esp + 0x550], eax
jmp 0x414ad4
lea edx, [esp + 0x524]
push edx
call fcn.004288b0
pop edx
push eax
push 2
push edx
call fcn.00428b80
call fcn.00428b50
lea edx, [0x432494]
push edx
call fcn.004288b0
pop edx
push eax
push 2
push edx
call fcn.00428b80
call fcn.00415410
mov edx, eax
call fcn.00415410
mov ecx, eax
call fcn.00415420
je 0x414ac6
mov eax, dword [esp + 0x5a0]
mov dword [esp + 0x550], eax
jmp 0x414ad4
mov eax, dword [esp + 0x5a4]
mov dword [esp + 0x550], eax
pop eax
pop eax
push edx
call fcn.004288b0
pop edx
push eax
mov eax, 0x42eccc
push eax
lea edx, [esp + 0x534]
push edx
call fcn.004288b0
pop edx
push eax
push 3
push edx
call fcn.00428b80
call fcn.004153e2
add dword [esp], edx
call fcn.00426850
call fcn.00415400
mov ebx, eax
cmp ebx, 1
jge 0x414bba
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x432498]
call fcn.004192d8
lea edx, [esp + 0x51c]
push edx
call fcn.004288b0
pop edx
push eax
push 2
push edx
call fcn.00428b80
call fcn.00428b50
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push 0
push 0
push dword [0x4324e0]
call fcn.00418c40
call fcn.00415410
mov edx, eax
call fcn.00415410
mov ecx, eax
call fcn.00415420
je 0x414bba
xor eax, eax
push eax
push 0
push dword [0x4324e0]
push dword [0x432498]
call fcn.00418f8d
mov ebx, eax
dec ebx
push ebx
push dword [0x432498]
call fcn.00403f7c
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x4325b0]
call fcn.004192d8
lea edx, [esp + 0x51c]
push edx
call fcn.004288b0
pop edx
push eax
push 2
push edx
call fcn.00428b80
call fcn.00428b50
push edx
call fcn.004288b0
pop edx
push eax
push edx
call fcn.004288b0
pop edx
push eax
push 0
push 0
push dword [0x432474]
call fcn.00418c40
call fcn.00415410
mov edx, eax
call fcn.00415410
mov ecx, eax
call fcn.00415420
je 0x414c59
xor eax, eax
push eax
push 0
push dword [0x432474]
push dword [0x4325b0]
call fcn.00418f8d
mov ebx, eax
dec ebx
push ebx
push dword [0x4325b0]
call fcn.00403f7c
inc dword [esp + 0x534]
jno 0x413ff5
push dword [esp + 0x588]
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 + 0x590]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x594]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x59c]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push dword [esp + 0x598]
call sub.USER32.dll_DestroyIcon
mov dword [esp + 0x534], eax
push 0
push dword [0x4324e0]
call fcn.0040c3b7
push 0
push dword [0x432474]
call fcn.0040c3b7
push 0
push dword [0x432498]
call fcn.0040c3b7
push 0
push dword [0x4325b0]
call fcn.0040c3b7
xor eax, eax
push dword [esp + 0x55c]
call fcn.00428b20
push dword [esp + 0x520]
call fcn.00428b20
push dword [esp + 0x558]
call fcn.00428b20
push dword [esp + 0x54c]
call fcn.00428b20
push dword [esp + 0x554]
call fcn.00428b20
push dword [esp + 0x550]
call fcn.00428b20
add esp, 0x5a0
pop edi
pop ebx
pop ebp
ret