Function at 0x1003b7e0
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10154956
mov eax, dword fs:[0]
push eax
mov eax, 0x225c
call fcn.1011bf70
mov eax, dword [0x10198e28]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x221c], eax
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2220], ecx
mov dword [ebp - 0x2230], 0
mov dword [ebp - 0x222c], 0
mov dword [ebp - 0x2228], 0
push edi
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf98
cmp word [edi], 0x7d
je 0x1003bf85
nop word [eax + eax]
push 0x1015ee2c
push edi
mov dword [ebp - 0x2224], 1
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x1015ee00
sbb ebx, ebx
push edi
inc ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1003b8a3
test ebx, ebx
je 0x1003b9bf
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
cmp dword [ebp + 0x10], 0
je 0x1003b9bf
movzx ecx, word [edi]
mov eax, edi
mov dword [ebp - 0x223c], 0
mov dword [ebp - 0x2238], 0
mov dword [ebp - 0x2234], 0
test cx, cx
je 0x1003b911
mov edx, ecx
nop dword [eax]
cmp dx, 0x5c
je 0x1003b909
push eax
call dword [sym.imp.USER32.dll_CharNextW]
movzx ecx, word [eax]
mov edx, ecx
test cx, cx
jne 0x1003b8f0
jmp 0x1003b911
test eax, eax
jne 0x1003bf1e
mov esi, 0x1015ffb8
push dword [esi]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1003b978
add esi, 4
cmp esi, 0x1015ffe8
jl 0x1003b916
mov eax, dword [ebp - 0x2220]
lea ecx, [ebp - 0x223c]
push edi
mov dword [ebp - 0x223c], eax
mov dword [ebp - 0x2238], 0
mov dword [ebp - 0x2234], 0
call fcn.1003b2e0
mov dword [ebp - 0x223c], 0
mov dword [ebp - 0x2238], 0
mov dword [ebp - 0x2234], 0
test ebx, ebx
je 0x1003b9b5
mov ebx, dword [ebp - 0x221c]
mov ecx, ebx
push edi
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf30
push edi
mov ecx, ebx
call fcn.1003bfc0
mov esi, eax
test esi, esi
js 0x1003bf30
mov dword [ebp - 0x2238], 0
jmp 0x1003bcd1
mov dword [ebp - 0x2238], 0
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ebx, dword [ebp - 0x221c]
test eax, eax
jne 0x1003b9ed
push edi
mov ecx, ebx
mov dword [ebp - 0x2224], eax
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
push 0x1015edf8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1003bb58
lea eax, [ebp - 0x2218]
mov ecx, ebx
push eax
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
push edi
mov ecx, ebx
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
cmp word [edi], 0x3d
jne 0x1003bf29
cmp dword [ebp + 0x10], 0
je 0x1003bab0
mov eax, dword [ebp - 0x2220]
mov ecx, ebx
mov dword [ebp - 0x2250], eax
lea eax, [ebp - 0x2218]
push edi
push eax
lea eax, [ebp - 0x2250]
mov byte [ebp - 4], 1
push eax
mov dword [ebp - 0x224c], 0
mov dword [ebp - 0x2248], 0
call fcn.100390d0
mov esi, eax
mov dword [ebp - 0x2250], 0
mov dword [ebp - 0x224c], 0
mov dword [ebp - 0x2248], 0
test esi, esi
js 0x1003bf3d
mov byte [ebp - 4], 0
mov dword [ebp - 0x224c], 0
jmp 0x1003bcd1
cmp dword [ebp + 0x14], 0
jne 0x1003bb41
cmp dword [ebp - 0x2224], 0
je 0x1003bb41
push 0x20006
push 0
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x225c]
mov dword [ebp - 0x225c], 0
mov dword [ebp - 0x2258], 0
mov dword [ebp - 0x2254], 0
call fcn.1003aea0
test eax, eax
jne 0x1003bf4a
mov esi, dword [ebp - 0x225c]
lea eax, [ebp - 0x2218]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x1003bb22
cmp eax, 2
jne 0x1003bf4a
test esi, esi
je 0x1003bb37
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x225c], 0
mov dword [ebp - 0x2258], 0
push edi
mov ecx, ebx
call fcn.1003bfc0
mov esi, eax
test esi, esi
js 0x1003bf85
jmp 0x1003bf12
movzx ecx, word [edi]
mov eax, edi
test cx, cx
je 0x1003bb85
mov edx, ecx
cmp dx, 0x5c
je 0x1003bb7d
push eax
call dword [sym.imp.USER32.dll_CharNextW]
movzx ecx, word [eax]
mov edx, ecx
test cx, cx
jne 0x1003bb64
jmp 0x1003bb85
test eax, eax
jne 0x1003bf29
cmp dword [ebp + 0x10], 0
je 0x1003bd2c
mov esi, dword [ebp - 0x2220]
lea ecx, [ebp - 0x2230]
push 0x2001f
push edi
push esi
call fcn.1003aea0
test eax, eax
je 0x1003bc9e
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x2230]
call fcn.1003aea0
test eax, eax
je 0x1003bc9e
mov esi, dword [ebp - 0x2228]
mov dword [ebp - 0x2224], 0
test esi, esi
je 0x1003bc3f
cmp dword [esi], 0
je 0x1003bc32
push 0x1015fec4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1003bbf8
mov eax, 1
jmp 0x1003bc67
push 0x1015fef8
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1003bc38
push 0
push dword [esi]
lea ecx, [ebp - 0x2240]
push ecx
lea ecx, [ebp - 0x2224]
push ecx
push 0
push 0x2001f
push 0
push 0
push 0
push edi
push dword [ebp - 0x2220]
call eax
jmp 0x1003bc67
cmp dword [esi + 4], 0
jne 0x1003bc3f
mov eax, 1
jmp 0x1003bc67
lea eax, [ebp - 0x2240]
push eax
lea eax, [ebp - 0x2224]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push edi
push dword [ebp - 0x2220]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1003bf7a
mov ecx, dword [ebp - 0x2230]
test ecx, ecx
je 0x1003bc80
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2224]
mov dword [ebp - 0x2230], ecx
mov dword [ebp - 0x222c], 0
test eax, eax
jne 0x1003bf7a
push edi
mov ecx, ebx
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
cmp word [edi], 0x3d
jne 0x1003bcd1
push edi
push 0
lea eax, [ebp - 0x2230]
mov ecx, ebx
push eax
call fcn.100390d0
mov esi, eax
test esi, esi
js 0x1003bf85
cmp word [edi], 0x7b
jne 0x1003bf12
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1003bce0
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x1003bf12
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp - 0x2230]
push edi
call fcn.1003b7e0
mov esi, eax
test esi, esi
js 0x1003bf85
push edi
mov ecx, ebx
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
jmp 0x1003bf12
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x1003bd4e
push 0x20019
push edi
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x2230]
call fcn.1003aea0
mov ebx, eax
jmp 0x1003bd53
mov ebx, 2
test ebx, ebx
mov ecx, 1
push 0xffffffffffffffff
mov eax, esi
cmovne eax, ecx
push edi
mov dword [ebp - 0x2244], eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.1013a1e3
push eax
call fcn.100032a0
mov ecx, dword [ebp - 0x221c]
add esp, 0x14
push edi
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.1003bfc0
mov esi, eax
test esi, esi
js 0x1003bf85
cmp word [edi], 0x7b
jne 0x1003be17
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1003bdc0
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x1003be17
push dword [ebp - 0x2244]
mov ecx, dword [ebp - 0x221c]
push 0
push dword [ebp - 0x2230]
push edi
call fcn.1003b7e0
mov esi, eax
test esi, esi
jns 0x1003be01
cmp dword [ebp - 0x2244], 0
je 0x1003bf85
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.1003acd0
mov esi, eax
test esi, esi
js 0x1003bf85
cmp ebx, 2
je 0x1003bf12
test ebx, ebx
je 0x1003be34
cmp dword [ebp + 0x14], 0
jne 0x1003bf12
push ebx
jmp 0x1003bf7b
cmp dword [ebp + 0x14], 0
mov ebx, dword [ebp - 0x221c]
je 0x1003be8b
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.1003a790
test eax, eax
je 0x1003be8b
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.1003a4b0
test eax, eax
je 0x1003bf12
cmp dword [ebp - 0x2224], 0
je 0x1003bf12
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2230]
call fcn.1003b2e0
jmp 0x1003bf12
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.1003a790
mov ecx, dword [ebp - 0x2230]
mov ebx, eax
xor eax, eax
test ecx, ecx
je 0x1003beb5
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
mov dword [ebp - 0x2230], ecx
mov dword [ebp - 0x222c], 0
test eax, eax
jne 0x1003bf7a
cmp dword [ebp - 0x2224], eax
je 0x1003bf12
test ebx, ebx
jne 0x1003bf12
mov eax, dword [ebp - 0x2220]
lea ecx, [ebp - 0x2268]
mov dword [ebp - 0x2268], eax
lea eax, [ebp - 0x218]
push eax
mov dword [ebp - 0x2264], ebx
mov dword [ebp - 0x2260], ebx
call fcn.1003a580
mov dword [ebp - 0x2268], ebx
test eax, eax
jne 0x1003bf62
lea ecx, [ebp - 0x2268]
call fcn.10038d60
cmp word [edi], 0x7d
jne 0x1003b870
jmp 0x1003bf85
lea ecx, [ebp - 0x223c]
call fcn.10038d60
mov esi, 0x80020009
jmp 0x1003bf85
lea ecx, [ebp - 0x223c]
call fcn.10038d60
jmp 0x1003bf85
lea ecx, [ebp - 0x2250]
call fcn.10038d60
jmp 0x1003bf85
push eax
call fcn.1003a490
add esp, 4
lea ecx, [ebp - 0x225c]
mov esi, eax
call fcn.10038d60
jmp 0x1003bf85
push eax
call fcn.1003a490
add esp, 4
lea ecx, [ebp - 0x2268]
mov esi, eax
call fcn.10038d60
jmp 0x1003bf85
push eax
call fcn.1003a490
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x2230]
test eax, eax
je 0x1003bf96
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1011bafc
mov esp, ebp
pop ebp
ret 0x10