Function at 0x42df10
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x43ff71
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x59c
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
push ebx
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], esi
call fcn.00408c80
lea ecx, [esi + 0x784]
mov dword [esp + 0x5b4], ebx
call fcn.00418300
lea ecx, [esp + 0x10]
mov esi, eax
call sub.MFC42.DLL_CString::CString_3
dec esi
mov edi, 4
cmp esi, ebx
mov byte [esp + 0x5b4], 1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], esi
jl 0x42e067
mov ebp, dword [sym.imp.SHLWAPI.dll_SHGetValueA]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x24]
push eax
push esi
add ecx, 0x784
mov dword [esp + 0x2c], ebx
call fcn.004173b0
test eax, eax
je 0x42e05c
mov eax, dword [esp + 0x24]
cmp eax, ebx
jbe 0x42e05c
mov ecx, dword [esp + 0x28]
push eax
call fcn.00409400
push 0x451020
lea ecx, [esp + 0x14]
mov esi, eax
call sub.MFC42.DLL_CString::operator_1
cmp esi, ebx
je 0x42e058
mov edx, dword [esi + 4]
lea eax, [esp + 0x10]
push edx
push 0x450394
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x18]
lea edx, [esp + 0x14]
lea eax, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push str.SOFTWARE360Safeleak_showerror
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
call ebp
cmp dword [esp + 0x14], ebx
jne 0x42e058
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x20]
push eax
push ecx
push edx
push str.SOFTWARE360Safeleakerror
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
call ebp
cmp dword [esp + 0x14], 2
je 0x42e15b
mov esi, dword [esp + 0x20]
dec esi
mov dword [esp + 0x20], esi
jns 0x42df8e
lea ecx, [esp + 0x10]
mov byte [esp + 0x5b4], bl
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x5a4]
mov esi, dword [esp + 0x5a0]
cmp esi, edi
mov dword [esp + 0x5b4], 5
je 0x42e0aa
push ebx
mov ecx, esi
call fcn.0042f2c0
add esi, 8
cmp esi, edi
jne 0x42e094
mov esi, dword [esp + 0x5a0]
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x4e0]
mov dword [esp + 0x5a0], ebx
mov dword [esp + 0x5a4], ebx
mov dword [esp + 0x5a8], ebx
mov byte [esp + 0x5b4], 4
call fcn.004147b0
lea ecx, [esp + 0x408]
mov byte [esp + 0x5b4], 3
call fcn.004011d0
lea ecx, [esp + 0x330]
mov byte [esp + 0x5b4], 2
call fcn.004011d0
lea ecx, [esp + 0x324]
mov dword [esp + 0x5b4], 9
mov dword [esp + 0x324], 0x442d98
call fcn.00401a30
lea ecx, [esp + 0x238]
mov byte [esp + 0x5b4], 8
call fcn.00419250
lea ecx, [esp + 0x164]
mov byte [esp + 0x5b4], 7
call fcn.00419250
mov byte [esp + 0x5b4], 6
jmp 0x42e340
mov eax, dword [esp + 0x2c]
cmp eax, ebx
mov dword [esp + 0x20], eax
jl 0x42e21b
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push ecx
push eax
lea ecx, [edx + 0x784]
mov dword [esp + 0x2c], ebx
call fcn.004173b0
test eax, eax
je 0x42e20c
mov eax, dword [esp + 0x24]
cmp eax, ebx
jbe 0x42e20c
mov ecx, dword [esp + 0x28]
push eax
call fcn.00409400
push 0x451020
lea ecx, [esp + 0x14]
mov esi, eax
call sub.MFC42.DLL_CString::operator_1
cmp esi, ebx
je 0x42e20c
mov eax, dword [esi + 4]
lea ecx, [esp + 0x10]
push eax
push 0x450394
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
push str.SOFTWARE360Safeleakerror
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
call ebp
cmp dword [esp + 0x14], 2
jb 0x42e20c
mov ecx, dword [esi + 4]
lea eax, [esi + 8]
push eax
push ecx
lea ecx, [esp + 0x38]
call fcn.004095b0
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
jns 0x42e16b
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CDialog::DoModal
cmp eax, 1
jne 0x42e233
mov ecx, dword [esp + 0x28]
push ebx
call fcn.0042b2a0
lea ecx, [esp + 0x10]
mov byte [esp + 0x5b4], bl
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x5a4]
mov esi, dword [esp + 0x5a0]
cmp esi, edi
mov dword [esp + 0x5b4], 0xd
je 0x42e276
lea ecx, [esi + 4]
call sub.MFC42.DLL_CString::CString
add esi, 8
cmp esi, edi
jne 0x42e260
mov esi, dword [esp + 0x5a0]
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x4e0]
mov dword [esp + 0x5a0], ebx
mov dword [esp + 0x5a4], ebx
mov dword [esp + 0x5a8], ebx
mov byte [esp + 0x5b4], 0xc
call fcn.004147b0
lea ecx, [esp + 0x408]
mov byte [esp + 0x5b4], 0xb
call fcn.004011d0
lea ecx, [esp + 0x330]
mov byte [esp + 0x5b4], 0xa
call fcn.004011d0
mov ebx, 0xe
mov dword [esp + 0x5b4], ebx
lea edx, [esp + 0x324]
mov dword [esp + 0x324], 0x442be0
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x324]
mov byte [esp + 0x5b4], 0x12
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x238]
mov dword [esp + 0x324], 0x442bcc
mov byte [esp + 0x5b4], 0x10
call fcn.00419250
lea ecx, [esp + 0x164]
mov byte [esp + 0x5b4], 0xf
call fcn.00419250
mov byte [esp + 0x5b4], bl
lea ecx, [esp + 0x90]
call fcn.00419250
lea ecx, [esp + 0x30]
mov dword [esp + 0x5b4], 0xffffffff
call sub.MFC42.DLL_CDialog::CDialog
mov ecx, dword [esp + 0x5ac]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5a8
ret