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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2248
call fcn.403386cd
mov eax, dword [0x40331b9c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x221c], 0
and dword [ebp - 0x2218], 0
push ebx
push esi
mov dword [ebp - 0x2214], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2210], ecx
mov dword [ebp - 0x2244], eax
jmp 0x40334a2f
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x403312a4
push edi
mov dword [ebp - 0x2228], 1
call esi
mov ebx, eax
neg ebx
push 0x403312c8
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x4033457f
test ebx, ebx
je 0x40334642
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033331b
mov esi, eax
test esi, esi
jl 0x40334aa3
cmp dword [ebp + 0x10], 0
je 0x40334642
push 0x5c
xor esi, esi
push edi
mov dword [ebp - 0x2224], esi
mov dword [ebp - 0x2220], esi
call fcn.403332a4
test eax, eax
jne 0x40334a47
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.40333429
test eax, eax
je 0x403345f7
mov eax, dword [ebp - 0x2214]
push edi
lea ecx, [ebp - 0x2224]
mov dword [ebp - 0x2224], eax
mov dword [ebp - 0x2220], esi
call fcn.4033390b
mov dword [ebp - 0x2224], esi
mov dword [ebp - 0x2220], esi
cmp ebx, esi
je 0x40334637
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033331b
mov esi, eax
test esi, esi
jl 0x40334a59
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033348d
lea ecx, [ebp - 0x2224]
mov esi, eax
call fcn.40332f77
test esi, esi
jl 0x40334aa3
jmp 0x403349f4
lea ecx, [ebp - 0x2224]
call fcn.40332f77
push 0x403312b4
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4033466e
mov ecx, dword [ebp - 0x2210]
and dword [ebp - 0x2228], eax
push edi
call fcn.4033331b
mov esi, eax
test esi, esi
jl 0x40334aa3
push 0x403312e0
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x40334789
mov ecx, dword [ebp - 0x2210]
lea eax, [ebp - 0x220c]
push eax
call fcn.4033331b
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jl 0x40334aa3
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033331b
mov esi, eax
cmp esi, ebx
jl 0x40334aa3
cmp word [edi], 0x3d
jne 0x40334a52
cmp dword [ebp + 0x10], ebx
je 0x40334711
mov eax, dword [ebp - 0x2214]
mov ecx, dword [ebp - 0x2210]
mov dword [ebp - 0x2238], eax
push edi
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x2238]
push eax
mov dword [ebp - 0x2234], ebx
call fcn.40334218
lea ecx, [ebp - 0x2238]
mov esi, eax
mov dword [ebp - 0x2238], ebx
mov dword [ebp - 0x2234], ebx
call fcn.40332f77
cmp esi, ebx
jmp 0x4033462c
cmp dword [ebp + 0x14], ebx
jne 0x40334774
cmp dword [ebp - 0x2228], ebx
je 0x40334774
push 0x20006
push ebx
push dword [ebp - 0x2214]
lea ecx, [ebp - 0x2230]
mov dword [ebp - 0x2230], ebx
mov dword [ebp - 0x222c], ebx
call fcn.40332fe0
cmp eax, ebx
jne 0x40334a61
lea eax, [ebp - 0x220c]
push eax
push dword [ebp - 0x2230]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, ebx
je 0x40334769
cmp eax, 2
jne 0x40334a61
lea ecx, [ebp - 0x2230]
call fcn.40332f77
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033348d
mov esi, eax
cmp esi, ebx
jmp 0x40334a39
push 0x5c
push edi
call fcn.403332a4
test eax, eax
jne 0x40334a52
cmp dword [ebp + 0x10], eax
je 0x40334838
mov esi, 0x2001f
push esi
push edi
push dword [ebp - 0x2214]
lea ecx, [ebp - 0x221c]
call fcn.40332fe0
test eax, eax
je 0x403347fc
push 0x20019
push edi
push dword [ebp - 0x2214]
lea ecx, [ebp - 0x221c]
call fcn.40332fe0
test eax, eax
je 0x403347fc
xor ebx, ebx
push ebx
push ebx
push esi
push ebx
push ebx
push edi
push dword [ebp - 0x2214]
lea ecx, [ebp - 0x221c]
call fcn.40332f92
mov esi, eax
cmp esi, ebx
jne 0x40334a6f
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033331b
mov esi, eax
test esi, esi
jl 0x40334aa3
cmp word [edi], 0x3d
jne 0x403349f4
mov ecx, dword [ebp - 0x2210]
push edi
push 0
lea eax, [ebp - 0x221c]
push eax
call fcn.40334218
mov esi, eax
jmp 0x4033462a
cmp dword [ebp + 0x14], 0
jne 0x40334859
push 0x20019
push edi
push dword [ebp - 0x2214]
lea ecx, [ebp - 0x221c]
call fcn.40332fe0
mov ebx, eax
jmp 0x4033485c
push 2
pop ebx
test ebx, ebx
je 0x40334867
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x20c]
push 0x104
push eax
call dword [sym.imp.MSVCR90.dll_wcsncpy_s]
add esp, 0x10
push eax
call fcn.40332e18
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033331b
mov esi, eax
test esi, esi
jl 0x40334aa3
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033348d
mov esi, eax
test esi, esi
jl 0x40334aa3
cmp word [edi], 0x7b
jne 0x40334900
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x40334900
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2210]
push 0
push dword [ebp - 0x221c]
push edi
call fcn.40334504
mov esi, eax
test esi, esi
jge 0x403348ea
cmp dword [ebp + 0x14], 0
je 0x40334aa3
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033331b
mov esi, eax
test esi, esi
jl 0x40334aa3
mov eax, dword [ebp - 0x2244]
mov dword [ebp + 0x14], eax
cmp ebx, 2
je 0x40334a3b
test ebx, ebx
je 0x4033492b
test eax, eax
jne 0x40334a3b
push ebx
call fcn.40332ea7
mov esi, eax
jmp 0x40334aa3
test eax, eax
je 0x40334982
push dword [ebp - 0x221c]
mov ecx, dword [ebp - 0x2210]
call fcn.40333458
test eax, eax
je 0x40334982
mov ecx, dword [ebp - 0x2210]
lea eax, [ebp - 0x20c]
push eax
call fcn.40333429
test eax, eax
je 0x40334a3b
cmp dword [ebp - 0x2228], 0
je 0x40334a3b
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x221c]
call fcn.4033390b
jmp 0x40334a3b
push dword [ebp - 0x221c]
mov ecx, dword [ebp - 0x2210]
call fcn.40333458
lea ecx, [ebp - 0x221c]
mov dword [ebp - 0x2248], eax
call fcn.40332f77
mov ebx, eax
test ebx, ebx
jne 0x40334a82
cmp dword [ebp - 0x2228], eax
je 0x40334a3b
cmp dword [ebp - 0x2248], eax
jne 0x40334a3b
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x2214]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
and dword [ebp - 0x2240], ebx
and dword [ebp - 0x223c], ebx
test eax, eax
jne 0x40334a90
lea ecx, [ebp - 0x2240]
call fcn.40332f77
cmp dword [ebp + 0x10], 0
je 0x40334a3b
cmp word [edi], 0x7b
jne 0x40334a3b
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x40334a3b
mov ecx, dword [ebp - 0x2210]
push 0
push dword [ebp + 0x10]
push dword [ebp - 0x221c]
push edi
call fcn.40334504
mov esi, eax
test esi, esi
jl 0x40334aa3
mov ecx, dword [ebp - 0x2210]
push edi
call fcn.4033331b
mov esi, eax
test esi, esi
jl 0x40334aa3
cmp word [edi], 0x7d
jne 0x4033454c
jmp 0x40334aa3
lea ecx, [ebp - 0x2224]
call fcn.40332f77
mov esi, 0x80020009
jmp 0x40334aa3
lea ecx, [ebp - 0x2224]
jmp 0x40334a9e
push eax
call fcn.40332ea7
lea ecx, [ebp - 0x2230]
jmp 0x40334a9c
lea ecx, [ebp - 0x221c]
call fcn.40332f77
push esi
call fcn.40332ea7
jmp 0x40334ab0
lea ecx, [ebp - 0x221c]
call fcn.40332f77
push ebx
jmp 0x40334a7b
push eax
call fcn.40332ea7
lea ecx, [ebp - 0x2240]
mov esi, eax
call fcn.40332f77
lea ecx, [ebp - 0x221c]
call fcn.40332f77
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.40337a78
leave
ret 0x10