Function at 0x4130a1
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 0x4130a9
call fcn.00428890
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x28
call fcn.00426490
lea eax, [esp + 0x4c8]
push 0x28
push eax
call fcn.00428780
lea eax, [esp + 0x514]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004287c0
lea eax, [esp + 0x51c]
mov edx, 0x42c02e
push edx
push 2
push eax
call fcn.004287c0
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.004287c0
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004287c0
mov dword [esp + 0x540], 0
mov dword [esp + 0x544], 0
mov dword [esp + 0x548], 0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x104
call fcn.00426490
lea eax, [esp + 0x550]
push eax
call fcn.004286f0
mov edx, 0x42c02e
lea ecx, [esp + 0x550]
call fcn.00415068
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.004286b0
pop edx
push eax
push 0x10
push 1
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
call fcn.00416c5d
call fcn.00415372
add dword [esp], edx
call fcn.0040eab8
call fcn.00415390
mov dword [esp + 0x578], eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x10
push 2
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
call fcn.00416c5d
call fcn.00415372
add dword [esp], edx
call fcn.0040eab8
call fcn.00415390
mov dword [esp + 0x57c], eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x10
push 3
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
call fcn.00416c5d
call fcn.00415372
add dword [esp], edx
call fcn.0040eab8
call fcn.00415390
mov dword [esp + 0x580], eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x10
push 4
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
call fcn.00416c5d
call fcn.00415372
add dword [esp], edx
call fcn.0040eab8
call fcn.00415390
mov dword [esp + 0x584], eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x10
push 0xffffffdd
mov edx, dword [0x43221c]
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004287f0
mov edx, str.System32imageres.dll
push edx
call fcn.004287f0
call fcn.00415372
add dword [esp], edx
call fcn.0040eab8
call fcn.00415390
mov dword [esp + 0x58c], eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x10
push 0xffffffdc
mov edx, dword [0x43221c]
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004287f0
mov edx, str.System32imageres.dll
push edx
call fcn.004287f0
call fcn.00415372
add dword [esp], edx
call fcn.0040eab8
call fcn.00415390
mov dword [esp + 0x588], eax
push dword [0x4321a8]
call fcn.00419221
push dword [0x4322b8]
call fcn.00419221
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 0x413392
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 0x413f39
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
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.004277c0
lea eax, [esp + 0x518]
push 3
push eax
call fcn.00428780
push edx
call fcn.004286b0
pop edx
push eax
lea edx, [esp + 0x518]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call sub.KERNEL32.dll_GetDriveTypeW
call fcn.00415390
mov dword [esp + 0x540], eax
mov ebx, dword [esp + 0x540]
cmp ebx, 2
je 0x413447
mov ebx, dword [esp + 0x540]
cmp ebx, 3
je 0x413447
jmp 0x41344e
mov eax, 1
jmp 0x413450
xor eax, eax
and eax, eax
je 0x413f2c
push 0
push 0xc
lea eax, [esp + 0x98]
push eax
call fcn.00427810
push 0
push 0x90
lea eax, [esp + 8]
push eax
call fcn.00427810
push 0
push 0x428
lea eax, [esp + 0xa4]
push eax
call fcn.00427810
push edx
call fcn.004286b0
pop edx
push eax
lea eax, [esp + 0x94]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call fcn.00409fef
call fcn.00415390
and eax, eax
je 0x413f2c
push edx
call fcn.004286b0
pop edx
push eax
lea eax, [esp + 4]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call fcn.0040acfd
call fcn.00415390
and eax, eax
je 0x413f2c
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x104
call fcn.00426490
lea eax, [esp + 0x55c]
push eax
call fcn.004286f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push 0x104
call fcn.00426490
lea eax, [esp + 0x560]
push eax
call fcn.004286f0
push edx
call fcn.004286b0
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.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call sub.KERNEL32.dll_GetVolumeInformationW
call fcn.00415390
mov dword [esp + 0x53c], eax
push edx
call fcn.004286b0
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.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call sub.KERNEL32.dll_GetDiskFreeSpaceExW
call fcn.00415390
mov dword [esp + 0x53c], eax
mov dword [esp + 0x538], 0
jmp 0x413631
mov eax, 0x3ff
cmp eax, dword [esp + 0x538]
jl 0x41365e
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 0x413631
mov edx, 0x42c02e
lea ecx, [esp + 0x554]
call fcn.00415068
push edx
call fcn.004286b0
pop edx
push eax
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0x51c]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call fcn.00412ac2
call fcn.00415390
and eax, eax
je 0x4137b3
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0xc], 0
je 0x413728
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
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.00427980
call fcn.00415372
add dword [esp], edx
call fcn.00427570
mov edx, 0x42c0de
push edx
call fcn.004287f0
lea eax, [esp + 0x558]
push eax
call fcn.004286f0
lea ebp, [esp + 0x9c]
cmp dword [ebp + 0x10], 0
je 0x4137b3
mov edx, dword [esp + 0x554]
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
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.00427980
call fcn.00415372
add dword [esp], edx
call fcn.00427570
pop eax
mov edx, 0x42c0de
push edx
call fcn.004287f0
lea eax, [esp + 0x558]
push eax
call fcn.004286f0
lea eax, [esp + 0x524]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004287c0
lea eax, [esp + 0x52c]
mov edx, 0x42c02e
push edx
push 3
push eax
call fcn.004287c0
lea ebp, [esp]
push dword [ebp]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x41388b
lea eax, [esp + 0x528]
mov edx, 0x42e99c
push edx
push 3
push eax
call fcn.004287c0
lea ebp, [esp + 4]
movsx ebx, byte [ebp + 0x21]
cmp ebx, 1
jne 0x413831
lea eax, [esp + 0x530]
mov edx, 0x42d1aa
push edx
push 3
push eax
call fcn.004287c0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push 1
lea ebp, [esp + 0x10]
movsx eax, byte [ebp + 0x20]
cdq
push edx
push eax
call fcn.00426fb0
call fcn.00428950
mov edx, 0x42da14
call fcn.004153a0
mov ecx, eax
call fcn.004153b0
je 0x413886
lea eax, [esp + 0x530]
mov edx, 0x42eb52
push edx
push 3
push eax
call fcn.004287c0
jmp 0x413998
mov ebx, 1
cmp ebx, dword [esp]
jne 0x413980
lea eax, [esp + 0x528]
mov edx, 0x42d442
push edx
push 3
push eax
call fcn.004287c0
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.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
lea edx, [esp + 0x4d0]
push edx
call fcn.004286b0
pop edx
push eax
push 0x28
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call fcn.00426510
call fcn.00428950
mov edx, str.C12A7328_F81F_11D2_BA4B_00A0C93EC93B
call fcn.004153a0
mov ecx, eax
call fcn.004153b0
je 0x41397e
lea eax, [esp + 0x530]
mov edx, 0x42eb52
push edx
push 3
push eax
call fcn.004287c0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
lea ebp, [esp + 0xc]
lea eax, [ebp + 0x48]
push eax
call fcn.004277c0
lea eax, [esp + 0x558]
push eax
call fcn.004286f0
mov edx, dword [esp + 0x554]
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004287f0
lea eax, [esp + 0x560]
push eax
call fcn.004286f0
jmp 0x413998
lea eax, [esp + 0x528]
mov edx, 0x42f24c
push edx
push 3
push eax
call fcn.004287c0
pop eax
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
mov eax, 0x42c1ce
push eax
mov eax, 0x42eb5a
push eax
lea edx, [esp + 0x524]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call fcn.004268e0
lea eax, [esp + 0x520]
push 2
push eax
call fcn.00428780
lea edx, [esp + 0x51c]
push edx
call fcn.004286b0
pop edx
push eax
push 2
push edx
call fcn.00428980
mov edx, 0x42c04a
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
lea ebp, [esp + 0x9c]
mov eax, dword [ebp + 4]
cdq
push edx
push eax
call fcn.00426080
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
mov eax, dword [ebp + 8]
cdq
push edx
push eax
call fcn.00426080
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
lea eax, [esp + 0x524]
push eax
call fcn.004286f0
mov edx, dword [esp + 0x520]
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push dword [esp + 0x564]
call fcn.00426280
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push dword [esp + 0x574]
push dword [esp + 0x574]
call fcn.0040a084
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push dword [esp + 0x568]
call fcn.00426280
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
lea eax, [esp + 0x524]
push eax
call fcn.004286f0
mov edx, dword [esp + 0x520]
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004287f0
lea edx, [esp + 0x528]
push 3
push edx
call fcn.00428980
mov edx, 0x42c04a
push edx
call fcn.004287f0
lea edx, [esp + 0x530]
push 3
push edx
call fcn.00428980
mov edx, 0x42c04a
push edx
call fcn.004287f0
mov edx, dword [esp + 0x558]
push edx
call fcn.004287f0
mov edx, 0x42c04a
push edx
call fcn.004287f0
lea eax, [esp + 0x524]
push eax
call fcn.004286f0
mov edx, dword [esp + 0x520]
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
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.00426080
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push dword [esp + 0x580]
push dword [esp + 0x580]
call fcn.00426080
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
mov eax, dword [esp + 0x54c]
cdq
push edx
push eax
call fcn.00426080
pop eax
mov edx, 0x42c04a
push edx
call fcn.004287f0
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
lea ebp, [esp + 0xa8]
movsx eax, word [ebp + 0x1c]
cdq
push edx
push eax
call fcn.00426080
pop eax
lea eax, [esp + 0x524]
push eax
call fcn.004286f0
movsx ebx, word [ebp + 0x1c]
push ebx
mov ebx, 0xe
cmp ebx, dword [esp]
je 0x413c81
mov ebx, 0xf
cmp ebx, dword [esp]
jne 0x413cd6
lea edx, [esp + 0x530]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00428950
mov edx, 0x42eb52
call fcn.004153a0
mov ecx, eax
call fcn.004153b0
je 0x413cc3
mov eax, dword [esp + 0x588]
mov dword [esp + 0x54c], eax
jmp 0x413cd1
mov eax, dword [esp + 0x584]
mov dword [esp + 0x54c], eax
jmp 0x413da8
push dword [esp + 0x544]
mov ebx, 2
cmp ebx, dword [esp]
jne 0x413cfa
mov eax, dword [esp + 0x580]
mov dword [esp + 0x550], eax
jmp 0x413da7
lea edx, [esp + 0x534]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00428950
mov edx, 0x42eb52
call fcn.004153a0
mov ecx, eax
call fcn.004153b0
je 0x413d3c
mov eax, dword [esp + 0x584]
mov dword [esp + 0x550], eax
jmp 0x413da7
lea edx, [esp + 0x524]
push edx
call fcn.004286b0
pop edx
push eax
push 2
push edx
call fcn.00428980
call fcn.00428950
lea edx, [0x4321a4]
push edx
call fcn.004286b0
pop edx
push eax
push 2
push edx
call fcn.00428980
call fcn.004153a0
mov edx, eax
call fcn.004153a0
mov ecx, eax
call fcn.004153b0
je 0x413d99
mov eax, dword [esp + 0x590]
mov dword [esp + 0x550], eax
jmp 0x413da7
mov eax, dword [esp + 0x594]
mov dword [esp + 0x550], eax
pop eax
pop eax
push edx
call fcn.004286b0
pop edx
push eax
mov eax, 0x42eb52
push eax
lea edx, [esp + 0x534]
push edx
call fcn.004286b0
pop edx
push eax
push 3
push edx
call fcn.00428980
call fcn.00415372
add dword [esp], edx
call fcn.00426b80
call fcn.00415390
mov ebx, eax
cmp ebx, 1
jge 0x413e8d
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x4321a8]
call fcn.00419244
lea edx, [esp + 0x51c]
push edx
call fcn.004286b0
pop edx
push eax
push 2
push edx
call fcn.00428980
call fcn.00428950
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push 0
push 0
push dword [0x4321f0]
call fcn.00418c0d
call fcn.004153a0
mov edx, eax
call fcn.004153a0
mov ecx, eax
call fcn.004153b0
je 0x413e8d
xor eax, eax
push eax
push 0
push dword [0x4321f0]
push dword [0x4321a8]
call fcn.00418f6f
mov ebx, eax
dec ebx
push ebx
push dword [0x4321a8]
call fcn.00403ab2
push dword [esp + 0x548]
push dword [esp + 0x524]
push 0xffffffff
push dword [0x4322b8]
call fcn.00419244
lea edx, [esp + 0x51c]
push edx
call fcn.004286b0
pop edx
push eax
push 2
push edx
call fcn.00428980
call fcn.00428950
push edx
call fcn.004286b0
pop edx
push eax
push edx
call fcn.004286b0
pop edx
push eax
push 0
push 0
push dword [0x432184]
call fcn.00418c0d
call fcn.004153a0
mov edx, eax
call fcn.004153a0
mov ecx, eax
call fcn.004153b0
je 0x413f2c
xor eax, eax
push eax
push 0
push dword [0x432184]
push dword [0x4322b8]
call fcn.00418f6f
mov ebx, eax
dec ebx
push ebx
push dword [0x4322b8]
call fcn.00403ab2
inc dword [esp + 0x534]
jno 0x413392
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 [0x4321f0]
call fcn.0040b593
push 0
push dword [0x432184]
call fcn.0040b593
push 0
push dword [0x4321a8]
call fcn.0040b593
push 0
push dword [0x4322b8]
call fcn.0040b593
xor eax, eax
push dword [esp + 0x55c]
call fcn.00428920
push dword [esp + 0x520]
call fcn.00428920
push dword [esp + 0x558]
call fcn.00428920
push dword [esp + 0x54c]
call fcn.00428920
push dword [esp + 0x554]
call fcn.00428920
push dword [esp + 0x550]
call fcn.00428920
add esp, 0x590
pop edi
pop ebx
pop ebp
ret