Function at 0x40884c
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x840
mov eax, dword [0x432008]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov dword [ebp - 0x830], edx
lea edx, [ebp - 0x81c]
push edi
call fcn.00408405
test eax, eax
jne 0x40887e
xor eax, eax
jmp 0x408ae0
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x824]
push eax
push 0x20119
xor esi, esi
lea eax, [ebp - 0x81c]
push esi
push eax
push 0x80000002
call ebx
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x408909
push eax
push str.Could_not_open_key.____d_
call fcn.00402191
push eax
call fcn.00408cf3
add esp, 0xc
lea eax, [ebp - 0x824]
push eax
push 0x20119
push esi
push str.SOFTWAREMozillaMaintenanceService3932ecacee736d366d6436db0f55bce4
push 0x80000002
call ebx
mov esi, eax
call fcn.00402191
test esi, esi
je 0x4088f4
push esi
push str.Could_not_open_fallback_key.____d_
push eax
call fcn.00408cf3
add esp, 0xc
jmp 0x408877
push str.Fallback_key_present__skipping_VerifyCertificateTrustForFile_check_and_the_certificate_attribute_registry_matching_check.
push eax
call fcn.00408cf3
pop ecx
pop ecx
xor esi, esi
inc esi
jmp 0x408ad6
push esi
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x82c]
mov dword [ebp - 0x82c], esi
push eax
push esi
push esi
push esi
push dword [ebp - 0x824]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x40893b
push eax
push str.Could_not_query_info_key.____d_
jmp 0x408ac8
mov ebx, esi
cmp dword [ebp - 0x82c], ebx
jbe 0x408ad6
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x834]
mov dword [ebp - 0x834], 0xff
push eax
lea eax, [ebp - 0x60c]
push eax
push ebx
push dword [ebp - 0x824]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x408ac2
lea eax, [ebp - 0x820]
push eax
push 0x20119
push esi
lea eax, [ebp - 0x60c]
push eax
push dword [ebp - 0x824]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4089b7
push eax
push str.Could_not_open_subkey.____d_
call fcn.00402191
push eax
call fcn.00408cf3
add esp, 0xc
jmp 0x408ab3
mov eax, 0x200
push eax
mov dword [ebp - 0x828], eax
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.0040d680
add esp, 0xc
lea eax, [ebp - 0x40c]
push 0x200
push esi
push eax
call fcn.0040d680
add esp, 0xc
lea eax, [ebp - 0x828]
push eax
lea eax, [ebp - 0x20c]
push eax
push esi
push esi
push str.name
push dword [ebp - 0x820]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x408a18
push eax
push str.Could_not_obtain_name_from_registry.____d_
jmp 0x408a9d
lea eax, [ebp - 0x828]
mov dword [ebp - 0x828], 0x200
push eax
lea eax, [ebp - 0x40c]
push eax
push esi
push esi
push str.issuer
push dword [ebp - 0x820]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x408a4f
push eax
push str.Could_not_obtain_issuer_from_registry.____d_
jmp 0x408a9d
mov ecx, dword [ebp - 0x830]
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x83c], eax
lea edx, [ebp - 0x83c]
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x838], eax
call fcn.00407f0a
test eax, eax
je 0x408a84
push eax
push str.Error_on_certificate_check.____d_
jmp 0x408a9d
mov ecx, dword [ebp - 0x830]
call fcn.0040822e
test eax, eax
je 0x408901
push eax
push str.Error_on_certificate_trust_check.____d_
call fcn.00402191
push eax
call fcn.00408cf3
add esp, 0xc
push dword [ebp - 0x820]
call edi
inc ebx
cmp ebx, dword [ebp - 0x82c]
jb 0x408949
jmp 0x408ad6
push eax
push str.Could_not_enum_certs.____d_
call fcn.00402191
push eax
call fcn.00408cf3
add esp, 0xc
push dword [ebp - 0x824]
call edi
mov eax, esi
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040b844
mov esp, ebp
pop ebp
ret