Function at 0x45f8a707
Capabilities:
Delete registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45fb83f5
mov eax, dword fs:[0]
push eax
mov eax, 0x114c
call fcn.45fb1440
mov eax, dword [0x46039020]
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 - 0x111c], ecx
mov dword [ebp - 0x1120], eax
mov dword [ebp - 0x1128], esi
mov dword [ebp - 0x1124], esi
mov eax, dword [ebp + 0x14]
mov dword [ebp - 4], esi
mov dword [ebp - 0x114c], eax
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
cmp edi, esi
jge 0x45f8abb2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1128]
call fcn.45e25bf4
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.45fa9e5d
leave
ret 0x10
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push 0x45dcee18
push ebx
mov dword [ebp - 0x1138], 1
call edi
mov esi, eax
neg esi
push 0x45dcee2c
sbb esi, esi
push ebx
inc esi
call edi
test eax, eax
je 0x45f8a7d8
test esi, esi
je 0x45f8a8a3
mov ecx, dword [ebp - 0x111c]
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
xor eax, eax
cmp edi, eax
jl 0x45f8a778
cmp dword [ebp + 0x10], eax
je 0x45f8a8a3
mov dword [ebp - 0x1130], eax
mov dword [ebp - 0x112c], eax
push 0x5c
mov eax, ebx
mov byte [ebp - 4], 1
call fcn.45f89bd0
pop ecx
test eax, eax
jne 0x45f8acde
push ebx
call fcn.45f8a222
test eax, eax
je 0x45f8a84e
mov eax, dword [ebp - 0x1120]
xor edi, edi
push ebx
lea ecx, [ebp - 0x1130]
mov dword [ebp - 0x1130], eax
mov dword [ebp - 0x112c], edi
call fcn.45f88dd3
mov dword [ebp - 0x1130], edi
mov dword [ebp - 0x112c], edi
test esi, esi
je 0x45f8a894
mov ecx, dword [ebp - 0x111c]
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
test edi, edi
jl 0x45f8acf7
mov ecx, dword [ebp - 0x111c]
mov esi, ebx
call fcn.45f8a330
lea ecx, [ebp - 0x1130]
mov edi, eax
mov byte [ebp - 4], 0
call fcn.45e25bf4
test edi, edi
jl 0x45f8a778
jmp 0x45f8ac8f
lea ecx, [ebp - 0x1130]
mov byte [ebp - 4], 0
call fcn.45e25bf4
push 0x45dcee20
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x45f8a8d0
and dword [ebp - 0x1138], eax
mov ecx, dword [ebp - 0x111c]
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
test edi, edi
jl 0x45f8a778
push 0x45dcee38
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x45f8aa0c
mov ecx, dword [ebp - 0x111c]
lea eax, [ebp - 0x1118]
call fcn.45f89c5a
mov edi, eax
xor esi, esi
cmp edi, esi
jl 0x45f8a778
mov ecx, dword [ebp - 0x111c]
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
cmp edi, esi
jl 0x45f8a778
cmp byte [ebx], 0x3d
jne 0x45f8aced
cmp dword [ebp + 0x10], esi
je 0x45f8a98b
mov dword [ebp - 0x1148], esi
mov dword [ebp - 0x1144], esi
mov eax, dword [ebp - 0x1120]
mov ecx, dword [ebp - 0x111c]
mov byte [ebp - 4], 2
mov dword [ebp - 0x1148], eax
push ebx
lea eax, [ebp - 0x1118]
push eax
lea edx, [ebp - 0x1148]
mov dword [ebp - 0x1144], esi
call fcn.45f89d57
mov edi, eax
cmp edi, esi
mov dword [ebp - 0x1148], esi
mov dword [ebp - 0x1144], esi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1148]
jl 0x45f8ad01
call fcn.45e25bf4
jmp 0x45f8ac91
cmp dword [ebp + 0x14], esi
jne 0x45f8a9f6
cmp dword [ebp - 0x1138], esi
je 0x45f8a9f6
mov dword [ebp - 0x1154], esi
mov dword [ebp - 0x1150], esi
push 0x20006
push esi
push dword [ebp - 0x1120]
lea ecx, [ebp - 0x1154]
mov byte [ebp - 4], 3
call fcn.45e751de
cmp eax, esi
jne 0x45f8ad0b
lea eax, [ebp - 0x1118]
push eax
push dword [ebp - 0x1154]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp eax, esi
je 0x45f8a9e7
cmp eax, 2
jne 0x45f8ad0b
lea ecx, [ebp - 0x1154]
mov byte [ebp - 4], 0
call fcn.45e25bf4
mov ecx, dword [ebp - 0x111c]
mov esi, ebx
call fcn.45f8a330
mov edi, eax
test edi, edi
jmp 0x45f8a772
push 0x5c
mov eax, ebx
call fcn.45f89bd0
pop ecx
test eax, eax
jne 0x45f8aced
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x45f8aab4
push 0x2001f
push ebx
push dword [ebp - 0x1120]
lea ecx, [ebp - 0x1128]
call fcn.45e751de
cmp eax, esi
je 0x45f8aa79
push 0x20019
push ebx
push dword [ebp - 0x1120]
lea ecx, [ebp - 0x1128]
call fcn.45e751de
cmp eax, esi
je 0x45f8aa79
push ebx
push dword [ebp - 0x1120]
lea edi, [ebp - 0x1128]
call fcn.45f88d44
test eax, eax
jne 0x45f8ad1a
mov ecx, dword [ebp - 0x111c]
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
test edi, edi
jl 0x45f8a778
cmp byte [ebx], 0x3d
jne 0x45f8ac8f
mov ecx, dword [ebp - 0x111c]
push ebx
push 0
lea edx, [ebp - 0x1128]
call fcn.45f89d57
mov edi, eax
jmp 0x45f8a887
cmp dword [ebp + 0x14], esi
jne 0x45f8aad8
push 0x20019
push ebx
push dword [ebp - 0x1120]
lea ecx, [ebp - 0x1128]
call fcn.45e751de
mov dword [ebp - 0x1134], eax
jmp 0x45f8aae2
mov dword [ebp - 0x1134], 2
cmp dword [ebp - 0x1134], esi
je 0x45f8aaf1
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x118]
push 0x104
push eax
call dword [0x45db1344]
push eax
call fcn.45e27001
mov ecx, dword [ebp - 0x111c]
add esp, 0x14
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
test edi, edi
jl 0x45f8a778
mov ecx, dword [ebp - 0x111c]
mov esi, ebx
call fcn.45f8a330
mov edi, eax
test edi, edi
jl 0x45f8a778
cmp byte [ebx], 0x7b
jne 0x45f8ab8c
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jne 0x45f8ab8c
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x111c]
push 0
push dword [ebp - 0x1128]
push ebx
call fcn.45f8a707
mov edi, eax
test edi, edi
jge 0x45f8ab75
cmp dword [ebp + 0x14], 0
je 0x45f8a778
mov ecx, dword [ebp - 0x111c]
mov eax, ebx
call fcn.45f89c5a
mov edi, eax
test edi, edi
jl 0x45f8a778
mov eax, dword [ebp - 0x114c]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x1134]
cmp eax, 2
je 0x45f8abb2
xor esi, esi
cmp eax, esi
je 0x45f8abc0
cmp dword [ebp - 0x114c], esi
je 0x45f8ad1a
cmp byte [ebx], 0x7d
jne 0x45f8a7a5
jmp 0x45f8a778
cmp dword [ebp - 0x114c], esi
je 0x45f8ac03
push dword [ebp - 0x1128]
call fcn.45f8a258
test eax, eax
je 0x45f8ac03
lea eax, [ebp - 0x118]
push eax
call fcn.45f8a222
test eax, eax
je 0x45f8abb2
cmp dword [ebp - 0x1138], esi
je 0x45f8abb2
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x1128]
call fcn.45f88dd3
jmp 0x45f8abb2
push dword [ebp - 0x1128]
call fcn.45f8a258
lea ecx, [ebp - 0x1128]
mov dword [ebp - 0x1134], eax
call fcn.45e25bf4
cmp eax, esi
jne 0x45f8ad1a
cmp dword [ebp - 0x1138], esi
je 0x45f8abb2
cmp dword [ebp - 0x1134], esi
jne 0x45f8abb2
mov dword [ebp - 0x1140], esi
mov dword [ebp - 0x113c], esi
mov eax, dword [ebp - 0x1120]
mov byte [ebp - 4], 4
mov dword [ebp - 0x1140], eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x113c], esi
push eax
lea esi, [ebp - 0x1140]
call fcn.45e75226
and dword [ebp - 0x1140], 0
and dword [ebp - 0x113c], 0
test eax, eax
jne 0x45f8ad26
mov ecx, esi
mov byte [ebp - 4], al
call fcn.45e25bf4
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x45f8abb2
cmp byte [ebx], 0x7b
jne 0x45f8abb2
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jne 0x45f8abb2
mov ecx, dword [ebp - 0x111c]
push esi
push dword [ebp + 0x10]
push dword [ebp - 0x1128]
push ebx
call fcn.45f8a707
mov edi, eax
cmp edi, esi
jl 0x45f8a778
mov ecx, dword [ebp - 0x111c]
jmp 0x45f8a767
lea ecx, [ebp - 0x1130]
mov byte [ebp - 4], 0
call fcn.45e25bf4
mov edi, 0x80020009
jmp 0x45f8a778
lea ecx, [ebp - 0x1130]
mov byte [ebp - 4], 0
call fcn.45e25bf4
jmp 0x45f8a778
call fcn.45f88b86
mov edi, eax
lea ecx, [ebp - 0x1154]
jmp 0x45f8acfd
call fcn.45f88b86
mov edi, eax
jmp 0x45f8a778
call fcn.45f88b86
mov edi, eax
lea ecx, [ebp - 0x1140]
jmp 0x45f8acfd