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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x4566b4]
and dword [ebp - 0x114], 0
and dword [ebp - 0x11c], 0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov dword [ebp - 0x118], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x124], eax
jmp 0x4148c8
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringA]
push 0xffffffffffffffff
push 0x4017a8
push 0xffffffffffffffff
push edi
push 1
push 0x7f
call esi
push 0xffffffffffffffff
push 0x4017bc
mov ebx, eax
dec ebx
push 0xffffffffffffffff
dec ebx
push edi
neg ebx
push 1
sbb ebx, ebx
push 0x7f
inc ebx
call esi
dec eax
dec eax
je 0x414445
test ebx, ebx
je 0x4144ee
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x4148ef
cmp dword [ebp + 0x10], 0
je 0x4144ee
and dword [ebp - 0x10c], 0
push 0x5c
push edi
call fcn.00412912
test eax, eax
jne 0x4148df
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412d57
test eax, eax
je 0x4144ab
mov eax, dword [ebp - 0x118]
push edi
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
call fcn.00413fff
and dword [ebp - 0x10c], 0
test ebx, ebx
je 0x4144e3
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x414921
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412eaf
lea ecx, [ebp - 0x10c]
mov esi, eax
call fcn.00411e39
jmp 0x41488a
lea ecx, [ebp - 0x10c]
call fcn.00411e39
push 0xffffffffffffffff
push 0x4017b0
push 0xffffffffffffffff
push edi
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringA]
dec eax
dec eax
jne 0x414523
mov ecx, dword [ebp - 0x110]
and dword [ebp - 0x120], 0
push edi
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x4148ef
push 0xffffffffffffffff
push 0x4017c8
push 0xffffffffffffffff
push edi
xor ebx, ebx
inc ebx
push ebx
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringA]
dec eax
dec eax
jne 0x41462d
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x108]
push eax
call fcn.00412992
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jl 0x4148ef
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412992
mov esi, eax
cmp esi, ebx
jl 0x4148ef
cmp byte [edi], 0x3d
jne 0x4148ea
cmp dword [ebp + 0x10], ebx
je 0x4145c3
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], eax
push edi
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.00412ae5
lea ecx, [ebp - 0x10c]
mov esi, eax
mov dword [ebp - 0x10c], ebx
call fcn.00411e39
cmp esi, ebx
jmp 0x41488c
cmp dword [ebp + 0x14], ebx
jne 0x414618
push 0x20006
push ebx
push dword [ebp - 0x118]
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], ebx
call fcn.00411eac
cmp eax, ebx
jne 0x414913
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x10c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp eax, ebx
je 0x41460d
cmp eax, 2
jne 0x414911
lea ecx, [ebp - 0x10c]
call fcn.00411e39
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412eaf
mov esi, eax
cmp esi, ebx
jmp 0x4148d2
push 0x5c
push edi
call fcn.00412912
test eax, eax
jne 0x4148ea
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x4146d9
mov esi, 0xf003f
push esi
push edi
push dword [ebp - 0x118]
lea ecx, [ebp - 0x114]
call fcn.00411eac
test eax, eax
je 0x4146a0
push 0x20019
push edi
push dword [ebp - 0x118]
lea ecx, [ebp - 0x114]
call fcn.00411eac
test eax, eax
je 0x4146a0
xor eax, eax
push eax
push eax
push esi
push eax
push eax
push edi
push dword [ebp - 0x118]
lea ecx, [ebp - 0x114]
call fcn.00411e57
test eax, eax
jne 0x4148ea
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x4148ef
cmp byte [edi], 0x3d
jne 0x41488e
mov ecx, dword [ebp - 0x110]
push edi
push 0
lea eax, [ebp - 0x114]
push eax
call fcn.00412ae5
jmp 0x414888
cmp dword [ebp + 0x14], esi
jne 0x4146fc
push 0x20019
push edi
push dword [ebp - 0x118]
lea ecx, [ebp - 0x114]
call fcn.00411eac
test eax, eax
je 0x4146fc
mov dword [ebp + 0x14], ebx
cmp dword [ebp - 0x11c], esi
jne 0x414714
mov eax, 0x104
call fcn.0044d880
mov dword [ebp - 0x11c], esp
push 0x104
push edi
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
cmp dword [ebp + 0x14], esi
jne 0x414759
push dword [ebp - 0x114]
mov ecx, dword [ebp - 0x110]
call fcn.00412d95
test eax, eax
jne 0x414759
push dword [ebp - 0x114]
mov ecx, dword [ebp - 0x110]
call fcn.00412dd1
test eax, eax
je 0x41482b
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x4148ef
mov ebx, dword [ebp - 0x110]
push edi
mov ecx, ebx
call fcn.00412eaf
mov esi, eax
test esi, esi
jl 0x4148ef
cmp byte [edi], 0x7b
jne 0x4147d7
push dword [ebp + 0x14]
mov ecx, ebx
push 0
push dword [ebp - 0x114]
push edi
call fcn.004143bc
mov esi, eax
test esi, esi
jl 0x4148ef
cmp dword [ebp + 0x14], 0
je 0x4147e7
mov eax, dword [ebp - 0x124]
push edi
mov ecx, ebx
mov dword [ebp + 0x14], eax
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x4148ef
push edi
mov ecx, ebx
call fcn.00412eaf
jmp 0x4148ce
cmp dword [ebp + 0x14], 0
jne 0x4148d4
mov ebx, dword [ebp - 0x110]
push dword [ebp - 0x114]
mov ecx, ebx
call fcn.00412d95
test eax, eax
je 0x414821
push dword [ebp - 0x11c]
mov ecx, ebx
call fcn.00412d57
test eax, eax
je 0x41481a
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x114]
call fcn.00413fff
mov ecx, ebx
jmp 0x4148c8
cmp dword [ebp + 0x14], 0
jne 0x4148d4
lea ecx, [ebp - 0x114]
call fcn.00411e39
test eax, eax
jne 0x4148ea
cmp dword [ebp - 0x120], eax
je 0x41486a
push dword [ebp - 0x11c]
push dword [ebp - 0x118]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
and dword [ebp - 0x10c], 0
lea ecx, [ebp - 0x10c]
call fcn.00411e39
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x4148ef
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412eaf
mov esi, eax
test esi, esi
jl 0x4148ef
cmp dword [ebp + 0x10], 0
je 0x4148d4
cmp byte [edi], 0x7b
jne 0x4148d4
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jne 0x4148d4
mov ecx, dword [ebp - 0x110]
push 0
push dword [ebp + 0x10]
push dword [ebp - 0x114]
push edi
call fcn.004143bc
mov esi, eax
test esi, esi
jl 0x4148ef
mov ecx, dword [ebp - 0x110]
push edi
call fcn.00412992
mov esi, eax
test esi, esi
jl 0x4148ef
cmp byte [edi], 0x7d
jne 0x41440a
jmp 0x4148ef
lea ecx, [ebp - 0x10c]
call fcn.00411e39
mov esi, 0x80020009
lea ecx, [ebp - 0x114]
call fcn.00411e39
mov eax, esi
lea esp, [ebp - 0x130]
mov ecx, dword [ebp - 4]
call fcn.0044d575
pop edi
pop esi
pop ebx
leave
ret 0x10
cmp eax, ebx
jle 0x41491f
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
lea ecx, [ebp - 0x10c]
call fcn.00411e39
jmp 0x4148ef