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

Disassembly:
sub esp, 0x838
mov eax, dword [0x42e440]
xor eax, esp
mov dword [esp + 0x834], eax
push ebx
push ebp
push esi
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x62c]
push edi
call fcn.004074cc
test eax, eax
jne 0x40795b
xor eax, eax
jmp 0x407b98
mov ebp, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [esp + 0x14]
push eax
push 0x20119
xor esi, esi
lea eax, [esp + 0x638]
push esi
push eax
mov ebx, 0x80000002
push ebx
call ebp
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x4079e3
push eax
push str.Could_not_open_key.____d_
call fcn.0040200f
push eax
call fcn.00408531
add esp, 0xc
lea eax, [esp + 0x14]
push eax
push 0x20119
push esi
push str.SOFTWAREMozillaMaintenanceService3932ecacee736d366d6436db0f55bce4
push ebx
call ebp
test eax, eax
je 0x4079c9
push eax
push str.Could_not_open_fallback_key.____d_
call fcn.0040200f
push eax
call fcn.00408531
add esp, 0xc
jmp 0x407954
push str.Fallback_key_present__skipping_VerifyCertificateTrustForFile_check_and_the_certificate_attribute_registry_matching_check.
call fcn.0040200f
push eax
call fcn.00408531
pop ecx
pop ecx
xor esi, esi
inc esi
jmp 0x407b90
push esi
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [esp + 0x38]
mov dword [esp + 0x38], esi
push eax
push esi
push esi
push esi
push dword [esp + 0x40]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x407a0f
push eax
push str.Could_not_query_info_key.____d_
jmp 0x407b82
mov ebx, esi
cmp dword [esp + 0x1c], ebx
jbe 0x407b90
push esi
push esi
push esi
push esi
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0xff
push eax
lea eax, [esp + 0x444]
push eax
push ebx
push dword [esp + 0x30]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x407b7c
lea eax, [esp + 0x10]
push eax
push 0x20119
push esi
lea eax, [esp + 0x43c]
push eax
push dword [esp + 0x24]
call ebp
test eax, eax
je 0x407a7d
push eax
push str.Could_not_open_subkey.____d_
call fcn.0040200f
push eax
call fcn.00408531
add esp, 0xc
jmp 0x407b6f
xor eax, eax
mov dword [esp + 0x18], 0x200
push 0x1fe
mov word [esp + 0x34], ax
lea eax, [esp + 0x36]
push esi
push eax
call fcn.00414050
add esp, 0xc
xor eax, eax
mov word [esp + 0x230], ax
lea eax, [esp + 0x232]
push 0x1fe
push esi
push eax
call fcn.00414050
add esp, 0xc
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x34]
push eax
push esi
push esi
push str.name
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x407ae6
push eax
push str.Could_not_obtain_name_from_registry.____d_
jmp 0x407b5b
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x200
push eax
lea eax, [esp + 0x234]
push eax
push esi
push esi
push str.issuer
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x407b18
push eax
push str.Could_not_obtain_issuer_from_registry.____d_
jmp 0x407b5b
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x30]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
lea eax, [esp + 0x230]
mov dword [esp + 0x2c], eax
call fcn.00406fb0
test eax, eax
je 0x407b44
push eax
push str.Error_on_certificate_check.____d_
jmp 0x407b5b
mov ecx, dword [esp + 0x20]
call fcn.004072ee
test eax, eax
je 0x4079db
push eax
push str.Error_on_certificate_trust_check.____d_
call fcn.0040200f
push eax
call fcn.00408531
add esp, 0xc
push dword [esp + 0x10]
call edi
inc ebx
cmp ebx, dword [esp + 0x1c]
jb 0x407a1b
jmp 0x407b90
push eax
push str.Could_not_enum_certs.____d_
call fcn.0040200f
push eax
call fcn.00408531
add esp, 0xc
push dword [esp + 0x14]
call edi
mov eax, esi
mov ecx, dword [esp + 0x844]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040bd82
add esp, 0x838
ret