Function at 0x1400114d0
Capabilities:
Check for time delay via queryperformancecounter
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rdi, rcx
lea rdx, str.destroying_build_queue
mov ecx, 8
call fcn.140013a20
mov rax, qword [rdi + 0xc0]
lea r13, [0x14007d7e6]
xor r12d, r12d
movsxd rax, dword [rax + 0x1c]
mov qword [rsp + 0x90], rax
lea r15, [r12 - 1]
test rax, rax
jle 0x14001191b
mov r13d, r12d
lea rsi, [rdi + 0x630]
lea r12, [rdi + 0x1e0]
cmp byte [0x14008eab8], 0
lea r14, str.ThreadStateDestroy
lea rbp, str.JoinBuildThread
je 0x1400116b9
mov rbx, qword [0x1400b70a0]
cmp dword [rbx + 0x38], 0x8000
mov byte [rbx + 0x3c], 1
jb 0x140011583
xor r9d, r9d
mov qword [rsp + 0x20], rbp
mov r8d, 0x8000
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [r9 + 2]
call fcn.140013a20
jmp 0x1400116b9
movsxd rax, dword [rbx + 0x38]
inc dword [rbx + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x30]
lea r14, [rax + rcx*8]
lea rcx, [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140011f3d
mov rax, qword [rsp + 0x98]
xor edx, edx
sub rax, qword [0x14008eac8]
mov rcx, rbp
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [r14], rax
mov qword [r14 + 0x20], 0
call fcn.140048fbc
mov rbp, rax
test rax, rax
je 0x140011629
mov r8, rax
lea rdx, str.JoinBuildThread
sub r8, rdx
mov rcx, rbx
call fcn.14001e6c0
mov qword [r14 + 0x10], rax
lea rdx, [rbp + 1]
mov r8, r15
inc r8
cmp byte [rdx + r8], 0
jne 0x140011612
mov rcx, rbx
call fcn.14001e6c0
jmp 0x1400116ae
mov rax, qword [rbx + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x10]
cmp rax, qword [rcx + 0x10]
jbe 0x14001164d
mov edx, 0x10
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x10]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
movsd xmm0, qword [str.JoinBuildThread]
movsd qword [r8], xmm0
mov eax, dword [0x14007f280]
mov dword [r8 + 8], eax
movzx eax, word [0x14007f284]
mov word [r8 + 0xc], ax
movzx eax, byte [0x14007f286]
mov byte [r8 + 0xe], al
lea rax, [0x14007d7e6]
mov byte [r8 + 0xf], 0
mov qword [r14 + 0x10], r8
mov qword [r14 + 0x18], rax
lea r14, str.ThreadStateDestroy
mov rbx, qword [r12]
nop dword [rax]
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400116c0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x14008eab8], 0
je 0x140011856
xor ecx, ecx
call fcn.14003df60
cmp byte [0x14008eab8], 0
je 0x140011856
mov rbx, qword [0x1400b70a0]
cmp dword [rbx + 0x38], 0x8000
mov byte [rbx + 0x3c], 1
jb 0x140011733
xor r9d, r9d
mov qword [rsp + 0x20], r14
mov r8d, 0x8000
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [r9 + 2]
call fcn.140013a20
jmp 0x140011856
movsxd rax, dword [rbx + 0x38]
inc dword [rbx + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x30]
lea r14, [rax + rcx*8]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140011f4a
mov rax, qword [rsp + 0xa0]
lea rcx, str.ThreadStateDestroy
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [r14], rax
mov qword [r14 + 0x20], 0
call fcn.140048fbc
mov rbp, rax
test rax, rax
je 0x1400117e4
mov r8, rax
mov rcx, rbx
lea rax, str.ThreadStateDestroy
sub r8, rax
mov rdx, rax
call fcn.14001e6c0
mov qword [r14 + 0x10], rax
lea rdx, [rbp + 1]
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400117d0
mov rcx, rbx
call fcn.14001e6c0
jmp 0x140011852
mov rax, qword [rbx + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x13]
cmp rax, qword [rcx + 0x10]
jbe 0x140011808
mov edx, 0x13
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x13]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
movups xmm0, xmmword [str.ThreadStateDestroy]
movups xmmword [r8], xmm0
movzx eax, word [0x14007f298]
mov word [r8 + 0x10], ax
lea rax, [0x14007d7e6]
mov byte [r8 + 0x12], 0
mov qword [r14 + 0x10], r8
mov qword [r14 + 0x18], rax
cmp qword [rsi - 0x38], 0
jne 0x140011f6c
mov rcx, qword [rsi - 0x48]
test rcx, rcx
je 0x140011893
nop word [rax + rax]
mov rbx, qword [rcx + 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rsi - 0x30]
mov rdx, qword [rcx]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, rbx
test rbx, rbx
jne 0x140011870
xor ebx, ebx
mov qword [rsi - 0x48], rbx
mov qword [rsi - 0x40], rbx
mov rcx, qword [rsi - 8]
test rcx, rcx
je 0x1400118c6
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
neg rax
lock add qword [rsi - 0x50], rax
call fcn.140053948
mov qword [rsi - 8], rbx
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
lock dec qword [0x1400c3c40]
cmp qword [rsi - 0x50], rbx
je 0x1400118e9
lea rcx, str.BEE_ENABLE_TUNDRA_HEAP_VALIDATION
call fcn.140052680
test rax, rax
jne 0x140011f57
cmp byte [0x14008eab8], bl
je 0x1400118f8
xor ecx, ecx
call fcn.14003df60
inc r13
add r12, 8
add rsi, 0x70
cmp r13, qword [rsp + 0x90]
jl 0x140011531
xor r12d, r12d
lea r13, [0x14007d7e6]
cmp byte [0x14008eab8], 0
je 0x140011a81
mov rbx, qword [0x1400b70a0]
cmp dword [rbx + 0x38], 0x8000
mov byte [rbx + 0x3c], 1
jb 0x140011966
xor r9d, r9d
lea rsi, str.SharedResourceDestroy
mov r8d, 0x8000
mov qword [rsp + 0x20], rsi
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [r9 + 2]
call fcn.140013a20
jmp 0x140011a81
movsxd rax, dword [rbx + 0x38]
inc dword [rbx + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x30]
lea r14, [rax + rcx*8]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140011f79
mov rax, qword [rsp + 0xa8]
lea rsi, str.SharedResourceDestroy
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
mov rcx, rsi
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [r14], rax
mov qword [r14 + 0x20], r12
call fcn.140048fbc
mov rbp, rax
test rax, rax
je 0x140011a0c
mov r8, rax
mov rdx, rsi
sub r8, rsi
mov rcx, rbx
call fcn.14001e6c0
mov qword [r14 + 0x10], rax
lea rdx, [rbp + 1]
mov r8, r15
inc r8
cmp byte [rdx + r8], 0
jne 0x1400119f4
mov rcx, rbx
call fcn.14001e6c0
mov qword [r14 + 0x18], rax
jmp 0x140011a81
mov rax, qword [rbx + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x16]
cmp rax, qword [rcx + 0x10]
jbe 0x140011a31
mov edx, 0x16
mov rcx, rbx
call fcn.140038a30
mov rdx, r12
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x16]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
movups xmm0, xmmword [str.SharedResourceDestroy]
movups xmmword [r8], xmm0
mov eax, dword [0x14007f2b0]
mov dword [r8 + 0x10], eax
movzx eax, byte [0x14007f2b4]
mov byte [r8 + 0x14], al
mov byte [r8 + 0x15], 0
mov qword [r14 + 0x10], r8
mov qword [r14 + 0x18], r13
cmp dword [rdi + 0x1c8], 0
mov ebx, r12d
jle 0x140011b25
mov rsi, r12
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi + 0x3de0]
cmp dword [rsi + rax], 0
jbe 0x140011b13
mov eax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [rdi + 0x1c0]
lea r11, [rax + rcx*4]
movsxd rcx, dword [r11 + 8]
lea rax, [r11 + 8]
add rcx, rax
cmp dword [rax], 0
cmove rcx, r12
test rcx, rcx
je 0x140011b06
movsxd r10, dword [r11 + 8]
lea rdx, [r11 + 8]
mov r9, qword [rdi + 0xd0]
lea r8, str.Destroying__s
add r10, rdx
mov eax, r12d
sub eax, dword [rdx]
mov rcx, r11
neg eax
sbb rax, rax
and r10, rax
mov rdx, r10
call fcn.1400455d0
mov rax, qword [rdi + 0x3de0]
mov ecx, ebx
mov dword [rax + rcx*4], r12d
inc ebx
add rsi, 4
cmp ebx, dword [rdi + 0x1c8]
jl 0x140011aa0
cmp byte [0x14008eab8], 0
je 0x140011b35
xor ecx, ecx
call fcn.14003df60
cmp byte [0x14008eab9], 0
jne 0x140011b5d
lea rcx, [0x1400b4c58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, 1
call fcn.14004fcc0
mov qword [rsp + 0x90], rax
cmp dword [0x1400c3c48], 0
mov esi, r12d
jle 0x140011c13
lea rbx, [0x1400b4cb8]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbx - 0x28]
mov r8, rdi
lea rcx, [rsp + 0x90]
call fcn.140039b40
cmp qword [rbx - 0x20], 0
je 0x140011bb9
mov rcx, qword [rbx - 0x20]
mov rax, qword [rdi + 0xd0]
add rcx, 0xfffffffffffffff8
mov rdx, qword [rcx]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
cmp qword [rbx], 0
je 0x140011bdc
mov rcx, qword [rbx]
mov rax, qword [rdi + 0xd0]
add rcx, 0xfffffffffffffff8
mov rdx, qword [rcx]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
cmp qword [rbx - 8], 0
je 0x140011c01
mov rcx, qword [rbx - 8]
mov rax, qword [rdi + 0xd0]
add rcx, 0xfffffffffffffff8
mov rdx, qword [rcx]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
inc esi
add rbx, 0x48
cmp esi, dword [0x1400c3c48]
jl 0x140011b80
cmp byte [0x14008eab9], 0
jne 0x140011c29
mov rcx, qword [rsp + 0x90]
call fcn.14005342c
cmp byte [0x14008eab9], 0
mov dword [0x1400c3c48], r12d
jne 0x140011c46
lea rcx, [0x1400b4c58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [0x14008eab8], 0
je 0x140011da6
mov rbx, qword [0x1400b70a0]
cmp dword [rbx + 0x38], 0x8000
mov byte [rbx + 0x3c], 1
jb 0x140011c91
xor r9d, r9d
lea rbp, str.BuildQueueDestroyTail
mov r8d, 0x8000
mov qword [rsp + 0x20], rbp
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [r9 + 2]
call fcn.140013a20
jmp 0x140011da6
movsxd rax, dword [rbx + 0x38]
inc dword [rbx + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x30]
lea rsi, [rax + rcx*8]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140011f30
mov rax, qword [rsp + 0x30]
lea rbp, str.BuildQueueDestroyTail
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
mov rcx, rbp
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [rsi], rax
mov qword [rsi + 0x20], r12
call fcn.140048fbc
mov r14, rax
test rax, rax
je 0x140011d31
mov r8, rax
mov rdx, rbp
sub r8, rbp
mov rcx, rbx
call fcn.14001e6c0
mov qword [rsi + 0x10], rax
lea rdx, [r14 + 1]
inc r15
cmp byte [rdx + r15], 0
jne 0x140011d16
mov r8, r15
mov rcx, rbx
call fcn.14001e6c0
mov qword [rsi + 0x18], rax
jmp 0x140011da6
mov rax, qword [rbx + 8]
mov rcx, rax
mov r9, qword [rax + 0x18]
lea rax, [r9 + 0x16]
cmp rax, qword [rcx + 0x10]
jbe 0x140011d56
mov edx, 0x16
mov rcx, rbx
call fcn.140038a30
mov r9, r12
mov rax, qword [rbx + 8]
lea rcx, [r9 + 0x16]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, r9
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
movups xmm0, xmmword [str.BuildQueueDestroyTail]
movups xmmword [r8], xmm0
mov eax, dword [0x14007f2c8]
mov dword [r8 + 0x10], eax
movzx eax, byte [0x14007f2cc]
mov byte [r8 + 0x14], al
mov byte [r8 + 0x15], 0
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], r13
mov rcx, qword [rdi + 0x170]
mov rbx, qword [rdi + 0xd0]
test rcx, rcx
je 0x140011de2
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
neg rax
lock add qword [rbx], rax
call fcn.140053948
mov qword [rdi + 0x170], r12
mov qword [rdi + 0x178], r12
mov qword [rdi + 0x180], r12
mov rcx, qword [rdi + 0x68]
test rcx, rcx
je 0x140011e0b
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
neg rax
lock add qword [rbx], rax
call fcn.140053948
mov qword [rdi + 0x68], r12
mov qword [rdi + 0x70], r12
mov qword [rdi + 0x78], r12
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x140011e40
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
neg rax
lock add qword [rbx], rax
call fcn.140053948
mov qword [rdi + 0x80], r12
mov qword [rdi + 0x88], r12
mov qword [rdi + 0x90], r12
mov rcx, qword [rdi + 0x98]
test rcx, rcx
je 0x140011e67
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rdi + 0xb8]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x140011e8e
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rdi + 0xb8]
neg rdx
lock add qword [rax], rdx
call fcn.140053948
mov qword [rdi + 0x98], r12
mov qword [rdi + 0xa0], r12
mov qword [rdi + 0xa8], 0
mov dword [rdi + 0xb0], r12d
mov rcx, qword [rdi + 0x3de0]
test rcx, rcx
je 0x140011ece
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
neg rax
lock add qword [rbx], rax
call fcn.140053948
lea rcx, [rdi + 0x3de8]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [rdi + 0x38]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x1400b70b0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [0x1400b70b0]
mov qword [0x1400b4c88], r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [0x14008eab8], 0
je 0x140011f1f
xor ecx, ecx
call fcn.14003df60
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
mov r8, qword [rsi - 0x50]
lea rdx, [rsi - 0x50]
lea rcx, str.Destroying_heap__p_which_still_contains__zu_bytes_of_allocated_memory__which_indicates_a_memory_leak.
call fcn.140013920
int3
lea rcx, str.Destroying_linear_alloc_which_is_expected_to_be_empty.
call fcn.140013920
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3