Function at 0x40d870
Capabilities:
Set registry value

Disassembly:
sub esp, 0x11c
mov eax, dword [0x452504]
push ebx
push ebp
mov ebx, 1
push esi
push edi
mov dword [esp + 0x128], eax
mov esi, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov ebp, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
call fcn.0041a4b0
mov edi, eax
test edi, edi
jne 0x40d8d6
push 0x80001
call fcn.0041a6e0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x128]
pop edi
pop esi
pop ebp
pop ebx
call fcn.00435083
add esp, 0x11c
ret 8
mov eax, dword [esp + 0x130]
add eax, 0x437c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40d8e5
sub eax, edx
mov dword [esp + 0x24], eax
jne 0x40da10
cmp dword [esi], 0
je 0x40d919
push 0
push 0
lea eax, [esi + 0x951]
push eax
lea ecx, [esi + 0x24]
push ecx
push edi
call fcn.004039f0
add esp, 0x14
mov dword [esp + 0x20], eax
mov eax, dword [esi + 4]
test eax, eax
je 0x40d93f
push 0
push 0
lea edx, [esi + 0x1152]
push edx
lea eax, [esi + 0x129]
push eax
push edi
call fcn.004039f0
add esp, 0x14
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
test eax, eax
je 0x40d963
push 0
push 0
lea ecx, [esi + 0x1953]
push ecx
lea edx, [esi + 0x22e]
push edx
push edi
call fcn.004039f0
add esp, 0x14
mov ebx, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x40d989
push 0
push 0
lea eax, [esi + 0x2154]
push eax
lea ecx, [esi + 0x333]
push ecx
push edi
call fcn.004039f0
add esp, 0x14
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x40d9ad
push 0
push 0
lea edx, [esi + 0x2955]
push edx
lea eax, [esi + 0x438]
push eax
push edi
call fcn.004039f0
add esp, 0x14
mov ebp, eax
mov eax, dword [esi + 0x14]
test eax, eax
je 0x40d9cf
push 0
push 0
lea ecx, [esi + 0x3156]
push ecx
lea edx, [esi + 0x53d]
push edx
push edi
call fcn.004039f0
add esp, 0x14
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x40d9f5
push 0
push 0
lea eax, [esi + 0x4158]
push eax
lea ecx, [esi + 0x747]
push ecx
push edi
call fcn.004039f0
add esp, 0x14
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40daa4
push 0
push 0
lea edx, [esi + 0x4959]
push edx
jmp 0x40da90
mov eax, dword [esi + 8]
test eax, eax
je 0x40da34
push 0
push 0
lea eax, [esi + 0x1953]
push eax
lea ecx, [esi + 0x22e]
push ecx
push edi
call fcn.004039f0
add esp, 0x14
mov ebx, eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x40da58
push 0
push 0
lea edx, [esi + 0x2955]
push edx
lea eax, [esi + 0x438]
push eax
push edi
call fcn.004039f0
add esp, 0x14
mov ebp, eax
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x40da7e
push 0
push 0
lea ecx, [esi + 0x4158]
push ecx
lea edx, [esi + 0x747]
push edx
push edi
call fcn.004039f0
add esp, 0x14
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x40daa4
push 0
push 0
lea eax, [esi + 0x4959]
push eax
add esi, 0x84c
push esi
push edi
call fcn.004039f0
add esp, 0x14
mov dword [esp + 0x18], eax
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x40d8bb
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x40d8bb
test ebx, ebx
je 0x40d8bb
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40d8bb
test ebp, ebp
je 0x40d8bb
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40d8bb
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40d8bb
mov ecx, dword [esp + 0x134]
add ecx, 0x100
push ecx
lea edx, [esp + 0x2c]
push str._sFCVR
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0x20006
push 0
lea ecx, [esp + 0x34]
push ecx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40db63
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x14]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x40db9f
mov eax, dword [esp + 0x130]
mov edx, dword [eax + 0x4270]
push 4
lea ecx, [esp + 0x18]
push ecx
push 4
push 0
add eax, 0x200e
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x20]
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x40dba9
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x13000e
jmp 0x40d8b3
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x40d8bd