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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x46c7e8
push ecx
mov eax, 0x46c3e8
call fcn.004066d0
xor eax, eax
push ebp
push 0x46d350
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4702f0]
mov eax, dword [eax]
call fcn.0045a3a8
call fcn.00402a44
test eax, eax
je 0x46d332
lea edx, [ebp - 0x18]
xor eax, eax
call fcn.0045cf2c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov edx, 0x46d364
call fcn.0045c1a4
mov eax, dword [ebp - 0x14]
mov edx, 0x46d37c
call fcn.0045cfbc
mov eax, 0x46d390
call fcn.0045c424
test al, al
je 0x46c8ff
mov eax, dword [0x47002c]
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, 0x46d3a0
call fcn.0045c1a4
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x470110]
call fcn.004045dc
mov eax, dword [0x47002c]
cmp byte [eax], 0
je 0x46c8a8
mov edx, dword [0x470110]
mov edx, dword [edx]
or ecx, 0xffffffff
mov eax, 0x46d3b8
call fcn.00462454
xor eax, eax
call fcn.00467280
mov dword [0xb6e500], eax
mov eax, dword [0x47002c]
cmp byte [eax], 0
je 0x46c8f8
push 0x46d3f0
lea edx, [ebp - 0x28]
mov eax, dword [0xb6e500]
call fcn.004088c0
push dword [ebp - 0x28]
push 0x46d428
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00404908
mov eax, dword [ebp - 0x24]
mov edx, dword [0x470110]
mov edx, dword [edx]
or ecx, 0xffffffff
call fcn.00462454
push 0
call sub.KERNEL32.DLL_ExitProcess
call fcn.0046bde4
call fcn.00462f2c
mov eax, 0x46d434
call fcn.0045c424
test al, al
je 0x46c9ab
mov eax, dword [0x4700f0]
mov byte [eax], 1
mov eax, 0x46d44c
call main
call fcn.0046c1b8
mov eax, 0x46d46c
call fcn.0045c424
test al, al
je 0x46c9a4
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d480
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, 0x46d498
call fcn.0045c1a4
mov eax, dword [ebp - 0x30]
call fcn.00404a48
push eax
push 0x46d4a8
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d4b8
call main
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d4d0
call fcn.0045c424
test al, al
je 0x46cc4f
mov eax, 0x46d4e4
call fcn.0046c10c
push 0xbb8
call sub.KERNEL32.DLL_Sleep
mov eax, 0x46d50c
call fcn.0046c10c
push 0x46d518
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, 0x46d52c
call fcn.00404894
mov eax, dword [ebp - 0x38]
call fcn.0046c10c
xor eax, eax
mov dword [0xb6e504], eax
cmp dword [0xb6e4a4], 0
je 0x46ca9b
inc dword [0xb6e504]
push 0x46d53c
lea edx, [ebp - 0x44]
mov eax, dword [0xb6e504]
call fcn.004088c0
push dword [ebp - 0x44]
push 0x46d554
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.0046c10c
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d518
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46ca9b
cmp dword [0xb6e4a4], 0
jne 0x46ca25
cmp dword [0xb6e4a4], 0
je 0x46cb48
mov eax, 0x46d564
call fcn.0046c10c
mov eax, dword [0x4702f0]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d578
mov eax, dword [0xb6e4a4]
call fcn.0045e5c4
xor eax, eax
mov dword [0xb6e504], eax
inc dword [0xb6e504]
push 0x46d58c
lea edx, [ebp - 0x50]
mov eax, dword [0xb6e504]
call fcn.004088c0
push dword [ebp - 0x50]
push 0x46d554
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.0046c10c
push 0x3e8
call sub.KERNEL32.DLL_Sleep
push 0x46d518
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 0xa
jg 0x46cb48
cmp dword [0xb6e4a4], 0
jne 0x46cad2
mov eax, 0x46d5a4
call fcn.0046c10c
mov eax, 0x46d498
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, 0x46d5c0
call fcn.00404894
mov eax, dword [ebp - 0x58]
call fcn.0046c10c
mov eax, 0x46d498
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, 0x46d5d4
call fcn.00404894
mov eax, dword [ebp - 0x60]
call fcn.0046c10c
mov eax, 0x46d498
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, 0x46d5e8
call fcn.00404894
mov eax, dword [ebp - 0x68]
call fcn.0046c10c
mov eax, 0x46d5fc
call fcn.0046c10c
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, 0x46d498
call fcn.0045c1a4
mov eax, dword [ebp - 0x74]
call fcn.00404a48
push eax
push 0x46d4a8
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, 0x46d610
call fcn.0046c10c
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, 0x46d624
call fcn.0045c424
test al, al
je 0x46cef2
mov eax, dword [0x470484]
cmp dword [eax], 2
jne 0x46ce0c
mov edx, 0x46d630
mov eax, 0x46d648
call fcn.0046446c
mov dword [0xb6e4a0], eax
cmp dword [0xb6e4a0], 0
je 0x46ce0c
cmp dword [0xb6e4a0], 1
je 0x46ce0c
xor eax, eax
mov dword [0xb6e504], eax
mov edx, 0x46d654
xor eax, eax
call fcn.004643b4
test al, al
jne 0x46cccd
push 0x3e8
call sub.KERNEL32.DLL_Sleep
inc dword [0xb6e504]
cmp dword [0xb6e504], 5
jle 0x46cca4
lea edx, [ebp - 0x80]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x7c]
mov edx, 0x46d498
call fcn.0045c1a4
mov edx, dword [ebp - 0x7c]
mov eax, 0xb6e4fc
mov ecx, 0x46d674
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 0x46cd6d
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 0x46d688
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e4a4], 0
jbe 0x46ce00
mov eax, dword [0x4702f0]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d578
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 0x46d688
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46ce00
cmp dword [0xb6e4a4], 0
jne 0x46cdcd
call fcn.0046bd48
push 0
call sub.KERNEL32.DLL_ExitProcess
push 0x46d518
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e4a4], 0
jbe 0x46ce79
mov eax, dword [0x4702f0]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d578
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 0x46d518
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46ce79
cmp dword [0xb6e4a4], 0
jne 0x46ce46
push 0x46d688
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e4a4], 0
jbe 0x46cee6
mov eax, dword [0x4702f0]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov ecx, 0x46d578
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 0x46d688
push 0
call sub.user32.dll_FindWindowA
mov dword [0xb6e4a4], eax
cmp dword [0xb6e504], 5
jg 0x46cee6
cmp dword [0xb6e4a4], 0
jne 0x46ceb3
call fcn.0046bd48
push 0
call sub.KERNEL32.DLL_ExitProcess
mov eax, dword [0x470484]
cmp dword [eax], 2
je 0x46cf42
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 0x46d332
mov edx, 0x46d630
mov eax, 0x46d648
call fcn.0046446c
mov dword [0xb6e4a0], eax
cmp dword [0xb6e4a0], 0
jne 0x46cfa7
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, 0x46d6a8
call fcn.0045c424
test al, al
je 0x46d080
cmp dword [0xb6e4a0], 4
jne 0x46d00a
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.0046bef4
test al, al
jne 0x46d01f
push 0
call sub.KERNEL32.DLL_ExitProcess
mov edx, 0x46d654
xor eax, eax
call fcn.004642f0
test al, al
jne 0x46d326
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 0x46d326
mov eax, 0x46d6b8
call fcn.0045c424
test al, al
je 0x46d326
mov eax, 2
call fcn.0046bef4
test al, al
jne 0x46d0a7
push 0
call sub.KERNEL32.DLL_ExitProcess
cmp dword [0xb6e4a0], 1
je 0x46d108
mov edx, 0x46d654
xor eax, eax
call fcn.004643b4
test al, al
jne 0x46d108
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 0x46d326
lea edx, [ebp - 0xbc]
mov al, 1
call fcn.0045cf2c
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xb8]
mov edx, 0x46d498
call fcn.0045c1a4
mov edx, dword [ebp - 0xb8]
mov eax, 0xb6e4fc
mov ecx, 0x46d674
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 0x46d24d
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 0x46d332
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, 0x46d498
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 0x46d332
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 [0x4702f0]
mov eax, dword [eax]
call fcn.0045a440
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46d357
lea eax, [ebp - 0xcc]
mov edx, 0x2f
call fcn.004045ac
ret