Function at 0x43c9a6
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2250
call fcn.0045bf30
xor eax, eax
push ebx
push esi
mov dword [ebp - 0x38], eax
mov ebx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x48], eax
push edi
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
push 0x7d
pop eax
cmp word [edi], ax
je 0x43ce5d
xor eax, eax
push 0x401fe4
inc eax
push edi
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x401fb8
sbb esi, esi
inc esi
push edi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x43ca1d
test esi, esi
je 0x43cabf
push edi
mov ecx, ebx
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x43cac1
push 0x5c
push edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
call fcn.0043e2e6
pop ecx
pop ecx
test eax, eax
jne 0x43ce50
push edi
mov ecx, ebx
call fcn.0043b109
test eax, eax
je 0x43ca7f
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
push edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
call fcn.0043c5da
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 4], esi
je 0x43cab5
push edi
mov ecx, ebx
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce4b
push edi
mov ecx, ebx
call fcn.0043e224
mov esi, eax
lea ecx, [ebp - 0x1c]
call fcn.0043b1db
test esi, esi
js 0x43ce5d
jmp 0x43cdf7
lea ecx, [ebp - 0x1c]
call fcn.0043b1db
jmp 0x43cac1
xor esi, esi
push 0x401fd0
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x43cae6
push edi
mov ecx, ebx
mov dword [ebp + 8], esi
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
push 0x401fb0
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x43cbce
lea eax, [ebp - 0x2250]
mov ecx, ebx
push eax
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
push edi
mov ecx, ebx
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
push 0x3d
pop eax
cmp word [edi], ax
jne 0x43ce58
cmp dword [ebp + 0x10], 0
je 0x43cb6c
mov eax, dword [ebp + 0xc]
mov ecx, ebx
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2250]
push edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0043a7c2
mov esi, eax
lea ecx, [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
jmp 0x43caa3
cmp dword [ebp + 0x14], 0
jne 0x43cbc1
cmp dword [ebp + 8], 0
je 0x43cbc1
xor eax, eax
lea ecx, [ebp - 0x44]
push 0x20006
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
call fcn.0043c130
test eax, eax
jne 0x43ce70
lea eax, [ebp - 0x2250]
push eax
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x43cbb9
cmp eax, 2
jne 0x43ce70
lea ecx, [ebp - 0x44]
call fcn.0043b1db
push edi
mov ecx, ebx
call fcn.0043e224
jmp 0x43c9d5
push 0x5c
push edi
call fcn.0043e2e6
pop ecx
pop ecx
test eax, eax
jne 0x43ce58
cmp dword [ebp + 0x10], eax
je 0x43cc5f
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
push 0x2001f
push edi
push esi
call fcn.0043c130
test eax, eax
je 0x43cc2b
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x10]
call fcn.0043c130
test eax, eax
je 0x43cc2b
xor eax, eax
lea ecx, [ebp - 0x10]
push eax
push eax
push 0x2001f
push eax
push eax
push edi
push esi
call fcn.0043b2eb
test eax, eax
jne 0x43cd40
push edi
mov ecx, ebx
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
push 0x3d
pop eax
cmp word [edi], ax
jne 0x43cdf7
push edi
xor eax, eax
mov ecx, ebx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0043a7c2
mov esi, eax
jmp 0x43caa8
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x43cc79
push 0x20019
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
call fcn.0043c130
jmp 0x43cc7c
push 2
pop eax
push 1
test eax, eax
mov dword [ebp - 4], eax
pop eax
push 0xffffffffffffffff
cmovne esi, eax
lea eax, [ebp - 0x250]
push edi
push 0x104
push eax
mov dword [ebp + 0x14], esi
call fcn.0045db57
push eax
call fcn.0043af22
add esp, 0x14
mov ecx, ebx
push edi
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
push edi
mov ecx, ebx
call fcn.0043e224
mov esi, eax
test esi, esi
js 0x43ce5d
push 0x7b
pop eax
cmp word [edi], ax
jne 0x43cd22
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x38]
jne 0x43ccd8
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x43cd22
push dword [ebp + 0x14]
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp - 0x10]
push edi
call fcn.0043c9a6
mov esi, eax
test esi, esi
jns 0x43cd10
cmp dword [ebp + 0x14], 0
je 0x43ce5d
push edi
mov ecx, ebx
call fcn.0043bfb1
mov esi, eax
test esi, esi
js 0x43ce5d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x48]
mov dword [ebp + 0x14], ecx
cmp eax, 2
je 0x43c9df
test eax, eax
je 0x43cd4e
test ecx, ecx
jne 0x43c9df
push eax
call fcn.0043af92
pop ecx
mov esi, eax
jmp 0x43ce5d
test ecx, ecx
je 0x43cd94
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.0043b858
test eax, eax
je 0x43cd94
lea eax, [ebp - 0x250]
mov ecx, ebx
push eax
call fcn.0043b109
test eax, eax
je 0x43c9df
cmp dword [ebp + 8], 0
je 0x43c9df
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x10]
call fcn.0043c5da
jmp 0x43c9df
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.0043b858
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], eax
call fcn.0043b1db
test eax, eax
jne 0x43cd40
cmp dword [ebp + 8], eax
je 0x43c9df
cmp dword [ebp - 4], eax
jne 0x43c9df
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x250]
push eax
call fcn.0043b35c
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
test eax, eax
jne 0x43ce83
lea ecx, [ebp - 0x34]
call fcn.0043b1db
cmp dword [ebp + 0x10], 0
je 0x43c9df
push 0x7b
pop eax
cmp word [edi], ax
jne 0x43c9df
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x38]
jne 0x43ce12
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x43c9df
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x10]
push edi
call fcn.0043c9a6
mov esi, eax
test esi, esi
js 0x43ce5d
mov ecx, ebx
jmp 0x43c9cf
lea ecx, [ebp - 0x1c]
jmp 0x43ce7c
lea ecx, [ebp - 0x1c]
call fcn.0043b1db
mov esi, 0x80020009
lea ecx, [ebp - 0x10]
call fcn.0043b1db
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push eax
call fcn.0043af92
pop ecx
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.0043b1db
jmp 0x43ce5d
push eax
call fcn.0043af92
pop ecx
lea ecx, [ebp - 0x34]
jmp 0x43ce7a