Function at 0x10023e90
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a5f26
mov eax, dword fs:[0]
push eax
mov eax, 0x2250
call fcn.1002f700
mov eax, dword [0x100db690]
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, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x221c], ecx
mov dword [ebp - 0x222c], eax
mov dword [ebp - 0x2228], ebx
mov dword [ebp - 0x2224], ebx
mov edx, dword [ebp + 0x14]
push edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2244], edx
call fcn.100217a0
mov esi, eax
cmp esi, ebx
jl 0x10024582
cmp word [edi], 0x7d
je 0x10024580
jmp 0x10023f10
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str.Delete
push edi
mov dword [ebp - 0x2238], 1
call esi
mov ebx, eax
neg ebx
push str.ForceRemove
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x10023f43
test ebx, ebx
je 0x1002405b
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x1002405d
push 0x5c
push edi
mov dword [ebp - 0x2234], esi
mov dword [ebp - 0x2230], esi
call fcn.100216f0
add esp, 8
test eax, eax
jne 0x100244f8
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.10021920
test eax, eax
je 0x10023fbd
mov eax, dword [ebp - 0x222c]
push edi
lea ecx, [ebp - 0x2234]
mov dword [ebp - 0x2234], eax
mov dword [ebp - 0x2230], esi
call fcn.10021c70
mov dword [ebp - 0x2234], esi
mov dword [ebp - 0x2230], esi
cmp ebx, esi
je 0x10024053
mov ebx, dword [ebp - 0x221c]
push edi
mov ecx, ebx
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x10024515
push edi
mov ecx, ebx
call fcn.100219b0
mov esi, eax
test esi, esi
jl 0x10024515
mov dword [ebp - 0x2230], 0
cmp word [edi], 0x7b
jne 0x10024044
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x10024044
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x2228]
mov ecx, dword [ebp - 0x221c]
push 0
push edx
push eax
push edi
call fcn.10023e90
mov esi, eax
test esi, esi
jl 0x1002456f
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
cmp word [edi], 0x7d
jne 0x10023f10
jmp 0x1002456f
mov dword [ebp - 0x2230], esi
jmp 0x1002405d
xor esi, esi
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1002408b
mov ecx, dword [ebp - 0x221c]
push edi
mov dword [ebp - 0x2238], eax
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
xor esi, esi
push 0x100d1e9c
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100241bc
lea ecx, [ebp - 0x2218]
push ecx
mov ecx, dword [ebp - 0x221c]
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
cmp word [edi], 0x3d
jne 0x10024503
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
je 0x10024136
mov edx, dword [ebp - 0x222c]
push edi
lea eax, [ebp - 0x2218]
push eax
lea ecx, [ebp - 0x224c]
push ecx
mov ecx, dword [ebp - 0x221c]
mov byte [ebp - 4], 1
mov dword [ebp - 0x224c], edx
mov dword [ebp - 0x2248], ebx
call fcn.10023b10
mov esi, eax
cmp esi, ebx
mov dword [ebp - 0x224c], ebx
mov dword [ebp - 0x2248], ebx
jl 0x1002451d
mov byte [ebp - 4], bl
mov dword [ebp - 0x2248], ebx
jmp 0x10023ff9
cmp dword [ebp + 0x14], ebx
jne 0x100241a7
cmp dword [ebp - 0x2238], ebx
je 0x100241a7
mov edx, dword [ebp - 0x222c]
push 0x20006
push ebx
push edx
lea ecx, [ebp - 0x2240]
mov dword [ebp - 0x2240], ebx
mov dword [ebp - 0x223c], ebx
call fcn.10021370
cmp eax, ebx
jne 0x10024535
mov esi, dword [ebp - 0x2240]
lea eax, [ebp - 0x2218]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, ebx
je 0x10024190
cmp eax, 2
jne 0x10024535
cmp esi, ebx
je 0x100241a1
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2240], ebx
mov dword [ebp - 0x223c], ebx
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.100219b0
mov esi, eax
cmp esi, ebx
jmp 0x1002403e
push 0x5c
push edi
call fcn.100216f0
add esp, 8
test eax, eax
jne 0x10024503
cmp dword [ebp + 0x10], esi
je 0x100242e0
mov ebx, dword [ebp - 0x222c]
lea ecx, [ebp - 0x2220]
push ecx
push 0x2001f
push esi
push edi
push ebx
mov dword [ebp - 0x2220], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10024226
mov ecx, dword [ebp - 0x2228]
xor eax, eax
cmp ecx, esi
je 0x10024210
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x2220]
mov dword [ebp - 0x2228], edx
mov dword [ebp - 0x2224], esi
cmp eax, esi
je 0x1002429c
push 0x20019
push edi
push ebx
lea ecx, [ebp - 0x2228]
call fcn.10021370
test eax, eax
je 0x1002429c
lea eax, [ebp - 0x225c]
push eax
lea ecx, [ebp - 0x2220]
push ecx
push esi
push 0x2001f
push esi
push esi
push esi
push edi
mov edx, ebx
push edx
mov dword [ebp - 0x2220], esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebx, eax
cmp ebx, esi
jne 0x10024543
mov ecx, dword [ebp - 0x2228]
xor eax, eax
cmp ecx, esi
je 0x10024280
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2220]
mov ebx, eax
mov dword [ebp - 0x2228], ecx
mov dword [ebp - 0x2224], esi
cmp eax, esi
jne 0x10024543
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
cmp word [edi], 0x3d
jne 0x10023ff9
mov ecx, dword [ebp - 0x221c]
push edi
push 0
lea edx, [ebp - 0x2228]
push edx
call fcn.10023b10
mov esi, eax
test esi, esi
jl 0x1002456f
jmp 0x10023ff9
cmp dword [ebp + 0x14], esi
jne 0x100243e0
mov eax, dword [ebp - 0x222c]
push 0x20019
push edi
push eax
lea ecx, [ebp - 0x2228]
call fcn.10021370
mov ebx, eax
mov dword [ebp - 0x2220], ebx
cmp ebx, esi
je 0x10024314
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea ecx, [ebp - 0x218]
push 0x104
push ecx
call fcn.1002efaa
push eax
call fcn.10020180
mov ecx, dword [ebp - 0x221c]
add esp, 0x14
push edi
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.100219b0
mov esi, eax
test esi, esi
jl 0x1002456f
cmp word [edi], 0x7b
jne 0x100243b2
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x100243b2
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x2228]
mov ecx, dword [ebp - 0x221c]
push ebx
push 0
push edx
push edi
call fcn.10023e90
mov esi, eax
test esi, esi
jge 0x10024396
test ebx, ebx
je 0x1002456f
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.100217a0
mov esi, eax
test esi, esi
jl 0x1002456f
mov ebx, dword [ebp - 0x2220]
mov eax, dword [ebp - 0x2244]
mov dword [ebp + 0x14], eax
cmp ebx, 2
je 0x10024044
test ebx, ebx
je 0x100243f5
test eax, eax
jne 0x10024044
push ebx
call fcn.10020d60
add esp, 4
mov esi, eax
jmp 0x1002456f
mov dword [ebp - 0x2220], 2
mov ebx, dword [ebp - 0x2220]
jmp 0x1002430d
mov ebx, dword [ebp - 0x2228]
test eax, eax
je 0x1002444d
mov ecx, dword [ebp - 0x221c]
push ebx
call fcn.10021960
test eax, eax
je 0x1002444d
lea ecx, [ebp - 0x218]
push ecx
mov ecx, dword [ebp - 0x221c]
call fcn.10021920
test eax, eax
je 0x10024044
cmp dword [ebp - 0x2238], 0
je 0x10024044
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x2228]
call fcn.10021c70
jmp 0x10024044
mov ecx, dword [ebp - 0x221c]
push ebx
call fcn.10021960
mov dword [ebp - 0x2258], eax
mov dword [ebp - 0x2220], 0
test ebx, ebx
je 0x10024484
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2220], eax
mov dword [ebp - 0x2228], 0
mov ebx, dword [ebp - 0x2220]
mov dword [ebp - 0x2224], 0
test ebx, ebx
jne 0x10024543
cmp dword [ebp - 0x2238], ebx
je 0x10024044
cmp dword [ebp - 0x2258], ebx
jne 0x10024044
mov eax, dword [ebp - 0x222c]
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x2254]
mov dword [ebp - 0x2254], eax
mov dword [ebp - 0x2250], ebx
call fcn.100212d0
mov dword [ebp - 0x2254], ebx
mov dword [ebp - 0x2250], ebx
cmp eax, ebx
jne 0x10024559
lea ecx, [ebp - 0x2254]
call fcn.10021c50
jmp 0x10024044
lea ecx, [ebp - 0x2234]
call fcn.10021c50
lea ecx, [ebp - 0x2228]
call fcn.10021c50
mov eax, 0x80020009
jmp 0x10024582
lea ecx, [ebp - 0x2234]
jmp 0x1002456a
lea ecx, [ebp - 0x224c]
call fcn.10021c50
lea ecx, [ebp - 0x2228]
call fcn.10021c50
jmp 0x10024580
push eax
call fcn.10020d60
lea ecx, [ebp - 0x2240]
jmp 0x10024565
lea ecx, [ebp - 0x2228]
call fcn.10021c50
push ebx
call fcn.10020d60
add esp, 4
jmp 0x10024582
push eax
call fcn.10020d60
lea ecx, [ebp - 0x2254]
add esp, 4
mov esi, eax
call fcn.10021c50
mov eax, dword [ebp - 0x2228]
test eax, eax
je 0x10024580
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.1002e502
mov esp, ebp
pop ebp
ret 0x10