Function at 0x44c699
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.0043f846
pop ecx
pop ecx
test eax, eax
je 0x44c6fc
mov eax, dword [ebp - 0xa40]
mov eax, dword [eax + 0x14f4]
mov dword [esi], eax
mov dword [ebx], 0x10
xor eax, eax
inc eax
jmp 0x44c984
xor eax, eax
mov esi, 0x208
push esi
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.004433d0
xor eax, eax
push esi
push eax
mov word [ebp - 0x624], ax
lea eax, [ebp - 0x622]
push eax
call fcn.004433d0
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.004433d0
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 0x44c79d
push eax
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x44c7b3
push edi
push eax
lea eax, [ebp - 0x210]
push 0x105
push eax
call fcn.0043ff95
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.004433d0
push edi
lea eax, [ebp - 0x210]
push eax
mov esi, 0x105
lea eax, [ebp - 0x830]
push esi
push eax
call fcn.0043ff95
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.0043fefd
pop ecx
pop ecx
test eax, eax
je 0x44c82c
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 0x44c87a
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x44c87a
cmp dword [ebp + 0x14], 0
jne 0x44c87a
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 0x44c6f4
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.004433d0
mov ebx, 0x103
push ebx
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x418]
push edi
push eax
call fcn.0043ff95
add esp, 0x1c
lea eax, [ebp - 0x418]
push eax
call fcn.0044c0fc
push ebx
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x210]
push esi
push eax
call fcn.0043ff95
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
call fcn.0044bf49
test eax, eax
je 0x44c8f7
mov eax, dword [ebp - 0xa40]
mov eax, dword [eax + 0x14f4]
jmp 0x44c861
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0044c29d
test eax, eax
jne 0x44c947
lea eax, [ebp - 0x210]
push 0x40329c
push eax
call fcn.0043f2df
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa44]
test eax, eax
mov eax, dword [ebp - 0xa40]
je 0x44c93c
mov eax, dword [eax + 0x1504]
jmp 0x44c867
mov eax, dword [eax + 0x14f4]
jmp 0x44c867
mov esi, dword [ebp - 0xa40]
xor ebx, ebx
cmp dword [esi + 0x14f0], ebx
jle 0x44c982
mov edi, esi
push dword [edi + 0x20c]
lea eax, [ebp - 0x210]
push eax
push edi
call fcn.0043ea04
add esp, 0xc
test eax, eax
je 0x44c995
inc ebx
add edi, 0x218
cmp ebx, dword [esi + 0x14f0]
jl 0x44c959
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043dff7
leave
ret 0x10
lea eax, [ebp - 0x210]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x44c99e
mov ecx, dword [edi + 0x20c]
sub eax, edx
sar eax, 1
cmp eax, ecx
je 0x44c9c1
cmp word [ebp + ecx*2 - 0x210], 0x5c
jne 0x44c982
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 0x44c6f4