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

Disassembly:
push 0x7c
mov eax, 0x10050beb
call fcn.1003b8ec
mov edi, dword [ebp + 8]
push str.bakpath
push str.Softwareprojonepodlpdlpcore_
mov esi, reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x2c]
push esi
xor ebx, ebx
push eax
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x78], ebx
call fcn.10004403
add esp, 0x10
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], ebx
je 0x1002b27a
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x1002b252
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x1002b27a
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.10004b28
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.10005a6e
mov eax, edi
jmp 0x1002b414
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x78], eax
xor eax, eax
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x80], ebx
mov byte [ebp - 0x65], bl
stosd dword es:[edi], eax
mov dword [ebp - 0x70], ebx
mov ecx, dword [ebp - 0x70]
xor edi, edi
inc edi
mov eax, edi
shl eax, cl
mov ecx, dword [ebp - 0x78]
test ecx, eax
je 0x1002b394
mov al, byte [ebp - 0x70]
add al, 0x61
mov byte [ebp - 0x74], al
cbw
movzx eax, ax
push eax
lea eax, [ebp - 0x48]
push str._c:_
push eax
call fcn.100041b8
add esp, 0xc
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
mov byte [ebp - 4], 1
jae 0x1002b2d6
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x1002b387
lea eax, [ebp - 0x66]
push eax
push dword [ebp - 0x74]
mov byte [ebp - 0x66], bl
call fcn.1000a8be
pop ecx
pop ecx
test al, al
je 0x1002b304
cmp byte [ebp - 0x66], bl
jne 0x1002b387
movsx eax, byte [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push str._c:podlp_backup
push eax
call fcn.100041b8
add esp, 0xc
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 2
jae 0x1002b32a
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1002b41a
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x1002b345
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x88]
push ecx
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x1002b37d
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x7c]
jb 0x1002b37d
mov ecx, dword [ebp - 0x88]
ja 0x1002b371
cmp ecx, dword [ebp - 0x80]
jbe 0x1002b37d
mov dl, byte [ebp - 0x74]
mov byte [ebp - 0x65], dl
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], eax
push ebx
push edi
lea ecx, [ebp - 0x64]
call fcn.10005a6e
push ebx
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.10005a6e
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0x1a
jl 0x1002b292
cmp byte [ebp - 0x65], bl
je 0x1002b3fb
movsx ax, byte [ebp - 0x65]
movzx eax, ax
push eax
lea eax, [ebp - 0x48]
push str._c:podlp_backup
push eax
call fcn.100041b8
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10005943
push ebx
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.10005a6e
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x1002b3e9
lea eax, [ebp - 0x28]
push ebx
push eax
push str.bakpath
push str.Softwareprojonepodlpdlpcore_
push esi
call fcn.10004329
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x2c]
push eax
call fcn.10004b28
push ebx
push edi
lea ecx, [ebp - 0x2c]
call fcn.10005a6e
mov eax, dword [ebp - 0x6c]
call fcn.1003b96f
ret
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x1002b426
lea eax, [ebp - 0x60]
push ebx
push eax
push str.bakpath
push str.Softwareprojonepodlpdlpcore_
push esi
call fcn.10004329
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x64]
push eax
call fcn.10004b28
push ebx
push edi
lea ecx, [ebp - 0x64]
call fcn.10005a6e
push ebx
push edi
lea ecx, [ebp - 0x48]
call fcn.10005a6e
jmp 0x1002b407