Function at 0x440230
Capabilities:
Delete registry key
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ecbb
mov eax, dword fs:[0]
push eax
mov eax, 0x224c
call fcn.004957d0
mov eax, dword [0x4c9614]
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 ebx, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x221c], ecx
mov dword [ebp - 0x222c], eax
mov dword [ebp - 0x2224], esi
mov dword [ebp - 0x2220], esi
mov edx, dword [ebp + 0x14]
mov eax, ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x2244], edx
call fcn.004400b0
mov edi, eax
cmp edi, esi
jl 0x44092c
cmp word [ebx], 0x7d
je 0x44092a
lea esp, [esp]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str.Delete
push ebx
mov dword [ebp - 0x2228], 1
call edi
mov esi, eax
neg esi
push str.ForceRemove
sbb esi, esi
push ebx
inc esi
call edi
test eax, eax
je 0x4402e3
test esi, esi
je 0x4403fa
mov ecx, dword [ebp - 0x221c]
mov eax, ebx
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
xor edi, edi
cmp dword [ebp + 0x10], edi
je 0x4403fc
push 0x5c
mov eax, ebx
mov dword [ebp - 0x2238], edi
mov dword [ebp - 0x2234], edi
call fcn.0043f770
add esp, 4
test eax, eax
jne 0x440891
push ebx
call fcn.0043fe50
test eax, eax
je 0x440359
mov eax, dword [ebp - 0x222c]
push ebx
lea ecx, [ebp - 0x2238]
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], edi
call fcn.0043fe90
mov dword [ebp - 0x2238], edi
mov dword [ebp - 0x2234], edi
cmp esi, edi
je 0x4403f2
mov esi, dword [ebp - 0x221c]
mov eax, ebx
mov ecx, esi
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x4408ae
mov edi, ebx
mov ecx, esi
call fcn.0043fdf0
mov edi, eax
test edi, edi
jl 0x4408ae
mov dword [ebp - 0x2234], 0
cmp word [ebx], 0x7b
jne 0x4403e3
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x4403e3
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x2224]
push 0
push eax
push ecx
mov ecx, dword [ebp - 0x221c]
push ebx
call fcn.00440230
mov edi, eax
test edi, edi
jl 0x440919
mov ecx, dword [ebp - 0x221c]
mov eax, ebx
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
cmp word [ebx], 0x7d
jne 0x4402b0
jmp 0x440919
mov dword [ebp - 0x2234], edi
jmp 0x4403fc
xor edi, edi
push str.NoRemove
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x44042b
mov ecx, dword [ebp - 0x221c]
mov dword [ebp - 0x2228], eax
mov eax, ebx
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
xor edi, edi
push 0x4b2590
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x44055a
mov ecx, dword [ebp - 0x221c]
lea eax, [ebp - 0x2218]
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
mov ecx, dword [ebp - 0x221c]
mov eax, ebx
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
cmp word [ebx], 0x3d
jne 0x44089c
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x4404ce
mov ecx, dword [ebp - 0x222c]
push ebx
lea edx, [ebp - 0x224c]
mov dword [ebp - 0x224c], ecx
mov ecx, dword [ebp - 0x221c]
push edx
lea edx, [ebp - 0x2218]
mov dword [ebp - 0x2248], esi
call fcn.0043faa0
mov edi, eax
cmp edi, esi
mov dword [ebp - 0x224c], esi
mov dword [ebp - 0x2248], esi
jl 0x4408b6
mov dword [ebp - 0x2248], esi
jmp 0x440397
cmp dword [ebp + 0x14], esi
jne 0x440544
cmp dword [ebp - 0x2228], esi
je 0x440544
mov eax, dword [ebp - 0x222c]
xor edi, edi
push eax
mov ecx, 0x20006
xor edx, edx
lea esi, [ebp - 0x2240]
mov dword [ebp - 0x2240], edi
mov dword [ebp - 0x223c], edi
call fcn.0040ba40
cmp eax, edi
jne 0x4408ce
mov esi, dword [ebp - 0x2240]
lea ecx, [ebp - 0x2218]
push ecx
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, edi
je 0x44052b
cmp eax, 2
jne 0x4408ce
cmp esi, edi
je 0x44053c
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2240], edi
mov dword [ebp - 0x223c], edi
xor esi, esi
mov ecx, dword [ebp - 0x221c]
mov edi, ebx
call fcn.0043fdf0
mov edi, eax
cmp edi, esi
jmp 0x4403dd
push 0x5c
mov eax, ebx
call fcn.0043f770
add esp, 4
test eax, eax
jne 0x44089c
cmp dword [ebp + 0x10], edi
je 0x440678
mov eax, dword [ebp - 0x222c]
lea edx, [ebp - 0x2228]
push edx
push 0x2001f
push edi
push ebx
push eax
mov dword [ebp - 0x2228], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, edi
jne 0x4405c7
mov ecx, dword [ebp - 0x2224]
xor eax, eax
cmp ecx, edi
je 0x4405af
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2228]
mov dword [ebp - 0x2220], edi
mov dword [ebp - 0x2224], ecx
cmp eax, edi
je 0x440633
xor edi, edi
mov eax, dword [ebp - 0x222c]
lea edx, [ebp - 0x2228]
push edx
push 0x20019
push edi
push ebx
push eax
mov dword [ebp - 0x2228], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, edi
jne 0x440615
mov ecx, dword [ebp - 0x2224]
xor eax, eax
cmp ecx, edi
je 0x4405ff
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2228]
mov dword [ebp - 0x2220], edi
mov dword [ebp - 0x2224], ecx
cmp eax, edi
je 0x440633
mov edx, dword [ebp - 0x222c]
push edx
mov edx, ebx
lea esi, [ebp - 0x2224]
call fcn.0043f7c0
mov edi, eax
test edi, edi
jne 0x4408db
mov ecx, dword [ebp - 0x221c]
mov eax, ebx
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
cmp word [ebx], 0x3d
jne 0x440397
mov ecx, dword [ebp - 0x221c]
push ebx
lea eax, [ebp - 0x2224]
push eax
xor edx, edx
call fcn.0043faa0
mov edi, eax
test edi, edi
jl 0x440919
jmp 0x440397
cmp dword [ebp + 0x14], edi
jne 0x4407a1
mov edx, dword [ebp - 0x222c]
lea ecx, [ebp - 0x2230]
push ecx
push 0x20019
push edi
push ebx
push edx
mov dword [ebp - 0x2230], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, edi
jne 0x4406cb
mov ecx, dword [ebp - 0x2224]
xor eax, eax
cmp ecx, edi
je 0x4406b9
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2230]
mov dword [ebp - 0x2220], edi
mov dword [ebp - 0x2224], ecx
mov dword [ebp - 0x2230], eax
cmp eax, edi
je 0x4406dc
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x218]
push 0x104
push edx
call fcn.0047f500
mov ecx, dword [ebp - 0x221c]
add esp, 0x10
mov eax, ebx
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
mov ecx, dword [ebp - 0x221c]
mov edi, ebx
call fcn.0043fdf0
mov edi, eax
test edi, edi
jl 0x440919
cmp word [ebx], 0x7b
jne 0x440771
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x440771
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp - 0x2224]
mov ecx, dword [ebp - 0x221c]
push esi
push 0
push eax
push ebx
call fcn.00440230
mov edi, eax
test edi, edi
jge 0x44075a
test esi, esi
je 0x440919
mov ecx, dword [ebp - 0x221c]
mov eax, ebx
call fcn.004400b0
mov edi, eax
test edi, edi
jl 0x440919
mov eax, dword [ebp - 0x2230]
mov ecx, dword [ebp - 0x2244]
mov dword [ebp + 0x14], ecx
cmp eax, 2
je 0x4403e3
test eax, eax
je 0x4407b0
test ecx, ecx
jne 0x4403e3
call fcn.00440070
mov edi, eax
jmp 0x440919
mov dword [ebp - 0x2230], 2
jmp 0x4406d5
mov esi, dword [ebp - 0x2224]
test ecx, ecx
je 0x4407fd
mov ecx, esi
call fcn.00440020
test eax, eax
je 0x4407fd
lea edx, [ebp - 0x218]
push edx
call fcn.0043fe50
test eax, eax
je 0x4403e3
cmp dword [ebp - 0x2228], 0
je 0x4403e3
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2224]
call fcn.0043fe90
jmp 0x4403e3
mov ecx, esi
call fcn.00440020
mov dword [ebp - 0x2258], eax
xor eax, eax
mov dword [ebp - 0x2230], eax
test esi, esi
je 0x44082d
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2230], eax
mov dword [ebp - 0x2224], 0
mov dword [ebp - 0x2220], 0
test eax, eax
jne 0x4408ef
cmp dword [ebp - 0x2228], eax
je 0x4403e3
cmp dword [ebp - 0x2258], eax
jne 0x4403e3
mov edx, dword [ebp - 0x222c]
lea ecx, [ebp - 0x218]
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
xor ecx, ecx
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
cmp eax, ecx
jne 0x440907
lea esi, [ebp - 0x2254]
call fcn.00463230
jmp 0x4403e3
lea esi, [ebp - 0x2238]
call fcn.00463230
lea esi, [ebp - 0x2224]
call fcn.00463230
mov eax, 0x80020009
jmp 0x44092c
lea esi, [ebp - 0x2238]
jmp 0x440914
lea esi, [ebp - 0x224c]
call fcn.00463230
lea esi, [ebp - 0x2224]
call fcn.00463230
jmp 0x44092a
call fcn.00440070
lea esi, [ebp - 0x2240]
jmp 0x440912
lea esi, [ebp - 0x2224]
call fcn.00463230
mov eax, edi
call fcn.00440070
jmp 0x44092c
lea esi, [ebp - 0x2224]
call fcn.00463230
mov eax, dword [ebp - 0x2230]
call fcn.00440070
jmp 0x44092c
call fcn.00440070
lea esi, [ebp - 0x2254]
mov edi, eax
call fcn.00463230
mov eax, dword [ebp - 0x2224]
test eax, eax
je 0x44092a
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
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.0047e6eb
mov esp, ebp
pop ebp
ret 0x10