Function at 0x44c5f5
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4dee1c
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
push ebx
push esi
push edi
mov eax, dword [0x515854]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor eax, eax
cmp dword [ebp + 0x14], eax
je 0x44c63b
cmp dword [ebp + 0x14], 2
jne 0x44c818
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xf0], eax
lea ecx, [esp + 0x18]
mov eax, edi
call fcn.0044b9a6
cmp dword [eax + 0x18], 8
jb 0x44c660
mov eax, dword [eax + 4]
jmp 0x44c663
add eax, 4
mov ecx, dword [edi + 0x20]
push 1
push 0x2001f
push eax
push ecx
lea eax, [esp + 0x20]
call fcn.0043fe1f
mov bl, al
neg bl
sbb bl, bl
lea esi, [esp + 0x18]
inc bl
call fcn.00401650
test bl, bl
je 0x44c70b
cmp dword [esp + 0x14], 5
je 0x44c9f5
cmp byte [ebp + 0x10], 0
jne 0x44c9f5
push 0
sub esp, 0x1c
mov edx, 0x4ec52c
mov eax, esp
mov dword [esp + 0x58], esp
call fcn.004074b0
sub esp, 0x1c
mov byte [esp + 0x12c], 1
mov ecx, esp
mov dword [esp + 0x70], esp
push 0
push edi
call fcn.0044b8d8
push 1
push dword [esp + 0x54]
lea edi, [esp + 0xd4]
mov byte [esp + 0x134], 0
call fcn.0044c347
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xf4], 2
call fcn.0044ca14
push 0x507a10
lea eax, [esp + 0x40]
push eax
call fcn.004bed82
cmp byte [edi + 0x40], 0
je 0x44c73f
lea ecx, [esp + 0x18]
mov eax, edi
call fcn.0044b9a6
cmp dword [eax + 0x18], 8
jb 0x44c727
mov eax, dword [eax + 4]
jmp 0x44c72a
add eax, 4
mov ecx, dword [edi + 0x20]
push eax
push ecx
call fcn.00440513
pop ecx
pop ecx
lea esi, [esp + 0x18]
call fcn.00401650
mov eax, edi
xor ebx, ebx
call fcn.0043b834
test eax, eax
jbe 0x44c7cb
push ebx
mov esi, edi
call fcn.0044bf96
mov esi, eax
cmp byte [esi + 0x68], 0
lea ecx, [esp + 0x18]
je 0x44c788
call fcn.00441816
cmp dword [eax + 0x18], 8
jb 0x44c770
mov eax, dword [eax + 4]
jmp 0x44c773
add eax, 4
push eax
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x44c7b6
mov dword [esp + 0x14], eax
jmp 0x44c7b6
call fcn.00441816
mov byte [esp + 0xf0], 3
cmp dword [eax + 0x18], 8
jb 0x44c7a0
mov eax, dword [eax + 4]
jmp 0x44c7a3
add eax, 4
push esi
push eax
lea esi, [esp + 0x18]
call fcn.00440074
mov byte [esp + 0xf0], 0
lea esi, [esp + 0x18]
call fcn.00401650
mov eax, edi
inc ebx
call fcn.0043b834
cmp ebx, eax
jb 0x44c74c
cmp byte [ebp + 0xc], 0
je 0x44c805
lea esi, [edi + 0x10]
mov eax, esi
xor ebx, ebx
call fcn.0043b95d
test eax, eax
jbe 0x44c805
push ebx
call fcn.0043b973
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.0044c5f5
add esp, 0x10
mov eax, esi
inc ebx
call fcn.0043b95d
cmp ebx, eax
jb 0x44c7e1
or dword [esp + 0xf0], 0xffffffff
lea esi, [esp + 0x10]
call fcn.00440258
xor eax, eax
cmp dword [ebp + 0x14], 1
je 0x44c828
cmp dword [ebp + 0x14], 2
jne 0x44c9fe
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x18]
mov eax, edi
mov dword [esp + 0xf0], 4
call fcn.0044b9a6
cmp dword [eax + 0x18], 8
jb 0x44c851
mov eax, dword [eax + 4]
jmp 0x44c854
add eax, 4
mov ecx, dword [edi + 0x20]
push 1
push 0x2011f
push eax
push ecx
lea eax, [esp + 0x20]
call fcn.0043fe1f
mov bl, al
neg bl
sbb bl, bl
lea esi, [esp + 0x18]
inc bl
call fcn.00401650
test bl, bl
je 0x44c8fb
cmp dword [esp + 0x14], 5
je 0x44c9f5
cmp byte [ebp + 0x10], 0
jne 0x44c9f5
push 0
sub esp, 0x1c
mov edx, 0x4ec52c
mov eax, esp
mov dword [esp + 0x54], esp
call fcn.004074b0
sub esp, 0x1c
mov byte [esp + 0x12c], 5
mov ecx, esp
mov dword [esp + 0x74], esp
push 0
push edi
call fcn.0044b8d8
push 1
push dword [esp + 0x54]
lea edi, [esp + 0xd4]
mov byte [esp + 0x134], 4
call fcn.0044c347
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xf4], 6
call fcn.0044ca14
push 0x507a10
lea eax, [esp + 0x40]
jmp 0x44c705
cmp byte [edi + 0x40], 0
je 0x44c92f
lea ecx, [esp + 0x18]
mov eax, edi
call fcn.0044b9a6
cmp dword [eax + 0x18], 8
jb 0x44c917
mov eax, dword [eax + 4]
jmp 0x44c91a
add eax, 4
mov ecx, dword [edi + 0x20]
push eax
push ecx
call fcn.00440513
pop ecx
pop ecx
lea esi, [esp + 0x18]
call fcn.00401650
mov eax, edi
xor ebx, ebx
call fcn.0043b834
test eax, eax
jbe 0x44c9bb
push ebx
mov esi, edi
call fcn.0044bf96
mov esi, eax
cmp byte [esi + 0x68], 0
lea ecx, [esp + 0x18]
je 0x44c978
call fcn.00441816
cmp dword [eax + 0x18], 8
jb 0x44c960
mov eax, dword [eax + 4]
jmp 0x44c963
add eax, 4
push eax
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x44c9a6
mov dword [esp + 0x14], eax
jmp 0x44c9a6
call fcn.00441816
mov byte [esp + 0xf0], 7
cmp dword [eax + 0x18], 8
jb 0x44c990
mov eax, dword [eax + 4]
jmp 0x44c993
add eax, 4
push esi
push eax
lea esi, [esp + 0x18]
call fcn.00440074
mov byte [esp + 0xf0], 4
lea esi, [esp + 0x18]
call fcn.00401650
mov eax, edi
inc ebx
call fcn.0043b834
cmp ebx, eax
jb 0x44c93c
cmp byte [ebp + 0xc], 0
je 0x44c9f5
lea esi, [edi + 0x10]
mov eax, esi
xor ebx, ebx
call fcn.0043b95d
test eax, eax
jbe 0x44c9f5
push ebx
call fcn.0043b973
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.0044c5f5
add esp, 0x10
mov eax, esi
inc ebx
call fcn.0043b95d
cmp ebx, eax
jb 0x44c9d1
lea esi, [esp + 0x10]
call fcn.00440258
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret