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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1024
call fcn.004ac5b0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1020], 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 + 0x30], ax
lea eax, [esp + 0x32]
push eax
call fcn.0048fb10
add esp, 0xc
lea eax, [esp + 0x28]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
shr eax, 2
mov dword [0x4e6038], eax
xor eax, eax
push 0x7fe
push eax
mov word [esp + 0x830], ax
lea eax, [esp + 0x832]
push eax
call fcn.0048fb10
add esp, 0xc
lea eax, [esp + 0x828]
push 0x400
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp dword [0x4e6038], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0
jle 0x465f64
mov ebx, dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x28]
mov esi, 0x4e2c10
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x4e2b80
mov dword [esp + 0x14], 0x4e2c98
mov dword [esp + 0x18], 0x4e2b80
mov dword [esp + 0x1c], 0x4e2c98
nop word [eax + eax]
push 0x4b34dc
lea edi, [esi - 0x40]
push edi
call ebx
push dword [esp + 0xc]
mov dword [esi], 0
push dword [esp + 0x14]
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
call ebx
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp dword [esp + 0x24], 0
mov dword [esi + 0xc4], eax
je 0x465e76
cmp eax, 3
jne 0x465e7f
mov ax, word [esi - 0x90]
cmp ax, word [esp + 0x828]
jne 0x465dcf
mov dword [esi + 0xc4], 0x6f
push 0
push 0
push 0
push 0
push 0
push 0x400
lea eax, [esi - 0x40]
push eax
lea edi, [esi - 0x90]
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.00465af0
add esp, 8
push eax
lea eax, [esi + 0x10]
push eax
call ebx
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00465af0
add esp, 8
push eax
lea eax, [esi + 0x4c]
push eax
call ebx
push 0x4c0bf4
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.0049bfe2
mov word [esi - 0x78], ax
add esp, 4
mov eax, dword [esi + 0xc4]
cmp eax, 0x6f
ja case.0x465e6f.7
movzx eax, byte [eax + 0x465fa8]
jmp dword [eax*4 + 0x465f84]
cmp eax, 3
je 0x465dcf
cmp eax, 5
je 0x465dcf
cmp eax, 0x6f
je 0x465dcf
mov edx, 0x4b48a4
mov ecx, str.MAINPAGE
call fcn.00478640
push eax
push edi
call ebx
push 0x4b4068
lea eax, [esi + 0x4c]
push eax
call ebx
push 0x4b4068
lea eax, [esi + 0x10]
jmp 0x465e23
mov edx, 0x4b48a4
mov ecx, str.MAINPAGE
call fcn.00478640
push eax
push dword [esp + 0x18]
jmp 0x465f22
mov edx, 0x4b4aec
mov ecx, str.MAINPAGE
call fcn.00478640
push eax
push dword [esp + 0x20]
jmp 0x465f22
mov edx, 0x4b4af4
jmp 0x465f10
mov edx, 0x4b4afc
jmp 0x465f10
mov edx, 0x4b4b04
jmp 0x465f10
mov edx, 0x4b4ca8
jmp 0x465f10
mov edx, 0x4b4d80
jmp 0x465f10
mov edx, 0x4b56b4
mov ecx, str.MAINPAGE
call fcn.00478640
push eax
lea eax, [esi + 0x88]
push eax
call ebx
mov eax, dword [esp + 0x20]
add esi, 0x158
add dword [esp + 0xc], 8
inc eax
add dword [esp + 0x10], 0x158
add dword [esp + 0x14], 0x158
add dword [esp + 0x18], 0x158
add dword [esp + 0x1c], 0x158
mov dword [esp + 0x20], eax
cmp eax, dword [0x4e6038]
jl 0x465d60
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, dword [esp + 0x102c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0048ea75
mov esp, ebp
pop ebp
ret