Function at 0x404e30
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x5f0
mov eax, dword [0x447170]
xor eax, esp
mov dword [esp + 0x5ec], eax
push ebx
push ebp
mov ebp, dword [esp + 0x5fc]
mov ebx, ecx
push ebp
push str.Loading__S
push 3
push 0x135
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
push ebp
lea eax, [ebx + 8]
push 0x104
push eax
call fcn.0040f833
xor eax, eax
push 0x1fe
push eax
mov word [esp + 0x320], ax
lea eax, [esp + 0x322]
push eax
call fcn.0040e430
push 0
push 0
push 0x100
lea eax, [esp + 0x330]
push eax
push 0
push 0
push 0
push 0
push ebp
call fcn.0040e922
add esp, 0x54
cmp word [esp + 0x2f4], 0x5f
setne al
mov byte [ebx + 0x210], al
test al, al
jne 0x404efc
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
shr eax, 2
test al, 1
je 0x404efc
push ebp
push str.Safe_mode:_skip_optional_plugin__S
push 2
push 0x140
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
add esp, 0x18
xor al, al
jmp 0x4052e7
push esi
push edi
mov ecx, 0x15
lea edi, [esp + 0x2c]
mov esi, str.SOFTWARENVIDIA_CorporationNvContainer_s
lea eax, [esp + 0x2fc]
rep movsd dword es:[edi], dword [esi]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x504]
movsw word es:[edi], word [esi]
push 0x80
push eax
call fcn.00406b70
add esp, 0x10
mov dword [esp + 0x20], 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x24]
push eax
push 0
push 0x10
push str.DisableLoad
lea eax, [esp + 0x510]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x404fba
cmp dword [esp + 0x20], eax
je 0x404fba
push ebp
push str.Disable_loading_of_plugin__S
push 2
push 0x153
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
lea eax, [esp + 0x314]
mov dword [ebx + 0x280], 3
push eax
push 0x43cc0c
lea eax, [ebx + 0x23c]
push 0xffffffffffffffff
push eax
call fcn.00404770
add esp, 0x28
mov al, 1
jmp 0x4052e5
mov ecx, 0x1b
lea edi, [esp + 0x84]
mov esi, str.SOFTWARENVIDIA_CorporationNvContainerDllDirectories
xor eax, eax
rep movsd dword es:[edi], dword [esi]
push 0x206
push eax
mov word [esp + 0xfc], ax
lea eax, [esp + 0xfe]
push eax
movsw word es:[edi], word [esi]
call fcn.0040e430
add esp, 0xc
mov dword [esp + 0x14], 0x208
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0xf8]
push eax
push 0
push 2
lea eax, [esp + 0x30c]
push eax
lea eax, [esp + 0x98]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4050a2
cmp word [esp + 0xf4], 0
je 0x4050a2
lea eax, [esp + 0xf4]
push eax
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
test eax, eax
je 0x405060
lea eax, [esp + 0xf4]
push eax
push str.Add_DLL_directory__S_to_the_search_path
push 3
push 0x16c
jmp 0x4050af
call esi
push eax
lea eax, [esp + 0xf8]
push eax
push str.Failed_to_add_DLL_directory__S_to_the_search_path._Error__lu
push 1
push 0x174
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
add esp, 0x1c
call esi
push eax
lea eax, [esp + 0xf8]
push eax
push str.Failed_to_add_DLL_directory__S_to_the_search_path._Error__lu
push 0xd
call fcn.00403670
add esp, 0x10
jmp 0x4050be
push eax
push str.Use_default_DLL_search_path__result__ld_
push 4
push 0x179
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
add esp, 0x18
cmp dword [ebx + 0x294], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
je 0x4050e8
lea eax, [esp + 0x24]
push eax
call edi
mov ecx, dword [ebx + 0x294]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], edx
push ebp
mov ecx, ebx
call fcn.004055e0
push 0
mov byte [esp + 0x17], al
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
cmp byte [esp + 0x13], 0
jne 0x40513c
call esi
push eax
push ebp
push str.Failed_to_load_library__S._Error__lu
push 1
push 0x187
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
add esp, 0x1c
call esi
push eax
push ebp
push str.Failed_to_load_library__S._Error__lu
push 0x1e
call fcn.00403670
add esp, 0x10
xor al, al
jmp 0x4052e5
cmp dword [ebx + 0x294], 0
je 0x4051a5
lea eax, [esp + 0x18]
push eax
call edi
mov esi, dword [ebx + 0x294]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push 0
sub ecx, dword [esi + 0x48]
mov edx, dword [esi]
sbb eax, dword [esi + 0x4c]
push 0xa
push eax
push ecx
mov dword [esp + 0x34], edx
call fcn.0040f640
cmp dword [esp + 0x24], eax
jbe 0x40517d
mov eax, dword [esp + 0x24]
jmp 0x4051a3
lea eax, [esp + 0x18]
push eax
call edi
mov esi, dword [ebx + 0x294]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push 0
sub ecx, dword [esi + 0x48]
push 0xa
sbb eax, dword [esi + 0x4c]
push eax
push ecx
call fcn.0040f640
mov dword [esi], eax
push ebp
push str.Loaded__S
push 3
push 0x18c
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
add esp, 0x18
push str.NvPluginGetInfo
push dword [ebx + 0x214]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
push ebp
test esi, esi
jne 0x4051f9
push str.NvPluginGetInfo_is_not_exported_by__S
push 2
push 0x192
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
add esp, 0x18
jmp 0x4052d5
push str.Query_plugin_information_for__S
push 4
push 0x197
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
add esp, 0x18
call esi
test eax, eax
je 0x4052ac
cmp dword [eax], 0
je 0x4052ac
movdqu xmm0, xmmword [eax]
lea esi, [ebx + 0x23c]
movdqu xmmword [ebx + 0x218], xmm0
movdqu xmm0, xmmword [eax + 0x10]
movdqu xmmword [ebx + 0x228], xmm0
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x238], eax
push dword [ebx + 0x21c]
push 0x40
push esi
call fcn.0040f772
push dword [ebx + 0x218]
cmp byte [ebx + 0x210], 0
mov ecx, str.optional
push esi
mov eax, str.mandatory
cmove eax, ecx
push eax
push str.Loaded__s_plugin__s__version__u
push 3
push 0x1b3
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
mov eax, dword [ebx + 0x280]
add esp, 0x2c
mov dword [ebx + 0x284], eax
mov dword [ebx + 0x280], 1
jmp 0x4052e1
push ebp
push str.NvPluginGetInfo_for__S_returned_invalid_plugin_descriptor
push 1
push 0x1a1
push str.C:dvsp4_build_swgcompdev_srcNvContainercontainerNvcPluginManager.cpp
push dword [ebx]
call fcn.0040d3f0
push ebp
push str.NvPluginGetInfo_for__S_returned_invalid_plugin_descriptor
push 0x24
call fcn.00403670
add esp, 0x24
mov ecx, ebx
mov byte [esp + 0x13], 0
call fcn.004066b0
mov al, byte [esp + 0x13]
pop edi
pop esi
mov ecx, dword [esp + 0x5f4]
pop ebp
pop ebx
xor ecx, esp
call fcn.0040e41a
add esp, 0x5f0
ret 4