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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1014
call fcn.004a5e30
mov eax, dword [0x4c4004]
xor eax, esp
mov dword [esp + 0x1010], eax
push ebx
push esi
push edi
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
xor eax, eax
push 0x7fe
push eax
mov word [esp + 0x20], ax
lea eax, [esp + 0x22]
push eax
call fcn.0048e880
add esp, 0xc
lea eax, [esp + 0x18]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
shr eax, 2
mov dword [0x4def90], eax
xor eax, eax
push 0x7fe
push eax
mov word [esp + 0x820], ax
lea eax, [esp + 0x822]
push eax
call fcn.0048e880
add esp, 0xc
lea eax, [esp + 0x818]
push 0x400
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp dword [0x4def90], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
jle 0x464d8f
mov ebx, dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x18]
mov esi, 0x4dbb68
mov dword [esp + 0xc], eax
nop word [eax + eax]
lea eax, [esi - 0x40]
push 0x4ad29c
push eax
call ebx
push dword [esp + 0xc]
lea edi, [esi - 0x90]
mov dword [esi], 0
push edi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
call ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp dword [esp + 0x14], 0
mov dword [esi + 0xc4], eax
je 0x464cdc
cmp eax, 3
jne 0x464ce5
mov ax, word [edi]
cmp ax, word [esp + 0x818]
jne 0x464c3b
mov dword [esi + 0xc4], 0x6f
push 0
push 0
push 0
push 0
push 0
push 0x400
lea eax, [esi - 0x40]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
lea eax, [esi + 8]
push eax
push esi
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
push dword [esi + 4]
push dword [esi]
call fcn.00464970
add esp, 8
push eax
lea eax, [esi + 0x10]
push eax
call ebx
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00464970
add esp, 8
push eax
lea eax, [esi + 0x4c]
push eax
call ebx
push 0x4ba8ac
lea edi, [esi - 0x7c]
push edi
call ebx
lea eax, [esi - 0x90]
push eax
push edi
call dword [sym.imp.SHLWAPI.dll_StrCatW]
mov eax, 0x5d
mov word [esi - 0x74], ax
movzx eax, word [esi - 0x78]
push eax
call fcn.00495424
mov word [esi - 0x78], ax
add esp, 4
mov eax, dword [esi + 0xc4]
cmp eax, 0x6f
ja case.0x464cd5.7
movzx eax, byte [eax + 0x464dd0]
jmp dword [eax*4 + 0x464dac]
cmp eax, 3
je 0x464c3b
cmp eax, 5
je 0x464c3b
cmp eax, 0x6f
je 0x464c3b
mov edx, 0x4ae664
mov ecx, str.MAINPAGE
call fcn.00477440
push eax
lea eax, [esi - 0x40]
push eax
call ebx
push 0x4ade28
lea eax, [esi + 0x4c]
push eax
call ebx
push 0x4ade28
lea eax, [esi + 0x10]
jmp 0x464c89
mov edx, 0x4ae664
jmp 0x464d5b
mov edx, 0x4ae8ac
jmp 0x464d5b
mov edx, 0x4ae8b4
jmp 0x464d5b
mov edx, 0x4ae8bc
jmp 0x464d5b
mov edx, 0x4ae8c4
jmp 0x464d5b
mov edx, 0x4aea68
jmp 0x464d5b
mov edx, 0x4aeb40
jmp 0x464d5b
mov edx, 0x4af474
mov ecx, str.MAINPAGE
call fcn.00477440
push eax
lea eax, [esi + 0x88]
push eax
call ebx
mov eax, dword [esp + 0x10]
add esi, 0x158
add dword [esp + 0xc], 8
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [0x4def90]
jl 0x464bd0
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, dword [esp + 0x101c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0048d925
mov esp, ebp
pop ebp
ret