Function at 0x407d13
Capabilities:
Delete registry key

Disassembly:
push 0x474
mov eax, 0x595ebc
call fcn.004103bb
mov esi, 0x208
lea eax, [ebp - 0x218]
push esi
xor ebx, ebx
push ebx
push eax
call fcn.00430680
push esi
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.00430680
push str._shellexContextMenuHandlers_
mov esi, 0x59a6ac
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0040351f
push str._shellexDragDropHandlers_
lea eax, [ebp - 0x420]
push esi
push eax
call fcn.0040351f
add esp, 0x30
call fcn.00411275
test al, al
je 0x407d92
pop ecx
push eax
push esi
push edx
push esi
push ebx
push edi
pop ebp
push ecx
push edi
push esp
push edx
push ebp
pop ebp
push ecx
pop ecx
pop esi
push edx
pop edi
pop ebp
pop esi
pop esi
pop ebp
pop eax
call fcn.004110d7
test al, al
je 0x407dbc
pop eax
push esi
push eax
pop ebp
push ebx
pop esi
push ecx
push eax
push esi
push ebx
pop esi
pop esp
pop ebp
pop esi
push edi
pop esi
push eax
pop eax
push esp
push edx
pop esp
pop edx
push esp
pop edi
push eax
pop ebp
pop ebx
pop ebx
push eax
pop ebx
pop eax
xor ebx, ebx
mov dword [ebp - 0x480], ebx
mov dword [ebp - 0x47c], ebx
mov dword [ebp - 0x478], ebx
xor eax, eax
mov dword [ebp - 4], ebx
mov esi, 0x59afe0
mov dword [ebp - 0x424], 7
push esi
mov dword [ebp - 0x428], ebx
mov word [ebp - 0x438], ax
call fcn.00433f51
pop ecx
push eax
push esi
lea ecx, [ebp - 0x438]
call fcn.00401c7b
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x480]
call fcn.00406eed
push ebx
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], bl
call fcn.00401b31
push 7
pop edi
xor eax, eax
mov dword [ebp - 0x424], edi
mov esi, 0x59afe4
mov dword [ebp - 0x428], ebx
push esi
mov word [ebp - 0x438], ax
call fcn.00433f51
pop ecx
push eax
push esi
lea ecx, [ebp - 0x438]
call fcn.00401c7b
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x480]
call fcn.00406eed
push ebx
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], bl
call fcn.00401b31
xor eax, eax
mov dword [ebp - 0x424], edi
mov esi, 0x59aff4
mov dword [ebp - 0x428], ebx
push esi
mov word [ebp - 0x438], ax
call fcn.00433f51
pop ecx
push eax
push esi
lea ecx, [ebp - 0x438]
call fcn.00401c7b
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x480]
call fcn.00406eed
push ebx
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], bl
call fcn.00401b31
xor eax, eax
mov dword [ebp - 0x424], edi
mov dword [ebp - 0x428], ebx
mov esi, str.Drive
mov word [ebp - 0x438], ax
push esi
call fcn.00433f51
pop ecx
push eax
push esi
lea ecx, [ebp - 0x438]
call fcn.00401c7b
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x480]
call fcn.00406eed
push ebx
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], bl
call fcn.00401b31
xor eax, eax
mov dword [ebp - 0x424], edi
mov esi, str.lnkfile
mov dword [ebp - 0x428], ebx
push esi
mov word [ebp - 0x438], ax
call fcn.00433f51
pop ecx
push eax
push esi
lea ecx, [ebp - 0x438]
call fcn.00401c7b
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x480]
call fcn.00406eed
push ebx
push 1
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], bl
call fcn.00401b31
call fcn.0041170a
test al, al
je 0x407f9f
push eax
pop ebp
pop edx
push edx
push esp
push ecx
pop ebx
pop esp
pop ecx
pop ecx
pop ebx
push edi
push ebp
pop ecx
push edx
pop ebp
pop eax
push edx
push ebx
pop eax
push edi
call fcn.00411389
test al, al
je 0x407fc8
push eax
push esi
pop esp
push ecx
push ebx
pop ebp
pop ebx
pop esi
pop eax
pop ebp
pop ebp
push ebx
pop esp
pop edx
pop esi
push eax
pop edi
pop esp
pop esp
push edi
push ebp
pop edx
pop ecx
push esp
push ebx
push edi
pop esp
push esi
push eax
push 7
pop edi
call fcn.0041149d
test al, al
je 0x407fec
pop ebx
push ebp
push edx
push eax
pop esp
pop edx
pop edx
push eax
pop esp
push eax
push ebx
pop eax
pop edx
pop eax
push esi
push eax
push ebx
push esp
push ebp
pop ebp
push esi
pop ecx
push ebx
push esp
push ecx
pop ebp
pop ebp
and dword [ebp - 0x458], 0
xor eax, eax
mov dword [ebp - 0x454], edi
mov word [ebp - 0x468], ax
mov eax, dword [ebp - 0x480]
mov byte [ebp - 4], 6
mov dword [ebp - 0x46c], eax
cmp eax, dword [ebp - 0x47c]
je 0x408366
call fcn.0041156c
test al, al
je 0x408044
push esp
pop edi
pop ebp
push ebp
pop edx
pop edx
pop ecx
push esi
push eax
push ebx
pop ecx
pop ebp
pop ecx
push edx
push ebp
push ebp
pop ebx
push edi
push esp
push ebp
pop esi
pop esi
pop ebp
pop edx
push eax
pop edi
pop ebp
pop edi
push esi
call fcn.00411230
test al, al
je 0x408066
push ecx
push esp
pop eax
push ecx
pop ebx
pop ecx
pop esi
pop esp
pop esp
push eax
pop ecx
pop ebx
pop edx
push esp
push ecx
pop ecx
pop edx
pop edi
pop ebp
pop edx
pop esi
push esi
pop ebp
push ecx
pop edi
mov eax, dword [ebp - 0x46c]
cmp dword [eax + 0x14], 8
jb 0x408074
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x450]
call fcn.00401680
cmp word [ebp - 0x218], 0
mov byte [ebp - 4], 7
jne 0x408092
xor eax, eax
jmp 0x40809f
lea eax, [ebp - 0x218]
push eax
call fcn.00433f51
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x450]
call fcn.00402595
call fcn.004115b1
test al, al
je 0x4080db
push ebp
push edx
pop ecx
pop edi
push eax
push edi
push esp
pop ecx
pop edx
push eax
push edx
pop ecx
push eax
push ecx
push eax
pop edi
pop ecx
pop edx
push esi
pop esp
pop eax
push edx
pop ebp
pop ebx
push ecx
push ebx
push edx
pop edi
push edx
push ecx
pop ecx
push ebx
call fcn.00411863
test al, al
je 0x408101
pop ebp
pop esp
push edx
push ebx
push ebp
pop esp
push eax
push edx
push eax
pop ecx
push ebp
pop esp
pop edx
pop ebx
push ebx
pop edx
pop edi
push ebp
push edx
push edi
pop ebp
pop ebp
push ebx
push ecx
pop eax
pop eax
pop esi
push ebx
pop ebx
call fcn.004111eb
test al, al
je 0x408123
pop eax
pop esp
pop ecx
pop edi
push ebp
pop ebp
push ecx
pop esp
push edi
pop edx
push ecx
push ebp
push ecx
push eax
pop esi
pop edi
pop eax
pop ebx
pop esi
push esi
push ebp
push esp
push edx
push edi
pop edi
call fcn.00411344
test al, al
je 0x408141
push edx
pop eax
push ebx
pop ebx
push eax
pop ebx
push ebx
pop edx
pop edx
push esp
push ebx
push esi
pop edx
push ebx
push edx
push ecx
pop ebx
push ecx
push edi
push edx
pop ebx
mov eax, dword [ebp - 0x46c]
cmp dword [eax + 0x14], 8
jb 0x40814f
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x438]
call fcn.00401680
cmp word [ebp - 0x420], 0
mov byte [ebp - 4], 8
jne 0x40816f
xor ebx, ebx
mov eax, ebx
jmp 0x40817e
lea eax, [ebp - 0x420]
push eax
call fcn.00433f51
pop ecx
xor ebx, ebx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x438]
call fcn.00402595
call fcn.0041170a
test al, al
je 0x4081ab
push edx
push edi
push edx
pop eax
pop esi
push ebx
pop edx
push ebx
push eax
push esi
pop ebp
pop edx
pop eax
push esi
push ebx
pop ebp
push ebp
cmp dword [ebp - 0x43c], 8
lea ecx, [ebp - 0x470]
push ebx
push ecx
push ebx
push 0xf013f
push ebx
push ebx
lea eax, [ebp - 0x450]
mov dword [ebp - 0x470], ebx
cmovae eax, dword [ebp - 0x450]
push ebx
push eax
push bind
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x408203
push 0x59a724
push dword [ebp - 0x470]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
push dword [ebp - 0x470]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.0041149d
test al, al
je 0x40822c
pop edx
push esi
pop edx
push esi
push ebp
push esp
pop edi
push eax
pop edi
push edx
pop esi
pop esi
push ecx
pop ebx
pop ebx
push ebp
pop esp
push esi
pop ebp
pop eax
pop ecx
push ecx
push eax
pop edi
push esi
pop ebp
push esi
pop ebx
pop ecx
push eax
pop ebp
push edi
call fcn.004114e2
test al, al
je 0x408246
pop esi
push esp
push ecx
pop edx
push ebp
pop edx
push eax
pop eax
push esp
pop ebx
push ebp
push eax
pop esi
pop eax
pop ebx
push edi
push esp
call fcn.004117d9
test al, al
je 0x40826f
push edx
push esp
pop esp
pop esi
push ebx
pop eax
pop edi
push eax
push ecx
pop esp
pop edi
push edi
pop esp
pop ebp
pop ecx
pop ecx
push eax
push eax
push ecx
pop edi
pop ebp
pop ebp
push esp
pop ebx
push ebp
push eax
push ecx
push ebx
pop ebp
pop esp
pop eax
pop ecx
xor ebx, ebx
lea ecx, [ebp - 0x474]
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
push ebx
cmovae eax, dword [ebp - 0x438]
push ecx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
push bind
mov dword [ebp - 0x474], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40832b
call fcn.00411863
test al, al
je 0x4082ca
pop eax
push ebx
pop ecx
push ebx
pop ebp
push edx
pop ebp
pop edx
pop edi
pop eax
pop esp
push edi
push ecx
push edx
push ebx
push eax
push esp
pop esi
pop ecx
push edx
push esp
call fcn.0041111c
test al, al
je 0x4082e5
pop edi
push ebp
push edx
pop esp
push esp
pop esi
pop ebx
pop ebp
pop eax
pop ebx
pop esp
pop edi
pop edx
pop edx
pop ebx
pop ebx
push ebx
push ebp
call fcn.004118a8
test al, al
je 0x40830c
pop esi
push edi
pop edi
pop edi
pop ebx
push eax
push ebx
pop edi
push edi
push esi
push eax
pop ebx
push ebp
push ecx
push ebp
push ebp
push ecx
pop ecx
pop edx
pop ebp
pop eax
pop eax
pop edx
push edi
push ebx
push eax
push edx
push ecx
pop esp
push edi
push 0x59a724
push dword [ebp - 0x474]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
push dword [ebp - 0x474]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x438]
call fcn.00401b31
push ebx
push 1
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 6
call fcn.00401b31
mov ebx, dword [ebp - 0x46c]
add ebx, 0x18
mov dword [ebp - 0x46c], ebx
cmp ebx, dword [ebp - 0x47c]
jne 0x40801e
push 0
push 1
lea ecx, [ebp - 0x468]
call fcn.00401b31
lea ecx, [ebp - 0x480]
call fcn.00406def
call fcn.00410376
ret