Function at 0x14002eb84
Capabilities:
Terminate process

Disassembly:
push rbx
push rdi
push rbp
sub rsp, 0x40
xor ebp, ebp
dec ebp
mov edx, dword [0x1403bb00c]
lea rbx, [0x140000000]
mov r10b, 1
mov edi, ebp
test edx, edx
jle 0x14002e938
mov r11d, edx
xor eax, eax
shr r11d, 1
je 0x14002ed51
cmp byte [rbx + rax*2 + 0x3c1100], 0
jne 0x14002ed3c
xor r10b, r10b
cmp byte [rbx + rax*2 + 0x3c1101], 0
jne 0x14002ed27
xor r10b, r10b
inc rax
cmp rax, r11
jb 0x14002e8ef
add eax, eax
cmp eax, edx
jae 0x14002ed10
cdqe
cmp byte [rbx + rax + 0x3c1100], 0
jne 0x14002eb01
cmp ebp, 0xffffffff
jne 0x14002e942
mov eax, ebp
add rsp, 0x40
pop rbp
pop rdi
pop rbx
ret
cmp byte [0x1403cee91], 0
jne 0x14002ead3
mov r10d, dword [0x1403ce898]
xor edx, edx
dec edx
imul r11d, r10d, 0x3e8
test r10d, r10d
movsxd rdi, ebp
cmovne edx, r11d
mov rcx, qword [rbx + rdi*8 + 0x3c1b00]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r9d, eax
cmp r9d, 0x102
je 0x14002ea7b
test r9d, r9d
jne 0x14002ea2a
mov rcx, qword [rbx + rdi*8 + 0x3c1b00]
lea rdx, [rbx + rdi*4 + 0x3c2b00]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rdx, qword [rbx + rdi*8 + 0x3c3300]
test rdx, rdx
je 0x14002e9cc
mov ecx, ebp
call rdx
mov dword [rbx + rdi*4 + 0x3c2b00], eax
mov qword [rbx + rdi*8 + 0x3c3300], 0
mov ecx, ebp
call fcn.14002ed60
cmp byte [0x1403cee91], 0
je 0x14002e938
mov ecx, 2
call fcn.140084028
mov qword [rsp + 0x30], rax
mov ecx, ebp
call fcn.14005d990
mov r11, rsp
lea rdx, str._t___Exited:___id_d__slot_d__pid_d__status_d_n
mov r10d, dword [rbx + rdi*4 + 0x3c2b00]
mov r9d, ebp
mov r8d, dword [rbx + rdi*4 + 0x3c1300]
mov dword [r11 + 0x20], eax
mov dword [r11 + 0x28], r10d
mov rcx, qword [rsp + 0x30]
call fcn.14003b2b0
jmp 0x14002e938
mov dword [rsp + 0x30], r9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, dword [rsp + 0x30]
mov ebx, eax
mov ecx, 2
mov dword [rsp + 0x30], r9d
call fcn.140084028
mov r9d, dword [rsp + 0x30]
mov rdi, rsp
lea rdx, str._______d:_wait_failed__error_d__process_status_d__n
mov rcx, rax
mov r8d, ebp
mov dword [rdi + 0x20], ebx
call fcn.14003b2b0
mov ecx, ebx
call fcn.14005d9b0
mov ecx, ebp
call fcn.14002ed60
jmp 0x14002e938
xor ecx, ecx
mov edx, 0x277b
mov r9d, dword [0x1403ce898]
mov r8, qword [rbx + rdi*8 + 0x3c7300]
call fcn.14003b7f0
mov rcx, qword [rbx + rdi*8 + 0x3c1b00]
mov edx, 0x2a
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x14002e938
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov edx, 0x277d
mov r9d, eax
mov r8, qword [rbx + rdi*8 + 0x3c7300]
call fcn.14003b7f0
jmp 0x14002e938
mov ecx, 2
call fcn.140084028
mov rdi, rax
mov ecx, ebp
call fcn.14005d990
lea rdx, [0x1401a5dd0]
mov rcx, rdi
mov r8d, ebp
mov r9d, eax
call fcn.14003b2b0
jmp 0x14002e94f
cmp ebp, 0xffffffff
jne 0x14002ed02
mov ebp, eax
test r10b, r10b
je 0x14002e933
mov edi, eax
cmp byte [0x1403cee91], 0
je 0x14002eb3c
mov ecx, 2
call fcn.140084028
lea rdx, str.Waiting_for_slots_0.._d_n
mov rcx, rax
mov r8d, edi
call fcn.14003b2b0
mov eax, dword [0x1403ce898]
xor r9d, r9d
dec r9d
imul ebp, eax, 0x3e8
test eax, eax
lea rdx, [0x1403c1b00]
lea ecx, [rdi + 1]
cmovne r9d, ebp
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov ebp, eax
movsxd rbp, ebp
mov qword [rsp + 0x30], rbp
cmp rbp, 0x102
jne 0x14002ebf3
xor eax, eax
test edi, edi
jl 0x14002e938
movsxd rdi, edi
mov qword [rsp + 0x30], r15
mov r15, rbx
mov rbx, rax
xor ecx, ecx
mov edx, 0x277b
mov r9d, dword [0x1403ce898]
mov r8, qword [r15 + rbx*8 + 0x3c7300]
call fcn.14003b7f0
mov rcx, qword [r15 + rbx*8 + 0x3c1b00]
mov edx, 0x2a
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x14002ebe1
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov edx, 0x277d
mov r9d, eax
mov r8, qword [r15 + rbx*8 + 0x3c7300]
call fcn.14003b7f0
inc rbx
cmp rbx, rdi
jle 0x14002eb92
mov r15, qword [rsp + 0x30]
jmp 0x14002e938
cmp qword [rsp + 0x30], 0
jl 0x14002ecb2
movsxd rdx, dword [0x1403bb00c]
cmp rdx, qword [rsp + 0x30]
jle 0x14002ecb2
mov rdi, rbp
mov rcx, qword [rbx + rdi*8 + 0x3c1b00]
lea rdx, [rbx + rdi*4 + 0x3c2b00]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rdx, rbp
mov rdx, qword [rbx + rdx*8 + 0x3c3300]
test rdx, rdx
je 0x14002ec54
mov ecx, ebp
call rdx
mov rdx, rbp
mov dword [rbx + rdx*4 + 0x3c2b00], eax
mov qword [rbx + rdx*8 + 0x3c3300], 0
mov ecx, ebp
call fcn.14002ed60
cmp byte [0x1403cee91], 0
je 0x14002e938
mov ecx, 2
call fcn.140084028
mov rdi, rax
mov ecx, ebp
call fcn.14005d990
mov r9, rbp
mov r11, rsp
lea rdx, str._t___Exited:___id_d__slot_d__pid_d__status_d_n
mov rcx, rdi
mov r10d, dword [rbx + r9*4 + 0x3c2b00]
mov r8d, dword [rbx + r9*4 + 0x3c1300]
mov r9d, ebp
mov dword [r11 + 0x20], eax
mov dword [r11 + 0x28], r10d
call fcn.14003b2b0
nop
jmp 0x14002e938
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, 2
call fcn.140084028
lea rdx, str.______multiple_wait_failed__error_d__process_status_d__n
mov rcx, rax
mov r8d, ebp
mov r9d, ebx
call fcn.14003b2b0
mov ecx, 2
call fcn.140084028
lea rdx, str.______________________________cur_d___n
mov rcx, rax
mov r8d, ebp
call fcn.14003b2b0
mov ecx, ebx
call fcn.14005d9b0
nop
jmp 0x14002e938
test r10b, r10b
jne 0x14002eb15
jmp 0x14002e942
cmp ebp, 0xffffffff
je 0x14002e938
test r10b, r10b
jne 0x14002eb17
jmp 0x14002e942
cmp ebp, 0xffffffff
lea ecx, [rax + rax + 1]
cmove ebp, ecx
test r10b, r10b
cmovne edi, ecx
jmp 0x14002e911
mov ecx, eax
add ecx, ecx
cmp ebp, 0xffffffff
cmove ebp, ecx
test r10b, r10b
cmovne edi, ecx
jmp 0x14002e900
xor eax, eax
test edx, edx
ja 0x14002e923
jmp 0x14002e938