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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007a37c
mov eax, dword fs:[0]
push eax
sub esp, 0x4d8
mov eax, dword [0x100a21a4]
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.1000dd40
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.10054b00
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 [0x10082464]
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.10054b00
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 0x1000e1f8
lea ecx, [ebp - 0x41c]
call fcn.10004f60
movzx ecx, al
test ecx, ecx
je 0x1000e05a
jmp 0x1000e226
push 0
lea ecx, [ebp - 0x41c]
call fcn.10004ce0
sub eax, 1
push eax
lea ecx, [ebp - 0x41c]
call fcn.1000e400
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.1000e380
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.1000d070
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4e0]
call fcn.10003140
push 0x10082468
lea ecx, [ebp - 0x41c]
call fcn.10003d50
test eax, eax
je 0x1000e123
push 0x10082470
lea ecx, [ebp - 0x41c]
call fcn.10003d50
test eax, eax
je 0x1000e123
mov edx, 2
imul eax, edx, 0
movzx esi, word [ebp + eax - 0x218]
push 0
lea ecx, [ebp - 0x41c]
call fcn.1000ddb0
movzx ecx, ax
cmp esi, ecx
jne 0x1000e142
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
lea ecx, [ebp - 0x41c]
call fcn.100044e0
jmp 0x1000e02d
lea ecx, [ebp - 0x41c]
call fcn.100034b0
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x1000e178
mov eax, dword [ebp - 0x4cc]
add eax, 1
mov dword [ebp - 0x4cc], eax
lea ecx, [ebp - 0x41c]
call fcn.100044e0
jmp 0x1000e02d
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 0x1000e1eb
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x420]
ja 0x1000e1eb
jb 0x1000e1bc
mov ecx, dword [ebp - 0x4d4]
cmp ecx, dword [ebp - 0x424]
jae 0x1000e1eb
lea ecx, [ebp - 0x41c]
call fcn.1000df20
push eax
lea ecx, [ebp - 0x43c]
call fcn.1000dd90
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 0x1000e212
mov ecx, dword [ebp - 0x4cc]
movzx edx, word [ebp + ecx*2 - 0x418]
push edx
lea ecx, [ebp - 0x41c]
call fcn.1000deb0
mov eax, dword [ebp - 0x4cc]
add eax, 1
mov dword [ebp - 0x4cc], eax
jmp 0x1000e02d
push 0x10082478
lea ecx, [ebp - 0x43c]
call fcn.100063f0
lea ecx, [ebp - 0x43c]
call fcn.10006960
cmp eax, 2
jbe 0x1000e293
push 1
lea ecx, [ebp - 0x43c]
call fcn.1000ddf0
movzx ecx, word [eax]
cmp ecx, 0x3a
je 0x1000e293
push 0x1008247c
lea ecx, [ebp - 0x43c]
call fcn.1000dd90
push 2
lea edx, [ebp - 0x218]
push edx
push 0
lea ecx, [ebp - 0x43c]
call fcn.1000e560
push 0x10082480
lea ecx, [ebp - 0x43c]
call fcn.100063f0
jmp 0x1000e2d9
lea ecx, [ebp - 0x43c]
call fcn.10006960
cmp eax, 2
jae 0x1000e2d9
push 0x10082484
lea ecx, [ebp - 0x43c]
call fcn.1000dd90
push 2
lea eax, [ebp - 0x218]
push eax
push 0
lea ecx, [ebp - 0x43c]
call fcn.1000e560
push 0x10082488
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 0x100a4d30
call fcn.1000e460
mov dword [ebp - 0x4e4], 0x100a4d30
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.10037e81
mov esp, ebp
pop ebp
ret