Function at 0x40c354
Capabilities:
Delete registry key

Disassembly:
mov eax, 0x48591e
call fcn.004847e4
sub esp, 0x310
push ebx
push esi
push edi
mov esi, 0x1fe
lea eax, [ebp - 0x31c]
push esi
xor edi, edi
push edi
push eax
call fcn.004663d0
add esp, 0xc
lea eax, [ebp - 0x31c]
push esi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x496ab4
lea ecx, [ebp - 0x70]
call fcn.00406124
push str.Profile
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], edi
call fcn.00406124
xor ebx, ebx
lea ecx, [ebp - 0xd0]
inc ebx
push str.injection_profile
mov byte [ebp - 4], bl
call fcn.00406124
lea eax, [ebp - 0x31c]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x58]
call fcn.00406124
push str.___load__1
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb8]
call fcn.00406af8
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.00402c21
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x40]
call fcn.00406124
push str.___run__1
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa0]
call fcn.00406af8
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00402c21
lea ecx, [ebp - 0x118]
call fcn.0040c193
mov esi, eax
lea eax, [ebp - 0x31c]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x100]
call fcn.00406124
mov byte [ebp - 4], 0xa
push 0x496b20
mov edx, eax
lea ecx, [ebp - 0xe8]
call fcn.00406af8
push esi
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x88]
call fcn.0040c9b2
pop ecx
pop ecx
push edi
push ebx
lea ecx, [ebp - 0xe8]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0x100]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xf
call fcn.00402c21
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push closesocket
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
push edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040c61d
push str.Application_xml
lea ecx, [ebp - 0x58]
call fcn.00406124
push str.Content_Type
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040c61d
push edi
push ebx
lea ecx, [ebp - 0x58]
call fcn.00402c21
push edi
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0040c61d
push 0x496b64
lea ecx, [ebp - 0x58]
call fcn.00406124
push str._shell
lea edx, [ebp - 0x28]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x40]
call fcn.0040aeee
pop ecx
push edi
lea ecx, [ebp - 0x58]
push ecx
push eax
call fcn.0040c61d
push edi
push ebx
lea ecx, [ebp - 0x40]
call fcn.00402c21
push edi
mov byte [ebp - 4], 0xf
push ebx
lea ecx, [ebp - 0x58]
call fcn.00402c21
push str._shellEditcommand
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.0040aeee
pop ecx
push edi
lea ecx, [ebp - 0xb8]
push ecx
push eax
call fcn.0040c61d
push edi
push ebx
lea ecx, [ebp - 0x40]
call fcn.00402c21
push str._shellRuncommand
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.0040aeee
pop ecx
push edi
lea ecx, [ebp - 0xa0]
push ecx
push eax
call fcn.0040c61d
push edi
push ebx
lea ecx, [ebp - 0x40]
call fcn.00402c21
push str.DefaultIcon
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.0040aeee
pop ecx
push edi
lea ecx, [ebp - 0x88]
push ecx
push eax
call fcn.0040c61d
push edi
push ebx
lea ecx, [ebp - 0x40]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0x88]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0xa0]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0xb8]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0xd0]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00402c21
push edi
push ebx
lea ecx, [ebp - 0x70]
call fcn.00402c21
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret