Function at 0x4af4ec
Capabilities:
Set registry value

Disassembly:
sub esp, 0x14
push ebx
push ecx
push edx
push esi
push edi
mov esi, eax
mov edx, ebx
mov dword [esp + 0x14], edx
lea eax, [esp + 0x20]
call fcn.00425dec
lea eax, [esp + 0x18]
call fcn.00425dec
mov eax, 0x2010
call fcn.00467104
mov edi, eax
mov eax, edi
mov ebx, 0x5aef2c
mov ecx, 0
call fcn.00423ae0
cmp esi, 0
jne 0x4af53a
mov ebx, 0xffffffff
jmp 0x4af780
mov dword [edi], esi
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
call fcn.00425f5c
call fcn.004206fb
lea eax, [edi + 4]
mov ebx, 0x1000
call fcn.00426028
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
call fcn.00425f5c
call fcn.004206fb
lea ecx, [edi + 0x1004]
mov eax, ecx
mov ebx, 0x1000
call fcn.00426028
mov eax, ecx
call fcn.004260bc
call fcn.004257d8
inc eax
mov dword [edi + 0x2008], eax
mov dword [edi + 0x200c], 0
cmp edx, 3
jne 0x4af617
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
call fcn.00425f5c
call fcn.004257d8
mov dword [edi + 0x2008], eax
mov eax, dword [esp + 0x18]
lea eax, [eax]
mov ebx, dword [edi + 0x2008]
call fcn.00425f5c
mov eax, 0x5aed3c
mov ebx, 1
call fcn.00425f5c
call fcn.00425618
lea ecx, [edi + 0x1004]
mov eax, ecx
mov ebx, 0x1000
call fcn.00426028
mov eax, dword [edi + 0x2008]
push eax
push ecx
push edx
mov eax, dword [edi + 0x200c]
push eax
lea eax, [edi + 4]
push eax
mov eax, dword [edi]
push eax
call sub.ADVAPI32.dll_RegSetValueExA
mov dword [edi + 0x2004], eax
jmp 0x4af6b9
cmp edx, 4
jne 0x4af691
lea eax, [edi + 0x1004]
mov ebx, 0x1000
mov ecx, 0
mov edx, 0xffffffff
call fcn.00420884
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
call fcn.00425f5c
call fcn.00425834
call fcn.00420fdc
mov dword [edi + 0x1004], eax
mov byte [edi + 0x1008], 0
mov dword [edi + 0x2008], 4
mov eax, dword [edi + 0x2008]
push eax
lea eax, [edi + 0x1004]
push eax
push dword [esp + 0x1c]
mov eax, dword [edi + 0x200c]
push eax
lea eax, [edi + 4]
push eax
mov eax, dword [edi]
push eax
call sub.ADVAPI32.dll_RegSetValueExA
mov dword [edi + 0x2004], eax
jmp 0x4af6b9
mov eax, dword [edi + 0x2008]
push eax
lea eax, [edi + 0x1004]
push eax
push edx
mov eax, dword [edi + 0x200c]
push eax
lea eax, [edi + 4]
push eax
mov eax, dword [edi]
push eax
call sub.ADVAPI32.dll_RegSetValueExA
mov dword [edi + 0x2004], eax
cmp dword [edi + 0x2004], 0
je 0x4af77b
mov eax, str.Error_returned_from_RegSetValueEx.Error_
mov ebx, 0x2a
call fcn.00425f5c
mov eax, dword [edi + 0x2004]
call fcn.00425c64
call fcn.00425618
mov eax, str.p_HKey_
mov ebx, 9
call fcn.00425f5c
call fcn.00425618
mov eax, esi
call fcn.00425c64
call fcn.00425618
mov eax, str.p_Entry_
mov ebx, 0xa
call fcn.00425f5c
call fcn.00425618
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
call fcn.00425f5c
call fcn.004206fb
call fcn.00425618
mov eax, str.p_Value_
mov ebx, 0xa
call fcn.00425f5c
call fcn.00425618
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
call fcn.00425f5c
call fcn.004206fb
call fcn.00425618
mov eax, str.Reg_SetValue
mov ebx, 0xc
call fcn.00425f5c
mov eax, 0x64
call fcn.004a7a20
mov ebx, 0xfffffffe
jmp 0x4af780
mov ebx, 0
mov eax, edi
call fcn.0046688c
lea eax, [esp + 0x18]
call fcn.004133a8
lea eax, [esp + 0x20]
call fcn.004133a8
mov eax, ebx
pop edi
pop esi
pop edx
pop ecx
pop ebx
add esp, 0x14
ret