Function at 0x410ad2
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
push ebx
push esi
lea eax, [ebp - 0x28]
push edi
push eax
push str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowseNewProcess
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
xor ebx, ebx
test eax, eax
jne 0x410b80
push 1
lea eax, [ebp - 0x10]
pop edi
mov esi, str.BrowseNewProcess
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 8]
push eax
push ebx
push esi
mov dword [ebp - 0x10], 0x32
push dword [ebp - 0x28]
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x410b77
cmp dword [ebp - 8], edi
jne 0x410b77
lea eax, [ebp - 0x6c]
push eax
call fcn.0044a722
lea eax, [ebp - 0x6c]
mov dword [esp], 0x4781f4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x410b77
push 3
push 0x4781f0
push edi
push ebx
push esi
push dword [ebp - 0x28]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push str.BrowseNewProcess_reset
push 0x64e
push str.D:Source_CodeClient_Codeclientegclientdlg.cpp
push ebx
call fcn.00431d70
add esp, 0x10
push dword [ebp - 0x28]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00411723
test eax, eax
je 0x410e0d
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], ebx
push eax
push 0x468be8
push 5
push ebx
push 0x468bd8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jl 0x410dd0
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x410dd0
lea edx, [ebp - 8]
mov dword [ebp - 8], ebx
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x1c]
cmp dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
jle 0x410dc5
mov word [ebp - 0x38], 3
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
push edx
lea esi, [ebp - 0x38]
sub esp, 0x10
mov dword [ebp - 0x30], eax
mov edi, esp
mov eax, dword [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], ebx
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x20]
cmp eax, ebx
jl 0x410d96
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x410db6
lea edx, [ebp - 0xc]
mov dword [ebp - 0xc], ebx
mov ecx, dword [eax]
push edx
push 0x468bc8
push eax
call dword [ecx]
test eax, eax
jl 0x410d8b
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x410d8b
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x48]
test eax, eax
jl 0x410d82
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x410d82
lea edx, [ebp - 0x20]
mov dword [ebp - 0x20], ebx
mov ecx, dword [eax]
push edx
push 0x468bb8
push eax
call dword [ecx]
test eax, eax
jl 0x410d79
cmp dword [ebp - 0x20], ebx
je 0x410d79
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 4]
mov dword [ebp - 4], ebx
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x94]
test eax, eax
jl 0x410c9c
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x410d2e
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
push edx
mov ecx, dword [eax]
push 0x468ba8
push eax
call dword [ecx]
test eax, eax
jl 0x410d2e
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x410d2e
mov ecx, dword [eax]
lea edx, [ebp - 4]
push edx
push eax
call dword [ecx + 0xc]
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
cmp esi, ebx
je 0x410d22
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xfffffffffffffff0
push esi
call edi
test eax, 0xc00000
jne 0x410cf8
push esi
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
cmp esi, ebx
je 0x410d22
push 0xfffffffffffffff0
push esi
jmp 0x410cdd
cmp esi, ebx
je 0x410d22
lea eax, [ebp - 0x9c]
push 0x64
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
lea eax, [ebp - 0x9c]
push str.AOL_Child
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x410d25
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x410d70
cmp dword [ebp - 4], ebx
je 0x410d70
mov esi, str.egIEWatch
push esi
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetPropA]
test eax, eax
jne 0x410d70
cmp dword [0x484cc4], ebx
jne 0x410d70
push 1
push esi
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SetPropA]
push dword [ebp - 4]
call sub.EGIEProcess.DLL_EGIEProcess_AttachBrowser
pop ecx
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x410db6
cmp eax, 0x800706ba
je 0x410db6
push eax
push str.get_shell_window_failed__lx
push 0x6dd
push str.D:Source_CodeClient_Codeclientegclientdlg.cpp
push ebx
call fcn.00431db6
add esp, 0x14
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 8]
jl 0x410bd9
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x410e0d
mov ecx, 0x80040154
cmp eax, ecx
jne 0x410de6
push ecx
push str.IShellWindows_failed:_Class_Not_Registered___lx_
push 0x6e4
jmp 0x410dff
cmp eax, 0x8001010d
je 0x410e0d
cmp eax, 0x80010005
je 0x410e0d
push eax
push str.IShellWindows_failed:_In_InputSync_External_Call___lx_
push 0x6e8
push str.D:Source_CodeClient_Codeclientegclientdlg.cpp
push ebx
call fcn.00431db6
add esp, 0x14
cmp dword [0x484cc4], ebx
jne 0x410e1a
call sub.EGNSEngine.dll_NSEngine_LookForBrowser
pop edi
pop esi
pop ebx
leave
ret