Function at 0x44c110
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x568270
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x5b3480]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [esi]
call dword [eax + 4]
mov dword [ebp - 0x10], 0
lea ebx, [esi + 0x24]
jmp 0x44c153
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov eax, ecx
cmp dword [ecx + 0x14], 0xf
jbe 0x44c160
mov eax, dword [ecx]
push dword [ecx + 0x10]
mov ecx, ebx
push eax
call fcn.00449df0
test eax, eax
js 0x44c41b
cmp dword [ebp - 0x10], 0
lea ebx, [eax*4]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x20], ebx
mov esi, dword [eax + ebx]
mov dword [ebp - 0x24], esi
jne 0x44c2e0
xor eax, eax
xor ebx, ebx
push 0x40
push eax
xor edi, edi
mov dword [ebp - 0x18], eax
call fcn.0040be80
add esp, 8
test eax, eax
jne 0x44c1b4
mov dword [ebp - 0x1c], 1
lea eax, [ebx + 2]
jmp 0x44c1ec
xor ecx, ecx
mov dword [ebp - 0x18], 0x1f
mov word [eax], cx
mov ebx, eax
mov ecx, 0xf
mov dword [ebp - 0x1c], 0x20
mov esi, str.SoftwareTracker_SoftwareVault
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 0x24]
mov edi, 0x1f
mov word [ebx + 0x3e], ax
mov eax, 0x21
add eax, 0x1f
and eax, 0xffffffe0
mov dword [ebp - 0x24], eax
add eax, eax
push eax
push ebx
call fcn.0040be80
add esp, 8
test eax, eax
jne 0x44c20a
mov ecx, dword [ebp - 0x18]
jmp 0x44c22d
test ebx, ebx
jne 0x44c214
xor ecx, ecx
mov word [eax + edi*2], cx
mov ecx, dword [ebp - 0x24]
mov ebx, eax
mov ax, word [0x5786f0]
dec ecx
mov word [ebx + edi*2], ax
xor eax, eax
mov edi, dword [ebp - 0x1c]
mov word [ebx + edi*2], ax
sub ecx, edi
cmp ecx, 8
jae 0x44c279
mov eax, 0x3ffffffe
sub eax, edi
cmp eax, 8
jb 0x44c2a5
lea ecx, [edi + 9]
cmp ecx, 0x3fffffff
ja 0x44c2a5
add ecx, 0x1f
mov eax, 0x3fffffff
mov edx, ecx
and edx, 0xffffffe0
cmp ecx, eax
cmovbe eax, edx
add eax, eax
push eax
push ebx
call fcn.0040be80
add esp, 8
test eax, eax
je 0x44c2a5
test ebx, ebx
jne 0x44c277
xor ecx, ecx
mov word [eax + edi*2], cx
mov ebx, eax
mov eax, dword [str._Removed]
lea ecx, [edi + 8]
mov dword [ebx + edi*2], eax
mov eax, dword [0x5788d8]
mov dword [ebx + edi*2 + 4], eax
mov eax, dword [0x5788dc]
mov dword [ebx + edi*2 + 8], eax
mov eax, dword [0x5788e0]
mov dword [ebx + edi*2 + 0xc], eax
xor eax, eax
mov word [ebx + ecx*2], ax
lea ecx, [ebp - 0x10]
test ebx, ebx
push ecx
push 0x2011f
mov eax, 0x570fe0
push 0
cmovne eax, ebx
push eax
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp dword [ebp - 0x10], 0
je 0x44c40e
test ebx, ebx
je 0x44c2dd
push ebx
call fcn.0040bd60
add esp, 4
mov ebx, dword [ebp - 0x20]
cmp dword [esi + 0x24], 7
lea eax, [esi + 0x10]
jbe 0x44c2ec
mov eax, dword [esi + 0x10]
push eax
push dword [ebp - 0x10]
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov eax, dword [ebp - 0x14]
dec dword [eax + 0x28]
mov ecx, dword [eax + 0x24]
lea edx, [ebx + ecx]
lea ebx, [eax + 0x24]
mov eax, dword [ebx + 4]
lea eax, [ecx + eax*4]
cmp edx, eax
jae 0x44c322
sub eax, edx
and eax, 0xfffffffc
push eax
lea eax, [edx + 4]
push eax
push edx
call fcn.004930c0
add esp, 0xc
test esi, esi
je 0x44c150
mov ecx, dword [esi + 0x54]
cmp ecx, 0xf
jbe 0x44c35e
mov eax, dword [esi + 0x40]
inc ecx
cmp ecx, 0x1000
jb 0x44c354
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c44c
mov eax, edx
push ecx
push eax
call fcn.00491173
add esp, 8
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
mov ecx, dword [esi + 0x3c]
cmp ecx, 0xf
jbe 0x44c3a4
mov eax, dword [esi + 0x28]
inc ecx
cmp ecx, 0x1000
jb 0x44c39a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c44c
mov eax, edx
push ecx
push eax
call fcn.00491173
add esp, 8
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0xf
mov byte [esi + 0x28], 0
mov ecx, dword [esi + 0x24]
cmp ecx, 7
jbe 0x44c3ec
mov eax, dword [esi + 0x10]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x44c3e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c44c
mov eax, edx
push ecx
push eax
call fcn.00491173
add esp, 8
xor eax, eax
mov dword [esi + 0x20], 0
push esi
mov dword [esi + 0x24], 7
mov word [esi + 0x10], ax
call fcn.0040bd60
add esp, 4
jmp 0x44c150
test ebx, ebx
je 0x44c429
push ebx
call fcn.0040bd60
add esp, 4
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x44c429
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.004956fe
int3