Function at 0x10008c70
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003ba2e
mov eax, dword fs:[0]
push eax
sub esp, 0x160
mov eax, dword [0x1004f0a8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10008f47
cmp byte [ecx], 0
je 0x10008f47
mov eax, ecx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10008cc7
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.10001ad0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 4], 0
call fcn.10020860
add esp, 4
push 1
push 0
push 0x1004ac64
lea ecx, [ebp - 0x2c]
call fcn.10001880
mov esi, eax
cmp esi, 0xffffffff
je 0x10008f35
push esi
push 0
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.10001820
mov eax, dword [ebp - 0x1c]
lea edx, [esi + 2]
mov byte [ebp - 4], 1
cmp eax, edx
jae 0x10008d3b
lea ecx, [ebp - 0x64]
call fcn.100017f0
lea ecx, [ebp - 0x2c]
call fcn.100017f0
jmp 0x10008f47
sub eax, esi
dec eax
push eax
inc esi
push esi
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10001820
lea ecx, [ebp - 0x48]
push ecx
mov byte [ebp - 4], 2
call fcn.100207c0
lea edx, [ebp - 0x64]
push str._dnc
push edx
call fcn.10006640
add esp, 0xc
test al, al
je 0x10008e41
mov ecx, 0x100510a4
call fcn.1001b4a0
lea ecx, [ebp - 0x168]
push 3
mov dword [ebp - 0x16c], ecx
push eax
lea ecx, [ebp - 0x16c]
call fcn.100061d0
mov ecx, 0x10051094
mov byte [ebp - 4], 3
call fcn.1001b4a0
push 3
lea edx, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], edx
call fcn.100061d0
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
jae 0x10008dcb
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x16c]
push ecx
push eax
mov eax, dword [ebp - 0xe8]
push 1
push edx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
neg eax
sbb esi, esi
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0xe4]
cmp eax, ecx
je 0x10008e08
push eax
call fcn.1000c71e
add esp, 4
mov eax, dword [ebp - 0x16c]
lea edx, [ebp - 0x168]
cmp eax, edx
je 0x10008e21
push eax
call fcn.1000c71e
add esp, 4
lea ecx, [ebp - 0x48]
call fcn.100017f0
lea ecx, [ebp - 0x64]
call fcn.100017f0
lea ecx, [ebp - 0x2c]
call fcn.100017f0
lea eax, [esi + 1]
jmp 0x10008f49
lea eax, [ebp - 0x64]
push str._unc
push eax
call fcn.10006640
add esp, 8
test al, al
je 0x10008f25
mov ecx, 0x100510b4
call fcn.1001b4a0
lea ecx, [ebp - 0xe4]
push 3
mov dword [ebp - 0xe8], ecx
push eax
lea ecx, [ebp - 0xe8]
call fcn.100061d0
mov ecx, 0x10051094
mov byte [ebp - 4], 4
call fcn.1001b4a0
push 3
lea edx, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x16c], edx
call fcn.100061d0
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
jae 0x10008eb2
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0xe8]
push ecx
push eax
mov eax, dword [ebp - 0x16c]
push 1
push edx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
neg eax
sbb esi, esi
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x168]
cmp eax, ecx
je 0x10008eef
push eax
call fcn.1000c71e
add esp, 4
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xe4]
cmp eax, edx
je 0x10008f08
push eax
call fcn.1000c71e
add esp, 4
lea ecx, [ebp - 0x48]
call fcn.100017f0
lea ecx, [ebp - 0x64]
call fcn.100017f0
lea ecx, [ebp - 0x2c]
call fcn.100017f0
lea eax, [esi + 1]
jmp 0x10008f49
lea ecx, [ebp - 0x48]
call fcn.100017f0
lea ecx, [ebp - 0x64]
call fcn.100017f0
cmp dword [ebp - 0x18], 0x10
jb 0x10008f47
mov eax, dword [ebp - 0x2c]
push eax
call fcn.1000ad98
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000ae1e
mov esp, ebp
pop ebp
ret 4