Function at 0x404d00
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x260
mov eax, dword [0x43300c]
mov ebx, edx
mov edi, ecx
lea esi, [ebp - 0x21a]
xor eax, ebp
mov dword [ebp - 0x10], eax
push 0x20a
push 0
push esi
call fcn.00410040
add esp, 0xc
push edi
call fcn.00416b42
add esp, 4
cmp eax, 0x105
jae 0x404e34
push 0x104
push edi
push esi
call fcn.00416fbb
add esp, 0xc
push esi
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
push esi
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x404e34
push 0
push 0
push 3
push 0
push 1
push 0x80000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x260], eax
jne 0x404ed3
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40521c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_set_no_write_sharing_access_on_file.____d_
push 0x434588
call fcn.0040c890
add esp, 0xc
push 0x20
push dword [ebp + 8]
call fcn.0040d500
add esp, 8
mov esi, dword [ebp - 0x260]
test eax, eax
jne 0x404e1a
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40525f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
push 0x434588
call fcn.0040c890
add esp, 0xc
xor ebx, ebx
lea eax, [esi + 1]
cmp eax, 2
jb 0x404ebc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404ebc
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405196
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str.Filesystem_in_path__ls_is_not_supported___d_
push 0x434588
call fcn.0040c890
add esp, 0x10
push 0x1f
push dword [ebp + 8]
call fcn.0040d500
add esp, 8
test eax, eax
jne 0x404eba
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4051d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
push 0x434588
call fcn.0040c890
add esp, 0xc
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040e271
mov eax, ebx
add esp, 0x260
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x20a
push 0
push esi
call fcn.00410040
add esp, 0xc
push 0x104
push ebx
push esi
call fcn.00416fbb
add esp, 0xc
push str.updater.exe
push esi
call fcn.0040d840
add esp, 8
test eax, eax
je 0x40503e
lea eax, [ebp - 0x26c]
push eax
push esi
push edi
call fcn.004024e0
add esp, 0xc
test eax, eax
je 0x405076
mov eax, dword [ebp - 0x26c]
mov edx, dword fs:[0x2c]
mov dword [ebp - 0x264], eax
mov eax, dword [0x434794]
mov ecx, dword [0x433a44]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4052a2
cmp dword [ebp - 0x264], 0
je 0x4052ed
push str.updater.exe_was_compared_successfully_to_the_installation_directory_updater.exe.
push 0x434588
call fcn.0040c830
add esp, 8
push 2
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test eax, eax
je 0x4050b0
lea esi, [ebp - 0x25a]
push 0x40
push esi
push 0x3ee
mov dword [ebp - 0x264], eax
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov cl, 1
test eax, eax
jne 0x404fd6
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4054aa
push str.The_updater.exe_application_does_not_contain_the_Mozilla_updater_identity.
push 0x434588
call fcn.0040c890
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x268], ecx
push 0x35
push str.moz_updater.exe_4cdccec4_5ee0_4a06_9817_4cd899a9db49
push esi
call fcn.0040f097
add esp, 0xc
test eax, eax
je 0x4050f2
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov esi, dword [ebp - 0x260]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4053e1
push str.The_updater.exe_identity_string_is_not_valid.
push 0x434588
call fcn.0040c890
add esp, 8
push dword [ebp - 0x264]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x405156
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40535b
push str.Install_directory_updater_could_not_be_determined.
push 0x434588
call fcn.0040c890
add esp, 8
jmp 0x405312
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40539e
push esi
push edi
push str.Error_checking_if_the_updaters_are_the_same._nPath_1:__ls_nPath_2:__ls
push 0x434588
call fcn.0040c890
add esp, 0x10
jmp 0x405312
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405424
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.updater.exe_module_could_not_be_loaded.___d_
push 0x434588
call fcn.0040c890
add esp, 0xc
mov esi, dword [ebp - 0x260]
jmp 0x405156
push dword [ebp - 0x264]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x268], 0
mov esi, dword [ebp - 0x260]
je 0x405156
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405530
push str.The_updater.exe_application_contains_the_Mozilla_updater_identity.
push 0x434588
call fcn.0040c830
add esp, 8
push 1
push edi
push ebx
call fcn.0040be90
add esp, 0xc
test eax, eax
setne bl
jmp 0x404e1c
push 0x1c
push dword [ebp + 8]
call fcn.0040d500
add esp, 8
test eax, eax
jne 0x404e1a
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405467
push str.Could_not_write_update.status_no_updater_identity.
jmp 0x405349
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x404e55
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x404e55
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x404ea1
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x404ea1
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x404db0
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x404db0
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x404e01
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x404e01
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x404f4e
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
cmp dword [ebp - 0x264], 0
jne 0x404f5b
push esi
push edi
push str.The_updaters_do_not_match__updater_will_not_run._nPath_1:__ls_nPath_2:__ls
push 0x434588
call fcn.0040c890
add esp, 0x10
push 0x1b
push dword [ebp + 8]
call fcn.0040d500
add esp, 8
test eax, eax
je 0x40531d
mov esi, dword [ebp - 0x260]
jmp 0x404e1a
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov esi, dword [ebp - 0x260]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4054ed
push str.Could_not_write_update.status_updater_compare_failure.
push 0x434588
call fcn.0040c890
add esp, 8
jmp 0x404e1a
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40505f
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x40505f
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405097
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x405097
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40501b
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x40501b
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4050d1
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x4050d1
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40518c
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x40518c
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x404fc2
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x404fc2
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405344
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x405344
push 0x434794
call fcn.0040da77
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40512e
mov dword [0x434588], 0
push 0x402060
call fcn.0040dcec
add esp, 4
push 0x434794
call fcn.0040dac9
add esp, 4
jmp 0x40512e