Function at 0x44c6e9
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa48
mov eax, dword [0x47c144]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
and dword [esi], 0
and dword [ebx], 0
push edi
mov edi, dword [ebp + 8]
push 0x2f
push edi
mov dword [ebp - 0xa40], ecx
mov dword [ebp - 0xa44], esi
mov dword [ebp - 0xa48], ebx
call fcn.0043f8a1
pop ecx
pop ecx
test eax, eax
je 0x44c74c
mov eax, dword [ebp - 0xa40]
mov eax, dword [eax + 0x14f4]
mov dword [esi], eax
mov dword [ebx], 0x10
xor eax, eax
inc eax
jmp 0x44c9d4
xor eax, eax
mov esi, 0x208
push esi
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00443420
xor eax, eax
push esi
push eax
mov word [ebp - 0x624], ax
lea eax, [ebp - 0x622]
push eax
call fcn.00443420
add esp, 0x18
push edi
lea eax, [ebp - 0x624]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCanonicalizeW]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea eax, [ebp - 0x624]
push eax
call ebx
xor eax, eax
push esi
push eax
mov word [ebp - 0xa3c], ax
lea eax, [ebp - 0xa3a]
push eax
call fcn.00443420
add esp, 0xc
lea eax, [ebp - 0xa3c]
push eax
mov edi, 0x104
push edi
call dword [0x47e0a4]
test eax, eax
lea eax, [ebp - 0x624]
je 0x44c7ed
push eax
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x44c803
push edi
push eax
lea eax, [ebp - 0x210]
push 0x105
push eax
call fcn.0043fff0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
call ebx
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
xor eax, eax
push esi
push eax
mov word [ebp - 0x830], ax
lea eax, [ebp - 0x82e]
push eax
call fcn.00443420
push edi
lea eax, [ebp - 0x210]
push eax
mov esi, 0x105
lea eax, [ebp - 0x830]
push esi
push eax
call fcn.0043fff0
add esp, 0x1c
lea eax, [ebp - 0x830]
push eax
call ebx
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x830]
push eax
call fcn.0043ff58
pop ecx
pop ecx
test eax, eax
je 0x44c87c
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRootW]
test eax, eax
je 0x44c8ca
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x44c8ca
cmp dword [ebp + 0x14], 0
jne 0x44c8ca
mov eax, dword [ebp - 0xa40]
mov eax, dword [eax + 0x1500]
mov ecx, dword [ebp - 0xa44]
mov dword [ecx], eax
mov eax, dword [ebp - 0xa48]
mov dword [eax], 0x10
jmp 0x44c744
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.00443420
mov ebx, 0x103
push ebx
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x418]
push edi
push eax
call fcn.0043fff0
add esp, 0x1c
lea eax, [ebp - 0x418]
push eax
call fcn.0044c14c
push ebx
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x210]
push esi
push eax
call fcn.0043fff0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
call fcn.0044bf99
test eax, eax
je 0x44c947
mov eax, dword [ebp - 0xa40]
mov eax, dword [eax + 0x14f4]
jmp 0x44c8b1
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0044c2ed
test eax, eax
jne 0x44c997
lea eax, [ebp - 0x210]
push 0x40329c
push eax
call fcn.0043f33a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa44]
test eax, eax
mov eax, dword [ebp - 0xa40]
je 0x44c98c
mov eax, dword [eax + 0x1504]
jmp 0x44c8b7
mov eax, dword [eax + 0x14f4]
jmp 0x44c8b7
mov esi, dword [ebp - 0xa40]
xor ebx, ebx
cmp dword [esi + 0x14f0], ebx
jle 0x44c9d2
mov edi, esi
push dword [edi + 0x20c]
lea eax, [ebp - 0x210]
push eax
push edi
call fcn.0043ea5f
add esp, 0xc
test eax, eax
je 0x44c9e5
inc ebx
add edi, 0x218
cmp ebx, dword [esi + 0x14f0]
jl 0x44c9a9
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043e052
leave
ret 0x10
lea eax, [ebp - 0x210]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x44c9ee
mov ecx, dword [edi + 0x20c]
sub eax, edx
sar eax, 1
cmp eax, ecx
je 0x44ca11
cmp word [ebp + ecx*2 - 0x210], 0x5c
jne 0x44c9d2
mov eax, dword [edi + 0x210]
mov ecx, dword [ebp - 0xa44]
mov dword [ecx], eax
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0xa48]
mov dword [ecx], eax
jmp 0x44c744