Function at 0x403026
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x480
mov eax, dword [0x429010]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x20a
mov dword [ebp - 0x474], eax
xor ebx, ebx
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x480], edx
mov edi, ecx
push ebx
push eax
mov dword [ebp - 0x478], edi
call fcn.00406960
mov ecx, edi
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x40306f
sub ecx, edx
mov eax, 0x104
sar ecx, 1
cmp ecx, eax
ja 0x403318
push eax
lea eax, [ebp - 0x46c]
push edi
push eax
call fcn.00407e9a
add esp, 0xc
lea eax, [ebp - 0x46c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
lea eax, [ebp - 0x46c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x403318
push ebx
push ebx
push eax
push ebx
push 1
push 0x80000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x403125
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.Could_not_set_no_write_sharing_access_on_file.____d_
call fcn.00401034
push eax
call fcn.004049e5
mov ecx, dword [ebp - 0x474]
add esp, 0xc
push 0x20
pop edx
call fcn.00404e50
test eax, eax
jne 0x403259
call edi
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
call fcn.00401034
push eax
call fcn.004049e5
add esp, 0xc
jmp 0x403259
push 0x20a
lea eax, [ebp - 0x25c]
push ebx
push eax
call fcn.00406960
push 0x104
push dword [ebp - 0x480]
lea eax, [ebp - 0x25c]
push eax
call fcn.00407e9a
add esp, 0x18
lea ecx, [ebp - 0x25c]
mov edx, str.updater.exe
call fcn.00404dfc
test eax, eax
jne 0x40316f
push str.Install_directory_updater_could_not_be_determined.
jmp 0x40324c
lea eax, [ebp - 0x47c]
mov ecx, edi
push eax
lea edx, [ebp - 0x25c]
call fcn.004018ba
pop ecx
mov edi, eax
call fcn.00401034
test edi, edi
jne 0x4031b0
mov edi, dword [ebp - 0x478]
lea ecx, [ebp - 0x25c]
push ecx
push edi
push str.Error_checking_if_the_updaters_are_the_same._nPath_1:__ls_nPath_2:__ls
push eax
call fcn.004049e5
add esp, 0x10
jmp 0x403259
cmp dword [ebp - 0x47c], ebx
jne 0x4031ed
mov edi, dword [ebp - 0x478]
lea ecx, [ebp - 0x25c]
push ecx
push edi
push str.The_updaters_do_not_match__updater_will_not_run._nPath_1:__ls_nPath_2:__ls
push eax
call fcn.004049e5
mov ecx, dword [ebp - 0x474]
add esp, 0x10
push 0x1b
pop edx
call fcn.00404e50
test eax, eax
jne 0x403259
push str.Could_not_write_update.status_updater_compare_failure.
jmp 0x40324c
push str.updater.exe_was_compared_successfully_to_the_installation_directory_updater.exe.
push eax
call fcn.004049ad
mov edi, dword [ebp - 0x478]
pop ecx
pop ecx
push 2
push ebx
push edi
mov byte [ebp - 0x46d], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x47c], eax
test eax, eax
jne 0x403270
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.updater.exe_module_could_not_be_loaded.___d_
call fcn.00401034
push eax
call fcn.004049e5
add esp, 0xc
mov ecx, dword [ebp - 0x474]
push 0x1c
pop edx
call fcn.00404e50
test eax, eax
jne 0x403259
push str.Could_not_write_update.status_no_updater_identity.
call fcn.00401034
push eax
call fcn.004049e5
pop ecx
pop ecx
test esi, esi
je 0x403269
cmp esi, 0xffffffff
je 0x403269
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
jmp 0x40335f
push 0x40
lea ecx, [ebp - 0x4c]
push ecx
push 0x3ee
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
jne 0x40329e
push str.The_updater.exe_application_does_not_contain_the_Mozilla_updater_identity.
call fcn.00401034
push eax
call fcn.004049e5
pop ecx
pop ecx
mov byte [ebp - 0x46d], bl
lea edx, [ebp - 0x4c]
mov ecx, ebx
movzx eax, byte [edx + ecx]
mov edx, str.moz_updater.exe_4cdccec4_5ee0_4a06_9817_4cd899a9db49
cmp al, byte [edx + ecx]
lea edx, [ebp - 0x4c]
jne 0x4032bc
inc ecx
cmp ecx, 0x35
jne 0x4032a3
jmp 0x4032d4
push str.The_updater.exe_identity_string_is_not_valid.
call fcn.00401034
push eax
call fcn.004049e5
pop ecx
pop ecx
mov byte [ebp - 0x46d], bl
push dword [ebp - 0x47c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x46d], bl
je 0x403235
push str.The_updater.exe_application_contains_the_Mozilla_updater_identity.
call fcn.00401034
push eax
call fcn.004049ad
mov ecx, dword [ebp - 0x480]
mov edx, edi
push 1
call fcn.00404540
add esp, 0xc
test eax, eax
setne bl
jmp 0x403259
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
push edi
push str.Filesystem_in_path__ls_is_not_supported___d_
call fcn.00401034
push eax
call fcn.004049e5
mov ecx, dword [ebp - 0x474]
add esp, 0x10
push 0x1f
pop edx
call fcn.00404e50
test eax, eax
jne 0x40335d
call esi
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
call fcn.00401034
push eax
call fcn.004049e5
add esp, 0xc
xor al, al
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004053fc
mov esp, ebp
pop ebp
ret