Function at 0x48e4c0
Capabilities:
Delete registry value
Set registry value

Disassembly:
sub esp, 0xad4
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edx, esi
call fcn.0048d790
mov ebx, eax
push 0x28
lea eax, [esp + 0x70]
push eax
lea ecx, [esi + 4]
push ecx
call dword [sym.imp.ole32.dll_StringFromGUID2]
lea edx, [esp + 0x6c]
push edx
push ebx
lea eax, [esp + 0x8e4]
push str._s_ls
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esi + 0x550]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor eax, eax
add esp, 0x10
cmp ecx, 5
mov dword [esp + 0x10], eax
jne 0x48e743
lea ebp, [esi + 0x224]
push ebp
mov dword [esp + 0x1c], eax
call sym.vidcap60.exe__SfGetFileNamePtrW_4
push eax
lea ecx, [esp + 0x2c8]
push ecx
call dword [0x5d2614]
add esp, 8
lea edx, [esp + 0x2c4]
push edx
call sym.vidcap60.exe__SfGetFileNameExtensionPtrW_4
mov word [eax], 0
lea eax, [esp + 0x2c4]
push eax
push ebx
lea ecx, [esp + 0xc4]
push 0x5e8684
push ecx
call sym.vidcap60.exe_SfPrintF
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
add esp, 0x10
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0xc0]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x48eaf1
mov ecx, dword [esi + 0x430]
push 4
lea edx, [esp + 0x18]
push edx
push 4
push eax
mov eax, dword [esp + 0x20]
push str.LangID
push eax
mov dword [esp + 0x2c], ecx
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x458]
push 4
lea edx, [esp + 0x18]
push edx
push 4
push 0
push str.ModTime
push eax
mov dword [esp + 0x2c], ecx
call edi
mov eax, dword [esi + 0x44c]
test eax, eax
mov dword [esp + 0x14], eax
je 0x48e5f9
mov edx, dword [esp + 0x10]
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push 0
push str.BetaBuild
push edx
call edi
jmp 0x48e609
mov eax, dword [esp + 0x10]
push str.BetaBuild
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test ebp, ebp
jne 0x48e611
xor eax, eax
jmp 0x48e61b
push ebp
call dword [0x5d2620]
add esp, 4
mov edx, dword [esp + 0x10]
lea ecx, [eax + eax + 2]
push ecx
push ebp
push 1
push 0
push 0x5e86c4
push edx
call edi
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0x4d4]
push str._s_ls
push edx
call sym.vidcap60.exe_SfPrintF
add esp, 0x10
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x4d0]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x48eaf1
lea edx, [esi + 0x1c]
push edx
lea eax, [esp + 0x6d8]
push 0x5d4b1c
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [esp + 0x24]
add esp, 0xc
push 0x208
lea ecx, [esp + 0x6d8]
push ecx
push 1
push 0
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueW]
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0x454]
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push 0
push str.Flags
push edx
mov dword [esp + 0x2c], eax
call edi
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0x444]
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push 0
push str.Access
push edx
mov dword [esp + 0x2c], eax
call edi
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0x440]
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push 0
push str.StreamType
push edx
mov dword [esp + 0x2c], eax
call edi
mov eax, dword [esi + 0x448]
test eax, eax
je 0x48e72d
mov ecx, dword [esp + 0x18]
push 4
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 4
push 0
push str.AppLevel
push ecx
call edi
mov edx, dword [esp + 0x18]
mov ebp, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edx
call ebp
mov eax, dword [esp + 0x10]
push eax
call ebp
jmp 0x48e749
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x8e0]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x48eaf1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x430]
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push 0
push str.LangID
push edx
mov dword [esp + 0x2c], eax
call edi
mov ebp, dword [0x5d2620]
lea ebx, [esi + 0x224]
test ebx, ebx
jne 0x48e79a
xor eax, eax
jmp 0x48e7a0
push ebx
call ebp
add esp, 4
mov ecx, dword [esp + 0x10]
lea eax, [eax + eax + 2]
push eax
push ebx
push 1
push 0
push 0x5e86c4
push ecx
call edi
push ebx
call sym.vidcap60.exe__SfDosGetDateTimeUTC_4
push 4
lea edx, [esp + 0x18]
push edx
push 4
xor ebx, ebx
push ebx
mov dword [esi + 0x458], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
push str.ModTime
push eax
call edi
mov eax, dword [esi + 0x42c]
cmp eax, ebx
je 0x48e809
push eax
call ebp
mov edx, dword [esi + 0x42c]
add esp, 4
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
push edx
push 1
push ebx
push str.DialogName
push eax
call edi
mov eax, dword [esi + 0x434]
cmp eax, ebx
je 0x48e834
push eax
call ebp
mov edx, dword [esi + 0x434]
add esp, 4
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
push edx
push 1
push ebx
push str.PreloadModules
push eax
call edi
test byte [esi + 0x444], 0x10
je 0x48e8df
mov eax, dword [esi + 0x47c]
cmp eax, ebx
je 0x48e8df
push eax
call ebp
mov edx, dword [esi + 0x47c]
add esp, 4
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
push edx
push 1
push ebx
push str.ExtReader
push eax
call edi
mov ecx, dword [esi + 0x460]
cmp ecx, ebx
lea eax, [esi + 0x460]
je 0x48e8df
push 0x28
lea ecx, [esp + 0x70]
push ecx
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jl 0x48e8df
push 0x28
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x24]
push eax
call dword [0x5d2618]
lea ecx, [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov word [esp + 0x6a], bx
je 0x48e8bc
mov edx, ecx
push edx
call ebp
add esp, 4
lea eax, [esp + 0x1c]
push eax
call fcn.004049f0
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
push 1
push ebx
push str.Reader
push eax
call edi
test byte [esi + 0x444], 0x20
je 0x48e98a
mov eax, dword [esi + 0x4b8]
cmp eax, ebx
je 0x48e98a
push eax
call ebp
mov edx, dword [esi + 0x4b8]
add esp, 4
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
push edx
push 1
push ebx
push str.ExtRenderer
push eax
call edi
mov ecx, dword [esi + 0x49c]
cmp ecx, ebx
lea eax, [esi + 0x49c]
je 0x48e98a
push 0x28
lea ecx, [esp + 0x70]
push ecx
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jl 0x48e98a
push 0x28
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x24]
push eax
call dword [0x5d2618]
lea ecx, [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov word [esp + 0x6a], bx
je 0x48e967
mov edx, ecx
push edx
call ebp
add esp, 4
lea eax, [esp + 0x1c]
push eax
call fcn.004049f0
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
push 1
push ebx
push str.Renderer
push eax
call edi
test byte [esi + 0x444], 0x40
je 0x48ea35
mov eax, dword [esi + 0x4f4]
cmp eax, ebx
je 0x48ea35
push eax
call ebp
mov edx, dword [esi + 0x4f4]
add esp, 4
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
push edx
push 1
push ebx
push str.ExtEditor
push eax
call edi
mov ecx, dword [esi + 0x4d8]
cmp ecx, ebx
lea eax, [esi + 0x4d8]
je 0x48ea35
push 0x28
lea ecx, [esp + 0x70]
push ecx
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jl 0x48ea35
push 0x28
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x24]
push eax
call dword [0x5d2618]
lea ecx, [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov word [esp + 0x6a], bx
je 0x48ea12
mov edx, ecx
push edx
call ebp
add esp, 4
lea eax, [esp + 0x1c]
push eax
call fcn.004049f0
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
push 1
push ebx
push str.Editor
push eax
call edi
mov eax, dword [esi + 0x444]
test ah, 1
je 0x48eae2
mov eax, dword [esi + 0x530]
cmp eax, ebx
je 0x48eae2
push eax
call ebp
mov edx, dword [esi + 0x530]
add esp, 4
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
push edx
push 1
push ebx
push str.ExtNetReader
push eax
call edi
mov eax, dword [esi + 0x514]
add esi, 0x514
cmp eax, ebx
je 0x48eae2
push 0x28
lea ecx, [esp + 0x70]
push ecx
push esi
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jl 0x48eae2
push 0x28
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x24]
push eax
call dword [0x5d2618]
lea ecx, [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov word [esp + 0x6a], bx
je 0x48eabf
mov edx, ecx
push edx
call ebp
add esp, 4
lea eax, [esp + 0x1c]
push eax
call fcn.004049f0
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
push 1
push ebx
push str.NetReader
push eax
call edi
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x48eaf1
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xad4
ret