Function at 0x10014730
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x220
mov eax, dword [0x100a71bc]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x220], 0x200
mov eax, dword [ebp + 8]
push eax
call fcn.10014c70
push str.Active_Scripting_Engine
sub esp, 0x10
mov ecx, esp
mov edx, dword [0x10073db0]
mov dword [ecx], edx
mov eax, dword [0x10073db4]
mov dword [ecx + 4], eax
mov edx, dword [0x10073db8]
mov dword [ecx + 8], edx
mov eax, dword [0x10073dbc]
mov dword [ecx + 0xc], eax
call fcn.10014fa0
add esp, 0x14
push str.Active_Scripting_Engine_with_Parsing
sub esp, 0x10
mov ecx, esp
mov edx, dword [0x10073dc0]
mov dword [ecx], edx
mov eax, dword [0x10073dc4]
mov dword [ecx + 4], eax
mov edx, dword [0x10073dc8]
mov dword [ecx + 8], edx
mov eax, dword [0x10073dcc]
mov dword [ecx + 0xc], eax
call fcn.10014fa0
add esp, 4
mov ecx, esp
mov edx, dword [0x10073db0]
mov dword [ecx], edx
mov eax, dword [0x10073db4]
mov dword [ecx + 4], eax
mov edx, dword [0x10073db8]
mov dword [ecx + 8], edx
mov eax, dword [0x10073dbc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp + 8]
add ecx, 0x24
push ecx
call fcn.100150d0
add esp, 4
mov edx, esp
mov eax, dword [0x10073dc0]
mov dword [edx], eax
mov ecx, dword [0x10073dc4]
mov dword [edx + 4], ecx
mov eax, dword [0x10073dc8]
mov dword [edx + 8], eax
mov ecx, dword [0x10073dcc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 8]
add edx, 0x24
push edx
call fcn.100150d0
add esp, 0x14
lea eax, [ebp - 0x208]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
push edx
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x100148f1
lea eax, [ebp - 0x20c]
push eax
push 0x1006d4dc
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x1001487f
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80004005
jmp 0x10014c51
mov eax, dword [ebp - 0x20c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
call fcn.1004b6b0
add esp, 4
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
push ecx
push 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
push eax
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
push edx
call fcn.1004b6b0
add esp, 4
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
push ecx
push 1
push 0x1006d534
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x100148fb
mov eax, 0x80004005
jmp 0x10014c51
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x20], 0
je 0x100149d9
lea edx, [ebp - 0x208]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x100149cf
lea edx, [ebp - 0x20c]
push edx
push 0x1006d53c
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x1001495d
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80004005
jmp 0x10014c51
mov edx, dword [ebp - 0x20c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.1004b6b0
add esp, 4
push eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
push eax
push 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
push edx
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.1004b6b0
add esp, 4
push eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
push eax
push 1
push 0x1006d548
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x100149d9
mov eax, 0x80004005
jmp 0x10014c51
lea eax, [ebp - 0x208]
push eax
push 0x1006d550
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x10014c09
lea ecx, [ebp - 0x20c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x10014a2e
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80004005
jmp 0x10014c51
lea eax, [ebp - 0x214]
push eax
push 0x1006d558
mov ecx, dword [ebp - 0x20c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x10014a6f
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x20c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80004005
jmp 0x10014c51
push 0x200
lea ecx, [ebp - 0x204]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
movsx ecx, ax
mov dword [ebp - 0x218], ecx
cmp dword [ebp - 0x218], 0
jne 0x10014ad2
mov edx, dword [ebp - 0x214]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x20c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80004005
jmp 0x10014c51
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
push eax
call fcn.1004b6b0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
push 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.1004b6b0
add esp, 4
push eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
push eax
push 1
push 0x1006d564
mov ecx, dword [ebp - 0x20c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
mov edx, dword [ebp - 0x218]
push edx
lea eax, [ebp - 0x204]
push eax
push 1
push 0x1006d56c
mov ecx, dword [ebp - 0x20c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
lea edx, [ebp - 0x210]
push edx
push 2
push 0
push 0x1006d57c
mov eax, dword [ebp - 0x20c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x10014ba5
push 0x1006d58c
call fcn.1004b6b0
add esp, 4
push eax
push str.Both
push 1
push 0
push str.ThreadingModel
mov ecx, dword [ebp - 0x210]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 0x210]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x10014be0
mov eax, dword [ebp - 0x210]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x214]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x20c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80004005
jmp 0x10014c51
mov ecx, dword [ebp - 0x214]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x20c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x10014c10
mov eax, 0x80004005
jmp 0x10014c51
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 0
je 0x10014c4f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
push eax
call fcn.1004b6b0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
push edx
push 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
push ecx
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
test eax, eax
je 0x10014c4f
mov eax, 0x80004005
jmp 0x10014c51
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100454bc
mov esp, ebp
pop ebp
ret 4