Function at 0x1048d0a
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
and dword [ebp - 0x10], 0
push ebx
push esi
push edi
mov edi, ecx
mov esi, 0x2000
push esi
mov dword [ebp - 0xc], edi
call fcn.01068c84
mov ebx, eax
test ebx, ebx
pop ecx
mov dword [ebp - 0x1c], ebx
jne 0x1048d3d
mov esi, 0x8007000e
jmp 0x1048f97
push ebx
mov ecx, edi
call fcn.0104762d
test eax, eax
jge 0x1048d50
mov esi, eax
jmp 0x1048f8e
lea eax, [ebp - 2]
push eax
push ebx
call fcn.01047406
test eax, eax
jne 0x1048d68
mov esi, 0x80020009
jmp 0x1048f8e
push esi
call fcn.01068c84
mov ebx, eax
test ebx, ebx
pop ecx
mov dword [ebp - 8], ebx
jne 0x1048d82
mov esi, 0x8007000e
jmp 0x1048f8e
mov ecx, edi
call fcn.01047604
push ebx
mov ecx, edi
call fcn.0104762d
xor edi, edi
cmp eax, edi
jge 0x1048d9e
mov esi, eax
jmp 0x1048f85
movzx eax, word [ebp - 2]
sub eax, 8
je 0x1048e92
sub eax, 9
je 0x1048dd8
dec eax
dec eax
jne 0x1048f70
lea eax, [ebp - 0x14]
push eax
push edi
push edi
push ebx
call dword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push dword [ebp - 0x14]
call fcn.0104712c
jmp 0x1048f70
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test al, 1
mov dword [ebp + 0x14], eax
jne 0x1048eac
cdq
sub eax, edx
mov esi, eax
sar esi, 1
cmp esi, 0x400
mov dword [ebp - 4], esi
ja 0x1048e17
push esi
call fcn.010269cd
test al, al
je 0x1048e17
mov eax, esi
add eax, 3
and eax, 0xfffffffc
call fcn.01069670
mov ebx, esp
jmp 0x1048e22
push esi
lea ecx, [ebp - 0x10]
call fcn.010272dd
mov ebx, eax
test ebx, ebx
je 0x1048eac
mov ecx, esi
mov edx, ecx
shr ecx, 2
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor edi, edi
cmp dword [ebp + 0x14], edi
jle 0x1048e78
mov eax, edi
cdq
sub eax, edx
sar eax, 1
lea esi, [eax + ebx]
mov eax, dword [ebp - 8]
movzx eax, word [eax + edi*2]
push eax
call fcn.01047490
mov ecx, edi
and ecx, 1
shl ecx, 2
mov edx, ecx
push 4
pop ecx
sub ecx, edx
shl al, cl
or byte [esi], al
inc edi
cmp edi, dword [ebp + 0x14]
jl 0x1048e45
mov esi, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push esi
push ebx
push 3
push 0
push dword [ebp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x1048f70
cmp byte [ebp + 0x14], 0
je 0x1048f59
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0xffe
jle 0x1048eb6
mov esi, 0x80004005
jmp 0x1048f85
push esi
call fcn.01068c84
mov edi, eax
test edi, edi
pop ecx
jne 0x1048ecd
mov esi, 0x8007000e
jmp 0x1048f85
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
and dword [ebp - 0x18], 0
push 0x10083f8
call fcn.01048382
test eax, eax
mov dword [ebp + 0x14], eax
je 0x1048f51
push eax
push dword [ebp - 8]
call fcn.0104753e
mov esi, eax
test esi, esi
mov dword [ebp - 4], esi
je 0x1048f51
cmp esi, dword [ebp + 0x10]
je 0x1048f0f
push esi
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_CharPrevW]
cmp word [eax], 0x22
je 0x1048f51
sub esi, dword [ebp - 8]
and word [edi], 0
sar esi, 1
push esi
push dword [ebp - 8]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ebx, 0x10083f4
push ebx
push edi
call esi
push dword [ebp + 0x14]
push edi
call esi
push ebx
push edi
call esi
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 4]
lea eax, [ecx + eax*2]
push eax
push edi
call esi
mov ebx, edi
lea ecx, [ebp - 0x18]
call fcn.01026aa8
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push ebx
call fcn.0104714f
test edi, edi
je 0x1048f70
push edi
call fcn.01068bbd
pop ecx
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0xc]
call fcn.0104762d
test eax, eax
jl 0x1048d97
xor esi, esi
push dword [ebp - 8]
call fcn.01068bbd
pop ecx
push dword [ebp - 0x1c]
call fcn.01068bbd
pop ecx
lea ecx, [ebp - 0x10]
call fcn.01026aa8
mov eax, esi
lea esp, [ebp - 0x28]
pop edi
pop esi
pop ebx
leave
ret 0x10