Function at 0x104dea1
Capabilities:
Delete registry value
Persist via windows service
Set registry value

Disassembly:
push 0x80
mov eax, 0x105990e
call fcn.01021eb9
xor ebx, ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x8c]
xor edi, edi
call fcn.0103b217
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.010151da
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.01014c71
mov byte [ebp - 4], 3
xor esi, esi
inc esi
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x24], esi
call fcn.01014c71
mov byte [ebp - 4], 4
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x14]
mov dword [eax], ebx
call fcn.01014fc6
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
cmp eax, ebx
je 0x104dfbc
cmp edi, ebx
jne 0x104e0ee
lea ecx, [ebp - 0x10]
call fcn.010151da
mov byte [ebp - 4], 5
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push eax
call fcn.0105038c
push eax
lea ecx, [ebp - 0x10]
call fcn.01015959
push dword [0x10646ac]
lea ecx, [ebp - 0x10]
call fcn.0101492b
test eax, eax
jne 0x104e027
push 0x1011b80
push 2
call fcn.0103ac75
pop ecx
pop ecx
xor edi, edi
mov dword [ebp - 0x24], ebx
push dword [ebp + 8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push 0x1011af0
push 3
call fcn.0103ac75
add esp, 0x14
push dword [0x10646ac]
lea ecx, [ebp - 0x10]
call fcn.0101492b
test eax, eax
je 0x104df94
push dword [ebp - 0x10]
lea ecx, [ebp - 0x40]
call fcn.010172fc
lea ecx, [ebp - 0x8c]
call fcn.0103adbd
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10]
call fcn.01015174
cmp dword [ebp - 0x28], ebx
jne 0x104df0d
cmp edi, ebx
jne 0x104e0ee
push dword [ebp + 8]
push 0x1011a70
push esi
call fcn.0103ac75
add esp, 0xc
cmp dword [ebp - 0x24], ebx
je 0x104e305
push 0x1011a20
push esi
call fcn.0103ac75
add esp, 4
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
mov dword [ebp - 0x28], ebx
lea edi, [ebp - 0x28]
call fcn.010151f2
mov byte [ebp - 4], 7
push dword [ebp + 0xc]
mov byte [ebp - 4], 4
call fcn.0104dc35
cmp eax, ebx
je 0x104e0e2
push eax
push 0x1013310
push 3
call fcn.0103ac75
add esp, 0xc
xor edi, edi
jmp 0x104e370
push 3
push ecx
lea eax, [ebp - 0x10]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call fcn.010151f2
mov byte [ebp - 4], 6
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8c]
call fcn.0103b6d1
cmp eax, 0xb7
je 0x104e059
xor edi, edi
jmp 0x104df5f
lea eax, [ebp - 0x14]
push eax
push 2
lea ecx, [ebp - 0x8c]
call fcn.0103b80d
test eax, eax
je 0x104e052
cmp dword [ebp + 0xc], 5
mov dword [ebp - 0x18], 0x57
mov dword [ebp - 0x1c], ebx
je 0x104e0b6
cmp dword [ebp + 0xc], 9
jne 0x104e052
lea ecx, [ebp - 0x70]
call fcn.01014ab9
lea eax, [ebp - 0x70]
push eax
push 8
lea ecx, [ebp - 0x8c]
call fcn.0103c4cc
test eax, eax
je 0x104e052
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 8]
push eax
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x14]
call fcn.0104c303
jmp 0x104e0c6
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp + 8]
call fcn.0104bffd
mov dword [ebp - 0x18], eax
cmp eax, ebx
jne 0x104e052
mov edi, esi
cmp dword [ebp - 0x1c], ebx
je 0x104df94
mov eax, dword [ebp + 0x14]
mov dword [eax], esi
jmp 0x104df94
mov edi, esi
cmp dword [ebp - 0x28], ebx
je 0x104e0ee
mov eax, dword [ebp + 0x14]
mov dword [eax], esi
cmp dword [ebp - 0x38], ebx
je 0x104e370
lea ecx, [ebp - 0x18]
call fcn.010151da
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x104e20d
lea ecx, [ebp + 0xc]
call fcn.010151da
mov byte [ebp - 4], 9
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.0105038c
push eax
lea ecx, [ebp + 0xc]
call fcn.01015959
mov ecx, dword [ebp + 0x10]
lea eax, [ebp + 0xc]
push eax
call fcn.0103b662
lea ecx, [ebp - 0x58]
call fcn.01014c71
mov byte [ebp - 4], 0xa
push 3
push ecx
lea eax, [ebp + 0xc]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.010151f2
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x8c]
call fcn.0103b6d1
lea eax, [ebp - 0x58]
push eax
push 0xa
lea ecx, [ebp - 0x8c]
call fcn.0103c4cc
lea ecx, [ebp - 0x8c]
call fcn.0103adbd
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x104e1ec
lea ecx, [ebp - 0x1c]
call fcn.010151da
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.0105038c
push eax
lea ecx, [ebp - 0x1c]
call fcn.01015959
mov eax, dword [ebp - 0x1c]
push dword [eax - 0xc]
lea ecx, [ebp - 0x18]
push eax
call fcn.010155f6
cmp dword [ebp - 0x10], ebx
jne 0x104e1ce
cmp dword [ebp - 0x20], ebx
je 0x104e1db
push 0x1011988
lea ecx, [ebp - 0x18]
call fcn.01018c3e
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1c]
call fcn.01015174
cmp dword [ebp - 0x10], ebx
jne 0x104e194
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x58]
call fcn.01014fbc
mov byte [ebp - 4], 8
lea ecx, [ebp + 0xc]
call fcn.01015174
cmp dword [ebp - 0x20], ebx
jne 0x104e111
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], ebx
jle 0x104e225
push eax
push 0x1011808
push 3
call fcn.0103ac75
add esp, 0xc
lea ecx, [ebp - 0x28]
mov dword [ebp + 0x14], ebx
call fcn.010151da
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x24]
call fcn.010151da
mov byte [ebp - 4], 0xe
push 0x1012368
lea ecx, [ebp + 0xc]
call fcn.010161a7
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.010360f6
mov byte [ebp - 4], 0xe
lea ecx, [ebp + 0xc]
call fcn.01015174
push dword [0x10646a4]
lea ecx, [ebp - 0x20]
call fcn.010161a7
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.010360f6
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x20]
call fcn.01015174
lea eax, [ebp + 0x14]
push eax
push 0x2001f
push ebx
push dword [ebp - 0x24]
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x104e337
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 8], ebx
je 0x104e309
lea eax, [ebp + 0x10]
push eax
call fcn.01035d59
mov esi, eax
cmp esi, ebx
je 0x104e31c
mov eax, dword [ebp + 0x10]
add eax, eax
push eax
push esi
push 7
push ebx
push dword [0x10646a8]
push dword [ebp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x104e2fd
push 0x10116a8
push 3
xor edi, edi
call fcn.0103ac75
pop ecx
pop ecx
push esi
call fcn.01021179
jmp 0x104e32b
mov edi, esi
jmp 0x104e370
push dword [0x10646a8]
push dword [ebp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x104e32c
push 0x10116a8
push 3
xor edi, edi
call fcn.0103ac75
pop ecx
pop ecx
push dword [ebp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x104e34c
cmp eax, 2
je 0x104e34c
push 0x10116a8
push 3
xor edi, edi
call fcn.0103ac75
pop ecx
pop ecx
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x24]
call fcn.01015174
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x28]
call fcn.01015174
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.01015174
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x70]
call fcn.01014fbc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.01014fbc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.01015174
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x8c]
call fcn.0103af75
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.01015174
mov eax, edi
call fcn.01021fa5
ret 0x10