Function at 0x4142eb
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x420a52
mov eax, dword fs:[0]
push eax
sub esp, 0x310
mov eax, dword [0x4231e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2dc], ecx
mov ecx, dword [ebp - 0x2dc]
call sub.MFC42u.dll_CCmdTarget::BeginWaitCursor
and dword [ebp - 0x2cc], 0
mov esi, 0x409edc
lea edi, [ebp - 0x2c0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x2cc]
push eax
push 0x409e9c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x2e0]
call dword [0x42486c]
call dword [ebp - 0x2e0]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
jge 0x4143f8
lea eax, [ebp - 0x2cc]
push eax
push 0x409eac
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
call dword [0x42486c]
call dword [ebp - 0x2e4]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
jge 0x4143f8
lea eax, [ebp - 0x2cc]
push eax
push 0x409ebc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x2e8]
call dword [0x42486c]
call dword [ebp - 0x2e8]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
jl 0x414467
lea eax, [ebp - 0x2c0]
push eax
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
push dword [ebp - 0x2cc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2ec]
call dword [0x42486c]
call dword [ebp - 0x2ec]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
jl 0x414467
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
push dword [ebp - 0x2cc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
call dword [0x42486c]
call dword [ebp - 0x2f0]
and dword [ebp - 0x2cc], 0
and dword [ebp - 0x31c], 0
push 0x484
call fcn.0040b3d0
mov dword [ebp - 0x2f4], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x2f4], 0
je 0x41449e
mov ecx, dword [ebp - 0x2f4]
call fcn.00413e89
mov dword [ebp - 0x2f8], eax
jmp 0x4144a5
and dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x308], eax
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x308]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [eax + 4], 2
mov edi, dword [ebp - 0x2c4]
add edi, 8
lea esi, [ebp - 0x2c0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 2
pop eax
imul eax, eax, 0
xor ecx, ecx
mov edx, dword [ebp - 0x2c4]
mov word [edx + eax + 0x18], cx
mov eax, dword [ebp - 0x2c4]
mov dword [eax + 0x6c], 1
xor eax, eax
mov ecx, dword [ebp - 0x2c4]
mov word [ecx + 0x68], ax
xor eax, eax
mov ecx, dword [ebp - 0x2c4]
mov word [ecx + 0x68], ax
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x78], ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2c4]
add ecx, 0x7c
call fcn.0041de50
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
call dword [0x42486c]
call dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2d0]
call fcn.0041de44
mov dword [ebp - 4], 1
push 0x409edc
lea eax, [ebp - 0x2c0]
push eax
call fcn.00419276
movzx eax, al
test eax, eax
je 0x414640
push 0x28
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x2c4]
add eax, 8
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
lea eax, [ebp - 0xb0]
push eax
call fcn.0040b696
push eax
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x2c4]
call fcn.00417a11
mov dword [ebp - 0x30c], 0x100
lea eax, [ebp - 0x60]
push eax
push 0x401d6c
lea eax, [ebp - 0x2d0]
push eax
call sub.MFC42u.dll_CString::Format
add esp, 0xc
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x2b0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0040b3f4
push eax
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
lea eax, [ebp - 0x2b0]
push eax
mov eax, dword [ebp + 0xc]
push dword [eax]
push 0x40571c
lea eax, [ebp - 0x2d0]
push eax
call sub.MFC42u.dll_CString::Format
add esp, 0x10
jmp 0x414659
mov eax, dword [ebp + 0xc]
push dword [eax]
push 0x40572c
lea eax, [ebp - 0x2d0]
push eax
call sub.MFC42u.dll_CString::Format
add esp, 0xc
push dword [ebp - 0x2c4]
lea ecx, [ebp - 0x2d0]
call fcn.0040b3f4
push eax
mov ecx, dword [ebp - 0x2dc]
call fcn.00414794
test eax, eax
jne 0x414731
mov ecx, dword [ebp - 0x2c4]
call fcn.00419137
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x2d4], eax
cmp dword [ebp - 0x2d4], 0
je 0x4146dd
push 1
mov eax, dword [ebp - 0x2d4]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
call dword [0x42486c]
mov ecx, dword [ebp - 0x2d4]
call dword [ebp - 0x300]
mov dword [ebp - 0x314], eax
jmp 0x4146e4
and dword [ebp - 0x314], 0
mov dword [ebp - 0x2c8], 0x80004005
lea ecx, [ebp - 0x2d8]
call fcn.0041de44
mov byte [ebp - 4], 2
push 0x405738
lea eax, [ebp - 0x2d8]
push eax
call sub.MFC42u.dll_CString::Format
pop ecx
pop ecx
push dword [ebp - 0x2c8]
lea eax, [ebp - 0x2d8]
push eax
call fcn.0041d91d
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2d8]
call sub.MFC42u.dll_CString::CString
mov ecx, dword [ebp - 0x2dc]
call sub.MFC42u.dll_CCmdTarget::EndWaitCursor
cmp dword [ebp - 0x2c8], 0
jl 0x414751
mov dword [ebp - 0x304], 1
jmp 0x414758
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x318], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d0]
call sub.MFC42u.dll_CString::CString
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041f3a0
leave
ret 8