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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x46c804
push ecx
mov eax, 0x46c404
call fcn.004066d0
xor eax, eax
push ebp
push 0x46d36c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4702f4]
mov eax, dword [eax]
call fcn.0045a3a8
call fcn.00402a44
test eax, eax
je 0x46d34e
lea edx, [ebp - 0x18]
xor eax, eax
call fcn.0045cf2c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov edx, 0x46d380
call fcn.0045c1a4
mov eax, dword [ebp - 0x14]
mov edx, 0x46d398
call fcn.0045cfbc
mov eax, 0x46d3ac
call fcn.0045c424
test al, al
je 0x46c91b
mov eax, dword [0x470030]
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, 0x46d3bc
call fcn.0045c1a4
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x470114]
call fcn.004045dc
mov eax, dword [0x470030]
cmp byte [eax], 0
je 0x46c8c4
mov edx, dword [0x470114]
mov edx, dword [edx]
or ecx, 0xffffffff
mov eax, 0x46d3d4
call fcn.00462454
xor eax, eax
call fcn.00467280
mov dword [0xb6e500], eax
mov eax, dword [0x470030]
cmp byte [eax], 0
je 0x46c914
push 0x46d40c
lea edx, [ebp - 0x28]
mov eax, dword [0xb6e500]
call fcn.004088c0
push dword [ebp - 0x28]
push 0x46d444
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00404908
mov eax, dword [ebp - 0x24]
mov edx, dword [0x470114]
mov edx, dword [edx]
or ecx, 0xffffffff
call fcn.00462454
push 0
call sub.KERNEL32.DLL_ExitProcess
call fcn.0046be00
call fcn.00462f2c
mov eax, 0x46d450
call fcn.0045c424
test al, al
je 0x46c9c7
mov eax, dword [0x4700f4]
mov byte [eax], 1
mov eax, 0x46d468
call main
call fcn.0046c1d4
mov eax, 0x46d488
call fcn.0045c424
test al, al
je 0x46c9c0
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d49c
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, 0x46d4b4
call fcn.0045c1a4
mov eax, dword [ebp - 0x30]
call fcn.00404a48
push eax
push 0x46d4c4
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d4d4
call main
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d4ec
call fcn.0045c424
test al, al
je 0x46cc6b
mov eax, 0x46d500
call fcn.0046c128
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d528
call fcn.0046c128
push 0x46d534
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
mov eax, dword [0xb6e4a4]
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, 0x46d548
call fcn.00404894
mov eax, dword [ebp - 0x38]
call fcn.0046c128
xor eax, eax
mov dword [0xb6e504], eax
cmp dword [0xb6e4a4], 0
je 0x46cab7
inc dword [0xb6e504]
push 0x46d558
lea edx, [ebp - 0x44]
mov eax, dword [0xb6e504]
call fcn.004088c0
push dword [ebp - 0x44]
push 0x46d570
mov eax, dword [0xb6e4a4]
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.0046c128
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d534
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46cab7
cmp dword [0xb6e4a4], 0
jne 0x46ca41
cmp dword [0xb6e4a4], 0
je 0x46cb64
mov eax, 0x46d580
call fcn.0046c128
mov eax, dword [0x4702f4]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d594
mov eax, dword [0xb6e4a4]
call fcn.0045e5c4
xor eax, eax
mov dword [0xb6e504], eax
inc dword [0xb6e504]
push 0x46d5a8
lea edx, [ebp - 0x50]
mov eax, dword [0xb6e504]
call fcn.004088c0
push dword [ebp - 0x50]
push 0x46d570
mov eax, dword [0xb6e4a4]
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.0046c128
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d534
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 0xa
jg 0x46cb64
cmp dword [0xb6e4a4], 0
jne 0x46caee
mov eax, 0x46d5c0
call fcn.0046c128
mov eax, 0x46d4b4
call fcn.0045ebd8
mov dword [0xb6e504], eax
lea edx, [ebp - 0x5c]
mov eax, dword [0xb6e504]
call fcn.004088c0
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x46d5dc
call fcn.00404894
mov eax, dword [ebp - 0x58]
call fcn.0046c128
mov eax, 0x46d4b4
call fcn.0045ebd8
mov dword [0xb6e504], eax
lea edx, [ebp - 0x64]
mov eax, dword [0xb6e504]
call fcn.004088c0
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x60]
mov edx, 0x46d5f0
call fcn.00404894
mov eax, dword [ebp - 0x60]
call fcn.0046c128
mov eax, 0x46d4b4
call fcn.0045ebd8
mov dword [0xb6e504], eax
lea edx, [ebp - 0x6c]
mov eax, dword [0xb6e504]
call fcn.004088c0
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov edx, 0x46d604
call fcn.00404894
mov eax, dword [ebp - 0x68]
call fcn.0046c128
mov eax, 0x46d618
call fcn.0046c128
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, 0x46d4b4
call fcn.0045c1a4
mov eax, dword [ebp - 0x74]
call fcn.00404a48
push eax
push 0x46d4c4
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d62c
call fcn.0046c128
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d640
call fcn.0045c424
test al, al
je 0x46cf0e
mov eax, dword [0x470488]
cmp dword [eax], 2
jne 0x46ce28
mov edx, 0x46d64c
mov eax, 0x46d664
call fcn.0046446c
mov dword [0xb6e4a0], eax
cmp dword [0xb6e4a0], 0
je 0x46ce28
cmp dword [0xb6e4a0], 1
je 0x46ce28
xor eax, eax
mov dword [0xb6e504], eax
mov edx, 0x46d670
xor eax, eax
call fcn.004643b4
test al, al
jne 0x46cce9
push 0x3e8
call sub.KERNEL32.DLL_Sleep
inc dword [0xb6e504]
cmp dword [0xb6e504], 5
jle 0x46ccc0
lea edx, [ebp - 0x80]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x7c]
mov edx, 0x46d4b4
call fcn.0045c1a4
mov edx, dword [ebp - 0x7c]
mov eax, 0xb6e4fc
mov ecx, 0x46d690
call fcn.00404894
mov eax, 0xb6e4a8
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4a8], 0x44
mov dword [0xb6e4d4], 0x81
mov word [0xb6e4d8], 0
push 0xb6e4ec
push 0xb6e4a8
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e4fc]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e49c], al
cmp byte [0xb6e49c], 0
jne 0x46cd89
push 0xbe
call sub.KERNEL32.DLL_ExitProcess
push 0x7530
mov eax, dword [0xb6e4ec]
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
mov eax, dword [0xb6e4ec]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e4f0]
push eax
call sub.KERNEL32.DLL_CloseHandle
push 0x46d6a4
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e4a4], 0
jbe 0x46ce1c
mov eax, dword [0x4702f4]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d594
mov eax, dword [0xb6e4a4]
call fcn.0045e5c4
xor eax, eax
mov dword [0xb6e504], eax
inc dword [0xb6e504]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6a4
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46ce1c
cmp dword [0xb6e4a4], 0
jne 0x46cde9
call fcn.0046bd64
push 0
call sub.KERNEL32.DLL_ExitProcess
push 0x46d534
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e4a4], 0
jbe 0x46ce95
mov eax, dword [0x4702f4]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d594
mov eax, dword [0xb6e4a4]
call fcn.0045e5c4
xor eax, eax
mov dword [0xb6e504], eax
inc dword [0xb6e504]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d534
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46ce95
cmp dword [0xb6e4a4], 0
jne 0x46ce62
push 0x46d6a4
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e4a4], 0
jbe 0x46cf02
mov eax, dword [0x4702f4]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d594
mov eax, dword [0xb6e4a4]
call fcn.0045e5c4
xor eax, eax
mov dword [0xb6e504], eax
inc dword [0xb6e504]
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d6a4
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46cf02
cmp dword [0xb6e4a4], 0
jne 0x46cecf
call fcn.0046bd64
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, dword [0x470488]
cmp dword [eax], 2
je 0x46cf5e
push 0x10
lea edx, [ebp - 0x84]
mov eax, 0x1f2
call fcn.00463c30
mov eax, dword [ebp - 0x84]
call fcn.00404a48
push eax
lea edx, [ebp - 0x88]
mov eax, 0x10d
call fcn.00463c30
mov eax, dword [ebp - 0x88]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
jmp 0x46d34e
mov edx, 0x46d64c
mov eax, 0x46d664
call fcn.0046446c
mov dword [0xb6e4a0], eax
cmp dword [0xb6e4a0], 0
jne 0x46cfc3
push 0x10
lea edx, [ebp - 0x8c]
mov eax, 1
call fcn.00463c30
mov eax, dword [ebp - 0x8c]
call fcn.00404a48
push eax
lea edx, [ebp - 0x90]
mov eax, 0x1f4
call fcn.00463c30
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, 0x46d6c4
call fcn.0045c424
test al, al
je 0x46d09c
cmp dword [0xb6e4a0], 4
jne 0x46d026
push 0x10
lea edx, [ebp - 0x94]
mov eax, 1
call fcn.00463c30
mov eax, dword [ebp - 0x94]
call fcn.00404a48
push eax
lea edx, [ebp - 0x98]
mov eax, 0x1f5
call fcn.00463c30
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.0046bf10
test al, al
jne 0x46d03b
push 0
call sub.KERNEL32.DLL_ExitProcess
mov edx, 0x46d670
xor eax, eax
call fcn.004642f0
test al, al
jne 0x46d342
push 0x10
lea edx, [ebp - 0x9c]
mov eax, 1
call fcn.00463c30
mov eax, dword [ebp - 0x9c]
call fcn.00404a48
push eax
lea edx, [ebp - 0xa0]
mov eax, 0x1e7
call fcn.00463c30
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 0x46d342
mov eax, 0x46d6d4
call fcn.0045c424
test al, al
je 0x46d342
mov eax, 2
call fcn.0046bf10
test al, al
jne 0x46d0c3
push 0
call sub.KERNEL32.DLL_ExitProcess
cmp dword [0xb6e4a0], 1
je 0x46d124
mov edx, 0x46d670
xor eax, eax
call fcn.004643b4
test al, al
jne 0x46d124
push 0x10
lea edx, [ebp - 0xa4]
mov eax, 1
call fcn.00463c30
mov eax, dword [ebp - 0xa4]
call fcn.00404a48
push eax
lea edx, [ebp - 0xa8]
mov eax, 0x1e8
call fcn.00463c30
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.00463c30
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.00463c30
mov eax, dword [ebp - 0xb4]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
cmp eax, 6
jne 0x46d342
lea edx, [ebp - 0xbc]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xb8]
mov edx, 0x46d4b4
call fcn.0045c1a4
mov edx, dword [ebp - 0xb8]
mov eax, 0xb6e4fc
mov ecx, 0x46d690
call fcn.00404894
mov eax, 0xb6e4a8
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4a8], 0x44
mov dword [0xb6e4d4], 0x81
mov word [0xb6e4d8], 0
push 0xb6e4ec
push 0xb6e4a8
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e4fc]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e49c], al
cmp byte [0xb6e49c], 0
jne 0x46d269
push 0x10
lea edx, [ebp - 0xc0]
mov eax, 1
call fcn.00463c30
mov eax, dword [ebp - 0xc0]
call fcn.00404a48
push eax
lea edx, [ebp - 0xc4]
mov eax, 0x1e8
call fcn.00463c30
mov eax, dword [ebp - 0xc4]
call fcn.00404a48
push eax
push 0
call sub.user32.dll_MessageBoxA
jmp 0x46d34e
push 0x7530
mov eax, dword [0xb6e4ec]
push eax
call sub.KERNEL32.DLL_WaitForSingleObject
mov eax, dword [0xb6e4ec]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e4f0]
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, 0x46d4b4
call fcn.0045c1a4
mov edx, dword [ebp - 0xc8]
mov eax, 0xb6e4fc
call fcn.004045dc
mov eax, 0xb6e4a8
xor ecx, ecx
mov edx, 0x44
call fcn.0040306c
mov dword [0xb6e4a8], 0x44
mov dword [0xb6e4d4], 0x81
mov word [0xb6e4d8], 1
push 0xb6e4ec
push 0xb6e4a8
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [0xb6e4fc]
call fcn.00404a48
push eax
push 0
call sub.KERNEL32.DLL_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [0xb6e49c], al
cmp byte [0xb6e49c], 0
je 0x46d34e
mov eax, dword [0xb6e4ec]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0xb6e4f0]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0x4702f4]
mov eax, dword [eax]
call fcn.0045a440
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46d373
lea eax, [ebp - 0xcc]
mov edx, 0x2f
call fcn.004045ac
ret