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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x46c998
push ecx
mov eax, 0x46c598
call fcn.004066d0
xor eax, eax
push ebp
push 0x46d500
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 0x46d4e2
lea edx, [ebp - 0x18]
xor eax, eax
call fcn.0045cf2c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov edx, 0x46d514
call fcn.0045c1a4
mov eax, dword [ebp - 0x14]
mov edx, 0x46d52c
call fcn.0045cfbc
mov eax, 0x46d540
call fcn.0045c424
test al, al
je 0x46caaf
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, 0x46d550
call fcn.0045c1a4
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x470118]
call fcn.004045dc
mov eax, dword [0x470034]
cmp byte [eax], 0
je 0x46ca58
mov edx, dword [0x470118]
mov edx, dword [edx]
or ecx, 0xffffffff
mov eax, 0x46d568
call fcn.0045e714
xor eax, eax
call fcn.00467414
mov dword [0xb6e528], eax
mov eax, dword [0x470034]
cmp byte [eax], 0
je 0x46caa8
push 0x46d5a0
lea edx, [ebp - 0x28]
mov eax, dword [0xb6e528]
call fcn.004088c0
push dword [ebp - 0x28]
push 0x46d5d8
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.0046bf94
call fcn.004630c0
mov eax, 0x46d5e4
call fcn.0045c424
test al, al
je 0x46cb5b
mov eax, dword [0x4700f8]
mov byte [eax], 1
mov eax, 0x46d5fc
call main
call fcn.0046c368
mov eax, 0x46d61c
call fcn.0045c424
test al, al
je 0x46cb54
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d630
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, 0x46d648
call fcn.0045c1a4
mov eax, dword [ebp - 0x30]
call fcn.00404a48
push eax
push 0x46d658
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d668
call main
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d680
call fcn.0045c424
test al, al
je 0x46cdff
mov eax, 0x46d694
call fcn.0046c2bc
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d6bc
call fcn.0046c2bc
push 0x46d6c8
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
mov eax, dword [0xb6e4cc]
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, 0x46d6dc
call fcn.00404894
mov eax, dword [ebp - 0x38]
call fcn.0046c2bc
xor eax, eax
mov dword [0xb6e52c], eax
cmp dword [0xb6e4cc], 0
je 0x46cc4b
inc dword [0xb6e52c]
push 0x46d6ec
lea edx, [ebp - 0x44]
mov eax, dword [0xb6e52c]
call fcn.004088c0
push dword [ebp - 0x44]
push 0x46d704
mov eax, dword [0xb6e4cc]
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.0046c2bc
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6c8
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e52c], 5
jg 0x46cc4b
cmp dword [0xb6e4cc], 0
jne 0x46cbd5
cmp dword [0xb6e4cc], 0
je 0x46ccf8
mov eax, 0x46d714
call fcn.0046c2bc
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d728
mov eax, dword [0xb6e4cc]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e52c], eax
inc dword [0xb6e52c]
push 0x46d73c
lea edx, [ebp - 0x50]
mov eax, dword [0xb6e52c]
call fcn.004088c0
push dword [ebp - 0x50]
push 0x46d704
mov eax, dword [0xb6e4cc]
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.0046c2bc
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6c8
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e52c], 0xa
jg 0x46ccf8
cmp dword [0xb6e4cc], 0
jne 0x46cc82
mov eax, 0x46d754
call fcn.0046c2bc
mov eax, 0x46d648
call fcn.0045f2d0
mov dword [0xb6e52c], eax
lea edx, [ebp - 0x5c]
mov eax, dword [0xb6e52c]
call fcn.004088c0
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x46d770
call fcn.00404894
mov eax, dword [ebp - 0x58]
call fcn.0046c2bc
mov eax, 0x46d648
call fcn.0045f2d0
mov dword [0xb6e52c], eax
lea edx, [ebp - 0x64]
mov eax, dword [0xb6e52c]
call fcn.004088c0
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x60]
mov edx, 0x46d784
call fcn.00404894
mov eax, dword [ebp - 0x60]
call fcn.0046c2bc
mov eax, 0x46d648
call fcn.0045f2d0
mov dword [0xb6e52c], eax
lea edx, [ebp - 0x6c]
mov eax, dword [0xb6e52c]
call fcn.004088c0
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov edx, 0x46d798
call fcn.00404894
mov eax, dword [ebp - 0x68]
call fcn.0046c2bc
mov eax, 0x46d7ac
call fcn.0046c2bc
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, 0x46d648
call fcn.0045c1a4
mov eax, dword [ebp - 0x74]
call fcn.00404a48
push eax
push 0x46d658
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d7c0
call fcn.0046c2bc
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d7d4
call fcn.0045c424
test al, al
je 0x46d0a2
mov eax, dword [0x47048c]
cmp dword [eax], 2
jne 0x46cfbc
mov edx, 0x46d7e0
mov eax, 0x46d7f8
call fcn.00464600
mov dword [0xb6e4c8], eax
cmp dword [0xb6e4c8], 0
je 0x46cfbc
cmp dword [0xb6e4c8], 1
je 0x46cfbc
xor eax, eax
mov dword [0xb6e52c], eax
mov edx, 0x46d804
xor eax, eax
call fcn.00464548
test al, al
jne 0x46ce7d
push 0x3e8
call sub.KERNEL32.DLL_Sleep
inc dword [0xb6e52c]
cmp dword [0xb6e52c], 5
jle 0x46ce54
lea edx, [ebp - 0x80]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x7c]
mov edx, 0x46d648
call fcn.0045c1a4
mov edx, dword [ebp - 0x7c]
mov eax, 0xb6e524
mov ecx, 0x46d824
call fcn.00404894
mov eax, 0xb6e4d0
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4d0], 0x44
mov dword [0xb6e4fc], 0x81
mov word [0xb6e500], 0
push 0xb6e514
push 0xb6e4d0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e524]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e4c4], al
cmp byte [0xb6e4c4], 0
jne 0x46cf1d
push 0xbe
call sub.KERNEL32.DLL_ExitProcess
push 0x7530
mov eax, dword [0xb6e514]
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
mov eax, dword [0xb6e514]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e518]
push eax
call sub.KERNEL32.DLL_CloseHandle
push 0x46d838
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e4cc], 0
jbe 0x46cfb0
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d728
mov eax, dword [0xb6e4cc]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e52c], eax
inc dword [0xb6e52c]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d838
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e52c], 5
jg 0x46cfb0
cmp dword [0xb6e4cc], 0
jne 0x46cf7d
call fcn.0046bef8
push 0
call sub.KERNEL32.DLL_ExitProcess
push 0x46d6c8
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e4cc], 0
jbe 0x46d029
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d728
mov eax, dword [0xb6e4cc]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e52c], eax
inc dword [0xb6e52c]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6c8
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e52c], 5
jg 0x46d029
cmp dword [0xb6e4cc], 0
jne 0x46cff6
push 0x46d838
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e4cc], 0
jbe 0x46d096
mov eax, dword [0x4702f8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d728
mov eax, dword [0xb6e4cc]
call fcn.0045ecbc
xor eax, eax
mov dword [0xb6e52c], eax
inc dword [0xb6e52c]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d838
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4cc], eax
cmp dword [0xb6e52c], 5
jg 0x46d096
cmp dword [0xb6e4cc], 0
jne 0x46d063
call fcn.0046bef8
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, dword [0x47048c]
cmp dword [eax], 2
je 0x46d0f2
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 0x46d4e2
mov edx, 0x46d7e0
mov eax, 0x46d7f8
call fcn.00464600
mov dword [0xb6e4c8], eax
cmp dword [0xb6e4c8], 0
jne 0x46d157
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, 0x46d858
call fcn.0045c424
test al, al
je 0x46d230
cmp dword [0xb6e4c8], 4
jne 0x46d1ba
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.0046c0a4
test al, al
jne 0x46d1cf
push 0
call sub.KERNEL32.DLL_ExitProcess
mov edx, 0x46d804
xor eax, eax
call fcn.00464484
test al, al
jne 0x46d4d6
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 0x46d4d6
mov eax, 0x46d868
call fcn.0045c424
test al, al
je 0x46d4d6
mov eax, 2
call fcn.0046c0a4
test al, al
jne 0x46d257
push 0
call sub.KERNEL32.DLL_ExitProcess
cmp dword [0xb6e4c8], 1
je 0x46d2b8
mov edx, 0x46d804
xor eax, eax
call fcn.00464548
test al, al
jne 0x46d2b8
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 0x46d4d6
lea edx, [ebp - 0xbc]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xb8]
mov edx, 0x46d648
call fcn.0045c1a4
mov edx, dword [ebp - 0xb8]
mov eax, 0xb6e524
mov ecx, 0x46d824
call fcn.00404894
mov eax, 0xb6e4d0
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4d0], 0x44
mov dword [0xb6e4fc], 0x81
mov word [0xb6e500], 0
push 0xb6e514
push 0xb6e4d0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e524]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e4c4], al
cmp byte [0xb6e4c4], 0
jne 0x46d3fd
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 0x46d4e2
push 0x7530
mov eax, dword [0xb6e514]
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
mov eax, dword [0xb6e514]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e518]
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, 0x46d648
call fcn.0045c1a4
mov edx, dword [ebp - 0xc8]
mov eax, 0xb6e524
call fcn.004045dc
mov eax, 0xb6e4d0
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4d0], 0x44
mov dword [0xb6e4fc], 0x81
mov word [0xb6e500], 1
push 0xb6e514
push 0xb6e4d0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e524]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e4c4], al
cmp byte [0xb6e4c4], 0
je 0x46d4e2
mov eax, dword [0xb6e514]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e518]
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 0x46d507
lea eax, [ebp - 0xcc]
mov edx, 0x2f
call fcn.004045ac
ret