Function at 0x41214e
Capabilities:
Set registry value

Disassembly:
push ebp
sub esp, 0x38
mov eax, 0x42f3a2
call fcn.0042ef64
mov eax, 0x10bc
call fcn.0042d240
cmp dword [0x4423a4], 0
push esi
mov esi, ecx
mov dword [ebp + 0x30], esi
je 0x41217c
xor eax, eax
jmp 0x41255d
push ebx
push ecx
push dword [0x44239c]
lea ecx, [ebp - 0x68]
call fcn.0040f820
xor ebx, ebx
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00411ffe
mov ecx, 0x44236c
call fcn.0040b37e
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.0040b3c0
mov ecx, 0x44238c
call fcn.0040b37e
mov edx, eax
lea ecx, [ebp - 0x44]
call fcn.0040b3c0
lea ecx, [ebp - 0x274]
call fcn.00407b63
lea ecx, [ebp - 0x274]
call fcn.0040755f
mov edx, str.InstallFramework
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x4121dd
push edi
lea edi, [ebp - 0x274]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x4121f4
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, str..exe
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x412215
lea edi, [ebp - 0x274]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x41222b
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x274]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x24]
call fcn.0040b3c0
mov esi, dword [sym.imp.KERNEL32.dll_GetProfileStringW]
lea eax, [ebp - 0x898]
push 0x104
push eax
push str.framework.pcsoft.fr
push str.Serveur
mov edi, str.Framework_PC_SOFT
push edi
call esi
push 0x104
lea eax, [ebp - 0x68c]
push eax
push str._DLL_23.0
push 0x4393d0
push edi
call esi
push 0x104
lea eax, [ebp - 0x480]
push eax
push str.InstallFramework
push str.NomInstall
push edi
call esi
push 0x104
lea eax, [ebp - 0xaa4]
push eax
push str.framework
push str.User
push edi
call esi
push 0x104
lea eax, [ebp - 0xcb0]
push eax
push 0x440850
push str.Password
push edi
call esi
mov ecx, dword [0x4423a0]
lea edx, [ebp]
add ecx, 0x87c
sub edx, ecx
movzx eax, word [ecx]
mov word [edx + ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x4122ec
lea ecx, [ebp]
call fcn.0040a4a5
cmp word [ebp], bx
je 0x41231b
lea ecx, [ebp + 6]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx - 8], ax
test ax, ax
jne 0x41230c
cmp dword [0x4422a8], ebx
jne 0x412396
push 1
lea eax, [ebp]
push str.xxxxxxxxxx
push eax
call fcn.0041f183
add esp, 0xc
test eax, eax
je 0x412396
lea edi, [ebp - 0x480]
sub edi, 2
mov ax, word [edi + 2]
lea edi, [edi + 2]
cmp ax, bx
jne 0x412343
mov eax, dword [0x4366f4]
lea edx, [ebp]
mov dword [edi], eax
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x41235b
lea edi, [ebp - 0x480]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x412371
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x20]
call fcn.0040b3c0
mov edx, str..exe
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x41239d
lea edi, [ebp - 0x480]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x4123b3
mov eax, dword [0x4423a0]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [eax + 0x874], 9
jne 0x412412
mov edx, 0x440878
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x4123e2
lea edi, [ebp - 0x68c]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x4123f8
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edx, [ebp - 0x898]
lea ecx, [ebp - 0x38]
call fcn.0040b3c0
lea edx, [ebp - 0x68c]
lea ecx, [ebp - 0x34]
call fcn.0040b3c0
lea edx, [ebp - 0x480]
lea ecx, [ebp - 0x30]
call fcn.0040b3c0
lea edx, [ebp - 0xaa4]
lea ecx, [ebp - 0x2c]
call fcn.0040b3c0
lea edx, [ebp - 0xcb0]
lea ecx, [ebp - 0x28]
call fcn.0040b3c0
push 0x104
lea eax, [ebp - 0xebc]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x10c8]
xor edx, edx
push ebx
push eax
lea ecx, [ebp - 0xebc]
call fcn.004011c8
lea eax, [ebp - 0x10c8]
push eax
push str.SOFTWAREPC_SOFTWINDEV23.0APPLI
lea eax, [ebp + 0x34]
push str._s_s
push eax
call fcn.00402d4f
add esp, 0x18
lea eax, [ebp + 0x2c]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp + 0x38]
push eax
push ebx
push 2
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x34]
call fcn.0040b37e
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
pop edi
test eax, eax
js 0x412503
lea ecx, [ebp]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x4124ce
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp]
push eax
push 1
push ebx
push str.LAST_FRAMEWORK
push dword [ebp + 0x38]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x38]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x68]
call fcn.0040fec0
test eax, eax
js 0x41254a
lea ecx, [ebp - 0x274]
call fcn.00407388
test eax, eax
je 0x41253a
lea ecx, [ebp - 0x274]
call fcn.00407665
or eax, edx
jne 0x41253a
lea ecx, [ebp - 0x274]
call fcn.00407126
jmp 0x41254a
mov edx, dword [ebp + 0x30]
lea ecx, [ebp - 0x274]
call fcn.004125c1
mov ebx, eax
lea ecx, [ebp + 0x34]
call fcn.0040b313
lea ecx, [ebp - 0x68]
call fcn.0041256d
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
lea esp, [ebp + 0x3c]
pop ebp
ret