Function at 0x402ffb
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x480
mov eax, dword [0x427014]
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 - 0x47c], edx
push ebx
push eax
mov edi, ecx
call fcn.00406850
mov ecx, edi
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x40303e
sub ecx, edx
mov eax, 0x104
sar ecx, 1
cmp ecx, eax
ja 0x4032e5
push eax
lea eax, [ebp - 0x46c]
push edi
push eax
call fcn.00407187
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]
sub eax, 3
neg eax
sbb eax, eax
add eax, 1
je 0x4032e5
push ebx
push ebx
push 3
push ebx
push 1
push 0x80000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4030fc
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.004049ba
mov ecx, dword [ebp - 0x474]
add esp, 0xc
push 0x20
pop edx
call fcn.00404e25
test eax, eax
jne 0x403226
call edi
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
call fcn.00401034
push eax
call fcn.004049ba
add esp, 0xc
jmp 0x403226
push 0x20a
lea eax, [ebp - 0x25c]
push ebx
push eax
call fcn.00406850
push 0x104
push dword [ebp - 0x47c]
lea eax, [ebp - 0x25c]
push eax
call fcn.00407187
add esp, 0x18
lea ecx, [ebp - 0x25c]
mov edx, str.updater.exe
call fcn.00404dd1
test eax, eax
jne 0x403146
push str.Install_directory_updater_could_not_be_determined.
jmp 0x403219
lea eax, [ebp - 0x478]
mov ecx, edi
push eax
lea edx, [ebp - 0x25c]
call fcn.00401898
pop ecx
test eax, eax
jne 0x40317f
lea eax, [ebp - 0x25c]
push eax
push edi
push str.Error_checking_if_the_updaters_are_the_same._nPath_1:__ls_nPath_2:__ls
call fcn.00401034
push eax
call fcn.004049ba
add esp, 0x10
jmp 0x403226
cmp dword [ebp - 0x478], ebx
jne 0x4031bb
lea eax, [ebp - 0x25c]
push eax
push edi
push str.The_updaters_do_not_match__updater_will_not_run._nPath_1:__ls_nPath_2:__ls
call fcn.00401034
push eax
call fcn.004049ba
mov ecx, dword [ebp - 0x474]
add esp, 0x10
push 0x1b
pop edx
call fcn.00404e25
test eax, eax
jne 0x403226
push str.Could_not_write_update.status_updater_compare_failure.
jmp 0x403219
push str.updater.exe_was_compared_successfully_to_the_installation_directory_updater.exe.
call fcn.00401034
push eax
call fcn.00404982
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 - 0x478], eax
test eax, eax
jne 0x40323d
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.004049ba
add esp, 0xc
mov ecx, dword [ebp - 0x474]
push 0x1c
pop edx
call fcn.00404e25
test eax, eax
jne 0x403226
push str.Could_not_write_update.status_no_updater_identity.
call fcn.00401034
push eax
call fcn.004049ba
pop ecx
pop ecx
test esi, esi
je 0x403236
cmp esi, 0xffffffff
je 0x403236
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
jmp 0x40332c
push 0x40
lea ecx, [ebp - 0x4c]
push ecx
push 0x3ee
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
jne 0x40326b
push str.The_updater.exe_application_does_not_contain_the_Mozilla_updater_identity.
call fcn.00401034
push eax
call fcn.004049ba
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 0x403289
inc ecx
cmp ecx, 0x35
jne 0x403270
jmp 0x4032a1
push str.The_updater.exe_identity_string_is_not_valid.
call fcn.00401034
push eax
call fcn.004049ba
pop ecx
pop ecx
mov byte [ebp - 0x46d], bl
push dword [ebp - 0x478]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x46d], bl
je 0x403202
push str.The_updater.exe_application_contains_the_Mozilla_updater_identity.
call fcn.00401034
push eax
call fcn.00404982
mov ecx, dword [ebp - 0x47c]
mov edx, edi
push 1
call fcn.00404510
add esp, 0xc
test eax, eax
setne bl
jmp 0x403226
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.004049ba
mov ecx, dword [ebp - 0x474]
add esp, 0x10
push 0x1f
pop edx
call fcn.00404e25
test eax, eax
jne 0x40332a
call esi
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
call fcn.00401034
push eax
call fcn.004049ba
add esp, 0xc
xor al, al
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004053c9
mov esp, ebp
pop ebp
ret