Function at 0x1009280
Capabilities:
Create process on windows
Create process suspended
Create thread
Get common file path
Resume thread
Terminate process
Terminate thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x688
mov eax, dword [0x100c124]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
push ebx
push ebx
mov dword [ebp - 0x628], eax
call dword [sym.imp.KERNEL32.dll_CreateJobObjectW]
mov dword [ebp - 0x62c], eax
cmp eax, ebx
je 0x10092bb
mov dword [ebp - 0x620], ebx
jmp 0x10092ce
call fcn.010090e9
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x10094f6
push dword [ebp - 0x62c]
call fcn.0100909c
mov dword [ebp - 0x640], eax
cmp eax, ebx
je 0x10094ea
lea ecx, [ebp - 0x644]
push ecx
push 4
push eax
push 0x100905c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x624], eax
cmp eax, ebx
jne 0x100931b
call fcn.010090e9
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x10094de
push esi
push edi
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push dword [ebp - 0x628]
mov edi, eax
push 0x1001320
call fcn.01007864
mov dword [ebp - 0x620], 0x80004005
cmp edi, ebx
je 0x10094b1
cmp edi, esi
ja 0x10094b1
push ebx
push 0x1001b10
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.010089f0
test eax, eax
jl 0x10094b1
push dword [ebp - 0x628]
lea eax, [ebp - 0x61c]
push 0x400
push 0x1001aa8
push 0x208
push eax
call fcn.01009222
add esp, 0x14
test eax, eax
jl 0x10094b1
push 0x40
lea eax, [ebp - 0x684]
push ebx
push eax
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [ebp - 0x63c], ebx
lea edi, [ebp - 0x638]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x63c]
push eax
lea eax, [ebp - 0x688]
push eax
push ebx
push ebx
push 4
push ebx
push ebx
push ebx
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x20c]
push eax
mov dword [ebp - 0x688], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x1009410
call fcn.010090e9
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x10094b1
push dword [ebp - 0x63c]
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x100942e
mov dword [ebp - 0x620], ebx
jmp 0x100943d
call fcn.010090e9
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x1009485
push dword [ebp - 0x638]
mov esi, dword [sym.imp.KERNEL32.dll_ResumeThread]
call esi
push dword [ebp - 0x624]
call esi
cmp dword [ebp + 0xc], ebx
je 0x1009466
push 0xffffffffffffffff
push dword [ebp - 0x624]
push ebx
call fcn.010076ae
push dword [ebp - 0x628]
push dword [ebp - 0x63c]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
push eax
push 0x1001330
call fcn.010078f9
jmp 0x1009493
push 5
push dword [ebp - 0x63c]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [ebp - 0x63c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x638]
call esi
cmp dword [ebp - 0x620], ebx
jge 0x10094d0
push 5
push dword [ebp - 0x624]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [ebp - 0x628]
push ebx
push 0x1001330
call fcn.010078f9
push dword [ebp - 0x624]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
push dword [ebp - 0x640]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x620]
xor ecx, ebp
pop ebx
call fcn.01006f5f
leave
ret 8