Function at 0x40cc0c
Capabilities:
Create process on windows
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff9c
mov eax, 0x4c6a60
call fcn.004a2f4c
mov byte [ebp - 0x59], 0
mov byte [ebp - 0x5a], 0
mov byte [ebp - 0x5b], 0
mov word [ebp - 0x48], 8
lea eax, [ebp - 0xc]
call fcn.00401d74
push eax
inc dword [ebp - 0x3c]
mov edx, 0x4c29b7
lea eax, [ebp - 8]
call fcn.004acfb4
inc dword [ebp - 0x3c]
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 4]
call fcn.00401d74
push eax
inc dword [ebp - 0x3c]
call fcn.00402014
pop ecx
lea eax, [ebp - 4]
pop edx
pop ecx
call fcn.004ad114
lea eax, [ebp - 0xc]
mov eax, dword [eax]
call fcn.00455f6c
push eax
dec dword [ebp - 0x3c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004ad0d0
dec dword [ebp - 0x3c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004ad0d0
dec dword [ebp - 0x3c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004ad0d0
pop ecx
test cl, cl
je 0x40ccae
mov byte [ebp - 0x5a], 1
mov dl, 1
mov eax, dword [0x453560]
call fcn.004536cc
mov dword [ebp - 0x60], eax
mov edx, SysStringLen
mov eax, dword [ebp - 0x60]
call fcn.004acf20
mov word [ebp - 0x48], 0x14
mov edx, 0x4c29c4
lea eax, [ebp - 0x10]
call fcn.004acfb4
inc dword [ebp - 0x3c]
mov edx, dword [eax]
xor ecx, ecx
mov eax, dword [ebp - 0x60]
call fcn.00453810
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004ad0d0
mov word [ebp - 0x48], 0x20
mov edx, 0x4c29f2
lea eax, [ebp - 0x14]
call fcn.004acfb4
inc dword [ebp - 0x3c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
call fcn.00453c5c
push eax
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004ad0d0
pop ecx
test cl, cl
je 0x40cd36
mov byte [ebp - 0x5b], 1
mov eax, dword [ebp - 0x60]
call fcn.00453778
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0
je 0x40cd6b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov word [ebp - 0x48], 0x38
mov edx, 3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x48], 0x2c
push 0x4c29fa
push 0
call sub.USER32.DLL_FindWindowA
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x40ce97
mov word [ebp - 0x48], 0x44
lea eax, [ebp - 0x28]
call fcn.00401d74
push eax
inc dword [ebp - 0x3c]
mov edx, 0x4c2a0f
lea eax, [ebp - 0x24]
call fcn.004acfb4
inc dword [ebp - 0x3c]
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x20]
call fcn.00401d74
push eax
inc dword [ebp - 0x3c]
call fcn.00402014
pop ecx
lea eax, [ebp - 0x20]
pop edx
pop ecx
call fcn.004ad114
lea eax, [ebp - 0x28]
mov eax, dword [eax]
call fcn.00455f6c
test al, al
setne dl
and edx, 1
push edx
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004ad0d0
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004ad0d0
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004ad0d0
pop ecx
test ecx, ecx
je 0x40ce97
push 1
mov word [ebp - 0x48], 0x50
lea eax, [ebp - 0x34]
call fcn.00401d74
push eax
inc dword [ebp - 0x3c]
mov edx, 0x4c2a1c
lea eax, [ebp - 0x30]
call fcn.004acfb4
inc dword [ebp - 0x3c]
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x2c]
call fcn.00401d74
push eax
inc dword [ebp - 0x3c]
call fcn.00402014
pop ecx
lea eax, [ebp - 0x2c]
pop edx
pop ecx
call fcn.004ad114
lea eax, [ebp - 0x34]
push dword [eax]
call fcn.00401ec4
pop ecx
push eax
call sub.KERNEL32.DLL_WinExec
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004ad0d0
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004ad0d0
dec dword [ebp - 0x3c]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004ad0d0
cmp byte [ebp - 0x5a], 0
je 0x40cea3
cmp byte [ebp - 0x5b], 0
jne 0x40cea7
xor ecx, ecx
jmp 0x40ceac
mov ecx, 1
mov byte [ebp - 0x59], cl
mov al, byte [ebp - 0x59]
mov edx, dword [ebp - 0x58]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret