Function at 0x488120
Capabilities:
Set registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493e91
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2c8
mov eax, dword [0x4ba080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push edx
mov edx, esi
mov dword [ebp - 0x2d0], 0
lea ecx, [ebp - 0x2c0]
call fcn.00488cc0
add esp, 4
push 0x200
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.0044dac0
add esp, 0xc
lea eax, [ebp - 0x218]
push dword [ebx + 8]
push 0x4a9f54
push eax
call fcn.0040a134
xorps xmm0, xmm0
mov dword [ebp - 0x268], 0
movups xmmword [ebp - 0x278], xmm0
add esp, 0xc
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
mov ecx, esi
mov byte [ebp - 4], 1
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x488200
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x248]
call fcn.00401fc2
mov byte [ebp - 4], 3
xor ecx, ecx
mov edi, dword [ebp - 0x238]
mov edx, 0xf
mov dword [ebp - 0x2c8], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x2d0], 1
movups xmmword [ebp - 0x230], xmm0
mov byte [ebp - 0x230], cl
cmp edi, edx
jbe 0x48830e
cmp edi, 0x7fffffff
ja 0x48893a
or edi, edx
cmp edi, 0x7fffffff
jbe 0x48828c
mov ecx, connect
mov edi, SysReAllocString
add ecx, 0x23
jmp 0x4882ab
mov eax, 0x16
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x4882c7
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x488935
push ecx
call fcn.0044b99d
add esp, 4
test eax, eax
je 0x48893f
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x4882da
test eax, eax
je 0x4882d8
push eax
call fcn.0044b99d
add esp, 4
mov ecx, eax
jmp 0x4882da
xor ecx, ecx
mov al, byte [ebp - 0x230]
mov dword [ebp - 0x21c], edi
mov byte [ecx], al
mov edx, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
xor ecx, ecx
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x2d4], edx
cmp dword [ebp - 0x234], 7
lea esi, [ebp - 0x248]
cmova esi, dword [ebp - 0x248]
cmp dword [ebp - 0x234], 7
lea eax, [ebp - 0x248]
cmova eax, dword [ebp - 0x248]
lea eax, [eax + edi*2]
cmp esi, eax
je 0x4884f4
mov al, byte [esi]
mov byte [ebp - 0x2c1], al
cmp ecx, edx
jae 0x488379
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
add eax, ecx
mov cl, byte [ebp - 0x2c1]
mov byte [eax + 1], 0
mov byte [eax], cl
jmp 0x4884ce
mov eax, SysReAllocString
sub eax, ecx
cmp eax, 1
jb 0x48893a
lea edi, [ecx + 1]
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x4883a6
mov ecx, connect
mov edi, SysReAllocString
add ecx, 0x23
jmp 0x4883f0
mov eax, edx
shr eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, SysReAllocString
sub eax, dword [ebp - 0x2cc]
cmp edx, eax
jbe 0x4883ce
mov ecx, connect
mov edi, SysReAllocString
add ecx, 0x23
jmp 0x4883f0
mov eax, dword [ebp - 0x2cc]
add eax, edx
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x488414
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x488935
push ecx
call fcn.0044b99d
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48893f
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
mov ecx, dword [ebp - 0x2c8]
jmp 0x48842b
test eax, eax
je 0x488429
push eax
call fcn.0044b99d
mov ecx, dword [ebp - 0x2c8]
add esp, 4
jmp 0x48842b
xor eax, eax
cmp dword [ebp - 0x2d4], 0xf
lea edx, [ecx + 1]
mov dword [ebp - 0x21c], edi
lea edi, [ecx + eax]
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x2c8], edi
push ecx
jbe 0x4884a6
mov edi, dword [ebp - 0x230]
push edi
push eax
call fcn.0044d540
mov eax, dword [ebp - 0x2c8]
add esp, 0xc
mov cl, byte [ebp - 0x2c1]
mov byte [eax], cl
mov ecx, dword [ebp - 0x2d4]
inc ecx
mov byte [eax + 1], 0
cmp ecx, 0x1000
jb 0x48849a
mov edx, dword [edi - 4]
add ecx, 0x23
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x48893f
mov edi, edx
push ecx
push edi
call fcn.0044b96c
add esp, 8
jmp 0x4884c2
lea ecx, [ebp - 0x230]
push ecx
push eax
call fcn.0044d540
mov cl, byte [ebp - 0x2c1]
add esp, 0xc
mov byte [edi], cl
mov byte [edi + 1], 0
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x230], eax
mov edx, dword [ebp - 0x21c]
add esi, 2
mov ecx, dword [ebp - 0x220]
mov edi, dword [ebp - 0x238]
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x2c8], ecx
jmp 0x488322
cmp edx, 0xf
lea eax, [ebp - 0x278]
lea ecx, [ebp - 0x230]
cmova ecx, dword [ebp - 0x230]
lea edx, [ebp - 0x218]
push eax
call fcn.0040d5d5
mov byte [ebp - 4], 2
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0xf
jbe 0x488557
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x48854d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48893f
push ecx
push edx
call fcn.0044b96c
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
cmp ecx, 7
jbe 0x4885b6
mov edx, dword [ebp - 0x248]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4885ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48893f
push ecx
push edx
call fcn.0044b96c
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x278]
mov eax, dword [ebp - 0x268]
lea edx, [ebp - 0x2d0]
mov edi, dword [ebp - 0x264]
cmp edi, 0xf
mov esi, dword [ebp - 0x278]
mov dword [ebp - 0x2d0], eax
cmova ecx, esi
lea eax, [ebp - 0x260]
push eax
call fcn.0040d752
add esp, 4
mov dword [ebp - 0x280], 0
cmp dword [ebp - 0x2ac], 0xf
lea edx, [ebp - 0x2c0]
xorps xmm0, xmm0
mov dword [ebp - 0x27c], 0
cmova edx, dword [ebp - 0x2c0]
mov ecx, edx
movups xmmword [ebp - 0x290], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x2d0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488655
sub ecx, dword [ebp - 0x2d0]
push ecx
push edx
lea ecx, [ebp - 0x290]
call fcn.00406035
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2a8]
cmp dword [0x4e4c0c], 0xf
mov edx, 0x4e4bf8
push str.yh87Yx6EotW2RHhQlrSlh3ep1
cmova edx, dword [0x4e4bf8]
call fcn.0040d900
add esp, 4
mov edx, eax
mov byte [ebp - 4], 6
cmp dword [edx + 0x14], 0xf
jbe 0x4886a7
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
mov dword [ebp - 0x21c], 0
movups xmmword [ebp - 0x230], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x2d0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4886d0
sub ecx, dword [ebp - 0x2d0]
push ecx
push edx
lea ecx, [ebp - 0x230]
call fcn.00406035
cmp dword [ebp - 0x21c], 0xf
lea ecx, [ebp - 0x2d4]
push ecx
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 0
push ecx
push 0
push 0x20006
push 0
push 0x4a98a5
lea eax, [ebp - 0x230]
mov dword [ebp - 0x2d4], 0
cmova eax, dword [ebp - 0x230]
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
push dword [ebp - 0x250]
cmp dword [ebp - 0x24c], 0xf
lea ecx, [ebp - 0x260]
lea eax, [ebp - 0x290]
cmova ecx, dword [ebp - 0x260]
cmp dword [ebp - 0x27c], 0xf
push ecx
cmova eax, dword [ebp - 0x290]
push 1
push 0
push eax
push dword [ebp - 0x2c8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0xf
jbe 0x4887b6
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4887ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488944
push ecx
push edx
call fcn.0044b96c
add esp, 8
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
cmp ecx, 0xf
jbe 0x48880b
mov edx, dword [ebp - 0x2a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x488801
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488944
push ecx
push edx
call fcn.0044b96c
add esp, 8
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0xf
mov byte [ebp - 0x2a8], 0
cmp ecx, 0xf
jbe 0x488860
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x488856
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488944
push ecx
push edx
call fcn.0044b96c
add esp, 8
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0xf
jbe 0x48889a
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x488890
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488949
push ecx
push edx
call fcn.0044b96c
add esp, 8
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
cmp edi, 0xf
jbe 0x4888e1
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4888d7
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488949
push ecx
push esi
call fcn.0044b96c
add esp, 8
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 0xf
jbe 0x488917
mov edx, dword [ebp - 0x2c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x48890d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488949
push ecx
push edx
call fcn.0044b96c
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044b95e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004025de
call fcn.00402483
call fcn.0045775f
call fcn.0045775f
call fcn.0045775f
int3