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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1158
call fcn.00415db0
mov eax, dword [0x43db90]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x1110], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x110c], ecx
mov dword [ebp - 0x111c], ebx
mov dword [ebp - 0x1118], ebx
mov dword [ebp - 0x1114], ebx
mov dword [ebp - 0x1148], eax
call fcn.00406387
mov esi, eax
cmp esi, ebx
jl 0x4079ba
jmp 0x407950
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.Delete
push edi
mov dword [ebp - 0x112c], 1
call esi
neg eax
push str.ForceRemove
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x407462
test ebx, ebx
je 0x407539
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.00406387
mov esi, eax
test esi, esi
js 0x4079ba
cmp dword [ebp + 0x10], 0
je 0x407539
xor esi, esi
push 0x5c
push edi
mov dword [ebp - 0x1128], esi
mov dword [ebp - 0x1124], esi
mov dword [ebp - 0x1120], esi
call fcn.0040631a
pop ecx
pop ecx
test eax, eax
jne 0x40795b
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.00406475
test eax, eax
je 0x4074ee
mov eax, dword [ebp - 0x1110]
push edi
lea ecx, [ebp - 0x1128]
mov dword [ebp - 0x1128], eax
mov dword [ebp - 0x1124], esi
mov dword [ebp - 0x1120], esi
call fcn.004066ce
mov dword [ebp - 0x1128], esi
mov dword [ebp - 0x1124], esi
mov dword [ebp - 0x1120], esi
cmp ebx, esi
je 0x40752e
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.00406387
mov esi, eax
test esi, esi
js 0x40796d
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.004064d9
lea ecx, [ebp - 0x1128]
mov esi, eax
call fcn.00406019
test esi, esi
js 0x4079ba
jmp 0x40790a
lea ecx, [ebp - 0x1128]
call fcn.00406019
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x407565
mov ecx, dword [ebp - 0x110c]
and dword [ebp - 0x112c], eax
push edi
call fcn.00406387
mov esi, eax
test esi, esi
js 0x4079ba
push 0x430b68
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x407693
mov ecx, dword [ebp - 0x110c]
lea eax, [ebp - 0x1108]
push eax
call fcn.00406387
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jl 0x4079ba
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.00406387
mov esi, eax
cmp esi, ebx
jl 0x4079ba
cmp byte [edi], 0x3d
jne 0x407966
cmp dword [ebp + 0x10], ebx
je 0x407619
mov eax, dword [ebp - 0x1110]
mov ecx, dword [ebp - 0x110c]
mov dword [ebp - 0x1138], eax
push edi
lea eax, [ebp - 0x1108]
push eax
lea eax, [ebp - 0x1138]
push eax
mov dword [ebp - 0x1134], ebx
mov dword [ebp - 0x1130], ebx
call fcn.00407028
lea ecx, [ebp - 0x1138]
mov esi, eax
mov dword [ebp - 0x1138], ebx
mov dword [ebp - 0x1134], ebx
mov dword [ebp - 0x1130], ebx
call fcn.00406019
cmp esi, ebx
jl 0x4079ba
jmp 0x40790a
cmp dword [ebp + 0x14], ebx
jne 0x407682
cmp dword [ebp - 0x112c], ebx
je 0x407682
push 0x20006
push ebx
push dword [ebp - 0x1110]
lea ecx, [ebp - 0x1144]
mov dword [ebp - 0x1144], ebx
mov dword [ebp - 0x1140], ebx
mov dword [ebp - 0x113c], ebx
call fcn.00406090
cmp eax, ebx
jne 0x407975
lea eax, [ebp - 0x1108]
push eax
push dword [ebp - 0x1144]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp eax, ebx
je 0x407677
cmp eax, 2
jne 0x407975
lea ecx, [ebp - 0x1144]
call fcn.00406019
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.004064d9
jmp 0x407422
push 0x5c
push edi
call fcn.0040631a
pop ecx
pop ecx
test eax, eax
jne 0x407966
cmp dword [ebp + 0x10], eax
je 0x407743
mov esi, 0x2001f
push esi
push edi
push dword [ebp - 0x1110]
lea ecx, [ebp - 0x111c]
call fcn.00406090
test eax, eax
je 0x407708
push 0x20019
push edi
push dword [ebp - 0x1110]
lea ecx, [ebp - 0x111c]
call fcn.00406090
test eax, eax
je 0x407708
xor ebx, ebx
push ebx
push ebx
push esi
push ebx
push ebx
push edi
push dword [ebp - 0x1110]
lea ecx, [ebp - 0x111c]
call fcn.00406034
mov esi, eax
cmp esi, ebx
jne 0x407984
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.00406387
mov esi, eax
test esi, esi
js 0x4079ba
cmp byte [edi], 0x3d
jne 0x40790a
mov ecx, dword [ebp - 0x110c]
push edi
push 0
lea eax, [ebp - 0x111c]
push eax
call fcn.00407028
mov esi, eax
jmp 0x407521
cmp dword [ebp + 0x14], 0
jne 0x407764
push 0x20019
push edi
push dword [ebp - 0x1110]
lea ecx, [ebp - 0x111c]
call fcn.00406090
mov ebx, eax
jmp 0x407767
push 2
pop ebx
test ebx, ebx
je 0x407772
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00415c4c
push eax
call fcn.00401236
mov ecx, dword [ebp - 0x110c]
add esp, 0x14
push edi
call fcn.00406387
mov esi, eax
test esi, esi
js 0x4079ba
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.004064d9
mov esi, eax
test esi, esi
js 0x4079ba
cmp byte [edi], 0x7b
jne 0x407809
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jne 0x407809
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x110c]
push 0
push dword [ebp - 0x111c]
push edi
call fcn.004073d3
mov esi, eax
test esi, esi
jns 0x4077f3
cmp dword [ebp + 0x14], 0
je 0x4079ba
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.00406387
mov esi, eax
test esi, esi
js 0x4079ba
mov eax, dword [ebp - 0x1148]
mov dword [ebp + 0x14], eax
cmp ebx, 2
je 0x407950
test ebx, ebx
je 0x407835
test eax, eax
jne 0x407950
push ebx
call fcn.00405e1d
pop ecx
mov esi, eax
jmp 0x4079ba
test eax, eax
je 0x40788c
push dword [ebp - 0x111c]
mov ecx, dword [ebp - 0x110c]
call fcn.004064a4
test eax, eax
je 0x40788c
mov ecx, dword [ebp - 0x110c]
lea eax, [ebp - 0x108]
push eax
call fcn.00406475
test eax, eax
je 0x407950
cmp dword [ebp - 0x112c], 0
je 0x407950
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x111c]
call fcn.004066ce
jmp 0x407950
push dword [ebp - 0x111c]
mov ecx, dword [ebp - 0x110c]
call fcn.004064a4
lea ecx, [ebp - 0x111c]
mov dword [ebp - 0x114c], eax
call fcn.00406019
mov ebx, eax
test ebx, ebx
jne 0x407998
cmp dword [ebp - 0x112c], eax
je 0x407950
cmp dword [ebp - 0x114c], eax
jne 0x407950
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x1110]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
xor ecx, ecx
mov dword [ebp - 0x1158], ecx
mov dword [ebp - 0x1154], ecx
mov dword [ebp - 0x1150], ecx
cmp eax, ecx
jne 0x4079a6
lea ecx, [ebp - 0x1158]
call fcn.00406019
cmp dword [ebp + 0x10], 0
je 0x407950
cmp byte [edi], 0x7b
jne 0x407950
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jne 0x407950
mov ecx, dword [ebp - 0x110c]
push 0
push dword [ebp + 0x10]
push dword [ebp - 0x111c]
push edi
call fcn.004073d3
mov esi, eax
test esi, esi
js 0x4079ba
mov ecx, dword [ebp - 0x110c]
push edi
call fcn.00406387
mov esi, eax
test esi, esi
js 0x4079ba
cmp byte [edi], 0x7d
jne 0x407431
jmp 0x4079ba
lea ecx, [ebp - 0x1128]
call fcn.00406019
mov esi, 0x80020009
jmp 0x4079ba
lea ecx, [ebp - 0x1128]
jmp 0x4079b5
push eax
call fcn.00405e1d
pop ecx
lea ecx, [ebp - 0x1144]
jmp 0x4079b3
lea ecx, [ebp - 0x111c]
call fcn.00406019
push esi
call fcn.00405e1d
pop ecx
jmp 0x4079c7
lea ecx, [ebp - 0x111c]
call fcn.00406019
push ebx
jmp 0x407990
push eax
call fcn.00405e1d
pop ecx
lea ecx, [ebp - 0x1158]
mov esi, eax
call fcn.00406019
lea ecx, [ebp - 0x111c]
call fcn.00406019
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415106
leave
ret 0x10