Function at 0x108c90
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x108c98
push ecx
push ebx
push esi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x1091e1
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
call fcn.00028050
lea eax, [ebp - 0x2c]
call fcn.00028050
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 8]
call fcn.000144c4
push 0x1091f8
lea edx, [ebp - 0x30]
mov eax, 0x10920c
call fcn.00031d88
push dword [ebp - 0x30]
lea eax, [ebp - 0x34]
call fcn.0002c5c8
push dword [ebp - 0x34]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00013f8c
lea eax, [ebp - 0x14]
mov edx, dword [0xfaec8]
call fcn.0001587c
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x21]
lea eax, [ebp - 0x14]
call fcn.001083d8
mov ebx, eax
cmp byte [ebp - 0x21], 0
jne 0x108da9
mov eax, dword [ebp - 0x14]
call fcn.000156b4
mov esi, eax
lea edx, [ebp - 0x3c]
mov eax, 0x109210
call fcn.00031d88
push dword [ebp - 0x3c]
lea edx, [ebp - 0x40]
mov eax, esi
call fcn.00033438
push dword [ebp - 0x40]
lea edx, [ebp - 0x44]
mov eax, 0x10920c
call fcn.00031d88
push dword [ebp - 0x44]
lea edx, [ebp - 0x48]
mov eax, ebx
call fcn.0002b100
push dword [ebp - 0x48]
lea eax, [ebp - 0x38]
mov edx, 4
call fcn.00013f8c
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
call fcn.000fb21c
test esi, esi
jle 0x10918a
cmp esi, 0x2800
jge 0x10918a
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov edx, esi
call fcn.000fb3e8
jmp 0x10918a
mov eax, dword [ebp - 0x14]
call fcn.000156b4
cmp eax, 0x158
jle 0x109146
mov eax, dword [ebp - 0x14]
mov bl, byte [eax + 0x158]
test bl, bl
jb 0x108dfb
cmp bl, 3
ja 0x108dfb
lea edx, [ebp - 0x4c]
mov eax, 0x10922c
call fcn.00031d88
lea eax, [ebp - 0x4c]
xor edx, edx
mov dl, bl
mov edx, dword [edx*4 + 0x2a75e4]
call fcn.00013ed4
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 4]
call fcn.000fb360
jmp 0x108e2a
lea edx, [ebp - 0x50]
mov eax, 0x109244
call fcn.00031d88
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, ebx
call fcn.0002d37c
mov edx, dword [ebp - 0x54]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 4]
call fcn.000fb21c
cmp bl, 1
je 0x10918a
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x158], 1
lea eax, [ebp - 0x28]
call fcn.0002dadc
lea edx, [ebp - 0x58]
mov eax, 0x10925c
call fcn.00031d88
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
call fcn.00013f18
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x108fb4
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov eax, dword [0x2a9118]
mov eax, dword [eax]
add eax, 0xf003f
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 0x10]
call fcn.00014090
push eax
push 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
mov ebx, eax
cmp dword [ebp - 0x1c], 0
je 0x108f63
mov eax, dword [ebp - 0x14]
call fcn.000156b4
push eax
mov eax, dword [ebp - 0x14]
push eax
push 3
push 0
push 0x10929c
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegSetValueExW
mov ebx, eax
test ebx, ebx
je 0x108f03
lea edx, [ebp - 0x5c]
mov eax, 0x1092bc
call fcn.00031d88
lea eax, [ebp - 0x5c]
push eax
lea edx, [ebp - 0x60]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x60]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 4]
call fcn.000fb058
mov eax, dword [ebp - 0x28]
call fcn.00013ecc
inc eax
push eax
mov eax, dword [ebp - 0x28]
call fcn.00014090
push eax
push 1
push 0
mov eax, dword [ebp - 0x18]
call fcn.00014090
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x108f92
lea edx, [ebp - 0x64]
mov eax, 0x1092d4
call fcn.00031d88
lea eax, [ebp - 0x64]
push eax
lea edx, [ebp - 0x68]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x68]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 4]
call fcn.000fb058
jmp 0x108f92
lea edx, [ebp - 0x6c]
mov eax, 0x1092ec
call fcn.00031d88
lea eax, [ebp - 0x6c]
push eax
lea edx, [ebp - 0x70]
mov eax, ebx
call fcn.0002b100
mov edx, dword [ebp - 0x70]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 4]
call fcn.000fb058
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x108fbb
cmp dword [ebp - 0x1c], 0
je 0x108fae
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x1c], eax
ret
lea edx, [ebp - 0x90]
mov eax, 0x109380
call fcn.00031d88
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x14]
call fcn.000156b4
lea edx, [ebp - 0x94]
call fcn.00033438
mov edx, dword [ebp - 0x94]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 4]
call fcn.000fb21c
lea eax, [ebp - 0x14]
mov edx, dword [0xfaec8]
call fcn.0001587c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1091e8
lea eax, [ebp - 0x94]
mov edx, 0x1c
call fcn.00013c60
lea eax, [ebp - 0x18]
call fcn.00013c3c
lea eax, [ebp - 0x14]
mov edx, dword [0xfaec8]
call fcn.0001587c
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00013c60
lea eax, [ebp - 8]
call fcn.00014314
ret