Function at 0x408130
Capabilities:
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46b3dc
mov eax, dword fs:[0]
push eax
sub esp, 0x278
push ebx
push esi
push edi
mov eax, dword [0x48b378]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
xor esi, esi
mov dword [ebp - 0x2c], edi
cmp dword [ebp + 8], esi
jne 0x408270
push str.explorer.exe
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x284], 0x22c
call fcn.00402600
lea edx, [ebp - 0x284]
lea ecx, [ebp - 0x28]
call fcn.0040e900
mov ecx, dword [ebp - 0x14]
mov edi, eax
cmp ecx, 8
jb 0x4081a7
inc ecx
push ecx
push dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
call fcn.00402430
test edi, edi
je 0x4081dc
push dword [ebp - 0x27c]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x4081d1
push 1
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 4
xor eax, eax
mov dword [ebp - 0x14], 7
push str.main
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], esi
mov word [ebp - 0x28], ax
call fcn.00402500
lea edx, [ebp - 0x28]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0040b730
push 0x481eb4
mov byte [ebp - 4], 1
push str.Explorer_killed__s__r_n
push dword [eax]
call fcn.0040bb90
add esp, 0xc
mov byte [ebp - 4], 2
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x408251
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ebx + 4], eax
jne 0x408251
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lock xadd dword [ebx + 8], edi
dec edi
jne 0x408251
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x408381
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
jmp 0x40837c
push 0xc
xor eax, eax
mov dword [ebp - 0x14], 7
push str.explorer.exe
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
call fcn.00402500
xor edx, edx
lea ecx, [ebp - 0x28]
or edi, 1
call fcn.0040e900
test eax, eax
jne 0x4082ad
cmp esi, 5
jge 0x4082ad
mov bl, 1
jmp 0x4082af
xor bl, bl
mov eax, dword [ebp - 0x14]
and edi, 0xfffffffe
cmp eax, 8
jb 0x4082c7
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402430
test bl, bl
je 0x4082e6
push 1
push 0x481aa8
call dword [sym.imp.KERNEL32.dll_WinExec]
push 0x3e8
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x408270
push 4
xor eax, eax
mov dword [ebp - 0x34], 7
push str.main
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x38], 0
mov word [ebp - 0x48], ax
call fcn.00402500
lea edx, [ebp - 0x48]
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x50]
call fcn.0040b730
mov byte [ebp - 4], 4
mov edx, str._Restart_Error
mov ecx, dword [eax]
cmp esi, 5
mov eax, str.Restarted
cmovge eax, edx
push eax
push str.Explorer__s__r_n
push ecx
call fcn.0040bb90
add esp, 0xc
mov byte [ebp - 4], 5
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40836c
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ebx + 4], eax
jne 0x40836c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lock xadd dword [ebx + 8], edi
dec edi
jne 0x40836c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebp - 0x34]
cmp eax, 8
jb 0x408381
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.00402430
xor eax, eax
cmp esi, 5
setl al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4