Function at 0x4132f1
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 0x4132f9
call fcn.00428a60
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push 0x28
call fcn.00426250
lea eax, [esp + 0x4c8]
push 0x28
push eax
call fcn.004289b0
lea eax, [esp + 0x514]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004289f0
lea eax, [esp + 0x51c]
mov edx, 0x42c02e
push edx
push 2
push eax
call fcn.004289f0
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.004289f0
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004289f0
mov dword [esp + 0x540], 0
mov dword [esp + 0x544], 0
mov dword [esp + 0x548], 0
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push 0x104
call fcn.00426250
lea eax, [esp + 0x550]
push eax
call fcn.004288c0
mov edx, 0x42c02e
lea ecx, [esp + 0x550]
call fcn.00415068
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.00428880
pop edx
push eax
push 0x10
push 1
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
call fcn.00416c40
call fcn.004153d2
add dword [esp], edx
call fcn.0040db60
call fcn.004153f0
mov dword [esp + 0x588], eax
push edx
call fcn.00428880
pop edx
push eax
push 0x10
push 2
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
call fcn.00416c40
call fcn.004153d2
add dword [esp], edx
call fcn.0040db60
call fcn.004153f0
mov dword [esp + 0x58c], eax
push edx
call fcn.00428880
pop edx
push eax
push 0x10
push 3
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
call fcn.00416c40
call fcn.004153d2
add dword [esp], edx
call fcn.0040db60
call fcn.004153f0
mov dword [esp + 0x590], eax
push edx
call fcn.00428880
pop edx
push eax
push 0x10
push 4
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
call fcn.00416c40
call fcn.004153d2
add dword [esp], edx
call fcn.0040db60
call fcn.004153f0
mov dword [esp + 0x594], eax
push edx
call fcn.00428880
pop edx
push eax
push 0x10
push 0xffffffdd
mov edx, dword [0x432238]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
mov edx, str.imageres.dll
push edx
call fcn.00428950
call fcn.004153d2
add dword [esp], edx
call fcn.0040db60
call fcn.004153f0
mov dword [esp + 0x59c], eax
push edx
call fcn.00428880
pop edx
push eax
push 0x10
push 0xffffffdc
mov edx, dword [0x432238]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
mov edx, str.imageres.dll
push edx
call fcn.00428950
call fcn.004153d2
add dword [esp], edx
call fcn.0040db60
call fcn.004153f0
mov dword [esp + 0x598], eax
push dword [0x4321e0]
call fcn.0041928d
push dword [0x4322f4]
call fcn.0041928d
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 0x4135e2
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 0x414253
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
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.00427990
lea eax, [esp + 0x518]
push 3
push eax
call fcn.004289b0
push edx
call fcn.00428880
pop edx
push eax
lea edx, [esp + 0x518]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call sub.KERNEL32.dll_GetDriveTypeW
call fcn.004153f0
mov dword [esp + 0x540], eax
mov ebx, dword [esp + 0x540]
cmp ebx, 2
je 0x413697
mov ebx, dword [esp + 0x540]
cmp ebx, 3
je 0x413697
jmp 0x41369e
mov eax, 1
jmp 0x4136a0
xor eax, eax
and eax, eax
je 0x414246
push 0
push 0xc
lea eax, [esp + 0x98]
push eax
call fcn.004279e0
push 0
push 0x90
lea eax, [esp + 8]
push eax
call fcn.004279e0
push 0
push 0x428
lea eax, [esp + 0xa4]
push eax
call fcn.004279e0
push edx
call fcn.00428880
pop edx
push eax
lea eax, [esp + 0x94]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call fcn.0040a760
call fcn.004153f0
and eax, eax
je 0x414246
push edx
call fcn.00428880
pop edx
push eax
lea eax, [esp + 4]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call fcn.0040b39f
call fcn.004153f0
and eax, eax
je 0x414246
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push 0x104
call fcn.00426250
lea eax, [esp + 0x55c]
push eax
call fcn.004288c0
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push 0x104
call fcn.00426250
lea eax, [esp + 0x560]
push eax
call fcn.004288c0
push edx
call fcn.00428880
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.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call sub.KERNEL32.dll_GetVolumeInformationW
call fcn.004153f0
mov dword [esp + 0x53c], eax
push edx
call fcn.00428880
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.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceExW
call fcn.004153f0
mov dword [esp + 0x53c], eax
push edx
call fcn.00428880
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.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceW
call fcn.004153f0
mov dword [esp + 0x53c], eax
mov dword [esp + 0x538], 0
jmp 0x4138dc
mov eax, 0x3ff
cmp eax, dword [esp + 0x538]
jl 0x413909
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 0x4138dc
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.00428880
pop edx
push eax
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call fcn.004118a0
call fcn.004153f0
and eax, eax
je 0x413a5e
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0xc], 0
je 0x4139d3
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
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.00427b50
call fcn.004153d2
add dword [esp], edx
call fcn.00427740
mov edx, 0x42c0de
push edx
call fcn.00428950
lea eax, [esp + 0x558]
push eax
call fcn.004288c0
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0x10], 0
je 0x413a5e
mov edx, dword [esp + 0x554]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
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.00427b50
call fcn.004153d2
add dword [esp], edx
call fcn.00427740
pop eax
mov edx, 0x42c0de
push edx
call fcn.00428950
lea eax, [esp + 0x558]
push eax
call fcn.004288c0
lea eax, [esp + 0x524]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004289f0
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004289f0
lea ebp, [esp]
push dword [ebp]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x413b36
lea eax, [esp + 0x528]
mov edx, 0x42e968
push edx
push 3
push eax
call fcn.004289f0
lea ebp, [esp + 4]
movsx ebx, byte [ebp + 0x21]
cmp ebx, 1
jne 0x413adc
lea eax, [esp + 0x530]
mov edx, 0x42d146
push edx
push 3
push eax
call fcn.004289f0
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push 1
lea ebp, [esp + 0x10]
movsx eax, byte [ebp + 0x20]
cdq
push edx
push eax
call fcn.00426400
call fcn.00428b20
mov edx, 0x42d9be
call fcn.00415400
mov ecx, eax
call fcn.00415410
je 0x413b31
lea eax, [esp + 0x530]
mov edx, 0x42eb1e
push edx
push 3
push eax
call fcn.004289f0
jmp 0x413c43
mov ebx, 1
cmp ebx, dword [esp]
jne 0x413c2b
lea eax, [esp + 0x528]
mov edx, 0x42d414
push edx
push 3
push eax
call fcn.004289f0
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.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
lea edx, [esp + 0x4d0]
push edx
call fcn.00428880
pop edx
push eax
push 0x28
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call fcn.00426390
call fcn.00428b20
mov edx, 0x42da08
call fcn.00415400
mov ecx, eax
call fcn.00415410
je 0x413c29
lea eax, [esp + 0x530]
mov edx, 0x42eb1e
push edx
push 3
push eax
call fcn.004289f0
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
lea ebp, [esp + 0xc]
lea eax, [ebp + 0x48]
push eax
call fcn.00427990
lea eax, [esp + 0x558]
push eax
call fcn.004288c0
mov edx, dword [esp + 0x554]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
lea eax, [esp + 0x560]
push eax
call fcn.004288c0
jmp 0x413c43
lea eax, [esp + 0x528]
mov edx, 0x42f218
push edx
push 3
push eax
call fcn.004289f0
pop eax
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
mov eax, 0x42c1d6
push eax
mov eax, 0x42eb26
push eax
lea edx, [esp + 0x524]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call fcn.00426f50
lea eax, [esp + 0x520]
push 2
push eax
call fcn.004289b0
lea edx, [esp + 0x51c]
push edx
call fcn.00428880
pop edx
push eax
push 2
push edx
call fcn.00428b50
mov edx, 0x42c04a
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
lea ebp, [esp + 0x9c]
mov eax, dword [ebp + 4]
cdq
push edx
push eax
call fcn.00427060
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
mov eax, dword [ebp + 8]
cdq
push edx
push eax
call fcn.00427060
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
lea eax, [esp + 0x524]
push eax
call fcn.004288c0
mov edx, dword [esp + 0x520]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push dword [esp + 0x564]
call fcn.00426340
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push dword [esp + 0x574]
push dword [esp + 0x574]
call fcn.0040a7f5
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push dword [esp + 0x568]
call fcn.00426340
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
lea eax, [esp + 0x524]
push eax
call fcn.004288c0
mov edx, dword [esp + 0x520]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
lea edx, [esp + 0x528]
push 3
push edx
call fcn.00428b50
mov edx, 0x42c04a
push edx
call fcn.00428950
lea edx, [esp + 0x530]
push 3
push edx
call fcn.00428b50
mov edx, 0x42c04a
push edx
call fcn.00428950
mov edx, dword [esp + 0x558]
push edx
call fcn.00428950
mov edx, 0x42c04a
push edx
call fcn.00428950
lea eax, [esp + 0x524]
push eax
call fcn.004288c0
mov edx, dword [esp + 0x520]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
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.00427060
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push dword [esp + 0x580]
push dword [esp + 0x580]
call fcn.00427060
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
lea eax, [esp + 0x524]
push eax
call fcn.004288c0
mov edx, dword [esp + 0x520]
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
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.00427060
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
mov eax, dword [esp + 0x54c]
cdq
push edx
push eax
call fcn.00427060
pop eax
mov edx, 0x42c04a
push edx
call fcn.00428950
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
lea ebp, [esp + 0xa8]
movsx eax, word [ebp + 0x1c]
cdq
push edx
push eax
call fcn.00427060
pop eax
lea eax, [esp + 0x524]
push eax
call fcn.004288c0
movsx ebx, word [ebp + 0x1c]
push ebx
mov ebx, 0xe
cmp ebx, dword [esp]
je 0x413f9b
mov ebx, 0xf
cmp ebx, dword [esp]
jne 0x413ff0
lea edx, [esp + 0x530]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.00428b20
mov edx, 0x42eb1e
call fcn.00415400
mov ecx, eax
call fcn.00415410
je 0x413fdd
mov eax, dword [esp + 0x598]
mov dword [esp + 0x54c], eax
jmp 0x413feb
mov eax, dword [esp + 0x594]
mov dword [esp + 0x54c], eax
jmp 0x4140c2
push dword [esp + 0x544]
mov ebx, 2
cmp ebx, dword [esp]
jne 0x414014
mov eax, dword [esp + 0x590]
mov dword [esp + 0x550], eax
jmp 0x4140c1
lea edx, [esp + 0x534]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.00428b20
mov edx, 0x42eb1e
call fcn.00415400
mov ecx, eax
call fcn.00415410
je 0x414056
mov eax, dword [esp + 0x594]
mov dword [esp + 0x550], eax
jmp 0x4140c1
lea edx, [esp + 0x524]
push edx
call fcn.00428880
pop edx
push eax
push 2
push edx
call fcn.00428b50
call fcn.00428b20
lea edx, [0x4321dc]
push edx
call fcn.00428880
pop edx
push eax
push 2
push edx
call fcn.00428b50
call fcn.00415400
mov edx, eax
call fcn.00415400
mov ecx, eax
call fcn.00415410
je 0x4140b3
mov eax, dword [esp + 0x5a0]
mov dword [esp + 0x550], eax
jmp 0x4140c1
mov eax, dword [esp + 0x5a4]
mov dword [esp + 0x550], eax
pop eax
pop eax
push edx
call fcn.00428880
pop edx
push eax
mov eax, 0x42eb1e
push eax
lea edx, [esp + 0x534]
push edx
call fcn.00428880
pop edx
push eax
push 3
push edx
call fcn.00428b50
call fcn.004153d2
add dword [esp], edx
call fcn.00426820
call fcn.004153f0
mov ebx, eax
cmp ebx, 1
jge 0x4141a7
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x4321e0]
call fcn.004192b0
lea edx, [esp + 0x51c]
push edx
call fcn.00428880
pop edx
push eax
push 2
push edx
call fcn.00428b50
call fcn.00428b20
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push 0
push 0
push dword [0x432228]
call fcn.00418c18
call fcn.00415400
mov edx, eax
call fcn.00415400
mov ecx, eax
call fcn.00415410
je 0x4141a7
xor eax, eax
push eax
push 0
push dword [0x432228]
push dword [0x4321e0]
call fcn.00418f65
mov ebx, eax
dec ebx
push ebx
push dword [0x4321e0]
call fcn.00403bbe
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x4322f4]
call fcn.004192b0
lea edx, [esp + 0x51c]
push edx
call fcn.00428880
pop edx
push eax
push 2
push edx
call fcn.00428b50
call fcn.00428b20
push edx
call fcn.00428880
pop edx
push eax
push edx
call fcn.00428880
pop edx
push eax
push 0
push 0
push dword [0x4321bc]
call fcn.00418c18
call fcn.00415400
mov edx, eax
call fcn.00415400
mov ecx, eax
call fcn.00415410
je 0x414246
xor eax, eax
push eax
push 0
push dword [0x4321bc]
push dword [0x4322f4]
call fcn.00418f65
mov ebx, eax
dec ebx
push ebx
push dword [0x4322f4]
call fcn.00403bbe
inc dword [esp + 0x534]
jno 0x4135e2
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 [0x432228]
call fcn.0040bc25
push 0
push dword [0x4321bc]
call fcn.0040bc25
push 0
push dword [0x4321e0]
call fcn.0040bc25
push 0
push dword [0x4322f4]
call fcn.0040bc25
xor eax, eax
push dword [esp + 0x55c]
call fcn.00428af0
push dword [esp + 0x520]
call fcn.00428af0
push dword [esp + 0x558]
call fcn.00428af0
push dword [esp + 0x54c]
call fcn.00428af0
push dword [esp + 0x554]
call fcn.00428af0
push dword [esp + 0x550]
call fcn.00428af0
add esp, 0x5a0
pop edi
pop ebx
pop ebp
ret