Function at 0x18015fe5
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x225c
call fcn.1816bdd0
mov eax, dword [0x181cb008]
xor eax, esp
mov dword [esp + 0x2258], eax
mov eax, ecx
mov ecx, dword [ebp + 0xc]
push ebx
mov dword [esp + 8], ecx
xor ecx, ecx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov ecx, eax
mov dword [esp + 0xc], eax
jmp 0x18016474
push str.Delete
push edi
mov dword [esp + 0x1c], 1
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x18180ca0
sbb ebx, ebx
push edi
inc ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1801605c
test ebx, ebx
je 0x18016106
mov ecx, dword [esp + 0xc]
push edi
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x18016108
push 0x5c
pop edx
mov ecx, edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
call fcn.1801558e
test eax, eax
jne 0x18016494
push edi
call fcn.18015b1b
test eax, eax
je 0x180160c1
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x24]
push edi
mov dword [esp + 0x28], eax
call fcn.18014fd2
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
test ebx, ebx
je 0x180160fb
mov ebx, dword [esp + 0xc]
mov ecx, ebx
push edi
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x1801648e
push edi
mov ecx, ebx
call fcn.18015b7f
mov esi, eax
lea ecx, [esp + 0x24]
call fcn.18014efb
test esi, esi
js 0x180164a2
jmp 0x18016441
lea ecx, [esp + 0x24]
call fcn.18014efb
jmp 0x18016108
xor esi, esi
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x18016132
push edi
mov ecx, ebx
mov dword [esp + 0x18], esi
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
push 0x18180c98
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1801622e
lea eax, [esp + 0x260]
mov ecx, ebx
push eax
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
push edi
mov ecx, ebx
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
push 0x3d
pop eax
cmp word [edi], ax
jne 0x1801649d
cmp dword [ebp + 0x10], 0
je 0x180161c3
mov eax, dword [esp + 0x10]
mov ecx, ebx
and dword [esp + 0x38], 0
and dword [esp + 0x3c], 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x260]
push edi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1801574e
mov esi, eax
lea ecx, [esp + 0x34]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
jmp 0x180160e9
cmp dword [ebp + 0x14], 0
jne 0x18016221
cmp dword [esp + 0x14], 0
je 0x18016221
xor eax, eax
lea ecx, [esp + 0x40]
push 0x20006
push eax
push dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
call fcn.18014f76
test eax, eax
jne 0x180164c4
lea eax, [esp + 0x260]
push eax
push dword [esp + 0x44]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x18016218
cmp eax, 2
jne 0x180164c4
lea ecx, [esp + 0x40]
call fcn.18014efb
push edi
mov ecx, ebx
call fcn.18015b7f
jmp 0x1801647a
push 0x5c
pop edx
mov ecx, edi
call fcn.1801558e
test eax, eax
jne 0x1801649d
cmp dword [ebp + 0x10], eax
je 0x180162bb
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push 0x2001f
push edi
push esi
call fcn.18014f76
test eax, eax
je 0x18016287
push 0x20019
push edi
push esi
lea ecx, [esp + 0x24]
call fcn.18014f76
test eax, eax
je 0x18016287
sub esp, 0x14
lea ecx, [esp + 0x2c]
push edi
push esi
call fcn.18014f15
test eax, eax
jne 0x180164e5
push edi
mov ecx, ebx
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
push 0x3d
pop eax
cmp word [edi], ax
jne 0x18016441
push edi
push 0
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.1801574e
mov esi, eax
jmp 0x180160ee
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x180162d9
push 0x20019
push edi
push dword [esp + 0x18]
lea ecx, [esp + 0x24]
call fcn.18014f76
mov ebx, eax
jmp 0x180162dc
push 2
pop ebx
mov dword [esp + 0x30], esi
test ebx, ebx
je 0x180162ec
mov dword [esp + 0x30], 1
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x60]
push 0x104
push eax
call fcn.181532af
push eax
call fcn.18004505
mov ecx, dword [esp + 0x20]
add esp, 0x14
push edi
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
mov ecx, dword [esp + 0xc]
push edi
call fcn.18015b7f
mov esi, eax
test esi, esi
js 0x180164a2
push 0x7b
pop eax
cmp word [edi], ax
jne 0x1801637c
push edi
call fcn.1814b183
pop ecx
cmp eax, 1
jne 0x1801637c
push dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
push 0
push dword [esp + 0x20]
push edi
call fcn.18015fe5
mov esi, eax
test esi, esi
jns 0x18016368
cmp dword [esp + 0x30], 0
je 0x180164a2
mov ecx, dword [esp + 0xc]
push edi
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
cmp ebx, 2
je 0x18016480
test ebx, ebx
je 0x180163a1
cmp dword [ebp + 0x14], 0
jne 0x18016480
mov ecx, ebx
call fcn.18014b9a
mov esi, eax
jmp 0x180164a2
cmp dword [ebp + 0x14], 0
je 0x180163e4
push dword [esp + 0x18]
call fcn.18015b4a
test eax, eax
je 0x180163e4
lea eax, [esp + 0x58]
push eax
call fcn.18015b1b
test eax, eax
je 0x18016480
cmp dword [esp + 0x14], 0
je 0x18016480
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x1c]
call fcn.18014fd2
jmp 0x18016480
push dword [esp + 0x18]
call fcn.18015b4a
lea ecx, [esp + 0x18]
mov ebx, eax
call fcn.18014efb
test eax, eax
jne 0x180164e5
cmp dword [esp + 0x14], eax
je 0x18016480
test ebx, ebx
jne 0x18016480
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
call fcn.18014e82
mov dword [esp + 0x4c], ebx
test eax, eax
jne 0x180164d8
lea ecx, [esp + 0x4c]
call fcn.18014efb
mov ebx, dword [esp + 0xc]
cmp dword [ebp + 0x10], 0
je 0x18016480
push 0x7b
pop eax
cmp word [edi], ax
jne 0x18016480
push edi
call fcn.1814b183
pop ecx
cmp eax, 1
jne 0x18016480
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [esp + 0x20]
push edi
call fcn.18015fe5
mov esi, eax
test esi, esi
js 0x180164a2
mov ecx, ebx
push edi
call fcn.180155f3
mov esi, eax
test esi, esi
js 0x180164a2
push 0x7d
pop eax
cmp word [edi], ax
jne 0x1801602b
jmp 0x180164a2
lea ecx, [esp + 0x24]
jmp 0x180164d1
lea ecx, [esp + 0x24]
call fcn.18014efb
mov esi, 0x80020009
lea ecx, [esp + 0x18]
call fcn.18014efb
mov ecx, dword [esp + 0x2264]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.18144705
mov esp, ebp
pop ebp
ret 0x10
mov ecx, eax
call fcn.18014b9a
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.18014efb
jmp 0x180164a2
mov ecx, eax
call fcn.18014b9a
lea ecx, [esp + 0x4c]
jmp 0x180164cf
mov ecx, eax
jmp 0x18016395