Function at 0x1400bf650
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movapd xmmword [rsp + 0xb0], xmm6
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov rax, qword [rcx]
inc rax
cmp rax, 2
jb 0x1400bf86e
mov rsi, rcx
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x50]
mov qword [rdi + 0x50], rax
movapd xmm0, xmmword [0x140301d60]
movapd xmmword [rdi + 0x40], xmm0
movapd xmmword [rdi + 0x30], xmm0
movapd xmmword [rdi + 0x20], xmm0
movapd xmmword [rdi + 0x10], xmm0
movapd xmmword [rdi], xmm0
lea rdx, str.Close
lea r8, str....._base_files_file_win.cc
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov r9d, 0x30
call fcn.14004f270
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1400cd290
mov rax, qword [rsi]
inc rax
cmp rax, 2
jb 0x1400bf729
call fcn.1400412c0
mov rdi, qword [rsi]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400bf9a6
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x140211850.0]
mov qword [rsi], 0
call fcn.14016ed94
mov ebp, dword [rax]
call fcn.14016ed94
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [0x14035aab0]
cmp rdi, 1
jbe 0x1400bf896
mov rbx, qword [rsp + 0x58]
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400bf8e4
mov rcx, qword [rdi]
shl rcx, 4
mov qword [rax + rcx], rbx
mov ecx, dword [rdi + 8]
mov rdx, qword [rdi]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1400bf7a6
cmp qword [rsp + 0x58], 0
je 0x1400bfa32
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.14016ed94
mov dword [rax], ebp
cmp byte [rsp + 0x88], 0
je 0x1400bf7d8
mov rsi, qword [rsp + 0x98]
test rsi, rsi
jne 0x1400bf9b7
mov byte [rsp + 0x88], 0
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x1400bf8f7
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x78], 0
test rsi, rsi
jne 0x1400bf959
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x1400bf96e
xor ecx, ecx
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
je 0x1400bf988
mov qword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x58]
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
je 0x1400bf992
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x50]
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
je 0x1400bf99c
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140171860
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, [0x14035aab0]
call fcn.14006d330
test al, al
je 0x1400bfac4
xorpd xmm0, xmm0
movupd xmmword [0x14035aab8], xmm0
lea rbx, [0x14035aab0]
lea rdi, [0x14035aab8]
mov rcx, rdi
xor edx, edx
call fcn.140041af0
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
mov r9, rbx
call fcn.14006d410
jmp 0x1400bf75c
test rbx, rbx
je 0x1400bf790
call fcn.140001120
jmp 0x1400bf777
mov ecx, dword [rsp + 0x70]
cmp dword [rax + 0x18], ecx
jbe 0x1400bf7e6
mov rax, qword [rax + 0x10]
shl rcx, 7
cmp dword [rax + rcx + 0x68], 0
je 0x1400bf7e6
mov rdi, qword [0x140352ad8]
lea rsi, [rdi + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400bfab7
mov rcx, qword [rsp + 0x68]
sub rdi, 0xffffffffffffff80
mov edx, dword [rsp + 0x70]
mov r8, rdi
call fcn.1402081c0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400bf7e6
mov rcx, rsi
call fcn.1402077d0
mov rcx, rsi
call fcn.14016eccc
jmp 0x1400bf7fd
mov rcx, qword [rax + 8]
lock dec dword [rcx + 0x38]
mov rax, qword [rax + 8]
lock inc dword [rax + 0x3c]
mov rcx, qword [rsp + 0x68]
jmp 0x1400bf80d
call fcn.1401571d0
jmp 0x1400bf824
call fcn.1401571d0
jmp 0x1400bf849
call fcn.1401571d0
jmp 0x1400bf86e
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400bf713
mov rax, qword [fcn.14007a620]
lea rdi, [rsp + 0x48]
mov rcx, rdi
call qword [case.0x140211850.0]
mov r14, qword [rsp + 0x90]
mov rdx, qword [rdi]
xor eax, eax
cmp rdx, r14
setns al
movabs r15, 0x7fffffffffffffff
add rax, r15
mov rbx, rdx
sub rbx, r14
cmovo rbx, rax
cmp rbx, 0xf4240
jge 0x1400bfad0
mov rsi, qword [rsp + 0x98]
test rsi, rsi
je 0x1400bf7d0
lock dec dword [rsi]
jne 0x1400bf7d0
mov rcx, rsi
call fcn.14011feb0
mov rcx, rsi
call fcn.14016eccc
jmp 0x1400bf7d0
mov rdi, qword [rbx + 0x28]
add rdi, 0x28
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400bfa9f
mov qword [rbx + 0x20], 0
cmp byte [rbx + 0x3a], 0
jne 0x1400bfa75
cmp byte [rbx + 0x38], 0
mov rcx, qword [rbx + 0x28]
jne 0x1400bfaa9
dec dword [rcx + 0x120]
cmp byte [rbx + 0x18], 0
je 0x1400bfb5f
cmp byte [rbx + 0x19], 0
je 0x1400bfa89
mov word [rbx + 0x38], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400bf7a6
cmp byte [rbx + 0x39], 0
mov rcx, qword [rbx + 0x28]
jne 0x1400bfc22
dec dword [rcx + 0x124]
jmp 0x1400bfa75
mov rcx, rdi
call fcn.140047ff0
jmp 0x1400bfa47
dec qword [rcx + 0x100]
call fcn.140131b40
jmp 0x1400bfa65
mov rcx, rsi
call fcn.140047ff0
jmp 0x1400bf936
mov rdi, qword [0x14035aab0]
jmp 0x1400bf75c
mov rax, qword [rsi + 0x1f0]
mov ecx, 0x3938700
lea r8, [rcx + rax]
sar r8, 0x3f
btc r8, 0x3f
add rcx, rax
cmovo rcx, r8
cmp rcx, rdx
jg 0x1400bfb1f
lea rdi, [rsp + 0x28]
mov rcx, rdi
call fcn.140131030
mov rdi, qword [rdi]
test rdi, rdi
je 0x1400bfb1f
lock dec dword [rdi]
jne 0x1400bfb1f
mov rcx, rdi
call fcn.14011feb0
mov rcx, rdi
call fcn.14016eccc
mov rax, qword [rsi + 0x1f0]
xor ecx, ecx
cmp r14, rax
setns cl
add rcx, r15
sub r14, rax
movabs r15, 0x8000000000000001
cmovo r14, rcx
lea rax, [r14 + r15]
cmp rax, 2
jae 0x1400bfb61
shr r14, 0x3f
lea rax, [0x140308b10]
movsd xmm0, qword [rax + r14*8]
jmp 0x1400bfb66
ud2
cvtsi2sd xmm0, r14
divsd xmm0, qword [0x140308b20]
call fcn.1401ae0e0
movsd xmm6, qword [0x1402eea60]
ucomisd xmm6, xmm0
jae 0x1400bfb95
xor eax, eax
ucomisd xmm0, qword [0x1402eea78]
mov edi, 0x7fffffff
cmovb edi, eax
jmp 0x1400bfba1
maxsd xmm0, qword [0x1402eea78]
cvttsd2si edi, xmm0
add r15, rbx
cmp r15, 2
jb 0x1400bfbbc
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
divsd xmm0, qword [0x140308b20]
jmp 0x1400bfbc4
movsd xmm0, qword [0x140308b28]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jae 0x1400bfbdd
addsd xmm0, qword [0x1402eea68]
call fcn.1401adce4
jmp 0x1400bfbea
addsd xmm0, qword [0x1402ee600]
call fcn.1401ae0e0
ucomisd xmm6, xmm0
jae 0x1400bfc06
xor eax, eax
ucomisd xmm0, qword [0x1402eea78]
mov r8d, 0x7fffffff
cmovb r8d, eax
jmp 0x1400bfc13
maxsd xmm0, qword [0x1402eea78]
cvttsd2si r8d, xmm0
mov rcx, rsi
mov edx, edi
call fcn.140225e50
jmp 0x1400bfa03
dec qword [rcx + 0x108]
call fcn.140131b40
jmp 0x1400bfa75