Function at 0x1000df30
Capabilities:
Get common file path
Get disk information
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078fcc
mov eax, dword fs:[0]
push eax
sub esp, 0x4d8
mov eax, dword [0x100a11a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4cc], 0
lea ecx, [ebp - 0x43c]
call fcn.1000dd10
mov dword [ebp - 4], 0
push 4
lea ecx, [ebp - 0x41c]
call fcn.100062d0
lea ecx, [ebp - 0x41c]
call fcn.10002d70
mov byte [ebp - 4], 1
push 0x200
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.10053860
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x4d4], xmm0
lea ecx, [ebp - 0x418]
push ecx
push 0x200
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov dx, word [0x10081444]
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.10053860
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edx, dword [ebp - 0x4cc]
movzx eax, word [ebp + edx*2 - 0x418]
test eax, eax
jne 0x1000e1c8
lea ecx, [ebp - 0x41c]
call fcn.10004f60
movzx ecx, al
test ecx, ecx
je 0x1000e02a
jmp 0x1000e1f6
push 0
lea ecx, [ebp - 0x41c]
call fcn.10004ce0
sub eax, 1
push eax
lea ecx, [ebp - 0x41c]
call fcn.1000e3d0
xorps xmm0, xmm0
movlpd qword [ebp - 0x444], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x424], xmm0
push 2
lea edx, [ebp - 0x4e0]
push edx
lea ecx, [ebp - 0x41c]
call fcn.1000e350
mov dword [ebp - 0x4d8], eax
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x4dc]
push ecx
lea ecx, [ebp - 0x41c]
call fcn.1000d050
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4e0]
call fcn.10003140
push 0x10081448
lea ecx, [ebp - 0x41c]
call fcn.10003d50
test eax, eax
je 0x1000e0f3
push 0x10081450
lea ecx, [ebp - 0x41c]
call fcn.10003d50
test eax, eax
je 0x1000e0f3
mov edx, 2
imul eax, edx, 0
movzx esi, word [ebp + eax - 0x218]
push 0
lea ecx, [ebp - 0x41c]
call fcn.1000dd80
movzx ecx, ax
cmp esi, ecx
jne 0x1000e112
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
lea ecx, [ebp - 0x41c]
call fcn.100044e0
jmp 0x1000dffd
lea ecx, [ebp - 0x41c]
call fcn.100034b0
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x1000e148
mov eax, dword [ebp - 0x4cc]
add eax, 1
mov dword [ebp - 0x4cc], eax
lea ecx, [ebp - 0x41c]
call fcn.100044e0
jmp 0x1000dffd
push 0
lea ecx, [ebp - 0x444]
push ecx
lea edx, [ebp - 0x424]
push edx
lea ecx, [ebp - 0x41c]
call fcn.100034b0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x1000e1bb
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x420]
ja 0x1000e1bb
jb 0x1000e18c
mov ecx, dword [ebp - 0x4d4]
cmp ecx, dword [ebp - 0x424]
jae 0x1000e1bb
lea ecx, [ebp - 0x41c]
call fcn.1000def0
push eax
lea ecx, [ebp - 0x43c]
call fcn.1000dd60
mov edx, dword [ebp - 0x424]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x4d0], eax
lea ecx, [ebp - 0x41c]
call fcn.100044e0
jmp 0x1000e1e2
mov ecx, dword [ebp - 0x4cc]
movzx edx, word [ebp + ecx*2 - 0x418]
push edx
lea ecx, [ebp - 0x41c]
call fcn.1000de80
mov eax, dword [ebp - 0x4cc]
add eax, 1
mov dword [ebp - 0x4cc], eax
jmp 0x1000dffd
push 0x10081458
lea ecx, [ebp - 0x43c]
call fcn.100063f0
lea ecx, [ebp - 0x43c]
call fcn.10006960
cmp eax, 2
jbe 0x1000e263
push 1
lea ecx, [ebp - 0x43c]
call fcn.1000ddc0
movzx ecx, word [eax]
cmp ecx, 0x3a
je 0x1000e263
push 0x1008145c
lea ecx, [ebp - 0x43c]
call fcn.1000dd60
push 2
lea edx, [ebp - 0x218]
push edx
push 0
lea ecx, [ebp - 0x43c]
call fcn.1000e530
push 0x10081460
lea ecx, [ebp - 0x43c]
call fcn.100063f0
jmp 0x1000e2a9
lea ecx, [ebp - 0x43c]
call fcn.10006960
cmp eax, 2
jae 0x1000e2a9
push 0x10081464
lea ecx, [ebp - 0x43c]
call fcn.1000dd60
push 2
lea eax, [ebp - 0x218]
push eax
push 0
lea ecx, [ebp - 0x43c]
call fcn.1000e530
push 0x10081468
lea ecx, [ebp - 0x43c]
call fcn.100063f0
push 0x84
lea ecx, [ebp - 0x4c8]
call fcn.100062d0
push 0xfde9
lea ecx, [ebp - 0x43c]
call fcn.10006640
push eax
lea ecx, [ebp - 0x4c8]
call fcn.10008720
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c8]
call fcn.100034b0
push eax
push 0x104
push 0x100a3d30
call fcn.1000e430
mov dword [ebp - 0x4e4], 0x100a3d30
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c8]
call fcn.100087a0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x41c]
call fcn.10003140
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x43c]
call fcn.100031c0
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10036c51
mov esp, ebp
pop ebp
ret