Function at 0x413d7f
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 0x413d87
call fcn.00428aa0
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x28
call fcn.00426290
lea eax, [esp + 0x4c8]
push 0x28
push eax
call fcn.004289f0
lea eax, [esp + 0x514]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a30
lea eax, [esp + 0x51c]
mov edx, 0x42c02e
push edx
push 2
push eax
call fcn.00428a30
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.00428a30
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a30
mov dword [esp + 0x540], 0
mov dword [esp + 0x544], 0
mov dword [esp + 0x548], 0
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x104
call fcn.00426290
lea eax, [esp + 0x550]
push eax
call fcn.00428900
mov edx, 0x42c02e
lea ecx, [esp + 0x550]
call fcn.00415068
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.004288c0
pop edx
push eax
push 0x10
push 1
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
call fcn.00416c70
call fcn.004153f2
add dword [esp], edx
call fcn.0040e5c7
call fcn.00415410
mov dword [esp + 0x588], eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x10
push 2
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
call fcn.00416c70
call fcn.004153f2
add dword [esp], edx
call fcn.0040e5c7
call fcn.00415410
mov dword [esp + 0x58c], eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x10
push 3
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
call fcn.00416c70
call fcn.004153f2
add dword [esp], edx
call fcn.0040e5c7
call fcn.00415410
mov dword [esp + 0x590], eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x10
push 4
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
call fcn.00416c70
call fcn.004153f2
add dword [esp], edx
call fcn.0040e5c7
call fcn.00415410
mov dword [esp + 0x594], eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x10
push 0xffffffdd
mov edx, dword [0x432514]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
mov edx, str.imageres.dll
push edx
call fcn.00428990
call fcn.004153f2
add dword [esp], edx
call fcn.0040e5c7
call fcn.00415410
mov dword [esp + 0x59c], eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x10
push 0xffffffdc
mov edx, dword [0x432514]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
mov edx, str.imageres.dll
push edx
call fcn.00428990
call fcn.004153f2
add dword [esp], edx
call fcn.0040e5c7
call fcn.00415410
mov dword [esp + 0x598], eax
push dword [0x4324bc]
call fcn.004192c5
push dword [0x4325d4]
call fcn.004192c5
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 0x414070
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 0x414ce1
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
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.004279d0
lea eax, [esp + 0x518]
push 3
push eax
call fcn.004289f0
push edx
call fcn.004288c0
pop edx
push eax
lea edx, [esp + 0x518]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call sub.KERNEL32.dll_GetDriveTypeW
call fcn.00415410
mov dword [esp + 0x540], eax
mov ebx, dword [esp + 0x540]
cmp ebx, 2
je 0x414125
mov ebx, dword [esp + 0x540]
cmp ebx, 3
je 0x414125
jmp 0x41412c
mov eax, 1
jmp 0x41412e
xor eax, eax
and eax, eax
je 0x414cd4
push 0
push 0xc
lea eax, [esp + 0x98]
push eax
call fcn.00427a20
push 0
push 0x90
lea eax, [esp + 8]
push eax
call fcn.00427a20
push 0
push 0x428
lea eax, [esp + 0xa4]
push eax
call fcn.00427a20
push edx
call fcn.004288c0
pop edx
push eax
lea eax, [esp + 0x94]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call fcn.0040af46
call fcn.00415410
and eax, eax
je 0x414cd4
push edx
call fcn.004288c0
pop edx
push eax
lea eax, [esp + 4]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call fcn.0040bb85
call fcn.00415410
and eax, eax
je 0x414cd4
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x104
call fcn.00426290
lea eax, [esp + 0x55c]
push eax
call fcn.00428900
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push 0x104
call fcn.00426290
lea eax, [esp + 0x560]
push eax
call fcn.00428900
push edx
call fcn.004288c0
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.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call sub.KERNEL32.dll_GetVolumeInformationW
call fcn.00415410
mov dword [esp + 0x53c], eax
push edx
call fcn.004288c0
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.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceExW
call fcn.00415410
mov dword [esp + 0x53c], eax
push edx
call fcn.004288c0
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.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceW
call fcn.00415410
mov dword [esp + 0x53c], eax
mov dword [esp + 0x538], 0
jmp 0x41436a
mov eax, 0x3ff
cmp eax, dword [esp + 0x538]
jl 0x414397
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 0x41436a
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.004288c0
pop edx
push eax
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call fcn.00412307
call fcn.00415410
and eax, eax
je 0x4144ec
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0xc], 0
je 0x414461
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
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.00427b90
call fcn.004153f2
add dword [esp], edx
call fcn.00427780
mov edx, 0x42c0de
push edx
call fcn.00428990
lea eax, [esp + 0x558]
push eax
call fcn.00428900
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0x10], 0
je 0x4144ec
mov edx, dword [esp + 0x554]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
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.00427b90
call fcn.004153f2
add dword [esp], edx
call fcn.00427780
pop eax
mov edx, 0x42c0de
push edx
call fcn.00428990
lea eax, [esp + 0x558]
push eax
call fcn.00428900
lea eax, [esp + 0x524]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a30
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.00428a30
lea ebp, [esp]
push dword [ebp]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x4145c4
lea eax, [esp + 0x528]
mov edx, 0x42eb04
push edx
push 3
push eax
call fcn.00428a30
lea ebp, [esp + 4]
movsx ebx, byte [ebp + 0x21]
cmp ebx, 1
jne 0x41456a
lea eax, [esp + 0x530]
mov edx, 0x42d1be
push edx
push 3
push eax
call fcn.00428a30
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push 1
lea ebp, [esp + 0x10]
movsx eax, byte [ebp + 0x20]
cdq
push edx
push eax
call fcn.00426440
call fcn.00428b60
mov edx, 0x42daea
call fcn.00415420
mov ecx, eax
call fcn.00415430
je 0x4145bf
lea eax, [esp + 0x530]
mov edx, 0x42eccc
push edx
push 3
push eax
call fcn.00428a30
jmp 0x4146d1
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4146b9
lea eax, [esp + 0x528]
mov edx, 0x42d4e0
push edx
push 3
push eax
call fcn.00428a30
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.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
lea edx, [esp + 0x4d0]
push edx
call fcn.004288c0
pop edx
push eax
push 0x28
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call fcn.004263d0
call fcn.00428b60
mov edx, 0x42db34
call fcn.00415420
mov ecx, eax
call fcn.00415430
je 0x4146b7
lea eax, [esp + 0x530]
mov edx, 0x42eccc
push edx
push 3
push eax
call fcn.00428a30
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
lea ebp, [esp + 0xc]
lea eax, [ebp + 0x48]
push eax
call fcn.004279d0
lea eax, [esp + 0x558]
push eax
call fcn.00428900
mov edx, dword [esp + 0x554]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
lea eax, [esp + 0x560]
push eax
call fcn.00428900
jmp 0x4146d1
lea eax, [esp + 0x528]
mov edx, 0x42edd0
push edx
push 3
push eax
call fcn.00428a30
pop eax
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
mov eax, 0x42c1d6
push eax
mov eax, 0x42ecd4
push eax
lea edx, [esp + 0x524]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call fcn.00426f90
lea eax, [esp + 0x520]
push 2
push eax
call fcn.004289f0
lea edx, [esp + 0x51c]
push edx
call fcn.004288c0
pop edx
push eax
push 2
push edx
call fcn.00428b90
mov edx, 0x42c04a
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
lea ebp, [esp + 0x9c]
mov eax, dword [ebp + 4]
cdq
push edx
push eax
call fcn.004270a0
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
mov eax, dword [ebp + 8]
cdq
push edx
push eax
call fcn.004270a0
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
lea eax, [esp + 0x524]
push eax
call fcn.00428900
mov edx, dword [esp + 0x520]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push dword [esp + 0x564]
call fcn.00426380
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push dword [esp + 0x574]
push dword [esp + 0x574]
call fcn.0040afdb
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push dword [esp + 0x568]
call fcn.00426380
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
lea eax, [esp + 0x524]
push eax
call fcn.00428900
mov edx, dword [esp + 0x520]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
lea edx, [esp + 0x528]
push 3
push edx
call fcn.00428b90
mov edx, 0x42c04a
push edx
call fcn.00428990
lea edx, [esp + 0x530]
push 3
push edx
call fcn.00428b90
mov edx, 0x42c04a
push edx
call fcn.00428990
mov edx, dword [esp + 0x558]
push edx
call fcn.00428990
mov edx, 0x42c04a
push edx
call fcn.00428990
lea eax, [esp + 0x524]
push eax
call fcn.00428900
mov edx, dword [esp + 0x520]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
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.004270a0
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push dword [esp + 0x580]
push dword [esp + 0x580]
call fcn.004270a0
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
lea eax, [esp + 0x524]
push eax
call fcn.00428900
mov edx, dword [esp + 0x520]
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
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.004270a0
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
mov eax, dword [esp + 0x54c]
cdq
push edx
push eax
call fcn.004270a0
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428990
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
lea ebp, [esp + 0xa8]
movsx eax, word [ebp + 0x1c]
cdq
push edx
push eax
call fcn.004270a0
pop eax
lea eax, [esp + 0x524]
push eax
call fcn.00428900
movsx ebx, word [ebp + 0x1c]
push ebx
mov ebx, 0xe
cmp ebx, dword [esp]
je 0x414a29
mov ebx, 0xf
cmp ebx, dword [esp]
jne 0x414a7e
lea edx, [esp + 0x530]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.00428b60
mov edx, 0x42eccc
call fcn.00415420
mov ecx, eax
call fcn.00415430
je 0x414a6b
mov eax, dword [esp + 0x598]
mov dword [esp + 0x54c], eax
jmp 0x414a79
mov eax, dword [esp + 0x594]
mov dword [esp + 0x54c], eax
jmp 0x414b50
push dword [esp + 0x544]
mov ebx, 2
cmp ebx, dword [esp]
jne 0x414aa2
mov eax, dword [esp + 0x590]
mov dword [esp + 0x550], eax
jmp 0x414b4f
lea edx, [esp + 0x534]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.00428b60
mov edx, 0x42eccc
call fcn.00415420
mov ecx, eax
call fcn.00415430
je 0x414ae4
mov eax, dword [esp + 0x594]
mov dword [esp + 0x550], eax
jmp 0x414b4f
lea edx, [esp + 0x524]
push edx
call fcn.004288c0
pop edx
push eax
push 2
push edx
call fcn.00428b90
call fcn.00428b60
lea edx, [0x4324b8]
push edx
call fcn.004288c0
pop edx
push eax
push 2
push edx
call fcn.00428b90
call fcn.00415420
mov edx, eax
call fcn.00415420
mov ecx, eax
call fcn.00415430
je 0x414b41
mov eax, dword [esp + 0x5a0]
mov dword [esp + 0x550], eax
jmp 0x414b4f
mov eax, dword [esp + 0x5a4]
mov dword [esp + 0x550], eax
pop eax
pop eax
push edx
call fcn.004288c0
pop edx
push eax
mov eax, 0x42eccc
push eax
lea edx, [esp + 0x534]
push edx
call fcn.004288c0
pop edx
push eax
push 3
push edx
call fcn.00428b90
call fcn.004153f2
add dword [esp], edx
call fcn.00426860
call fcn.00415410
mov ebx, eax
cmp ebx, 1
jge 0x414c35
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x4324bc]
call fcn.004192e8
lea edx, [esp + 0x51c]
push edx
call fcn.004288c0
pop edx
push eax
push 2
push edx
call fcn.00428b90
call fcn.00428b60
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push 0
push 0
push dword [0x432504]
call fcn.00418c50
call fcn.00415420
mov edx, eax
call fcn.00415420
mov ecx, eax
call fcn.00415430
je 0x414c35
xor eax, eax
push eax
push 0
push dword [0x432504]
push dword [0x4324bc]
call fcn.00418f9d
mov ebx, eax
dec ebx
push ebx
push dword [0x4324bc]
call fcn.00403f7c
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x4325d4]
call fcn.004192e8
lea edx, [esp + 0x51c]
push edx
call fcn.004288c0
pop edx
push eax
push 2
push edx
call fcn.00428b90
call fcn.00428b60
push edx
call fcn.004288c0
pop edx
push eax
push edx
call fcn.004288c0
pop edx
push eax
push 0
push 0
push dword [0x432498]
call fcn.00418c50
call fcn.00415420
mov edx, eax
call fcn.00415420
mov ecx, eax
call fcn.00415430
je 0x414cd4
xor eax, eax
push eax
push 0
push dword [0x432498]
push dword [0x4325d4]
call fcn.00418f9d
mov ebx, eax
dec ebx
push ebx
push dword [0x4325d4]
call fcn.00403f7c
inc dword [esp + 0x534]
jno 0x414070
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 [0x432504]
call fcn.0040c40b
push 0
push dword [0x432498]
call fcn.0040c40b
push 0
push dword [0x4324bc]
call fcn.0040c40b
push 0
push dword [0x4325d4]
call fcn.0040c40b
xor eax, eax
push dword [esp + 0x55c]
call fcn.00428b30
push dword [esp + 0x520]
call fcn.00428b30
push dword [esp + 0x558]
call fcn.00428b30
push dword [esp + 0x54c]
call fcn.00428b30
push dword [esp + 0x554]
call fcn.00428b30
push dword [esp + 0x550]
call fcn.00428b30
add esp, 0x5a0
pop edi
pop ebx
pop ebp
ret