Function at 0x44b047
Capabilities:
Get disk information

Disassembly:
push 0x468
mov eax, 0x4d6004
call fcn.004a9c62
mov dword [ebp - 0x428], ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
push ebx
push ebx
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x438], ebx
mov dword [ebp - 0x434], ebx
mov dword [ebp - 0x430], ebx
call fcn.0044bf73
mov edi, eax
mov dword [ebp - 0x434], edi
push 0x8000
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov esi, 0x208
mov dword [ebp - 0x444], eax
push esi
lea eax, [ebp - 0x21c]
push ebx
push eax
call fcn.004ab9a0
add esp, 0xc
lea eax, [ebp - 0x424]
push esi
push ebx
push eax
call fcn.004ab9a0
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
lea esi, [ebp - 0x21c]
mov ecx, esi
mov dword [ebp - 0x42c], esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x44b0e6
mov ebx, dword [ebp - 0x430]
jmp 0x44b1af
push esi
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
test eax, eax
je 0x44b19b
cmp eax, 1
je 0x44b19b
push 0x208
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x448]
push eax
xor eax, eax
push eax
push eax
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x44b177
mov esi, dword [edi + 4]
lea eax, [ebp - 0x42c]
push eax
push esi
push edi
call fcn.0044bfce
mov ebx, dword [ebp - 0x430]
mov ecx, 0x15555554
sub ecx, ebx
cmp ecx, 1
jb 0x44b30b
mov dword [edi + 4], eax
inc ebx
mov edi, dword [ebp - 0x434]
mov dword [esi], eax
mov esi, dword [ebp - 0x42c]
mov dword [ebp - 0x430], ebx
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x438]
jne 0x44b17c
sub ecx, edx
sar ecx, 1
lea esi, [esi + ecx*2]
add esi, 2
mov dword [ebp - 0x42c], esi
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x438]
jne 0x44b1a0
sub ecx, edx
sar ecx, 1
jne 0x44b0fc
push dword [ebp - 0x440]
mov esi, dword [ebp - 0x428]
push 4
push 0x110a
push dword [esi + 0x84]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x44b2aa
push eax
push 1
push 0x110a
push dword [esi + 0x84]
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 9
push 0x110b
push dword [esi + 0x84]
mov dword [ebp - 0x42c], eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x474]
push eax
xor eax, eax
push eax
push 0x113e
push dword [esi + 0x84]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x450]
test eax, eax
je 0x44b296
add eax, 8
mov ecx, eax
mov dword [ebp - 0x43c], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x438]
jne 0x44b241
sub ecx, edx
sar ecx, 1
je 0x44b296
mov esi, dword [edi]
jmp 0x44b270
push dword [ebp - 0x43c]
push dword [esi + 8]
call fcn.004b3320
pop ecx
pop ecx
test eax, eax
je 0x44b276
mov esi, dword [esi]
cmp esi, edi
jne 0x44b25a
jmp 0x44b290
mov ecx, dword [esi + 4]
dec ebx
mov eax, dword [esi]
push 0xc
push esi
mov dword [ecx], eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
call fcn.0042bbeb
pop ecx
pop ecx
mov esi, dword [ebp - 0x428]
mov eax, dword [ebp - 0x42c]
test eax, eax
jne 0x44b1e0
mov dword [ebp - 0x430], ebx
mov esi, dword [edi]
cmp esi, edi
je 0x44b2cd
mov ebx, dword [ebp - 0x428]
push ecx
push dword [ebp - 0x440]
mov ecx, ebx
push dword [esi + 8]
call fcn.0044b316
mov esi, dword [esi]
cmp esi, edi
jne 0x44b2b6
push dword [ebp - 0x444]
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [edi]
mov dword [edi], edi
mov dword [edi + 4], edi
cmp eax, edi
je 0x44b2f6
mov esi, dword [eax]
push 0xc
push eax
call fcn.0042bbeb
mov eax, esi
pop ecx
pop ecx
cmp esi, edi
jne 0x44b2e4
push 0xc
push edi
call fcn.0042bbeb
pop ecx
xor eax, eax
pop ecx
inc eax
call fcn.004a9c0c
ret 4
push str.list_T__too_long
call fcn.004aa65a
int3