Function at 0x411c95
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x2bc
mov eax, 0x420949
call fcn.0041f415
mov eax, dword [ebp + 8]
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2b4], eax
lea eax, [ebp - 0x60]
push 0x28
push eax
push ecx
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], ebx
call dword [sym.imp.ole32.dll_StringFromGUID2]
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x2a0]
push 0x40471c
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov dword [ebp - 0x2b8], 0xa0
xor eax, eax
mov word [ebp - 0x1a0], ax
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x2a0]
push eax
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
test eax, eax
je 0x411d36
push 0x404738
lea eax, [ebp - 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov esi, 0x409edc
lea edi, [ebp - 0x2b0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2b4]
test edi, edi
je 0x411e58
lea eax, [ebp - 0x60]
push eax
push 0x404750
lea eax, [ebp - 0x2a0]
push 0x80
push eax
call fcn.00411c2f
add esp, 0x10
xor eax, eax
mov word [ebp - 0x100], ax
mov esi, 0xa0
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x2b8], esi
push eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x2a0]
push eax
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
test eax, eax
je 0x411df8
lea eax, [ebp - 0x60]
push eax
push 0x404798
lea eax, [ebp - 0x2a0]
push 0x80
push eax
call fcn.00411c2f
add esp, 0x10
mov dword [ebp - 0x2b8], esi
xor eax, eax
mov word [ebp - 0x100], ax
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x2a0]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
test eax, eax
jne 0x411e58
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x100]
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
mov esi, eax
test esi, esi
jns 0x411e58
lea ecx, [ebp - 0x2b4]
call fcn.0041de44
lea eax, [ebp - 0x1a0]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x2b4]
push 0x404818
push eax
call sub.MFC42u.dll_CString::Format
add esp, 0xc
lea eax, [ebp - 0x2b4]
push esi
push eax
call fcn.0041d91d
lea ecx, [ebp - 0x2b4]
call sub.MFC42u.dll_CString::CString
jmp 0x411f76
lea edx, [ebp - 0x2b0]
mov ecx, ebx
mov esi, 0x409edc
mov eax, dword [edx + ecx*4]
cmp eax, dword [esi + ecx*4]
jne 0x411ed8
inc ecx
cmp ecx, 4
jne 0x411e65
mov esi, 0x401980
lea edi, [ebp - 0x2b0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2b4]
jmp 0x411ed8
lea ecx, [ebp - 0x2bc]
call fcn.0041de44
xor eax, eax
inc eax
mov dword [ebp - 4], eax
cmp esi, 0x80040154
je 0x411eaf
cmp esi, 0x8007007e
jne 0x411f7e
push eax
push dword [ebp - 0x2c8]
call sub.MFC42u.dll_CWnd::FromHandle
push eax
call fcn.0040bb96
test eax, eax
je 0x411fa6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2bc]
call sub.MFC42u.dll_CString::CString
lea eax, [ebp - 0x2c0]
push eax
push 0x401990
push 1
push ebx
lea eax, [ebp - 0x2b0]
push eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test esi, esi
js 0x411e8a
mov dword [ebp - 0x2b4], ebx
test edi, edi
je 0x411f24
mov esi, dword [edi]
lea eax, [ebp - 0x2b4]
push eax
push dword [ebp - 0x2c4]
mov ecx, dword [esi]
push edi
call dword [0x42486c]
call dword [esi]
mov ebx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2c0]
push ebx
push dword [ebp - 0x2c4]
mov esi, dword [eax]
push dword [ebp - 0x2c8]
push eax
mov ecx, dword [esi + 0xc]
call dword [0x42486c]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x2c0]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x42486c]
call esi
mov ecx, dword [ebp - 0x2b4]
test ecx, ecx
je 0x411f76
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x42486c]
call esi
call fcn.0041f3c4
ret 0xc
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x2bc]
push 0x404888
push eax
call sub.MFC42u.dll_CString::Format
add esp, 0xc
lea eax, [ebp - 0x2bc]
push esi
push eax
call fcn.0041d91d
lea ecx, [ebp - 0x2bc]
jmp 0x411e4e