Function at 0x419284
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe34
push ebx
push esi
push edi
mov dword [ebp - 0x68], eax
mov eax, 0x5067f8
call fcn.004c58b8
xor edx, edx
mov dword [ebp - 0x6c], edx
mov esi, str.filename
lea edi, [ebp - 0x18c]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
push 0
lea eax, [ebp - 0x6c]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push 0x4e9a64
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegCreateKeyExA
test eax, eax
jne 0x419942
mov edx, dword [ebp - 0x68]
mov ecx, dword [edx + 0x4dc]
mov eax, dword [ecx + 0x20c]
mov dword [ebp - 0x70], eax
push 4
lea edx, [ebp - 0x70]
push edx
push 4
push 0
push str.SPISpeed
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x3f0]
mov edx, dword [eax]
call dword [edx + 0xc4]
xor ecx, ecx
mov cl, al
mov dword [ebp - 0x70], ecx
push 4
lea eax, [ebp - 0x70]
push eax
push 4
push 0
push str.CustomizeStatus
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov edx, dword [ebp - 0x68]
mov ecx, dword [edx + 0x754]
and ecx, 0xffffffff
mov dword [ebp - 0x70], ecx
push 4
lea eax, [ebp - 0x70]
push eax
push 4
push 0
push str.FlashStatus
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov edx, dword [ebp - 0x68]
mov eax, dword [edx + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xc4]
xor ecx, ecx
mov cl, al
mov dword [ebp - 0x70], ecx
push 4
lea eax, [ebp - 0x70]
push eax
push 4
push 0
push str.WPControl
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
xor edx, edx
mov dword [ebp - 0x70], edx
mov word [ebp - 0x54], 8
lea eax, [ebp - 4]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x354]
call fcn.00474e70
lea edx, [ebp - 4]
push edx
mov edx, 0x4ffd0a
lea eax, [ebp - 8]
call fcn.004d137c
inc dword [ebp - 0x48]
lea edx, [ebp - 8]
pop eax
call fcn.004d15d8
test al, al
je 0x419438
lea eax, [ebp - 0xc]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x354]
call fcn.00474e70
lea edx, [ebp - 0xc]
push edx
mov edx, str.Start_Address
lea eax, [ebp - 0x10]
call fcn.004d137c
inc dword [ebp - 0x48]
lea edx, [ebp - 0x10]
pop eax
call fcn.004d15d8
test al, al
setne cl
and ecx, 1
push ecx
dec dword [ebp - 0x48]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004d14dc
dec dword [ebp - 0x48]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004d14dc
pop ecx
test ecx, ecx
jne 0x41943c
xor eax, eax
jmp 0x419441
mov eax, 1
push eax
dec dword [ebp - 0x48]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004d14dc
dec dword [ebp - 0x48]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004d14dc
pop ecx
test cl, cl
je 0x4194ba
mov word [ebp - 0x54], 0x14
lea eax, [ebp - 0x14]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x354]
call fcn.00474e70
lea eax, [ebp - 0x14]
call fcn.004d1834
mov dword [ebp - 0x70], eax
dec dword [ebp - 0x48]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004d14dc
push 4
lea ecx, [ebp - 0x70]
push ecx
push 4
push 0
push str.RestoreControlValue
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov eax, dword [0x4e98c4]
mov dword [ebp - 0x70], eax
push 4
lea edx, [ebp - 0x70]
push edx
push 4
push 0
push str.WriteKeyHDCPAlloc
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x20
lea eax, [ebp - 0x18]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x404]
call fcn.00474e70
lea eax, [ebp - 0x18]
mov eax, dword [eax]
call fcn.004b0c98
mov dword [ebp - 0x70], eax
dec dword [ebp - 0x48]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004d14dc
push 4
lea ecx, [ebp - 0x70]
push ecx
push 4
push 0
push str.EraseStartAddr
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x2c
lea eax, [ebp - 0x1c]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x408]
call fcn.00474e70
lea eax, [ebp - 0x1c]
mov eax, dword [eax]
call fcn.004b0c98
mov dword [ebp - 0x70], eax
dec dword [ebp - 0x48]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004d14dc
push 4
lea ecx, [ebp - 0x70]
push ecx
push 4
push 0
push str.EraseEndAddr
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x38
lea eax, [ebp - 0x20]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x4f4]
call fcn.00474e70
lea eax, [ebp - 0x20]
mov eax, dword [eax]
call fcn.004b0c98
mov dword [ebp - 0x70], eax
dec dword [ebp - 0x48]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004d14dc
push 4
lea ecx, [ebp - 0x70]
push ecx
push 4
push 0
push str.ISPSlaveAddr
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x44
lea eax, [ebp - 0x24]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x500]
call fcn.00474e70
lea eax, [ebp - 0x24]
mov eax, dword [eax]
call fcn.004b0c98
mov dword [ebp - 0x70], eax
dec dword [ebp - 0x48]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004d14dc
push 4
lea ecx, [ebp - 0x70]
push ecx
push 4
push 0
push str.SDSlaveAddr
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x50
lea eax, [ebp - 0x28]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x648]
call fcn.00474e70
lea eax, [ebp - 0x28]
call fcn.004019fc
push eax
lea edx, [ebp - 0x78]
push edx
call fcn.004c5558
add esp, 8
dec dword [ebp - 0x48]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004d14dc
push 4
lea ecx, [ebp - 0x78]
push ecx
call fcn.0040ca00
add esp, 8
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x644]
mov edx, dword [eax]
call dword [edx + 0xc4]
cmp al, 1
jne 0x4196a0
or dword [ebp - 0x70], 0x10000
push 4
lea ecx, [ebp - 0x70]
push ecx
push 4
push 0
push str.FactoryChkSum
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
xor eax, eax
mov dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [edx + 0x3b0]
mov edx, dword [eax]
call dword [edx + 0xc4]
xor ebx, ebx
mov bl, al
shl ebx, 0x14
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x5f8]
mov edx, dword [eax]
call dword [edx + 0xc4]
xor ecx, ecx
mov cl, al
shl ecx, 0x15
or ebx, ecx
mov eax, dword [0x4e98c0]
and eax, 0xfffff
or ebx, eax
mov dword [ebp - 0x70], ebx
push 4
lea edx, [ebp - 0x70]
push edx
push 4
push 0
push str.WriteKeyHDCPKeyIndex
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x740]
mov edx, dword [eax]
call dword [edx + 0xc4]
xor ecx, ecx
mov cl, al
mov dword [ebp - 0x70], ecx
push 4
lea eax, [ebp - 0x70]
push eax
push 4
push 0
push str.EnableAutoReset
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x5c
lea eax, [ebp - 0x2c]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x458]
call fcn.00474e70
lea eax, [ebp - 0x2c]
call fcn.004019fc
push eax
lea edx, [ebp - 0x18c]
push edx
call fcn.004c5558
add esp, 8
dec dword [ebp - 0x48]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004d14dc
lea ecx, [ebp - 0x18c]
push ecx
call fcn.004c5588
pop ecx
inc eax
push eax
lea eax, [ebp - 0x18c]
push eax
push 1
push 0
push str.ISPFileName
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x68
lea eax, [ebp - 0x30]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x3a4]
call fcn.00474e70
lea eax, [ebp - 0x30]
call fcn.004019fc
push eax
lea edx, [ebp - 0x18c]
push edx
call fcn.004c5558
add esp, 8
dec dword [ebp - 0x48]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004d14dc
lea ecx, [ebp - 0x18c]
push ecx
call fcn.004c5588
pop ecx
inc eax
push eax
lea eax, [ebp - 0x18c]
push eax
push 1
push 0
push str.HDCPFileName
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov word [ebp - 0x54], 0x74
lea eax, [ebp - 0x34]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x590]
call fcn.00474e70
lea eax, [ebp - 0x34]
call fcn.004019fc
push eax
lea edx, [ebp - 0x18c]
push edx
call fcn.004c5558
add esp, 8
dec dword [ebp - 0x48]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004d14dc
lea ecx, [ebp - 0x18c]
push ecx
call fcn.004c5588
pop ecx
inc eax
push eax
lea eax, [ebp - 0x18c]
push eax
push 1
push 0
push str.USBDestPath
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov edx, dword [ebp - 0x68]
mov eax, dword [edx + 0x594]
mov edx, dword [eax]
call dword [edx + 0xc4]
xor ecx, ecx
mov cl, al
mov dword [ebp - 0x70], ecx
push 4
lea eax, [ebp - 0x70]
push eax
push 4
push 0
push str.USBCustDest
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov edx, dword [ebp - 0x68]
mov eax, dword [edx + 0x634]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x4198de
xor ecx, ecx
mov dword [ebp - 0x70], ecx
jmp 0x419903
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x63c]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x4198fc
mov dword [ebp - 0x70], 2
jmp 0x419903
mov dword [ebp - 0x70], 1
push 4
lea ecx, [ebp - 0x70]
push ecx
push 4
push 0
push str.LDflashSafe
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
push 0x20
push 0x50f410
push 4
push 0
push str.LDSafeValue
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegFlushKey
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegCloseKey
xor eax, eax
mov dword [ebp - 0x6c], eax
push 0
lea edx, [ebp - 0x6c]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMStarISPToolISPFileName
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegCreateKeyExA
test eax, eax
jne 0x419b48
mov esi, 0x4e9df9
lea edi, [ebp - 0x1cc]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 0x54], 0x80
lea eax, [ebp - 0x38]
call fcn.00401e94
inc dword [ebp - 0x48]
mov word [ebp - 0x54], 0x8c
mov edx, dword [ebp - 0x68]
mov ecx, dword [edx + 0x458]
add ecx, 0x23c
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 5
jle 0x4199c8
mov ecx, 5
jmp 0x4199ec
mov eax, dword [ebp - 0x68]
mov edx, dword [eax + 0x458]
add edx, 0x23c
mov dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ecx, eax
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x70], eax
push 4
lea edx, [ebp - 0x70]
push edx
push 4
push 0
push str.Count
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x458]
add eax, 0x23c
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
mov edx, dword [eax]
call dword [edx + 0x14]
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x80], eax
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x7c]
jge 0x419b22
mov word [ebp - 0x54], 0x98
mov edx, dword [ebp - 0x80]
inc dword [ebp - 0x80]
push edx
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x458]
push dword [eax + 0x23c]
lea eax, [ebp - 0x3c]
call fcn.00401e94
push eax
inc dword [ebp - 0x48]
call fcn.004055e0
add esp, 0xc
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0x38]
call fcn.004d150c
dec dword [ebp - 0x48]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004d14dc
mov word [ebp - 0x54], 0xa4
lea eax, [ebp - 0x40]
call fcn.00401e94
mov edx, eax
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x74]
call fcn.004b0bb8
lea eax, [ebp - 0x40]
call fcn.004019fc
push eax
lea edx, [ebp - 0x1cc]
push edx
call fcn.004c5558
add esp, 8
dec dword [ebp - 0x48]
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.004d14dc
lea eax, [ebp - 0x38]
call fcn.004019fc
push eax
lea edx, [ebp - 0x18c]
push edx
call fcn.004c5558
add esp, 8
lea ecx, [ebp - 0x18c]
push ecx
call fcn.004c5588
pop ecx
inc eax
push eax
lea eax, [ebp - 0x18c]
push eax
push 1
push 0
lea edx, [ebp - 0x1cc]
push edx
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegSetValueExA
inc dword [ebp - 0x74]
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x7c]
jl 0x419a44
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegFlushKey
push dword [ebp - 0x6c]
call sub.ADVAPI32.DLL_RegCloseKey
dec dword [ebp - 0x48]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004d14dc
mov word [ebp - 0x54], 0
mov ecx, dword [ebp - 0x64]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret