Function at 0x140098620
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
lea rdi, [0x14016a3e0]
mov rbx, rcx
mov rcx, rdi
mov esi, edx
call fcn.14009a3d0
mov rax, qword [rbx]
cmp dword [rax], 0xbab1feed
jne 0x140098389
mov rax, qword [rbx]
mov eax, dword [rax + 4]
test eax, eax
jle 0x140098389
mov rax, qword [rbx]
mov rcx, rdi
sub dword [rax + 4], 1
call fcn.14009a420
mov eax, esi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [rsp + 0x20], 0x26
lea r9, str..._mingw_w64_mingw_w64_libraries_winpthreads_src_barrier.c
lea r8, str.___barrier_t__barrier___valid__LIFE_BARRIER______barrier_t__barrier___busy___0_
mov rcx, rax
lea rdx, [0x14017f038]
call fcn.1400b53a0
mov ecx, 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop
nop word cs:[rax + rax]
nop
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rbp, qword [0x140185450]
mov rdi, qword [sym.imp.KERNEL32.dll_Sleep]
mov rsi, qword [rbp]
mov qword [rsp + 0x28], rsi
lea rsi, [rsp + 0x20]
mov rbx, rcx
jmp 0x140098404
xor ecx, ecx
call rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140098210
cmp eax, 0x10
je 0x140098400
mov esi, 0x16
test eax, eax
jne 0x14009846c
mov rdi, qword [rsp + 0x20]
lea rsi, [rdi + 0x18]
lea r12, [rdi + 0x20]
mov rcx, rsi
call fcn.140099de0
mov rcx, r12
call fcn.14009d2d0
test eax, eax
jne 0x140098490
lea r13, [rdi + 0x28]
mov rcx, r13
call fcn.14009d2d0
test eax, eax
jne 0x1400984a2
mov rcx, rsi
call fcn.14009a0b0
mov rcx, rsi
call fcn.14009a250
mov esi, eax
test eax, eax
jne 0x1400984c2
mov rcx, rdi
call fcn.1400b5948
mov rax, qword [rsp + 0x28]
sub rax, qword [rbp]
jne 0x1400984e3
mov eax, esi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov qword [rbx], rdi
mov rcx, rsi
mov esi, 0x10
call fcn.14009a0b0
jmp 0x14009846c
mov edx, dword [rdi + 0x10]
mov rcx, r12
xor r8d, r8d
call fcn.14009d1e0
mov qword [rbx], rdi
mov rcx, rsi
call fcn.14009a0b0
mov esi, 0xffffffff
jmp 0x14009846c
mov edx, dword [rdi + 0x10]
xor r8d, r8d
mov rcx, r12
call fcn.14009d1e0
mov edx, dword [rdi + 0x10]
xor r8d, r8d
mov rcx, r13
call fcn.14009d1e0
mov qword [rbx], rdi
jmp 0x1400984bb
call fcn.1400ac0f0
nop
nop dword [rax]
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rcx
call fcn.1400982d0
test eax, eax
jne 0x140098690
mov rsi, qword [rbx]
lea rbp, [rsi + 0x18]
mov rcx, rbp
call fcn.140099de0
mov edx, 0x16
mov edi, eax
test eax, eax
jne 0x140098679
movsxd r12, dword [rsi + 0x14]
lock sub dword [rsi + 0xc], 1
mov eax, dword [rsi + 0xc]
test eax, eax
je 0x1400986a0
mov rcx, rbp
call fcn.14009a0b0
lea rcx, [rsi + r12*8 + 0x20]
call fcn.14009d410
mov edx, eax
test edx, edx
cmove edx, edi
mov rcx, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp 0x140098340
mov eax, 0x16
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
xor eax, eax
mov edx, dword [rsi + 8]
test r12d, r12d
sete al
mov dword [rsi + 0xc], edx
mov dword [rsi + 0x14], eax
cmp edx, 1
jg 0x1400986c8
mov rcx, rbp
call fcn.14009a0b0
mov edx, 1
jmp 0x140098679
sub edx, 1
lea rcx, [rsi + r12*8 + 0x20]
mov edi, 1
call fcn.14009d790
mov rcx, rbp
mov dword [rsp + 0x2c], eax
call fcn.14009a0b0
mov edx, dword [rsp + 0x2c]
jmp 0x140098674