Function at 0x140147870
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x318
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0x310], rax
cmp qword [rdx], 0
je 0x140148107
mov r14, r8
mov r13, rdx
mov r12, rcx
lea rsi, [rcx - 0x18]
movaps xmm0, xmmword [0x140261350]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
mov rax, qword [rdx + 0x10]
mov ecx, 3
nop dword [rax]
movzx edx, byte [rax + rcx - 3]
mov byte [rsp + rcx + 0x19d], dl
test dl, dl
je 0x140147921
movzx edx, byte [rax + rcx - 2]
mov byte [rsp + rcx + 0x19e], dl
test dl, dl
je 0x140147921
movzx edx, byte [rax + rcx - 1]
mov byte [rsp + rcx + 0x19f], dl
test dl, dl
je 0x140147921
movzx edx, byte [rax + rcx]
mov byte [rsp + rcx + 0x1a0], dl
test dl, dl
je 0x140147921
add rcx, 4
cmp rcx, 0x23
jne 0x1401478d0
mov byte [rsp + 0x1bf], 0
lea rcx, [rsp + 0x1a0]
call fcn.1400f24c0
mov rbx, qword [r12 + 8]
mov al, byte [r14 + 0x16]
mov rcx, qword [rbx + 0x30]
mov ecx, dword [rcx]
test cl, 1
jne 0x140148030
test byte [0x140289820], 0x19
jne 0x14014810a
cmp qword [r13 + 0x48], 0
jne 0x140147a4a
mov eax, dword [0x1402a2c70]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14014806b
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401479c4
mov rcx, qword [0x1402a2c60]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a2c68]
jne 0x1401479c4
mov rax, qword [rax + rcx]
test rax, rax
je 0x1401479c4
mov rcx, qword [rax + 0x10]
mov qword [r13 + 0x70], rcx
mov eax, dword [rax + 8]
mov dword [r13 + 0x68], eax
mov eax, dword [0x1402a2c40]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401480b9
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140147a4a
mov rcx, qword [0x1402a2c30]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a2c38]
jne 0x140147a4a
mov rax, qword [rax + rcx]
test rax, rax
je 0x140147a4a
mov rcx, qword [rax + 0x20]
mov qword [r13 + 0x48], rcx
movups xmm0, xmmword [rax + 0x48]
mov rcx, qword [rax + 0x58]
mov qword [r13 + 0x60], rcx
movups xmmword [r13 + 0x50], xmm0
cmp byte [rax + 0x7c], 0
jne 0x140147e56
cmp qword [rax + 0x60], 0
setne al
mov byte [r13 + 0x7c], al
cmp qword [r13 + 0x30], 0
jne 0x140147e98
mov rax, qword [r13]
lea rbp, [rsp + 0x148]
mov qword [rbp - 0x28], rax
mov qword [r13], 0
movups xmm0, xmmword [r13 + 8]
movups xmm1, xmmword [r13 + 0x18]
movups xmmword [rbp - 0x10], xmm1
movups xmmword [rbp - 0x20], xmm0
lea rsi, [r13 + 0x28]
mov ecx, 0xa
mov rdi, rbp
rep movsq qword [rdi], qword [rsi]
mov al, byte [r13 + 0x7c]
mov byte [rbp + 0x54], al
mov eax, dword [r13 + 0x78]
mov dword [rbp + 0x50], eax
lea rsi, [r14 + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140148011
mov eax, dword [r14 + 0xb8]
and eax, 0xfffffffd
cmp eax, 1
mov qword [rsp + 0x50], rsi
je 0x140147e3a
mov rdx, qword [r12 + 8]
test r14, r14
je 0x140147ad8
lock inc dword [r14 + 8]
mov cl, byte [r14 + 0x16]
and cl, 0x7f
mov rax, qword [rdx + 0x30]
cmp cl, 2
je 0x140147fb3
mov eax, dword [rax]
test al, 1
jne 0x140148240
mov rax, rdx
mov qword [rsp + 0x30], rdx
lock inc dword [rdx + 0x38]
mov r10, r14
test r10, r10
je 0x140147fac
mov rax, qword [r12 + 8]
mov cl, byte [r14 + 0x15]
cmp qword [rsp + 0x150], 0
jne 0x140147f67
mov qword [rsp + 0x40], r12
lea rsi, [rsp + 0x128]
test cl, cl
jne 0x140147b41
cmp byte [rax + 0x28], 0
jne 0x140148272
mov r12, qword [rsp + 0x120]
mov qword [rsp + 0x120], 0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
lea rax, [rsp + 0x1d8]
mov ecx, 0xa
mov rdi, rax
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbp + 0x50]
mov dword [rax + 0x50], ecx
mov cl, byte [rbp + 0x54]
mov byte [rax + 0x54], cl
test r12, r12
je 0x140148194
mov ecx, dword [r14 + 0xb8]
mov r15, qword [r14 + 0x60]
mov rbx, qword [r14 + 0x68]
cmp rbx, r15
mov qword [rsp + 0x58], r13
jne 0x140147e49
mov rax, qword [r14 + 0x78]
cmp rax, qword [r14 + 0x80]
sete al
mov dword [rsp + 0x38], eax
cmp ecx, 3
setne r13b
mov rax, rbx
sub rax, r15
mov dword [rsp + 0x4c], ecx
jb 0x140147e86
mov rcx, qword [r14 + 0x58]
lea rbp, [r14 + 0x50]
inc rax
xor r8d, r8d
mov rdx, rcx
sub rdx, 1
cmovae r8, rdx
mov rdx, rbx
cmp r8, rax
jae 0x140147c32
mov rcx, r8
shr rcx, 2
add rcx, r8
cmp rax, rcx
cmova rcx, rax
cmp rcx, 4
mov edx, 3
cmovae rdx, rcx
mov rcx, rbp
mov rsi, r10
call fcn.14013d400
mov r10, rsi
mov rcx, qword [r14 + 0x58]
mov rdx, qword [r14 + 0x68]
cmp rcx, rdx
jb 0x140148197
mov rax, qword [r14 + 0x50]
shl rdx, 7
add rax, rdx
add rax, 0x28
mov qword [rax - 0x28], r12
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
lea rdx, [rsp + 0x1d8]
mov ecx, 0xa
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x50]
mov dword [rax + 0x50], ecx
mov cl, byte [rdx + 0x54]
mov byte [rax + 0x54], cl
mov rax, qword [r14 + 0x58]
mov rcx, qword [r14 + 0x68]
lea r8, [rax - 1]
lea r9, [rcx + 1]
xor edx, edx
cmp rcx, r8
cmovne rdx, r9
mov qword [r14 + 0x68], rdx
test rdx, rdx
cmove r9, rax
dec r9
cmp rax, r9
jb 0x14014819a
cmp rbx, r15
mov r11, qword [rsp + 0x40]
jne 0x140147d08
mov r8, qword [r14 + 0x60]
mov rcx, qword [r14 + 0x78]
mov r9, qword [r14 + 0x80]
cmp r8, rdx
je 0x14014819d
cmp rcx, r9
jne 0x1401481c1
cmp rax, r8
jb 0x14014820a
mov rax, qword [rbp]
shl r8, 7
mov rax, qword [rax + r8 + 0x28]
mov qword [rsp + 0x1c8], rax
mov qword [r14 + 0x90], rax
and r13b, byte [rsp + 0x38]
test dword [rsp + 0x4c], 0xfffffffd
jne 0x140147d22
mov dword [r14 + 0xb8], 1
test r13b, r13b
je 0x140147d34
mov rax, qword [r14 + 0x38]
test rax, rax
je 0x140147d34
lock inc dword [rax + 8]
test r10, r10
mov r13, qword [rsp + 0x58]
je 0x140147e25
lea rax, [r14 + 0x15]
mov cl, byte [r14 + 0x14]
mov byte [rsp + 0x1d0], cl
mov rcx, qword [r14 + 0xc]
mov qword [rsp + 0x1c8], rcx
mov cl, byte [rax + 4]
mov byte [rsp + 0x1d5], cl
mov eax, dword [rax]
mov dword [rsp + 0x1d1], eax
mov rax, qword [r11 - 8]
mov rax, qword [rax + 8]
lea rcx, [0x140171c50]
cmp rax, rcx
jne 0x14014820d
cmp byte [rsp + 0x1d1], 0
je 0x140147fee
mov rcx, qword [r11 + 0x1c8]
mov qword [rsp + 0x68], r10
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [fcn.140148840]
cmp rax, rdx
jne 0x140148230
lea rdx, [rsp + 0x68]
call fcn.140148840
mov sil, 1
mov rcx, qword [rsp + 0x120]
test rcx, rcx
jne 0x140147e6e
test r14, r14
je 0x140147df6
lock dec dword [r14 + 8]
je 0x14014801e
mov rcx, qword [r13]
test rcx, rcx
jne 0x140147e5d
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.1401756e0
mov eax, esi
add rsp, 0x318
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov sil, 1
test r14, r14
je 0x140147dd5
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140147dd5
xor r10d, r10d
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x140147b0e
mov dword [rsp + 0x38], 0
jmp 0x140147bc6
mov al, 1
jmp 0x140147a46
lock dec dword [rcx]
jne 0x140147dff
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
jmp 0x140147dff
lock dec dword [rcx]
jne 0x140147de6
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
jmp 0x140147de6
mov rcx, qword [r14 + 0x58]
mov rax, rbx
sub rax, r15
add rax, rcx
jmp 0x140147be1
mov r15, qword [r14 + 0x38]
test r15, r15
je 0x140147ea6
lock inc dword [r15 + 8]
add r12, 0x98
mov rax, qword [0x14028a5a0]
and rax, rsi
cmp rax, qword [0x14028a588]
je 0x1401482db
mov ecx, 0x38
call fcn.140172a4c
mov dword [rax], 1
lea rcx, [0x14001aa40]
mov qword [rax + 8], rcx
lea rcx, [0x140076810]
mov qword [rax + 0x10], rcx
lea rcx, [0x1401d1e70]
mov qword [rax + 0x18], rcx
mov qword [rax + 0x28], r14
mov qword [rax + 0x30], rsi
lea r8, [rsp + 0x60]
mov qword [r8], rax
mov rcx, qword [r13]
lea rax, [rsp + 0xc8]
mov qword [rax - 0x28], rcx
mov qword [r13], 0
movups xmm0, xmmword [r13 + 8]
movups xmm1, xmmword [r13 + 0x18]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
lea rsi, [r13 + 0x28]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r13 + 0x78]
mov dword [rax + 0x50], ecx
mov cl, byte [r13 + 0x7c]
mov byte [rax + 0x54], cl
lea rdx, [rsp + 0xa0]
mov rcx, r12
mov r9, r15
call fcn.1400203f0
mov sil, 1
jmp 0x140147df6
mov rdx, qword [rax + 0x30]
mov edx, dword [rdx]
test dl, 1
je 0x140147b26
test r10, r10
je 0x140147fac
mov rbp, r10
cmp qword [rsp + 0x30], 0
je 0x140147fa2
mov al, byte [rbp + 0x16]
and al, 0x7f
cmp al, 2
je 0x140148458
mov rax, qword [rsp + 0x30]
lock dec dword [rax + 0x38]
je 0x140148323
lock dec dword [rbp + 8]
je 0x1401483af
xor esi, esi
jmp 0x140147e28
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
je 0x140147af6
mov rbx, rdx
lea rsi, [rdx + 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140148565
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdx, rbx
jmp 0x140147af6
test byte [rsp + 0x1d3], 0x7f
jne 0x140147d96
mov rcx, qword [r11 + 0x1d0]
test rcx, rcx
jne 0x140147d9d
jmp 0x140147d96
mov rcx, rsi
call fcn.1400ec2e0
jmp 0x140147ab1
mov rcx, r14
mov edx, 1
call fcn.14014c460
jmp 0x140147df6
and al, 0x7f
cmp al, 2
je 0x1401484a9
mov rcx, qword [r13]
test rcx, rcx
jne 0x14014805a
test r14, r14
je 0x140148053
lock dec dword [r14 + 8]
je 0x1401484d7
xor esi, esi
jmp 0x140147dff
lock dec dword [rcx]
jne 0x140148043
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
jmp 0x140148043
lea rcx, [0x1402a2c70]
call fcn.140172b08
cmp dword [0x1402a2c70], 0xffffffff
jne 0x140147983
mov qword [0x1402a2c68], 0
lea rcx, [0x1402a2c60]
mov qword [0x1402a2c60], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a2c70]
call fcn.140172aa8
jmp 0x140147983
lea rcx, [0x1402a2c40]
call fcn.140172b08
cmp dword [0x1402a2c40], 0xffffffff
jne 0x1401479e9
mov qword [0x1402a2c38], 0
lea rcx, [0x1402a2c30]
mov qword [0x1402a2c30], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a2c40]
call fcn.140172aa8
jmp 0x1401479e9
int3
add ebx, 8
mov r15, r13
mov eax, dword [r13 + 0x78]
shl rax, 0x20
and ebx, 0xfffffff8
or rbx, rax
xor rbx, qword [0x140298390]
lea rax, [0x140074d00]
lea rdi, [rsp + 0x1d8]
mov qword [rdi + 0x18], rax
lea rax, [0x14026a930]
mov qword [rdi + 0x20], rax
mov qword [rdi + 8], rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
lea rdx, [0x140289820]
lea r8, str.ThreadPool_PostTask
lea r9, [0x140267ad8]
mov cl, 0x49
call fcn.140074da0
mov rax, qword [rdi + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x14014818c
mov rcx, qword [rsp + 0x1e0]
call qword [case.0x1401d7990.0]
mov r13, r15
jmp 0x140147953
int3
int3
int3
cmp rcx, r9
je 0x1401484f3
mov rdi, r10
lea rsi, [rsp + 0x1c8]
mov rdx, rsi
call fcn.140172770
mov rax, qword [rsi]
mov r10, rdi
jmp 0x140148200
mov rsi, r10
lea rdx, [rsp + 0x68]
call fcn.140172770
mov rax, qword [r14 + 0x60]
cmp qword [r14 + 0x58], rax
jb 0x14014857f
mov rcx, qword [rbp]
shl rax, 7
mov rax, qword [rcx + rax + 0x28]
mov rcx, qword [rsp + 0x68]
cmp rcx, rax
cmovl rax, rcx
mov qword [rsp + 0x1c8], rax
mov r10, rsi
mov r11, qword [rsp + 0x40]
jmp 0x140147d01
int3
add r11, 0xfffffffffffffff8
lea rdx, [rsp + 0x1c8]
mov rcx, r11
mov rsi, r10
call qword [case.0x1401d7990.0]
mov r10, rsi
mov rcx, rax
jmp 0x140147d9d
lea rdx, [rsp + 0x68]
call qword [case.0x1401d7990.0]
jmp 0x140147dd2
lea rcx, [rsp + 0x1d8]
xor edx, edx
call fcn.140171420
test r14, r14
jne 0x140148582
mov r10, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x30], rax
jmp 0x140147b05
xor ecx, ecx
mov rbx, r10
call fcn.14010ee30
mov r10, rbx
test al, al
je 0x140147b41
lea rdx, str....._base_task_thread_pool_task_tracker.cc
lea rcx, [rsp + 0x1d8]
mov r8d, 0x157
xor r9d, r9d
call fcn.140007b50
lea r15, [rsp + 0x1e8]
lea rdi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rdi
call fcn.1400712d0
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
jns 0x1401482e8
mov r8, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
jmp 0x1401482ec
mov rcx, rsi
call fcn.1400eaf60
jmp 0x140147ec4
and r8d, 0x7f
mov rcx, r15
mov rdx, rdi
call fcn.1401af730
cmp byte [rsp + 0x97], 0
jns 0x14014830e
mov rcx, qword [rsp + 0x80]
call fcn.140172a44
lea rcx, [rsp + 0x1d8]
call fcn.140007c40
mov r10, rbx
jmp 0x140147b41
mov rax, qword [rsp + 0x30]
lea rdi, [rax + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14014859f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x48]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401485ac
mov rax, qword [rsp + 0x30]
mov rsi, qword [rax + 0x50]
mov rbx, qword [rax + 0x58]
xorps xmm0, xmm0
movups xmmword [rax + 0x50], xmm0
mov r15, qword [rax + 0x60]
mov r12, qword [rax + 0x68]
movups xmmword [rax + 0x60], xmm0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r15, r12
jne 0x1401485b9
lea rcx, fcn.1400fe7c0
mov rdx, rsi
xor r8d, r8d
call fcn.1400fd880
jmp 0x140147fa2
lea rax, [0x14025ecb8]
mov rcx, rbp
mov qword [rbp], rax
mov rsi, qword [rbp + 0xa0]
test rsi, rsi
jne 0x14014851f
mov rax, rbp
lea rsi, [rbp + 0x78]
mov rdi, qword [rbp + 0x78]
mov rbx, qword [rbp + 0x80]
mov rdx, rdi
cmp rbx, rdi
jne 0x140148662
mov qword [rbp + 0x80], rdi
test rdx, rdx
jne 0x14014868b
mov rax, rbp
mov rdi, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x68]
cmp rsi, rdi
jne 0x1401486a0
mov rsi, rbp
mov rdx, qword [rbp + 0x50]
lea rcx, fcn.1400fe7c0
xor r8d, r8d
call fcn.1400fd880
lea rax, [0x14025ed18]
mov qword [rbp], rax
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x1401484e9
mov rcx, rbp
call fcn.140172a44
jmp 0x140147fac
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x30]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140147f93
mov rax, qword [rsp + 0x30]
lea rsi, [rax + 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401486f7
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x78]
call fcn.1401727d0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140147f93
cmp qword [r13 + 0x30], 0
jne 0x14014803a
lea rdi, [rbx + 0x70]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140148572
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140147946
mov rcx, r14
mov edx, 1
call fcn.14014c460
jmp 0x140148053
call fcn.1400e5d90
jmp 0x14014844b
lea rax, str.front___called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x225
call fcn.1401b2820
mov rax, qword [rbp + 0xa8]
mov rcx, rsi
cmp rax, rsi
je 0x140148554
lea rdi, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x140148545
mov rax, qword [rax - 8]
call qword [case.0x1401d7990.0]
mov rax, rdi
cmp rdi, rsi
jne 0x14014852e
mov rcx, qword [rbp + 0xa0]
mov qword [rbp + 0xa8], rsi
call fcn.140172a44
jmp 0x1401483cd
mov rcx, rsi
call fcn.1400ec2e0
jmp 0x140147fdd
mov rcx, rdi
call fcn.1400ec2e0
jmp 0x1401484c9
int3
lock dec dword [r14 + 8]
jne 0x140148258
mov rcx, r14
mov edx, 1
call fcn.14014c460
jmp 0x140148258
mov rcx, rdi
call fcn.1400ec2e0
jmp 0x14014833d
mov rcx, rdi
call fcn.1400ec2e0
jmp 0x140148366
mov rdi, r15
cmp rbx, rdi
jb 0x140148704
mov rcx, qword [rsi + rdi*8]
mov qword [rsp + 0x38], rcx
mov qword [rsi + rdi*8], 0
mov rax, qword [rcx + 8]
call qword [case.0x1401d7990.0]
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1401485fc
mov rcx, rax
lock dec dword [rax]
jne 0x1401485fc
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
inc rdi
cmp rdi, rbx
mov eax, 0
cmove rdi, rax
cmp rdi, r12
jne 0x1401485bc
cmp r12, r15
jbe 0x140148707
cmp rbx, r12
jb 0x140148789
cmp rbx, r15
jb 0x14014878c
cmp r15, r12
jg 0x14014878f
shl r12, 3
shl r15, 3
mov rcx, qword [rsi + r15]
test rcx, rcx
je 0x140148654
lock dec dword [rcx]
jne 0x140148654
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
add r15, 8
cmp r12, r15
jne 0x14014863c
jmp 0x140148398
mov rcx, qword [rbx - 0x80]
add rbx, 0xffffffffffffff80
test rcx, rcx
je 0x14014867e
lock dec dword [rcx]
jne 0x14014867e
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
cmp rbx, rdi
jne 0x140148662
mov rdx, qword [rsi]
jmp 0x1401483eb
mov rcx, rsi
call fcn.1401f6240
mov rcx, qword [rsi]
call fcn.140172a44
jmp 0x1401483fb
mov rbx, qword [rbp + 0x58]
jbe 0x140148792
cmp rbx, rsi
jb 0x140148814
cmp rbx, rdi
jb 0x140148817
cmp rdi, rsi
jg 0x14014881a
mov rbx, qword [rbp + 0x50]
shl rsi, 7
shl rdi, 7
mov rcx, qword [rbx + rdi]
test rcx, rcx
je 0x1401486e9
lock dec dword [rcx]
jne 0x1401486e9
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
sub rdi, 0xffffffffffffff80
cmp rsi, rdi
jne 0x1401486d1
jmp 0x14014840f
mov rcx, rsi
call fcn.1400ec2e0
jmp 0x14014848d
int3
cmp rbx, r15
jb 0x14014881d
jl 0x140148820
je 0x140148745
lea rdi, [rbx*8]
shl r15, 3
mov rcx, qword [rsi + r15]
test rcx, rcx
je 0x14014873c
lock dec dword [rcx]
jne 0x14014873c
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
add r15, 8
cmp rdi, r15
jne 0x140148724
cmp rbx, r12
jb 0x140148823
test r12, r12
js 0x140148826
je 0x140148398
shl r12, 3
xor edi, edi
mov rcx, qword [rsi + rdi]
test rcx, rcx
je 0x14014877b
lock dec dword [rcx]
jne 0x14014877b
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
add rdi, 8
cmp r12, rdi
jne 0x140148763
jmp 0x140148398
int3
int3
int3
cmp rbx, rdi
jb 0x140148829
jl 0x14014882c
je 0x1401487d4
mov r15, qword [rbp + 0x50]
shl rbx, 7
shl rdi, 7
mov rcx, qword [r15 + rdi]
test rcx, rcx
je 0x1401487c7
lock dec dword [rcx]
jne 0x1401487c7
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
sub rdi, 0xffffffffffffff80
cmp rbx, rdi
jne 0x1401487af
mov rdi, qword [rbp + 0x58]
cmp rdi, rsi
jb 0x14014882f
test rsi, rsi
js 0x140148832
je 0x14014840f
mov rdi, qword [rbp + 0x50]
shl rsi, 7
xor ebx, ebx
mov rcx, qword [rdi + rbx]
test rcx, rcx
je 0x140148806
lock dec dword [rcx]
jne 0x140148806
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
sub rbx, 0xffffffffffffff80
cmp rsi, rbx
jne 0x1401487ee
jmp 0x14014840f
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3