Function at 0x417181
Capabilities:
Set registry value

Disassembly:
push 0x120
mov eax, 0x46dc5a
call fcn.004515c0
mov ebx, ecx
xor edi, edi
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x124], edi
sub esp, 0x1c
lea eax, [ebp + 8]
mov esi, esp
mov dword [ebp - 0x124], esp
push eax
mov dword [ebp - 4], edi
call fcn.00401bcf
lea eax, [ebp - 0xf8]
push eax
call fcn.00416f0e
add esp, 0x20
mov byte [ebp - 4], 1
cmp dword [ebp - 0xe4], edi
je 0x417200
lea eax, [ebp - 0xf8]
push eax
mov esi, ebx
call fcn.00401bcf
push edi
push 1
lea esi, [ebp - 0xf8]
call fcn.00401e74
push edi
push 1
lea esi, [ebp + 8]
call fcn.00401e74
mov eax, ebx
jmp 0x417435
xor eax, eax
push 0xc6
mov word [ebp - 0xdc], ax
lea eax, [ebp - 0xda]
push edi
push eax
call fcn.00451670
add esp, 0xc
mov esi, str.Software_
push esi
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0x12c], edi
call fcn.0040266c
push 8
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0xc]
pop ebx
cmp dword [ebp + 0x20], ebx
jae 0x417248
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00404847
push 0x479d68
lea eax, [ebp - 0x118]
push eax
call fcn.00404847
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x20], ebx
jae 0x417271
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00404847
push str._Helper_Compact_
lea eax, [ebp - 0x118]
push eax
call fcn.00404847
push esi
lea eax, [ebp - 0x120]
push eax
call fcn.0040266c
mov byte [ebp - 4], 3
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x20], ebx
jae 0x4172ab
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00404847
push str.WAF_
lea eax, [ebp - 0x120]
push eax
call fcn.00404847
xor esi, esi
call fcn.00416da8
test eax, eax
je 0x4172d9
mov esi, 0x200
lea ecx, [ebp - 0x114]
call fcn.004166f5
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x110]
cmp dword [ebp - 0xfc], ebx
jae 0x4172fc
lea eax, [ebp - 0x110]
push 0x64
push eax
lea eax, [ebp - 0xdc]
push 0x64
push eax
call fcn.0044c19a
add esp, 0x10
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x11c]
push eax
push edi
or esi, 0x20006
push esi
push edi
push edi
push edi
push dword [ebp - 0x118]
mov ebx, reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x124], esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push ebx
call esi
test eax, eax
jne 0x41737e
lea eax, [ebp - 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
lea eax, [ebp - 0xdc]
push eax
push 1
push edi
push str.ClientSign
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x11c]
push eax
push edi
push dword [ebp - 0x124]
push edi
push edi
push edi
push dword [ebp - 0x120]
push ebx
call esi
test eax, eax
jne 0x4173da
lea eax, [ebp - 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
lea eax, [ebp - 0xdc]
push eax
push 1
push edi
push str.ClientSign
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x128]
lea eax, [ebp - 0xdc]
push eax
call fcn.004070da
push edi
push 1
lea esi, [ebp - 0x114]
call fcn.00401e74
mov eax, dword [ebp - 0x120]
add eax, 0xfffffff0
call fcn.004026ee
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff0
call fcn.004026ee
push edi
push 1
lea esi, [ebp - 0xf8]
call fcn.00401e74
push edi
push 1
lea esi, [ebp + 8]
call fcn.00401e74
mov eax, dword [ebp - 0x128]
call fcn.00451643
ret