Function at 0x44adbb
Capabilities:
Get disk information
Get disk size
Hide graphical window

Disassembly:
push ebp
lea ebp, [esp - 0xd2c]
sub esp, 0xdac
mov eax, dword [0x488548]
xor eax, ebp
mov dword [ebp + 0xd28], eax
mov eax, dword [ebp + 0xd38]
sub eax, 0x110
push ebx
mov ebx, dword [ebp + 0xd34]
push esi
mov esi, dword [ebp + 0xd40]
push edi
je 0x44af29
dec eax
je 0x44ae0b
push esi
push dword [ebp + 0xd3c]
push dword [ebp + 0xd38]
jmp 0x44aee2
mov ecx, dword [ebp + 0xd3c]
movzx eax, cx
dec eax
je 0x44aeee
dec eax
je 0x44af1b
sub eax, 7
je 0x44aede
sub eax, 0x77f6
je 0x44ae77
sub eax, 0x53
je 0x44ae54
sub eax, 0x7ad
jne 0x44b3cb
push 0x7840
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x44b3cb
shr ecx, 0x10
mov eax, 0x300
cmp cx, ax
jne 0x44b3cb
push 1
push 0x77ff
push ebx
call fcn.0044a742
jmp 0x44b3cb
push esi
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x44b3cb
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov edi, 0x104
push edi
lea eax, [ebp + 0x468]
push eax
push 0x7851
push ebx
call esi
push edi
lea eax, [ebp + 0xb20]
push eax
push 0x7852
push ebx
call esi
lea eax, [ebp + 0xb20]
push eax
lea eax, [ebp + 0x468]
push eax
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
push 0
test eax, eax
jne 0x44ae67
push str.Label
push ebx
call dword [sym.imp.PPLIB32W.DLL__PPErrorBox_12]
xor eax, eax
jmp 0x44b3ce
push esi
push ecx
push 0x53
push ebx
call dword [sym.imp.PPLIB32W.DLL__PPxDialogHelper_16]
jmp 0x44b3ce
mov edi, 0x77ff
push edi
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x44af1b
push esi
push edi
push 0x111
push ebx
call fcn.0044adbb
test eax, eax
je 0x44b3cb
push 1
push ebx
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x44b3cb
and dword [ebp - 0x68], 0
and dword [ebp - 0x6c], 0
push esi
push ebx
call fcn.0044a762
lea eax, [esi + 0xa34]
push eax
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.PPLIB32W.DLL__GetDriveName_8]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x4c]
push eax
push 0x7851
push ebx
call esi
cmp word [ebp - 0x4c], 0x7a
mov edi, 0x104
ja 0x44b075
movzx eax, byte [ebp - 0x4c]
movsx eax, byte [eax + str._AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
and eax, 0x30
je 0x44b075
movzx eax, word [ebp - 0x4c]
push eax
lea eax, [ebp + 0x464]
push str.Network_c
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
xor eax, eax
push edi
mov word [ebp + 0xb20], ax
mov word [ebp + 0x670], ax
lea eax, [ebp + 0xb20]
push eax
push str.RemotePath
lea eax, [ebp + 0x464]
push eax
push 0x80000001
call dword [sym.imp.PPLIB32W.DLL__GetRegString_20]
cmp word [ebp + 0xb20], 0
je 0x44afdd
lea eax, [ebp + 0xb20]
jmp 0x44b042
movzx eax, word [ebp - 0x4c]
push eax
lea eax, [ebp + 0x464]
push 0x474874
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push edi
lea eax, [ebp + 0xb20]
push eax
lea eax, [ebp + 0x464]
push eax
push str.SYSTEMCurrentControlSetControlSession_ManagerDOS_Devices
push 0x80000002
call dword [sym.imp.PPLIB32W.DLL__GetRegString_20]
lea eax, [ebp + 0xb20]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x44b01f
sub eax, edx
sar eax, 1
cmp eax, 5
jbe 0x44b05c
cmp word [ebp + 0xb24], 0x3f
jne 0x44b05c
lea eax, [ebp + 0xb28]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0x670]
push str._s___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
cmp word [ebp + 0x670], 0
je 0x44b075
lea eax, [ebp + 0x670]
push eax
push 0x7851
push ebx
call esi
push edi
lea eax, [ebp + 0xb20]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x64]
push eax
push 0x105
lea eax, [ebp + 0x464]
push eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov edi, dword [sym.imp.PPLIB32W.DLL__FormatNumber_20]
test eax, eax
je 0x44b189
lea eax, [ebp + 0x464]
push eax
push 0x7852
push ebx
call esi
push 0
push 0x77ff
push ebx
call fcn.0044a742
mov eax, dword [ebp - 0x64]
movzx ecx, ax
push ecx
shr eax, 0x10
push eax
lea eax, [ebp + 0x670]
push str._04X__04X
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp + 0x670]
push eax
push 0x7854
push ebx
call esi
push 0
push dword [ebp - 0x58]
lea eax, [ebp + 0x670]
push 8
push 1
push eax
call edi
lea eax, [ebp + 0x670]
push eax
push 0x785f
push ebx
call esi
lea eax, [ebp + 0xb20]
push eax
push 0x7855
push ebx
call esi
and dword [ebp - 0x50], 0
cmp dword [0x487bd8], 0
je 0x44b189
mov ecx, 0x487bd8
xor eax, eax
mov eax, dword [eax + 0x487bdc]
cmp eax, 0x7870
jb 0x44b165
cmp dword [0x48aa04], 6
jae 0x44b165
push 0
push eax
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x44b175
mov edx, dword [ebp - 0x54]
test dword [ecx], edx
je 0x44b175
push 1
push eax
push ebx
call fcn.0044a742
inc dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
shl eax, 3
lea ecx, [eax + 0x487bd8]
cmp dword [ecx], 0
jne 0x44b13c
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
je 0x44b1f0
mov eax, dword [ebp - 0x64]
imul eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x78]
push ecx
push dword [ebp - 0x54]
mov dword [ebp - 0x60], 1
push eax
mov dword [ebp - 0x50], eax
call fcn.00455e46
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x50]
call fcn.00455e46
cmp dword [0x48aa10], 2
mov eax, dword [ebp - 0x70]
je 0x44b1ff
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0x78]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x44b23f
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x60], 1
call fcn.0044acae
push eax
lea eax, [ebp - 0x80]
push eax
push 0x783f
push 0x7858
push ebx
call fcn.0044ad3a
cmp dword [ebp - 0x60], 0
je 0x44b36d
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0044acae
push eax
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x78]
push eax
push 0x783e
push 0x7857
push ebx
call fcn.0044ad3a
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x54]
push eax
push dword [ebp - 0x50]
call fcn.00455e46
mov eax, 0x3e8
sub eax, dword [ebp - 0x70]
push eax
lea eax, [ebp - 0x78]
push eax
push 0x783d
push 0x7856
push ebx
call fcn.0044ad3a
push dword [ebp - 0x68]
lea eax, [ebp + 0x670]
push dword [ebp - 0x6c]
push 0x12
push 1
push eax
call edi
lea eax, [ebp + 0x670]
push eax
push 0x7859
push ebx
call esi
push 0
push dword [ebp - 0x58]
lea eax, [ebp + 0x670]
push 0x12
push 1
push eax
call edi
lea eax, [ebp + 0x670]
push eax
push 0x785a
push ebx
call esi
push 0
push dword [ebp - 0x50]
lea eax, [ebp + 0x670]
push 0x12
push 1
push eax
call edi
lea eax, [ebp + 0x670]
push eax
push 0x785b
push ebx
call esi
push 0
push dword [ebp - 0x54]
lea eax, [ebp + 0x670]
push 0xd
push 1
push eax
call edi
lea eax, [ebp + 0x670]
push eax
push 0x785d
push ebx
call esi
mov eax, dword [ebp - 0x5c]
push 0
sub eax, dword [ebp - 0x54]
push eax
push 0xd
push 1
lea eax, [ebp + 0x670]
push eax
call edi
lea eax, [ebp + 0x670]
push eax
push 0x785c
push ebx
call esi
push 0
push dword [ebp - 0x5c]
lea eax, [ebp + 0x670]
push 0xd
push 1
push eax
call edi
lea eax, [ebp + 0x670]
push eax
push 0x785e
push ebx
call esi
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
dec eax
dec eax
je 0x44b3aa
dec eax
je 0x44b3a3
dec eax
je 0x44b39c
dec eax
je 0x44b395
dec eax
je 0x44b38e
mov eax, 0x473934
jmp 0x44b3af
mov eax, str.DIRARamdisk
jmp 0x44b3af
mov eax, str.DICDCD_DVD_BD...
jmp 0x44b3af
mov eax, str.DIRERemote
jmp 0x44b3af
mov eax, str.DIFIFixed
jmp 0x44b3af
mov eax, str.DIRMRemovable
push eax
call dword [sym.imp.PPLIB32W.DLL__MessageText_4]
push eax
push 0x7853
push ebx
call esi
push 0x7840
push ebx
call dword [sym.imp.PPLIB32W.DLL__LocalizeDialogText_8]
xor eax, eax
inc eax
mov ecx, dword [ebp + 0xd28]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046890b
add ebp, 0xd2c
leave
ret 0x10