Function at 0x40bb96
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xa30
mov eax, 0x420233
call fcn.0041f415
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0xa2c]
mov dword [ebp - 0xa38], eax
call fcn.0041de44
xor esi, esi
lea ecx, [ebp - 0xa2c]
push 4
mov dword [ebp - 4], esi
call sub.MFC42u.dll_CString::LoadStringW
xor ebx, ebx
inc ebx
cmp dword [ebp + 0xc], ebx
je 0x40bc50
push 0x28
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xa34], 0x100
push eax
push 0x401980
call dword [sym.imp.ole32.dll_StringFromGUID2]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x1c4]
push 0x401c60
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0xa34]
push eax
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x1c4]
push eax
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
test eax, eax
jne 0x40bc50
push esi
push 0x401c90
push dword [ebp - 0xa2c]
mov ecx, 0x4238c8
call sub.MFC42u.dll_CWinApp::GetProfileIntW
cmp eax, 0x3d
jge 0x40bf5c
lea ecx, [ebp - 0xa1c]
call fcn.0041de44
lea ecx, [ebp - 0xa20]
mov byte [ebp - 4], bl
call fcn.0041de44
push 0x208
lea eax, [ebp - 0x6d8]
mov byte [ebp - 4], 2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov word [ebp - 0x2c8], ax
lea eax, [ebp - 0x6d8]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
pop ecx
pop ecx
push 0x401ca0
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x6d8]
push eax
lea ecx, [ebp - 0xa28]
call sub.MFC42u.dll_CString::CString_1
mov byte [ebp - 4], 3
mov dword [ebp - 0xa30], esi
jmp 0x40bdae
push 0x12
lea ecx, [ebp - 0xa1c]
call sub.MFC42u.dll_CString::LoadStringW
push 0x13
lea ecx, [ebp - 0xa20]
call sub.MFC42u.dll_CString::LoadStringW
lea eax, [ebp - 0xa20]
push eax
lea ecx, [ebp - 0xa1c]
call sub.MFC42u.dll_CString::operator
push 0x15
lea ecx, [ebp - 0xa20]
call sub.MFC42u.dll_CString::LoadStringW
lea eax, [ebp - 0xa20]
push eax
lea ecx, [ebp - 0xa1c]
call sub.MFC42u.dll_CString::operator
push 0
push 4
push dword [ebp - 0xa1c]
call sub.MFC42u.dll_AfxMessageBox
cmp eax, 6
jne 0x40be51
push dword [ebp - 0xa38]
lea ecx, [ebp - 0xa18]
push 0x423008
push 0x1804
push 0
push 0x401cd0
push ebx
call sub.MFC42u.dll_CFileDialog::CFileDialog
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 4
call sub.MFC42u.dll_CFileDialog::DoModal
cmp eax, ebx
jne 0x40bde9
lea eax, [ebp - 0xa3c]
push eax
lea ecx, [ebp - 0xa18]
call sub.MFC42u.dll_CFileDialog::GetPathName
push eax
lea ecx, [ebp - 0xa28]
mov byte [ebp - 4], 5
call fcn.0041de50
lea ecx, [ebp - 0xa3c]
call sub.MFC42u.dll_CString::CString
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 3
call sub.MFC42u.dll_CString::CString
lea ecx, [ebp - 0xa18]
call fcn.0041df7c
push dword [ebp - 0xa28]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
cmp edi, 0x20
jbe 0x40bcca
push 0x401cbc
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x40be09
mov ecx, esi
call dword [0x42486c]
call esi
test eax, eax
jns 0x40be05
push 0x16
jmp 0x40be0b
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 3
call sub.MFC42u.dll_CString::CString
lea ecx, [ebp - 0xa18]
call fcn.0041df7c
jmp 0x40be51
mov esi, ebx
jmp 0x40be4a
push 0x14
lea ecx, [ebp - 0xa1c]
call sub.MFC42u.dll_CString::LoadStringW
push 0x13
lea ecx, [ebp - 0xa20]
call sub.MFC42u.dll_CString::LoadStringW
lea eax, [ebp - 0xa20]
push eax
lea ecx, [ebp - 0xa1c]
call sub.MFC42u.dll_CString::operator
push 0
push 0
push dword [ebp - 0xa1c]
call sub.MFC42u.dll_AfxMessageBox
mov esi, dword [ebp - 0xa30]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0xa24]
push eax
push 0xf003f
push 0
push 0x401cec
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40bf1e
push 0x31
pop edi
push edi
lea eax, [ebp - 0x74]
push eax
push 0x409e6c
call dword [sym.imp.ole32.dll_StringFromGUID2]
push 0x401d00
push 0
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0xa24]
call fcn.0041d81b
push edi
lea eax, [ebp - 0x74]
push eax
push 0x409e7c
call dword [sym.imp.ole32.dll_StringFromGUID2]
push 0x401d20
push 0
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0xa24]
call fcn.0041d81b
push edi
lea eax, [ebp - 0x74]
push eax
push 0x409e8c
call dword [sym.imp.ole32.dll_StringFromGUID2]
push 0x401d40
push 0
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0xa24]
call fcn.0041d81b
push edi
lea eax, [ebp - 0x74]
push eax
push 0x409e5c
call dword [sym.imp.ole32.dll_StringFromGUID2]
push 0x401d58
push 0
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0xa24]
call fcn.0041d81b
push dword [ebp - 0xa24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, ebx
jne 0x40bf39
push 0x3d
push 0x401c90
push dword [ebp - 0xa2c]
mov ecx, 0x4238c8
call sub.MFC42u.dll_CWinApp::WriteProfileInt
lea ecx, [ebp - 0xa28]
call sub.MFC42u.dll_CString::CString
lea ecx, [ebp - 0xa20]
call sub.MFC42u.dll_CString::CString
lea ecx, [ebp - 0xa1c]
call sub.MFC42u.dll_CString::CString
mov ebx, esi
lea ecx, [ebp - 0xa2c]
call sub.MFC42u.dll_CString::CString
mov eax, ebx
call fcn.0041f3c4
ret 8