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

Disassembly:
push 0x7c
mov eax, 0x1004f91e
call fcn.1003a5fc
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.10004432
add esp, 0x10
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], ebx
je 0x1002ae6f
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x1002ae47
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x1002ae6f
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.10004b57
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.10005a9d
mov eax, edi
jmp 0x1002b009
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 0x1002af89
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.100041e7
add esp, 0xc
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
mov byte [ebp - 4], 1
jae 0x1002aecb
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x1002af7c
lea eax, [ebp - 0x66]
push eax
push dword [ebp - 0x74]
mov byte [ebp - 0x66], bl
call fcn.1000a8a7
pop ecx
pop ecx
test al, al
je 0x1002aef9
cmp byte [ebp - 0x66], bl
jne 0x1002af7c
movsx eax, byte [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push str._c:podlp_backup
push eax
call fcn.100041e7
add esp, 0xc
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 2
jae 0x1002af1f
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1002b00f
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x1002af3a
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 0x1002af72
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x7c]
jb 0x1002af72
mov ecx, dword [ebp - 0x88]
ja 0x1002af66
cmp ecx, dword [ebp - 0x80]
jbe 0x1002af72
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.10005a9d
push ebx
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.10005a9d
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0x1a
jl 0x1002ae87
cmp byte [ebp - 0x65], bl
je 0x1002aff0
movsx ax, byte [ebp - 0x65]
movzx eax, ax
push eax
lea eax, [ebp - 0x48]
push str._c:podlp_backup
push eax
call fcn.100041e7
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10005972
push ebx
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.10005a9d
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x1002afde
lea eax, [ebp - 0x28]
push ebx
push eax
push str.bakpath
push str.Softwareprojonepodlpdlpcore_
push esi
call fcn.10004358
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x2c]
push eax
call fcn.10004b57
push ebx
push edi
lea ecx, [ebp - 0x2c]
call fcn.10005a9d
mov eax, dword [ebp - 0x6c]
call fcn.1003a67f
ret
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x1002b01b
lea eax, [ebp - 0x60]
push ebx
push eax
push str.bakpath
push str.Softwareprojonepodlpdlpcore_
push esi
call fcn.10004358
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x64]
push eax
call fcn.10004b57
push ebx
push edi
lea ecx, [ebp - 0x64]
call fcn.10005a9d
push ebx
push edi
lea ecx, [ebp - 0x48]
call fcn.10005a9d
jmp 0x1002affc