Function at 0x420ced
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x420d29
test dword [eax + 0x1c], 0x100
je 0x420d29
cmp byte [eax + 0x19], 5
jb 0x420d29
push dword [eax + 0x14]
mov edx, 0x409d14
push dword [eax + 0x10]
push 0x15
pop ecx
call fcn.00414ca8
xor edi, edi
mov edx, 0x409b58
push 0x20006
inc edi
mov ecx, SysReAllocString
push edi
xor esi, esi
call fcn.0041be9e
mov ebx, eax
test ebx, ebx
jne 0x420d93
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, dword [0x475014]
cmp ecx, 0x475014
je 0x4210f8
test dword [ecx + 0x1c], 0x100
je 0x4210f8
cmp byte [ecx + 0x19], 2
jb 0x4210f8
push esi
push dword [ecx + 0x14]
mov edx, 0x409d14
push dword [ecx + 0x10]
push 0x16
pop ecx
call fcn.00414ccb
jmp 0x4210f8
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409c1c
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420dc2
mov edx, eax
mov ecx, 0x409c1c
call fcn.0041c20b
jmp 0x420dc4
mov eax, edi
test eax, eax
jne 0x420e05
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x4210f1
test dword [eax + 0x1c], 0x100
je 0x4210f1
cmp byte [eax + 0x19], 2
jb 0x4210f1
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x17
jmp 0x4210e6
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0xc]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409c48
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420e35
mov edx, eax
mov ecx, 0x409c48
call fcn.0041c20b
jmp 0x420e37
mov eax, edi
test eax, eax
je 0x4210ba
mov eax, dword [ebp - 4]
push ecx
add eax, 0x10
mov ecx, ebx
push eax
push 0x409c60
call fcn.0041c22f
test eax, eax
je 0x4210ba
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x218]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409c80
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420e8e
mov edx, eax
mov ecx, 0x409c80
call fcn.0041c20b
jmp 0x420e90
mov eax, edi
test eax, eax
je 0x4210ba
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x21c]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409cb0
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420ecb
mov edx, eax
mov ecx, 0x409cb0
call fcn.0041c20b
jmp 0x420ecd
mov eax, edi
test eax, eax
je 0x4210ba
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x224]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409cd8
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420f08
mov edx, eax
mov ecx, 0x409cd8
call fcn.0041c20b
jmp 0x420f0a
mov eax, edi
test eax, eax
jne 0x420f4b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x4210f1
test dword [eax + 0x1c], 0x100
je 0x4210f1
cmp byte [eax + 0x19], 2
jb 0x4210f1
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x19
jmp 0x4210e6
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x228]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409b9c
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420f7e
mov edx, eax
mov ecx, 0x409b9c
call fcn.0041c20b
jmp 0x420f80
mov eax, edi
test eax, eax
je 0x42108c
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x22c]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409bac
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420fbb
mov edx, eax
mov ecx, 0x409bac
call fcn.0041c20b
jmp 0x420fbd
mov eax, edi
test eax, eax
je 0x42108c
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x230]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409bc0
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x420ff8
mov edx, eax
mov ecx, 0x409bc0
call fcn.0041c20b
jmp 0x420ffa
mov eax, edi
test eax, eax
je 0x42108c
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x234]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409bec
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x421035
mov edx, eax
mov ecx, 0x409bec
call fcn.0041c20b
jmp 0x421037
mov eax, edi
test eax, eax
je 0x42108c
mov eax, dword [ebp - 4]
push 4
mov eax, dword [eax + 0x238]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 4
push esi
push 0x409bd8
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x42106e
mov edx, eax
mov ecx, 0x409bd8
call fcn.0041c20b
mov edi, eax
test edi, edi
je 0x42108c
mov eax, dword [ebp - 4]
push ecx
add eax, 0x23c
mov ecx, ebx
push eax
push 0x409c00
call fcn.0041c22f
test eax, eax
jne 0x4210f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x4210f1
test dword [eax + 0x1c], 0x100
je 0x4210f1
cmp byte [eax + 0x19], 2
jb 0x4210f1
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1a
jmp 0x4210e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x4210f1
test dword [eax + 0x1c], 0x100
je 0x4210f1
cmp byte [eax + 0x19], 2
jb 0x4210f1
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x18
mov edx, 0x409d14
pop ecx
call fcn.00414ccb
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret