Function at 0x414bf0
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x423fe8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
mov eax, 4
push ebx
push ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
push esi
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
push str.SiteAccess
push str.SOFTWARE360Safe_safemon
push reloc.OLEAUT32.dll_SysReAllocString
xor ebp, ebp
mov dword [esp + 0x2c], 1
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x414c54
mov ebp, 1
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::CString_4
push 0x42f1b0
lea ecx, [esp + 0x14]
mov dword [esp + 0x5c], 0
call sub.MFC42u.DLL_CString::operator
mov esi, dword [esp + 0x60]
mov ebx, dword [sym.imp.USER32.dll_GetMenuStringW]
push 8
push 0
mov eax, dword [esi + 4]
push 0
push 0x801f
push eax
call ebx
test eax, eax
jle 0x414cbb
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
mov ecx, dword [esi + 4]
push 8
push edi
push eax
push 0x801f
push ecx
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
jmp 0x414cc4
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
test ebp, ebp
je 0x414cd7
call fcn.00406430
test eax, eax
je 0x414cd7
push 0
push 0x32
jmp 0x414cdb
push 0
push 0x33
call fcn.00418be0
mov ecx, eax
call fcn.004194c0
push eax
lea ecx, [esp + 0x14]
call fcn.0042220a
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x20]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0x30
mov dword [esp + 0x28], 0x42
mov dword [esp + 0x34], 0x801f
call sub.MFC42u.DLL_CString::GetBuffer
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], eax
mov eax, dword [edx - 8]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x20]
push eax
push 0
push 0x801f
push ecx
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov eax, 4
mov ebp, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
push str.ExecAccess
push str.SOFTWARE360Safe_safemon
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], 1
call ebp
mov eax, dword [esp + 0x14]
push 0x42f1ac
test eax, eax
lea ecx, [esp + 0x14]
je 0x414de7
call sub.MFC42u.DLL_CString::operator_2
mov edx, dword [esi + 4]
push 8
push 0
push 0
push 0x801e
push edx
call ebx
test eax, eax
jle 0x414dd8
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
push 8
push edi
push eax
mov eax, dword [esi + 4]
push 0x801e
push eax
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
push 0
push 0x32
jmp 0x414e37
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x32
jmp 0x414e37
call sub.MFC42u.DLL_CString::operator_2
mov ecx, dword [esi + 4]
push 8
push 0
push 0
push 0x801e
push ecx
call ebx
test eax, eax
jle 0x414e2a
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
mov edx, dword [esi + 4]
push 8
push edi
push eax
push 0x801e
push edx
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
jmp 0x414e33
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x33
call fcn.00418be0
mov ecx, eax
call fcn.004194c0
push eax
lea ecx, [esp + 0x14]
call fcn.0042220a
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x20]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0x30
mov dword [esp + 0x28], 0x42
mov dword [esp + 0x34], 0x801e
call sub.MFC42u.DLL_CString::GetBuffer
mov edx, dword [esi + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push ecx
push 0
mov eax, dword [eax - 8]
push 0x801e
push edx
mov dword [esp + 0x58], eax
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov eax, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
lea edx, [esp + 0x1c]
push eax
push ecx
push edx
push str.MonAccess
push str.SOFTWARE360Safe_safemon
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], 1
call ebp
mov eax, dword [esp + 0x14]
push 0x42f1ac
test eax, eax
lea ecx, [esp + 0x14]
je 0x414f3d
call sub.MFC42u.DLL_CString::operator_2
mov eax, dword [esi + 4]
push 8
push 0
push 0
push 0x8020
push eax
call ebx
test eax, eax
jle 0x414f2e
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
mov ecx, dword [esi + 4]
push 8
push edi
push eax
push 0x8020
push ecx
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
push 0
push 0x32
jmp 0x414f8d
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x32
jmp 0x414f8d
call sub.MFC42u.DLL_CString::operator_2
mov edx, dword [esi + 4]
push 8
push 0
push 0
push 0x8020
push edx
call ebx
test eax, eax
jle 0x414f80
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
push 8
push edi
push eax
mov eax, dword [esi + 4]
push 0x8020
push eax
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
jmp 0x414f89
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x33
call fcn.00418be0
mov ecx, eax
call fcn.004194c0
push eax
lea ecx, [esp + 0x14]
call fcn.0042220a
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x20]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0x30
mov dword [esp + 0x28], 0x42
mov dword [esp + 0x34], 0x8020
call sub.MFC42u.DLL_CString::GetBuffer
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], eax
lea edx, [esp + 0x20]
mov eax, dword [ecx - 8]
push edx
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 4]
push 0
push 0x8020
push eax
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov eax, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x20]
push edx
push eax
push str.UDiskAccess
push str.SOFTWARE360Safe_safemon
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], 1
call ebp
mov eax, dword [esp + 0x14]
push 0x42f1ac
test eax, eax
lea ecx, [esp + 0x14]
je 0x415093
call sub.MFC42u.DLL_CString::operator_2
mov ecx, dword [esi + 4]
push 8
push 0
push 0
push 0x8021
push ecx
call ebx
test eax, eax
jle 0x415084
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
mov edx, dword [esi + 4]
push 8
push edi
push eax
push 0x8021
push edx
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
push 0
push 0x32
jmp 0x4150e3
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x32
jmp 0x4150e3
call sub.MFC42u.DLL_CString::operator_2
mov eax, dword [esi + 4]
push 8
push 0
push 0
push 0x8021
push eax
call ebx
test eax, eax
jle 0x4150d6
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
mov ecx, dword [esi + 4]
push 8
push edi
push eax
push 0x8021
push ecx
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
jmp 0x4150df
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x33
call fcn.00418be0
mov ecx, eax
call fcn.004194c0
push eax
lea ecx, [esp + 0x14]
call fcn.0042220a
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x20]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0x30
mov dword [esp + 0x28], 0x42
mov dword [esp + 0x34], 0x8021
call sub.MFC42u.DLL_CString::GetBuffer
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], eax
mov ebp, dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov eax, dword [edx - 8]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x20]
push eax
push 0
push 0x8021
push ecx
call ebp
call fcn.00405760
test eax, eax
je 0x4151df
call fcn.00404c70
test eax, eax
jne 0x415180
call fcn.00404c30
test eax, eax
jne 0x415180
call fcn.00404cb0
test eax, eax
jne 0x415180
call fcn.00404cf0
test eax, eax
je 0x4151df
push 0x42f1b0
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::operator
mov edx, dword [esi + 4]
push 8
push 0
push 0
push 0x8022
push edx
call ebx
test eax, eax
jle 0x4151d0
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
push 8
push edi
push eax
mov eax, dword [esi + 4]
push 0x8022
push eax
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
push 0
push 0x32
jmp 0x415238
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x32
jmp 0x415238
push 0x42f1b0
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::operator
mov ecx, dword [esi + 4]
push 8
push 0
push 0
push 0x8022
push ecx
call ebx
test eax, eax
jle 0x41522b
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
call sub.MFC42u.DLL_CString::GetBufferSetLength
mov edx, dword [esi + 4]
push 8
push edi
push eax
push 0x8022
push edx
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
jmp 0x415234
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::Empty
push 0
push 0x33
call fcn.00418be0
mov ecx, eax
call fcn.004194c0
push eax
lea ecx, [esp + 0x14]
call fcn.0042220a
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x20]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0x30
mov dword [esp + 0x28], 0x42
mov dword [esp + 0x34], 0x8022
call sub.MFC42u.DLL_CString::GetBuffer
mov edx, dword [esi + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push ecx
push 0
mov eax, dword [eax - 8]
push 0x8022
push edx
mov dword [esp + 0x58], eax
call ebp
lea ecx, [esp + 0x10]
mov dword [esp + 0x58], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x50]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x4c
ret 4