Function at 0x407890
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa88
mov eax, dword [0x40feb8]
mov dword [ebp - 8], eax
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x424], 0
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax + 0x10a4]
test ecx, ecx
jne 0x4079dc
push 0
push 0
mov edx, dword [ebp + 0x10]
push edx
push 1
push 0x104
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00402850
add esp, 0x1c
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jge 0x407924
jmp 0x407bee
push 0x40bd3c
lea edx, [ebp - 0x418]
push edx
call sub.MSVCR71.dll_wcscpy
add esp, 8
push 0x40bd4c
push 0x104
lea eax, [ebp - 0x418]
push eax
call fcn.00406720
add esp, 0xc
mov ecx, dword [ebp + 0x10]
add ecx, 0xa28
push ecx
push 0x104
lea edx, [ebp - 0x418]
push edx
call fcn.00406720
add esp, 0xc
push 0x40bd54
push 0x104
lea eax, [ebp - 0x418]
push eax
call fcn.00406720
add esp, 0xc
mov ecx, dword [ebp + 0x10]
add ecx, 0xe9c
push ecx
push 0x104
lea edx, [ebp - 0x418]
push edx
call fcn.00406720
add esp, 0xc
push 0x40bd58
push 0x104
lea eax, [ebp - 0x418]
push eax
call fcn.00406720
add esp, 0xc
lea ecx, [ebp - 0x210]
push ecx
push 0x104
lea edx, [ebp - 0x418]
push edx
call fcn.00406720
add esp, 0xc
jmp 0x407a1d
push 0x40bd5c
lea eax, [ebp - 0x418]
push eax
call sub.MSVCR71.dll_wcscpy
add esp, 8
mov ecx, dword [ebp + 0x10]
add ecx, 0x10a4
push ecx
lea edx, [ebp - 0x418]
push edx
call sub.MSVCR71.dll_wcscat
add esp, 8
push 0x40bd78
lea eax, [ebp - 0x418]
push eax
call sub.MSVCR71.dll_wcscat
add esp, 8
lea ecx, [ebp - 0x428]
push ecx
push 0x40df00
lea edx, [ebp - 0x418]
push edx
call dword [0x410510]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jge 0x407a4a
jmp 0x407bee
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0xa88]
push ecx
call fcn.004047c0
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x407a74
mov edx, dword [ebp - 4]
mov dword [ebp - 0x420], edx
jmp 0x407bee
lea eax, [ebp - 0xa88]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00404000
add esp, 8
mov dword [ebp - 0x430], 0xc
lea edx, [ebp - 0x430]
push edx
mov eax, dword [ebp - 0x430]
push eax
push 0x40f690
mov ecx, dword [ebp - 0x428]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x428]
push eax
call dword [edx + 0x14]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jge 0x407aca
jmp 0x407bee
lea ecx, [ebp - 0x42c]
push ecx
push 0x40e0c0
mov edx, dword [ebp - 0x428]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x428]
push ecx
call dword [eax]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jge 0x407afb
jmp 0x407bee
lea edx, [ebp - 0x41c]
push edx
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x42c]
push edx
call dword [ecx + 0x24]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jge 0x407b28
jmp 0x407bee
cmp dword [ebp - 0x41c], 0
je 0x407bee
mov eax, dword [ebp - 0x41c]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x10a4
push ecx
call sub.MSVCR71.dll_wcscpy
add esp, 8
mov edx, dword [ebp + 0x10]
add edx, 0x10a4
push edx
push 0x40bd7c
call sub.MSVCR71.dll_wprintf
add esp, 8
mov eax, dword [ebp + 0x10]
push eax
push 4
call fcn.00402ff0
add esp, 8
lea ecx, [ebp - 0x424]
push ecx
push 2
push 0
mov edx, dword [ebp + 0x10]
add edx, 0x618
push edx
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x407ba7
mov eax, dword [ebp - 4]
mov dword [ebp - 0x420], eax
jmp 0x407bee
mov ecx, dword [ebp + 0x10]
add ecx, 0x10a4
push ecx
call sub.MSVCR71.dll_wcslen
add esp, 4
shl eax, 1
push eax
mov edx, dword [ebp + 0x10]
add edx, 0x10a4
push edx
push 1
push 0
push 0x40bd84
mov eax, dword [ebp - 0x424]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x407bee
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x420], ecx
cmp dword [ebp - 0x41c], 0
je 0x407c04
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x424], 0
je 0x407c1a
mov eax, dword [ebp - 0x424]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x42c], 0
je 0x407c35
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x42c]
push eax
call dword [edx + 8]
cmp dword [ebp - 0x428], 0
je 0x407c50
mov ecx, dword [ebp - 0x428]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x428]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 8]
call fcn.00408ef1
mov esp, ebp
pop ebp
ret