Function at 0x44c33b
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d20b5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
mov dword [ebp - 0x10], ecx
push str.GREG::DeleteKey
lea ecx, [ebp - 0x5c]
call fcn.00404f76
and dword [ebp - 4], 0
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
mov ecx, dword [ebp - 0x10]
call fcn.00456570
movzx eax, al
test eax, eax
je 0x44c4d8
push dword [ebp + 8]
lea ecx, [ebp - 0x3c]
call fcn.004052c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.004054e3
mov byte [ebp - 4], 2
push 1
lea eax, [ebp - 0x90]
push eax
push 0x5c
lea ecx, [ebp - 0x3c]
call fcn.00409b30
test eax, eax
je 0x44c470
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x90]
lea ecx, [ebp - 0x3c]
call fcn.00406fa2
push 0
push 0
lea ecx, [ebp - 0x48]
call fcn.004087ee
push 0
mov ecx, dword [ebp - 0x10]
add ecx, 0xc
call fcn.00405ab8
movsx eax, byte [eax]
test eax, eax
je 0x44c46e
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0xbb]
push eax
push 0x4dae74
lea eax, [ebp - 0xb2]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0xc
call fcn.00405cc1
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x7c]
call fcn.00405bb0
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
mov byte [ebp - 4], 4
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x3c]
call fcn.00405662
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xbb]
call fcn.004055b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb2]
call fcn.004055b0
jmp 0x44c48a
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
lea ecx, [ebp - 0x3c]
call fcn.00405662
push dword [ebp + 8]
lea ecx, [ebp - 0x48]
call fcn.00405662
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
mov ecx, dword [ebp - 0x10]
call fcn.00456002
movzx eax, al
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.004055b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x9c]
jmp 0x44c880
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x15], 0
je 0x44c6a5
push 0
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
call fcn.00459c32
add esp, 0xc
mov byte [ebp - 4], 5
push 0
lea ecx, [ebp - 0x30]
call fcn.00405ab8
movsx eax, byte [eax]
test eax, eax
jne 0x44c532
and dword [ebp - 0x68], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x68]
jmp 0x44c880
lea eax, [ebp - 0x11]
push eax
lea eax, [ebp - 0x12]
push eax
lea eax, [ebp - 0x13]
push eax
push dword [ebp + 8]
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x15]
call fcn.00431a6c
movzx eax, al
test eax, eax
jne 0x44c588
and dword [ebp - 0x94], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x94]
jmp 0x44c880
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x44c5ac
push str.__bKeyNotFound
push str.GREG
push 0x992
push str.D:projectsUTIL_srcgreg.cpp
call fcn.004044d6
add esp, 0x10
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x44c5d8
and dword [ebp - 0x70], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x70]
jmp 0x44c880
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x44c5fc
push str.__bSubKeyNotFound
push str.GREG
push 0x994
push str.D:projectsUTIL_srcgreg.cpp
call fcn.004044d6
add esp, 0x10
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x44c628
and dword [ebp - 0x60], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x60]
jmp 0x44c880
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x44c64c
push str.__bAccessDenied
push str.GREG
push 0x996
push str.D:projectsUTIL_srcgreg.cpp
call fcn.004044d6
add esp, 0x10
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x44c678
and dword [ebp - 0x78], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x78]
jmp 0x44c880
mov dword [ebp - 0x98], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x98]
jmp 0x44c880
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
lea ecx, [ebp - 0x20]
call fcn.004052c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x20]
call fcn.004085af
dec eax
push eax
lea ecx, [ebp - 0x20]
call fcn.00405ab8
movsx eax, byte [eax]
cmp eax, 0x5c
je 0x44c704
push 0x4dae74
lea ecx, [ebp - 0xa9]
call fcn.004053d4
mov byte [ebp - 4], 7
lea eax, [ebp - 0xa9]
push eax
lea ecx, [ebp - 0x20]
call fcn.00406100
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa9]
call fcn.004055b0
push dword [ebp + 8]
lea ecx, [ebp - 0x20]
call fcn.00406100
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
mov ecx, dword [ebp - 0x10]
call fcn.00456570
movzx eax, al
test eax, eax
je 0x44c766
push dword [ebp + 8]
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
mov ecx, dword [ebp - 0x10]
call fcn.00456002
movzx eax, al
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x80]
jmp 0x44c880
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
mov ecx, dword [ebp - 0x10]
call fcn.0044c140
movzx eax, al
test eax, eax
jne 0x44c7ac
and dword [ebp - 0xa0], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0xa0]
jmp 0x44c880
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jne 0x44c7cc
push 0x9a5
push str.D:projectsUTIL_srcgreg.cpp
push str.m_hkey
call fcn.00403b39
add esp, 0xc
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jne 0x44c7ff
and dword [ebp - 0x88], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x88]
jmp 0x44c880
mov ecx, dword [ebp + 8]
call fcn.00405b2a
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x44c837
push 0x9b2
push str.D:projectsUTIL_srcgreg.cpp
push str.RegDeleteKey
push dword [ebp - 0x24]
call fcn.00403d51
add esp, 0x10
cmp dword [ebp - 0x24], 0
jne 0x44c861
mov dword [ebp - 0x64], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x64]
jmp 0x44c880
and dword [ebp - 0x6c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004050e2
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4