Function at 0x44af5c
Capabilities:
Get disk information

Disassembly:
push 0x468
mov eax, 0x4976aa
call fcn.0046af26
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.0044be88
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.0046d670
add esp, 0xc
lea eax, [ebp - 0x424]
push esi
push ebx
push eax
call fcn.0046d670
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 0x44affb
mov ebx, dword [ebp - 0x430]
jmp 0x44b0c4
push esi
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
test eax, eax
je 0x44b0b0
cmp eax, 1
je 0x44b0b0
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 0x44b08c
mov esi, dword [edi + 4]
lea eax, [ebp - 0x42c]
push eax
push esi
push edi
call fcn.0044bee3
mov ebx, dword [ebp - 0x430]
mov ecx, 0x15555554
sub ecx, ebx
cmp ecx, 1
jb 0x44b220
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 0x44b091
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 0x44b0b5
sub ecx, edx
sar ecx, 1
jne 0x44b011
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 0x44b1bf
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 0x44b1ab
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 0x44b156
sub ecx, edx
sar ecx, 1
je 0x44b1ab
mov esi, dword [edi]
jmp 0x44b185
push dword [ebp - 0x43c]
push dword [esi + 8]
call fcn.00472fa5
pop ecx
pop ecx
test eax, eax
je 0x44b18b
mov esi, dword [esi]
cmp esi, edi
jne 0x44b16f
jmp 0x44b1a5
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.0042d0bb
pop ecx
pop ecx
mov esi, dword [ebp - 0x428]
mov eax, dword [ebp - 0x42c]
test eax, eax
jne 0x44b0f5
mov dword [ebp - 0x430], ebx
mov esi, dword [edi]
cmp esi, edi
je 0x44b1e2
mov ebx, dword [ebp - 0x428]
push ecx
push dword [ebp - 0x440]
mov ecx, ebx
push dword [esi + 8]
call fcn.0044b22b
mov esi, dword [esi]
cmp esi, edi
jne 0x44b1cb
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 0x44b20b
mov esi, dword [eax]
push 0xc
push eax
call fcn.0042d0bb
mov eax, esi
pop ecx
pop ecx
cmp esi, edi
jne 0x44b1f9
push 0xc
push edi
call fcn.0042d0bb
pop ecx
xor eax, eax
pop ecx
inc eax
call fcn.0046aed0
ret 4
push str.list_T__too_long
call fcn.0046b8ed
int3