Function at 0x43308f
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46d4bc
mov eax, dword fs:[0]
push eax
mov eax, 0x2258
call fcn.004445a0
mov eax, dword [0x49e850]
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 ebx, ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2220], eax
xor eax, eax
mov dword [ebp - 0x222c], eax
mov dword [ebp - 0x2228], eax
mov dword [ebp - 0x2224], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x2264], eax
push edi
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
push 0x7d
pop eax
cmp word [edi], ax
je 0x43367d
xor eax, eax
push str.Delete
inc eax
push edi
mov dword [ebp - 0x223c], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
sbb esi, esi
push 0x485098
inc esi
push edi
mov dword [ebp - 0x221c], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x433145
test esi, esi
je 0x43321d
push edi
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
cmp dword [ebp + 0x10], 0
je 0x43321d
xor eax, eax
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], eax
mov dword [ebp - 0x2230], eax
inc eax
mov byte [ebp - 4], al
push 0x5c
push edi
call fcn.004338fa
pop ecx
pop ecx
test eax, eax
jne 0x433669
push edi
mov ecx, ebx
call fcn.0043251f
test eax, eax
je 0x4331d2
mov eax, dword [ebp - 0x2220]
and dword [ebp - 0x2234], 0
and dword [ebp - 0x2230], 0
push edi
lea ecx, [ebp - 0x2238]
mov dword [ebp - 0x2238], eax
call fcn.00432cc3
and dword [ebp - 0x2238], 0
and dword [ebp - 0x2234], 0
and dword [ebp - 0x2230], 0
cmp dword [ebp - 0x221c], 0
je 0x43320e
push edi
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43365d
push edi
mov ecx, ebx
call fcn.0043384f
mov esi, eax
test esi, esi
js 0x43365d
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2238]
jmp 0x433614
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2238]
call fcn.004013e0
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x433245
and dword [ebp - 0x223c], eax
push edi
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
push 0x485090
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x433389
lea eax, [ebp - 0x2218]
push eax
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
push edi
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
push 0x3d
pop eax
cmp word [edi], ax
jne 0x433678
cmp dword [ebp + 0x10], 0
je 0x433307
xor ecx, ecx
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
mov dword [ebp - 0x224c], ecx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2220]
mov dword [ebp - 0x2254], eax
push edi
lea eax, [ebp - 0x2218]
push eax
lea eax, [ebp - 0x2254]
mov dword [ebp - 0x2250], ecx
mov dword [ebp - 0x224c], ecx
push eax
mov ecx, ebx
call fcn.00431f39
mov esi, eax
xor eax, eax
mov dword [ebp - 0x2254], eax
mov dword [ebp - 0x2250], eax
mov dword [ebp - 0x224c], eax
test esi, esi
js 0x4336aa
mov byte [ebp - 4], al
lea ecx, [ebp - 0x2254]
jmp 0x433614
cmp dword [ebp + 0x14], 0
jne 0x43337c
cmp dword [ebp - 0x223c], 0
je 0x43337c
xor eax, eax
mov dword [ebp - 0x2260], eax
mov dword [ebp - 0x225c], eax
mov dword [ebp - 0x2258], eax
mov byte [ebp - 4], 3
push 0x20006
push eax
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x2260]
call fcn.00401410
test eax, eax
jne 0x4336b5
lea eax, [ebp - 0x2218]
push eax
push dword [ebp - 0x2260]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x43336d
cmp eax, 2
jne 0x4336b5
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2260]
call fcn.004013e0
push edi
mov ecx, ebx
call fcn.0043384f
jmp 0x4330f7
push 0x5c
push edi
call fcn.004338fa
pop ecx
pop ecx
test eax, eax
jne 0x433678
cmp dword [ebp + 0x10], eax
je 0x433434
mov esi, dword [ebp - 0x2220]
push 0x2001f
push edi
push esi
lea ecx, [ebp - 0x222c]
call fcn.00401410
test eax, eax
je 0x4333f6
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x222c]
call fcn.00401410
test eax, eax
je 0x4333f6
xor eax, eax
push eax
push eax
push 0x2001f
push eax
push eax
push edi
push esi
lea ecx, [ebp - 0x222c]
call fcn.00422417
test eax, eax
jne 0x433516
push edi
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
push 0x3d
pop eax
cmp word [edi], ax
jne 0x433619
push edi
push 0
lea eax, [ebp - 0x222c]
push eax
mov ecx, ebx
call fcn.00431f39
mov esi, eax
test esi, esi
js 0x43367d
jmp 0x433619
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x433454
push 0x20019
push edi
push dword [ebp - 0x2220]
lea ecx, [ebp - 0x222c]
call fcn.00401410
jmp 0x433457
push 2
pop eax
push 1
test eax, eax
mov dword [ebp - 0x221c], eax
pop eax
push 0xffffffffffffffff
cmovne esi, eax
push edi
lea eax, [ebp - 0x218]
push 0x104
push eax
mov dword [ebp + 0x14], esi
call fcn.00443ceb
push eax
call fcn.00411a61
add esp, 0x14
mov ecx, ebx
push edi
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
push edi
mov ecx, ebx
call fcn.0043384f
mov esi, eax
test esi, esi
js 0x43367d
push 0x7b
pop eax
cmp word [edi], ax
jne 0x4334f2
push edi
call fcn.00416f8b
pop ecx
cmp eax, 1
jne 0x4334f2
push dword [ebp + 0x14]
mov ecx, ebx
push 0
push dword [ebp - 0x222c]
push edi
call fcn.0043308f
mov esi, eax
test esi, esi
jns 0x4334e0
cmp dword [ebp + 0x14], 0
je 0x43367d
push edi
mov ecx, ebx
call fcn.0043290c
mov esi, eax
test esi, esi
js 0x43367d
mov eax, dword [ebp - 0x221c]
mov ecx, dword [ebp - 0x2264]
mov dword [ebp + 0x14], ecx
cmp eax, 2
je 0x433101
test eax, eax
je 0x433524
test ecx, ecx
jne 0x433101
push eax
call fcn.0043250a
pop ecx
mov esi, eax
jmp 0x43367d
test ecx, ecx
je 0x433573
push dword [ebp - 0x222c]
mov ecx, ebx
call fcn.00432805
test eax, eax
je 0x433573
lea eax, [ebp - 0x218]
push eax
mov ecx, ebx
call fcn.0043251f
test eax, eax
je 0x433101
cmp dword [ebp - 0x223c], 0
je 0x433101
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x222c]
call fcn.00432cc3
jmp 0x433101
push dword [ebp - 0x222c]
mov ecx, ebx
call fcn.00432805
lea ecx, [ebp - 0x222c]
mov dword [ebp - 0x221c], eax
call fcn.004013e0
test eax, eax
jne 0x433516
cmp dword [ebp - 0x223c], eax
je 0x433101
cmp dword [ebp - 0x221c], eax
jne 0x433101
xor ecx, ecx
mov dword [ebp - 0x2248], ecx
mov dword [ebp - 0x2244], ecx
mov dword [ebp - 0x2240], ecx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2220]
mov dword [ebp - 0x2248], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x2244], ecx
mov dword [ebp - 0x2240], ecx
push eax
lea ecx, [ebp - 0x2248]
call fcn.004325ec
xor ecx, ecx
mov dword [ebp - 0x2248], ecx
mov dword [ebp - 0x2244], ecx
mov dword [ebp - 0x2240], ecx
test eax, eax
jne 0x4336cf
mov byte [ebp - 4], cl
lea ecx, [ebp - 0x2248]
call fcn.004013e0
cmp dword [ebp + 0x10], 0
je 0x433101
push 0x7b
pop eax
cmp word [edi], ax
jne 0x433101
push edi
call fcn.00416f8b
pop ecx
cmp eax, 1
jne 0x433101
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp - 0x222c]
push edi
call fcn.0043308f
mov esi, eax
test esi, esi
js 0x43367d
jmp 0x4330ef
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2238]
jmp 0x4336c8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2238]
call fcn.004013e0
mov esi, 0x80020009
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x222c]
call fcn.004013e0
mov eax, esi
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.004426e3
leave
ret 0x10
mov byte [ebp - 4], al
lea ecx, [ebp - 0x2254]
jmp 0x4336c8
push eax
call fcn.0043250a
pop ecx
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2260]
call fcn.004013e0
jmp 0x43367d
push eax
call fcn.0043250a
pop ecx
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2248]
jmp 0x4336c8