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

Disassembly:
push ebp
lea ebp, [esp - 0x2a4]
sub esp, 0x324
mov eax, dword [0x10084500]
push ebx
push esi
push edi
mov dword [ebp + 0x2a0], eax
lea eax, [ebp + 0x98]
xor esi, esi
push str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects_
push eax
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x70], esi
call fcn.10057da0
lea eax, [ebp + 0x98]
push str.D8727F00_BD57_4900_84CB_CD58B13EB833
push eax
call fcn.10057db0
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
add esp, 0x10
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
mov ebx, 0xf003f
push ebx
push esi
push esi
push esi
lea eax, [ebp + 0x98]
push eax
push 0x80000002
call edi
cmp eax, esi
je 0x1002d663
cmp eax, 5
jne 0x1002d675
lea eax, [ebp + 0x98]
push eax
push 0x80000002
call fcn.1002bc33
pop ecx
pop ecx
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
push ebx
push esi
push esi
push esi
lea eax, [ebp + 0x98]
push eax
push 0x80000002
call edi
test eax, eax
jne 0x1002d675
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegFlushKey]
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp + 0x19c]
push str.CLSID_
push eax
call fcn.10057da0
lea eax, [ebp + 0x19c]
push str.D8727F00_BD57_4900_84CB_CD58B13EB833
push eax
call fcn.10057db0
add esp, 0x10
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
push ebx
push esi
push esi
push esi
lea eax, [ebp + 0x19c]
push eax
push 0x80000000
call edi
cmp eax, 5
jne 0x1002d6e8
lea eax, [ebp + 0x19c]
push eax
push 0x80000000
call fcn.1002bc33
pop ecx
pop ecx
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
push ebx
push esi
push esi
push esi
lea eax, [ebp + 0x19c]
push eax
push 0x80000000
call edi
cmp eax, esi
mov dword [ebp - 0x74], esi
jne 0x1002d810
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
push esi
push ebx
push esi
push esi
push esi
push str.InprocServer32
push dword [ebp - 0x70]
call edi
cmp eax, 5
jne 0x1002d737
lea eax, [ebp + 0x19c]
push eax
push dword [ebp - 0x70]
call fcn.1002bc33
pop ecx
pop ecx
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
push esi
push ebx
push esi
push esi
push esi
push str.InprocServer32
push dword [ebp - 0x70]
call edi
cmp eax, esi
jne 0x1002d810
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x80]
push eax
push esi
push esi
push dword [ebp - 0x74]
mov edi, 0x104
mov dword [ebp - 0x7c], edi
call ebx
test eax, eax
jne 0x1002d77e
cmp dword [ebp - 0x80], 1
jne 0x1002d77e
push dword [ebp + 0x2ac]
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002d7a2
push dword [ebp + 0x2ac]
mov dword [ebp - 0x7c], edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x2ac]
push 1
push esi
push esi
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x7c], edi
push esi
mov edi, str.ThreadingModel
push edi
push dword [ebp - 0x74]
call ebx
test eax, eax
mov ebx, str.Both
jne 0x1002d7db
cmp dword [ebp - 0x80], 1
jne 0x1002d7db
push ebx
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002d7eb
push 5
push ebx
push 1
push esi
push edi
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp dword [ebp - 0x74], esi
je 0x1002d7f9
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x70], esi
je 0x1002d810
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegFlushKey]
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 0x2a0]
pop edi
pop esi
pop ebx
call fcn.100568ae
add ebp, 0x2a4
leave
ret