Function at 0x14004f590
Capabilities:
Create thread
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rdi, r9
mov r15, r8
mov r12, rdx
mov r14, rcx
call fcn.14004fc90
xor r13d, r13d
mov rbp, rax
mov r10d, r13d
lea rax, [0x14029d028]
nop dword [rax]
mov esi, 1
cmp qword [r10 + rax], rbp
je 0x14004f64f
add r10, 0x90
cmp r10, 0x4800
jb 0x14004f5d0
call fcn.14004f480
mov ecx, r13d
mov rbx, rax
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x18], r13
mov qword [rax + 0x38], r13
xchg dword [rax + 0x48], ecx
mov ecx, esi
lock xadd dword [rax + 0x48], ecx
mov eax, esi
lock xadd dword [rbx + 0x48], eax
mov qword [rbx], rbp
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rbx + 0x4c]
mov dword [rbx + 8], eax
lea r8d, [rsi + 0x3f]
lea rdx, str.external
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + 0x8b], r13b
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 8]
mov qword [rbx + 0x40], rcx
mov rcx, qword [r14]
test rcx, rcx
je 0x14004f65c
call fcn.1400503e0
call fcn.14004f480
mov dword [rax + 8], r13d
mov ecx, r13d
mov rbx, rax
mov qword [rax], r13
lea r8, [rax + 8]
mov dword [rax + 0xc], r13d
mov qword [rax + 0x18], r13
mov qword [rax + 0x38], r13
xchg dword [rax + 0x48], ecx
mov qword [r14], rax
mov eax, esi
lock xadd dword [rbx + 0x48], eax
mov eax, esi
lock xadd dword [rbx + 0x48], eax
mov eax, esi
lock xadd dword [rbx + 0x48], eax
mov rax, qword [rsp + 0x80]
mov qword [rbx], r13
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], r15
mov qword [rbx + 0x38], rax
test rdi, rdi
je 0x14004f6bb
mov rax, qword [rdi + 0x20]
jmp 0x14004f6c2
mov rax, 0xffffffffffffffff
mov qword [rbx + 0x10], rax
test rdi, rdi
je 0x14004f6d0
mov edx, dword [rdi + 8]
jmp 0x14004f6d3
mov edx, r13d
mov qword [rsp + 0x28], r8
mov r9, rbx
lea r8, [0x140050560]
mov dword [rsp + 0x20], 4
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rbp, rax
test rax, rax
je 0x14004f7fb
mov qword [rbx], rax
test rdi, rdi
je 0x14004f71c
mov rcx, qword [r14]
mov rdx, qword [rdi + 0x18]
test rcx, rcx
je 0x14004f71c
test rdx, rdx
je 0x14004f71c
call fcn.140050a80
mov qword [rbx + 0x30], rbp
test rdi, rdi
je 0x14004f7ba
mov edx, dword [rdi + 0x10]
test edx, edx
je 0x14004f738
mov rcx, r14
call fcn.140050850
movzx edx, byte [rdi + 0x28]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_SetThreadPriorityBoost]
mov edx, dword [rdi + 0x14]
test edx, edx
js 0x14004f760
mov eax, dword [0x14029d014]
cmp edx, eax
jne 0x14004f7bf
lock xadd dword [0x14029d014], esi
jmp 0x14004f7bf
cmp edx, 0xfffffffe
je 0x14004f7ba
mov eax, dword [0x14029d018]
test eax, eax
js 0x14004f777
mov edx, dword [0x14029d018]
jmp 0x14004f7bf
mov eax, dword [0x14029d018]
cmp eax, 0xffffffff
jne 0x14004f78a
mov edx, dword [0x14029d018]
jmp 0x14004f7bf
mov rcx, qword [0x14029d020]
mov edx, esi
lock xadd dword [0x14029d014], edx
inc edx
cmp edx, 0x40
jne 0x14004f7b0
mov eax, edx
lock cmpxchg dword [0x14029d014], r13d
mov edx, r13d
mov eax, edx
bt rcx, rax
jae 0x14004f791
jmp 0x14004f7bf
mov edx, 0xffffffff
test rdi, rdi
je 0x14004f7dd
cmp dword [rdi + 0x14], 0xfffffffe
jne 0x14004f7dd
mov rcx, qword [r14]
cmp qword [rcx], r13
je 0x14004f7e5
mov rdx, qword [rdi + 0x20]
call fcn.1400509b0
jmp 0x14004f7e5
mov rcx, r14
call fcn.140050900
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rbx
call fcn.1400503e0
mov rax, rbp
jmp 0x14004f818
mov rcx, rbx
call fcn.1400503e0
mov rcx, rbx
call fcn.1400503e0
mov rcx, rbx
call fcn.1400503e0
xor eax, eax
mov qword [r14], r13
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret