Function at 0x42bfac
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
xor eax, eax
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp - 8], edx
push 0
lea ecx, [ebp - 4]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMStarISPTool
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegCreateKeyExA
test eax, eax
jne 0x42c586
push 4
mov eax, dword [ebp + 8]
add eax, 8
push eax
push 4
push 0
push str.Port_Index_0_1:LPT__2_9:COM_
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
push 4
push 0
push str.Port_Base_Address
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x10
push ecx
push 4
push 0
push str.Slave_Address
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
push 4
push 0
push str.Clock_Delay_Count
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0x20
push edx
push 4
push 0
push str.Re_Connect_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x24
push ecx
push 4
push 0
push str.Read_File_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0x28
push eax
push 4
push 0
push str.Restore_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
push 4
push 0
push str.Erase
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x34
push ecx
push 4
push 0
push str.File_Area_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0x30
push eax
push 4
push 0
push str.Erase_Area_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
push 4
push 0
push str.Blank_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x3c
push ecx
push 4
push 0
push str.HDCP_Key_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0x40
push eax
push 4
push 0
push str.Program_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0x44
push edx
push 4
push 0
push str.Verify_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x48
push ecx
push 4
push 0
push str.Exit_ISP_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0x58
push eax
push 4
push 0
push str.CompareMode
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0xd4
push edx
push 4
push 0
push str.AllowedEditHDCPKeyAlloc
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0xd0
call fcn.00401ec4
push eax
mov eax, dword [ebp + 8]
add eax, 0xd0
call fcn.004019fc
push eax
push 1
push 0
push str.UserCode
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0x70
push edx
push 4
push 0
push str.ProtectArea
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x54
push ecx
push 4
push 0
push str.Auto_Increase_HDCP_Key_Index
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0x4c
push eax
push 4
push 0
push str.WP_Ctrl_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0x60
push edx
push 4
push 0
push str.First_Erase_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x64
push ecx
push 4
push 0
push str.First_Erase_Size_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0x50
push eax
push 4
push 0
push str.Global_Offset_Address_Index
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
push 4
push 0
push str.Partial_Erase_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x6c
push ecx
push 4
push 0
push str.Auto_Check_Partial_Erase_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0xd8
push eax
push 4
push 0
push str.SDA_IN
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
add edx, 0xdc
push edx
push 4
push 0
push str.SDA_OUT
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
add ecx, 0xe0
push ecx
push 4
push 0
push str.SCL_IN
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
add eax, 0xe4
push eax
push 4
push 0
push str.SCL_OUT
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xd8]
shl ecx, 2
lea ecx, [ecx + ecx*2]
add ecx, 0x50cbe4
push ecx
push 4
push 0
push str.SDA_IN_HIGH
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xdc]
shl edx, 2
lea edx, [edx + edx*2]
add edx, 0x50cbe4
push edx
push 4
push 0
push str.SDA_OUT_HIGH
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xe0]
shl eax, 2
lea eax, [eax + eax*2]
add eax, 0x50cbe4
push eax
push 4
push 0
push str.SCL_IN_HIGH
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 4
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xe4]
shl ecx, 2
lea ecx, [ecx + ecx*2]
add ecx, 0x50cbe4
push ecx
push 4
push 0
push str.SCL_OUT_HIGH
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov eax, dword [ebp + 8]
add eax, 0x78
push eax
push 4
push 0
push str.Partial_Erase_Bit_Field_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov edx, dword [ebp + 8]
add edx, 0x80
push edx
push 4
push 0
push str.Partial_Erase_Bit_Field_Item1
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov ecx, dword [ebp + 8]
add ecx, 0x88
push ecx
push 4
push 0
push str.Partial_Erase_Sector_Bit_Field_Item
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov eax, dword [ebp + 8]
add eax, 0x90
push eax
push 4
push 0
push str.Partial_Erase_Sector_Bit_Field_Item1
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov edx, dword [ebp + 8]
add edx, 0x98
push edx
push 4
push 0
push str.Protect_Area_Bits_Field_0
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov ecx, dword [ebp + 8]
add ecx, 0xa0
push ecx
push 4
push 0
push str.Protect_Area_Bits_Field_1
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov eax, dword [ebp + 8]
add eax, 0xa8
push eax
push 4
push 0
push str.Enabled_GPIO
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov edx, dword [ebp + 8]
add edx, 0xb0
push edx
push 4
push 0
push str.GPIO_1
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov ecx, dword [ebp + 8]
add ecx, 0xb8
push ecx
push 4
push 0
push str.GPIO_2
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov eax, dword [ebp + 8]
add eax, 0xc0
push eax
push 4
push 0
push str.GPIO_3
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push 8
mov edx, dword [ebp + 8]
add edx, 0xc8
push edx
push 4
push 0
push str.GPIO_4
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 8], eax
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegFlushKey
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCloseKey
mov eax, dword [ebp - 8]
pop ecx
pop ecx
pop ebp
ret