Function at 0x107fac5
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 [0x10b1090]
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 0x107fb00
mov dword [ebp - 0x620], ebx
jmp 0x107fb13
call fcn.0101d802
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x107fd3b
push dword [ebp - 0x62c]
call fcn.0107fa0e
mov dword [ebp - 0x640], eax
cmp eax, ebx
je 0x107fd2f
lea ecx, [ebp - 0x644]
push ecx
push 4
push eax
push 0x107f9ce
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x624], eax
cmp eax, ebx
jne 0x107fb60
call fcn.0101d802
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x107fd23
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 0x107fd50
call fcn.010256cf
mov dword [ebp - 0x620], 0x80004005
cmp edi, ebx
je 0x107fcf6
cmp edi, esi
ja 0x107fcf6
push ebx
push 0x107fdd8
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0107f4c0
test eax, eax
jl 0x107fcf6
push dword [ebp - 0x628]
lea eax, [ebp - 0x61c]
push 0x400
push 0x107fd70
push 0x208
push eax
call fcn.0100ecf0
add esp, 0x14
test eax, eax
jl 0x107fcf6
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 0x107fc55
call fcn.0101d802
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x107fcf6
push dword [ebp - 0x63c]
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x107fc73
mov dword [ebp - 0x620], ebx
jmp 0x107fc82
call fcn.0101d802
cmp eax, ebx
mov dword [ebp - 0x620], eax
jl 0x107fcca
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 0x107fcab
push 0xffffffffffffffff
push dword [ebp - 0x624]
push ebx
call fcn.0106ac0b
push dword [ebp - 0x628]
push dword [ebp - 0x63c]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
push eax
push 0x107fd60
call fcn.01026215
jmp 0x107fcd8
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 0x107fd15
push 5
push dword [ebp - 0x624]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [ebp - 0x628]
push ebx
push 0x107fd60
call fcn.01026215
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.0100204d
leave
ret 8