Function at 0x46c994
Capabilities:
Create process on windows
Self delete

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x46c99c
push ecx
mov eax, 0x46c59c
call fcn.004066d0
xor eax, eax
push ebp
push 0x46d504
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4702f8]
mov eax, dword [eax]
call fcn.0045a3a8
call fcn.00402a44
test eax, eax
je 0x46d4e6
lea edx, [ebp - 0x18]
xor eax, eax
call fcn.0045cf2c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov edx, 0x46d518
call fcn.0045c1a4
mov eax, dword [ebp - 0x14]
mov edx, 0x46d530
call fcn.0045cfbc
mov eax, 0x46d544
call fcn.0045c424
test al, al
je 0x46cab3
mov eax, dword [0x470034]
mov byte [eax], 1
lea edx, [ebp - 0x20]
xor eax, eax
call fcn.0045cf2c
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x1c]
mov edx, 0x46d554
call fcn.0045c1a4
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x470118]
call fcn.004045dc
mov eax, dword [0x470034]
cmp byte [eax], 0
je 0x46ca5c
mov edx, dword [0x470118]
mov edx, dword [edx]
or ecx, 0xffffffff
mov eax, 0x46d56c
call fcn.0045e714
xor eax, eax
call fcn.00467414
mov dword [0xb6e52c], eax
mov eax, dword [0x470034]
cmp byte [eax], 0
je 0x46caac
push 0x46d5a4
lea edx, [ebp - 0x28]
mov eax, dword [0xb6e52c]
call fcn.004088c0
push dword [ebp - 0x28]
push 0x46d5dc
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00404908
mov eax, dword [ebp - 0x24]
mov edx, dword [0x470118]
mov edx, dword [edx]
or ecx, 0xffffffff
call fcn.0045e714
push 0
call sub.KERNEL32.DLL_ExitProcess
call fcn.0046bf98
call fcn.004630c0
mov eax, 0x46d5e8
call fcn.0045c424
test al, al
je 0x46cb5f
mov eax, dword [0x4700f8]
mov byte [eax], 1
mov eax, 0x46d600
call main
call fcn.0046c36c
mov eax, 0x46d620
call fcn.0045c424
test al, al
je 0x46cb58
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d634
call main
push 0
lea edx, [ebp - 0x2c]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x2c]
call fcn.00404a48
push eax
push 0
lea edx, [ebp - 0x34]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
mov edx, 0x46d64c
call fcn.0045c1a4
mov eax, dword [ebp - 0x30]
call fcn.00404a48
push eax
push 0x46d65c
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d66c
call main
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d684
call fcn.0045c424
test al, al
je 0x46ce03
mov eax, 0x46d698
call fcn.0046c2c0
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d6c0
call fcn.0046c2c0
push 0x46d6cc
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
mov eax, dword [0xb6e4d0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x3c]
call fcn.004089ac
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x38]
mov edx, 0x46d6e0
call fcn.00404894
mov eax, dword [ebp - 0x38]
call fcn.0046c2c0
xor eax, eax
mov dword [0xb6e530], eax
cmp dword [0xb6e4d0], 0
je 0x46cc4f
inc dword [0xb6e530]
push 0x46d6f0
lea edx, [ebp - 0x44]
mov eax, dword [0xb6e530]
call fcn.004088c0
push dword [ebp - 0x44]
push 0x46d708
mov eax, dword [0xb6e4d0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x48]
call fcn.004089ac
push dword [ebp - 0x48]
lea eax, [ebp - 0x40]
mov edx, 4
call fcn.00404908
mov eax, dword [ebp - 0x40]
call fcn.0046c2c0
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6cc
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e530], 5
jg 0x46cc4f
cmp dword [0xb6e4d0], 0
jne 0x46cbd9
cmp dword [0xb6e4d0], 0
je 0x46ccfc
mov eax, 0x46d718
call fcn.0046c2c0
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d72c
mov eax, dword [0xb6e4d0]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e530], eax
inc dword [0xb6e530]
push 0x46d740
lea edx, [ebp - 0x50]
mov eax, dword [0xb6e530]
call fcn.004088c0
push dword [ebp - 0x50]
push 0x46d708
mov eax, dword [0xb6e4d0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x54]
call fcn.004089ac
push dword [ebp - 0x54]
lea eax, [ebp - 0x4c]
mov edx, 4
call fcn.00404908
mov eax, dword [ebp - 0x4c]
call fcn.0046c2c0
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6cc
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e530], 0xa
jg 0x46ccfc
cmp dword [0xb6e4d0], 0
jne 0x46cc86
mov eax, 0x46d758
call fcn.0046c2c0
mov eax, 0x46d64c
call fcn.0045f2d0
mov dword [0xb6e530], eax
lea edx, [ebp - 0x5c]
mov eax, dword [0xb6e530]
call fcn.004088c0
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x46d774
call fcn.00404894
mov eax, dword [ebp - 0x58]
call fcn.0046c2c0
mov eax, 0x46d64c
call fcn.0045f2d0
mov dword [0xb6e530], eax
lea edx, [ebp - 0x64]
mov eax, dword [0xb6e530]
call fcn.004088c0
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x60]
mov edx, 0x46d788
call fcn.00404894
mov eax, dword [ebp - 0x60]
call fcn.0046c2c0
mov eax, 0x46d64c
call fcn.0045f2d0
mov dword [0xb6e530], eax
lea edx, [ebp - 0x6c]
mov eax, dword [0xb6e530]
call fcn.004088c0
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov edx, 0x46d79c
call fcn.00404894
mov eax, dword [ebp - 0x68]
call fcn.0046c2c0
mov eax, 0x46d7b0
call fcn.0046c2c0
push 0
lea edx, [ebp - 0x70]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x70]
call fcn.00404a48
push eax
push 0
lea edx, [ebp - 0x78]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x74]
mov edx, 0x46d64c
call fcn.0045c1a4
mov eax, dword [ebp - 0x74]
call fcn.00404a48
push eax
push 0x46d65c
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d7c4
call fcn.0046c2c0
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d7d8
call fcn.0045c424
test al, al
je 0x46d0a6
mov eax, dword [0x47048c]
cmp dword [eax], 2
jne 0x46cfc0
mov edx, 0x46d7e4
mov eax, 0x46d7fc
call fcn.00464600
mov dword [0xb6e4cc], eax
cmp dword [0xb6e4cc], 0
je 0x46cfc0
cmp dword [0xb6e4cc], 1
je 0x46cfc0
xor eax, eax
mov dword [0xb6e530], eax
mov edx, 0x46d808
xor eax, eax
call fcn.00464548
test al, al
jne 0x46ce81
push 0x3e8
call sub.KERNEL32.DLL_Sleep
inc dword [0xb6e530]
cmp dword [0xb6e530], 5
jle 0x46ce58
lea edx, [ebp - 0x80]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x7c]
mov edx, 0x46d64c
call fcn.0045c1a4
mov edx, dword [ebp - 0x7c]
mov eax, 0xb6e528
mov ecx, 0x46d828
call fcn.00404894
mov eax, 0xb6e4d4
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4d4], 0x44
mov dword [0xb6e500], 0x81
mov word [0xb6e504], 0
push 0xb6e518
push 0xb6e4d4
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e528]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e4c8], al
cmp byte [0xb6e4c8], 0
jne 0x46cf21
push 0xbe
call sub.KERNEL32.DLL_ExitProcess
push 0x7530
mov eax, dword [0xb6e518]
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
mov eax, dword [0xb6e518]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e51c]
push eax
call sub.KERNEL32.DLL_CloseHandle
push 0x46d83c
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e4d0], 0
jbe 0x46cfb4
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d72c
mov eax, dword [0xb6e4d0]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e530], eax
inc dword [0xb6e530]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d83c
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e530], 5
jg 0x46cfb4
cmp dword [0xb6e4d0], 0
jne 0x46cf81
call fcn.0046befc
push 0
call sub.KERNEL32.DLL_ExitProcess
push 0x46d6cc
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e4d0], 0
jbe 0x46d02d
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d72c
mov eax, dword [0xb6e4d0]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e530], eax
inc dword [0xb6e530]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6cc
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e530], 5
jg 0x46d02d
cmp dword [0xb6e4d0], 0
jne 0x46cffa
push 0x46d83c
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e4d0], 0
jbe 0x46d09a
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d72c
mov eax, dword [0xb6e4d0]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e530], eax
inc dword [0xb6e530]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d83c
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4d0], eax
cmp dword [0xb6e530], 5
jg 0x46d09a
cmp dword [0xb6e4d0], 0
jne 0x46d067
call fcn.0046befc
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, dword [0x47048c]
cmp dword [eax], 2
je 0x46d0f6
push 0x10
lea edx, [ebp - 0x84]
mov eax, 0x1f2
call fcn.00463dc4
mov eax, dword [ebp - 0x84]
call fcn.00404a48
push eax
lea edx, [ebp - 0x88]
mov eax, 0x10d
call fcn.00463dc4
mov eax, dword [ebp - 0x88]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
jmp 0x46d4e6
mov edx, 0x46d7e4
mov eax, 0x46d7fc
call fcn.00464600
mov dword [0xb6e4cc], eax
cmp dword [0xb6e4cc], 0
jne 0x46d15b
push 0x10
lea edx, [ebp - 0x8c]
mov eax, 1
call fcn.00463dc4
mov eax, dword [ebp - 0x8c]
call fcn.00404a48
push eax
lea edx, [ebp - 0x90]
mov eax, 0x1f4
call fcn.00463dc4
mov eax, dword [ebp - 0x90]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d85c
call fcn.0045c424
test al, al
je 0x46d234
cmp dword [0xb6e4cc], 4
jne 0x46d1be
push 0x10
lea edx, [ebp - 0x94]
mov eax, 1
call fcn.00463dc4
mov eax, dword [ebp - 0x94]
call fcn.00404a48
push eax
lea edx, [ebp - 0x98]
mov eax, 0x1f5
call fcn.00463dc4
mov eax, dword [ebp - 0x98]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 2
call fcn.0046c0a8
test al, al
jne 0x46d1d3
push 0
call sub.KERNEL32.DLL_ExitProcess
mov edx, 0x46d808
xor eax, eax
call fcn.00464484
test al, al
jne 0x46d4da
push 0x10
lea edx, [ebp - 0x9c]
mov eax, 1
call fcn.00463dc4
mov eax, dword [ebp - 0x9c]
call fcn.00404a48
push eax
lea edx, [ebp - 0xa0]
mov eax, 0x1e7
call fcn.00463dc4
mov eax, dword [ebp - 0xa0]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
jmp 0x46d4da
mov eax, 0x46d86c
call fcn.0045c424
test al, al
je 0x46d4da
mov eax, 2
call fcn.0046c0a8
test al, al
jne 0x46d25b
push 0
call sub.KERNEL32.DLL_ExitProcess
cmp dword [0xb6e4cc], 1
je 0x46d2bc
mov edx, 0x46d808
xor eax, eax
call fcn.00464548
test al, al
jne 0x46d2bc
push 0x10
lea edx, [ebp - 0xa4]
mov eax, 1
call fcn.00463dc4
mov eax, dword [ebp - 0xa4]
call fcn.00404a48
push eax
lea edx, [ebp - 0xa8]
mov eax, 0x1e8
call fcn.00463dc4
mov eax, dword [ebp - 0xa8]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push 0x24
lea edx, [ebp - 0xb0]
mov eax, 0x1f2
call fcn.00463dc4
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0xac]
xor edx, edx
call fcn.0045beec
mov eax, dword [ebp - 0xac]
call fcn.00404a48
push eax
lea edx, [ebp - 0xb4]
mov eax, 0x1fb
call fcn.00463dc4
mov eax, dword [ebp - 0xb4]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
cmp eax, 6
jne 0x46d4da
lea edx, [ebp - 0xbc]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xb8]
mov edx, 0x46d64c
call fcn.0045c1a4
mov edx, dword [ebp - 0xb8]
mov eax, 0xb6e528
mov ecx, 0x46d828
call fcn.00404894
mov eax, 0xb6e4d4
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4d4], 0x44
mov dword [0xb6e500], 0x81
mov word [0xb6e504], 0
push 0xb6e518
push 0xb6e4d4
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e528]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e4c8], al
cmp byte [0xb6e4c8], 0
jne 0x46d401
push 0x10
lea edx, [ebp - 0xc0]
mov eax, 1
call fcn.00463dc4
mov eax, dword [ebp - 0xc0]
call fcn.00404a48
push eax
lea edx, [ebp - 0xc4]
mov eax, 0x1e8
call fcn.00463dc4
mov eax, dword [ebp - 0xc4]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
jmp 0x46d4e6
push 0x7530
mov eax, dword [0xb6e518]
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
mov eax, dword [0xb6e518]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e51c]
push eax
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 0xcc]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0xc8]
mov edx, 0x46d64c
call fcn.0045c1a4
mov edx, dword [ebp - 0xc8]
mov eax, 0xb6e528
call fcn.004045dc
mov eax, 0xb6e4d4
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4d4], 0x44
mov dword [0xb6e500], 0x81
mov word [0xb6e504], 1
push 0xb6e518
push 0xb6e4d4
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e528]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e4c8], al
cmp byte [0xb6e4c8], 0
je 0x46d4e6
mov eax, dword [0xb6e518]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e51c]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0x4702f8]
mov eax, dword [eax]
call fcn.0045a440
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46d50b
lea eax, [ebp - 0xcc]
mov edx, 0x2f
call fcn.004045ac
ret