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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7b9a74
mov eax, dword fs:[0]
push eax
mov eax, 0x4284
call fcn.00725f60
mov eax, dword [0x89b044]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4288], ecx
push 0x2000
push 0
lea eax, [ebp - 0x2014]
push eax
call fcn.007202b0
add esp, 0xc
call fcn.004bb400
mov ecx, eax
call fcn.0043e3d0
mov dword [ebp - 0x4038], eax
mov dword [ebp - 0x402c], 0x7f8568
mov dword [ebp - 0x4028], 0x59
mov dword [ebp - 0x401c], 0
mov dword [ebp - 0x4020], 0
mov dword [ebp - 0x4024], 0x572cd0
mov dword [ebp - 0x4034], 0
lea ecx, [ebp - 0x2014]
mov dword [ebp - 0x4030], ecx
lea edx, [ebp - 0x2014]
mov dword [ebp - 0x4020], edx
lea eax, [ebp - 0x4038]
push eax
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov dword [ebp - 0x4018], eax
cmp dword [ebp - 0x4018], 0
jne 0x572f64
xor eax, eax
jmp 0x5732ee
push 0x2000
push 0
lea ecx, [ebp - 0x4014]
push ecx
call fcn.007202b0
add esp, 0xc
lea edx, [ebp - 0x4014]
push edx
mov eax, dword [ebp - 0x4018]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
je 0x5732ec
cmp dword [0x89f5ec], 1
jb 0x57314e
ja 0x572fb2
cmp dword [0x89f5e8], 0
jb 0x57314e
push 3
lea ecx, [ebp - 0x4014]
push ecx
lea ecx, [ebp - 0x4040]
call fcn.00574500
mov dword [ebp - 4], 0
push 0x208
push 0
lea edx, [ebp - 0x424c]
push edx
call fcn.007202b0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x424c]
push eax
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x4040]
call fcn.00405e80
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
push 0x104
push str.FAT32
lea ecx, [ebp - 0x424c]
push ecx
call fcn.0072a53c
add esp, 0xc
test eax, eax
jne 0x57313c
push 0x384
call fcn.00704930
add esp, 4
mov dword [ebp - 0x4268], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x4268], 0
je 0x57305f
mov ecx, dword [ebp - 0x4268]
call fcn.00557e70
mov dword [ebp - 0x428c], eax
jmp 0x573069
mov dword [ebp - 0x428c], 0
mov edx, dword [ebp - 0x428c]
mov dword [ebp - 0x4264], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x4264]
mov dword [ebp - 0x4250], eax
push 0x7f8588
lea ecx, [ebp - 0x426c]
call fcn.004068d0
mov byte [ebp - 4], 2
push str.S_MR
lea ecx, [ebp - 0x4270]
call fcn.004068d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x426c]
push ecx
lea edx, [ebp - 0x4270]
push edx
mov ecx, dword [ebp - 0x4250]
call fcn.005589d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4270]
call fcn.00405ef0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x426c]
call fcn.00405ef0
push 3
mov ecx, dword [ebp - 0x4250]
call fcn.00558a10
push 1
call fcn.004bb400
mov ecx, eax
call fcn.0043e3d0
push eax
mov ecx, dword [ebp - 0x4250]
call fcn.00558780
mov dword [0x89f5f0], 0
mov dword [ebp - 0x4274], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4040]
call fcn.00405ef0
mov eax, dword [ebp - 0x4274]
jmp 0x5732ee
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4040]
call fcn.00405ef0
lea eax, [ebp - 0x4014]
push eax
lea ecx, [ebp - 0x403c]
call fcn.004068d0
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x403c]
call fcn.00403b90
movzx ecx, al
test ecx, ecx
jne 0x5732da
mov dword [ebp - 0x425c], 0
xor edx, edx
mov dword [ebp - 0x4258], edx
lea eax, [ebp - 0x425c]
push eax
push 0
push 0
lea ecx, [ebp - 0x403c]
call fcn.00405e80
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov ecx, dword [ebp - 0x4258]
cmp ecx, dword [0x89f5ec]
ja 0x5732bd
jb 0x5731d2
mov edx, dword [ebp - 0x425c]
cmp edx, dword [0x89f5e8]
ja 0x5732bd
mov dword [0x89f5f0], 0
push 0x384
call fcn.00704930
add esp, 4
mov dword [ebp - 0x427c], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x427c], 0
je 0x57320f
mov ecx, dword [ebp - 0x427c]
call fcn.00557e70
mov dword [ebp - 0x4290], eax
jmp 0x573219
mov dword [ebp - 0x4290], 0
mov eax, dword [ebp - 0x4290]
mov dword [ebp - 0x4278], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x4278]
mov dword [ebp - 0x4260], ecx
push 0x7f85e0
lea ecx, [ebp - 0x4280]
call fcn.004068d0
mov byte [ebp - 4], 6
push 0x7f85e8
lea ecx, [ebp - 0x4284]
call fcn.004068d0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x4280]
push edx
lea eax, [ebp - 0x4284]
push eax
mov ecx, dword [ebp - 0x4260]
call fcn.005589d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4284]
call fcn.00405ef0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4280]
call fcn.00405ef0
push 3
mov ecx, dword [ebp - 0x4260]
call fcn.00558a10
push 1
call fcn.004bb400
mov ecx, eax
call fcn.0043e3d0
push eax
mov ecx, dword [ebp - 0x4260]
call fcn.00558780
jmp 0x5732da
lea ecx, [ebp - 0x403c]
push ecx
call fcn.004bb400
mov ecx, eax
call fcn.0043e170
mov dword [0x89f5f0], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x403c]
call fcn.00405ef0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0071fe0b
mov esp, ebp
pop ebp
ret