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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x2224
call fcn.00411560
mov eax, dword [0x4150f0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x2218], 0
push ebx
push esi
mov dword [ebp - 0x2220], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2210], ecx
mov dword [ebp - 0x2224], eax
jmp 0x40eb86
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x408424
push edi
mov dword [ebp - 0x221c], 1
call esi
mov ebx, eax
neg ebx
push 0x408448
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x40e705
test ebx, ebx
je 0x40e7b6
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cbf1
mov esi, eax
test esi, esi
jl 0x40ebfa
cmp dword [ebp + 0x10], 0
je 0x40e7b6
and dword [ebp - 0x2214], 0
push 0x5c
push edi
call fcn.0040cb65
test eax, eax
jne 0x40eb9e
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040ccfb
test eax, eax
je 0x40e76b
mov eax, dword [ebp - 0x2220]
push edi
lea ecx, [ebp - 0x2214]
mov dword [ebp - 0x2214], eax
call fcn.0040d152
and dword [ebp - 0x2214], 0
test ebx, ebx
je 0x40e7ab
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cbf1
mov esi, eax
test esi, esi
jl 0x40ebb0
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cd6d
lea ecx, [ebp - 0x2214]
mov esi, eax
call fcn.0040c7e0
test esi, esi
jl 0x40ebfa
jmp 0x40eb4b
lea ecx, [ebp - 0x2214]
call fcn.0040c7e0
push 0x408434
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x40e7e2
mov ecx, dword [ebp - 0x2210]
and dword [ebp - 0x221c], eax
push edi
call fcn.0040cbf1
mov esi, eax
test esi, esi
jl 0x40ebfa
push 0x408460
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x40e8eb
mov ecx, dword [ebp - 0x2210]
lea eax, [ebp - 0x220c]
push eax
call fcn.0040cbf1
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jl 0x40ebfa
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cbf1
mov esi, eax
cmp esi, ebx
jl 0x40ebfa
cmp word [edi], 0x3d
jne 0x40eba9
cmp dword [ebp + 0x10], ebx
je 0x40e879
mov eax, dword [ebp - 0x2220]
mov ecx, dword [ebp - 0x2210]
mov dword [ebp - 0x221c], eax
push edi
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x221c]
push eax
call fcn.0040e39d
lea ecx, [ebp - 0x221c]
mov esi, eax
mov dword [ebp - 0x221c], ebx
call fcn.0040c7e0
cmp esi, ebx
jmp 0x40e7a0
cmp dword [ebp + 0x14], ebx
jne 0x40e8d6
cmp dword [ebp - 0x221c], ebx
je 0x40e8d6
push 0x20006
push ebx
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x2214]
mov dword [ebp - 0x2214], ebx
call fcn.0040c853
cmp eax, ebx
jne 0x40ebb8
lea eax, [ebp - 0x220c]
push eax
push dword [ebp - 0x2214]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, ebx
je 0x40e8cb
cmp eax, 2
jne 0x40ebb8
lea ecx, [ebp - 0x2214]
call fcn.0040c7e0
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cd6d
mov esi, eax
cmp esi, ebx
jmp 0x40eb90
push 0x5c
push edi
call fcn.0040cb65
test eax, eax
jne 0x40eba9
cmp dword [ebp + 0x10], eax
je 0x40e99a
mov esi, 0x2001f
push esi
push edi
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x2218]
call fcn.0040c853
test eax, eax
je 0x40e95e
push 0x20019
push edi
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x2218]
call fcn.0040c853
test eax, eax
je 0x40e95e
xor ebx, ebx
push ebx
push ebx
push esi
push ebx
push ebx
push edi
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x2218]
call fcn.0040c7fe
mov esi, eax
cmp esi, ebx
jne 0x40ebc6
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cbf1
mov esi, eax
test esi, esi
jl 0x40ebfa
cmp word [edi], 0x3d
jne 0x40eb4b
mov ecx, dword [ebp - 0x2210]
push edi
push 0
lea eax, [ebp - 0x2218]
push eax
call fcn.0040e39d
mov esi, eax
jmp 0x40e79e
cmp dword [ebp + 0x14], 0
jne 0x40e9bb
push 0x20019
push edi
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x2218]
call fcn.0040c853
mov ebx, eax
jmp 0x40e9be
push 2
pop ebx
test ebx, ebx
je 0x40e9c9
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x20c]
push 0x104
push eax
call sub.msvcrt.dll_wcsncpy_s
add esp, 0x10
push eax
call fcn.0040c630
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cbf1
mov esi, eax
test esi, esi
jl 0x40ebfa
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cd6d
mov esi, eax
test esi, esi
jl 0x40ebfa
cmp word [edi], 0x7b
jne 0x40ea61
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x40ea61
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2210]
push 0
push dword [ebp - 0x2218]
push edi
call fcn.0040e68f
mov esi, eax
test esi, esi
jge 0x40ea4b
cmp dword [ebp + 0x14], 0
je 0x40ebfa
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cbf1
mov esi, eax
test esi, esi
jl 0x40ebfa
cmp ebx, 2
mov eax, dword [ebp - 0x2224]
mov dword [ebp + 0x14], eax
je 0x40eb92
test ebx, ebx
je 0x40ea8c
test eax, eax
jne 0x40eb92
push ebx
call fcn.0040c731
mov esi, eax
jmp 0x40ebfa
test eax, eax
je 0x40eae3
push dword [ebp - 0x2218]
mov ecx, dword [ebp - 0x2210]
call fcn.0040cd31
test eax, eax
je 0x40eae3
mov ecx, dword [ebp - 0x2210]
lea eax, [ebp - 0x20c]
push eax
call fcn.0040ccfb
test eax, eax
je 0x40eb92
cmp dword [ebp - 0x221c], 0
je 0x40eb92
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x2218]
call fcn.0040d152
jmp 0x40eb92
push dword [ebp - 0x2218]
mov ecx, dword [ebp - 0x2210]
call fcn.0040cd31
lea ecx, [ebp - 0x2218]
mov dword [ebp - 0x2214], eax
call fcn.0040c7e0
mov ebx, eax
test ebx, ebx
jne 0x40ebd9
cmp dword [ebp - 0x221c], eax
je 0x40eb92
cmp dword [ebp - 0x2214], eax
jne 0x40eb92
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x2220]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
and dword [ebp - 0x221c], ebx
test eax, eax
jne 0x40ebe7
lea ecx, [ebp - 0x221c]
call fcn.0040c7e0
cmp dword [ebp + 0x10], 0
je 0x40eb92
cmp word [edi], 0x7b
jne 0x40eb92
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x40eb92
mov ecx, dword [ebp - 0x2210]
push 0
push dword [ebp + 0x10]
push dword [ebp - 0x2218]
push edi
call fcn.0040e68f
mov esi, eax
test esi, esi
jl 0x40ebfa
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.0040cbf1
mov esi, eax
test esi, esi
jl 0x40ebfa
cmp word [edi], 0x7d
jne 0x40e6d2
jmp 0x40ebfa
lea ecx, [ebp - 0x2214]
call fcn.0040c7e0
mov esi, 0x80020009
jmp 0x40ebfa
lea ecx, [ebp - 0x2214]
jmp 0x40ebf5
push eax
call fcn.0040c731
lea ecx, [ebp - 0x2214]
jmp 0x40ebf3
lea ecx, [ebp - 0x2218]
call fcn.0040c7e0
push esi
call fcn.0040c731
jmp 0x40ec07
lea ecx, [ebp - 0x2218]
call fcn.0040c7e0
push ebx
jmp 0x40ebd2
push eax
call fcn.0040c731
lea ecx, [ebp - 0x221c]
mov esi, eax
call fcn.0040c7e0
lea ecx, [ebp - 0x2218]
call fcn.0040c7e0
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00411548
leave
ret 0x10