Function at 0x1000ab50
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10021fdb
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x1002db00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 0x2c], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x1c]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x158], edx
je 0x1000ae0c
push 0x28
lea ecx, [ebp - 0x44]
push ecx
push eax
call fcn.1000cf30
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
push ebx
push edi
push 0x1002537c
push edx
push eax
mov eax, dword [0x1002f12c]
push ecx
push esi
lea edx, [ebp - 0x44]
push edx
push eax
call fcn.1000d180
add esp, 0x30
test eax, eax
je 0x1000abf1
jle 0x1000ae28
and eax, 0xffff
or eax, 0x80070000
jmp 0x1000ae28
push str.BrixxPlannerObjectGroups_
lea ecx, [ebp - 0x148]
push 0x104
push ecx
call fcn.10010436
mov eax, dword [ebp - 0x150]
add esp, 0xc
cmp byte [eax], 0
je 0x1000ac40
push eax
lea edx, [ebp - 0x148]
push 0x104
push edx
call fcn.10010495
push 0x10025360
lea eax, [ebp - 0x148]
push 0x104
push eax
call fcn.10010495
add esp, 0x18
push esi
lea ecx, [ebp - 0x148]
push 0x104
push ecx
call fcn.10010495
push 0x10025360
lea edx, [ebp - 0x148]
push 0x104
push edx
call fcn.10010495
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
add esp, 0x18
push 0
lea eax, [ebp - 0x14c]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
lea ecx, [ebp - 0x148]
push ecx
push 0x80000000
call ebx
test eax, eax
jne 0x1000abdc
lea eax, [ebp - 0x44]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000aca3
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 0x44]
push edx
push 1
push 0
push str.CLSID
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x14c]
push ecx
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x1000acf2
jle 0x1000ae26
and edi, 0xffff
or edi, 0x80070000
jmp 0x1000ae26
mov edx, dword [ebp - 0x158]
push edx
lea ecx, [ebp - 0x164]
call fcn.1000c250
lea eax, [ebp - 0x154]
push eax
push 0x10025770
push 0
lea ecx, [ebp - 0x164]
push ecx
mov dword [ebp - 4], 0
call fcn.1000c040
test eax, eax
js 0x1000ae28
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
push edx
push esi
push eax
call dword [sym.imp.BxCore.dll_StoreDefaultObject]
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
add esp, 0xc
push eax
call edx
mov ecx, dword [ebp + 0x18]
push 0xa
push 0xa
lea eax, [ebp - 0x1c]
push eax
push ecx
call fcn.100105bc
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x148]
push 0x104
push eax
call fcn.10010436
push 0x1002544c
lea ecx, [ebp - 0x148]
push 0x104
push ecx
call fcn.10010495
add esp, 0x28
push 0
lea edx, [ebp - 0x14c]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
lea eax, [ebp - 0x148]
push eax
push 0x80000000
call ebx
test eax, eax
jne 0x1000abdc
lea eax, [ebp - 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000adc4
sub eax, edx
mov edx, dword [ebp - 0x14c]
inc eax
push eax
lea ecx, [ebp - 0x1c]
push ecx
push 1
push 0
push 0x100234e2
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, eax
mov eax, dword [ebp - 0x14c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jle 0x1000ae08
and esi, 0xffff
or esi, 0x80070000
mov eax, esi
jmp 0x1000ae28
push edi
push esi
push eax
call fcn.1000d570
mov ecx, dword [ebp - 0x150]
push esi
push ecx
mov edi, eax
call sub.BxCore.dll_DeleteObjectFile
add esp, 0x14
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000ed3f
mov esp, ebp
pop ebp
ret