Function at 0x14001b9c0
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rsi, qword [rcx]
mov qword [rsp + 0x30], r8
mov r13, rcx
mov r12, rdx
test rsi, rsi
je 0x14001b9ed
cmp qword [rsi], 0
jne 0x14001bd68
mov ecx, 0x34
call fcn.1400117e0
mov qword [r13 + 8], 0
mov rbx, rax
test rax, rax
js 0x14001bf30
mov rcx, qword [0x14009e890]
mov rdx, rbx
call fcn.14000b000
mov rcx, r13
mov rdx, rax
call fcn.140007a10
mov rcx, r12
mov rsi, qword [r13]
call fcn.14001b3f0
mov rbp, rax
test rax, rax
mov eax, 0x12b9b0a1
cmove rbp, rax
test rsi, rsi
je 0x14001bfe4
mov rax, qword [rsi]
test rax, rax
je 0x14001bfe4
lea rbx, [rax - 1]
lea r15, [r12 + 0x10]
and rbx, rbp
jmp 0x14001bac2
lea rdi, [rbx + rbx]
lea rdx, [rdi + rbx]
mov rdx, qword [rsi + rdx*8 + 0x10]
test rdx, rdx
je 0x14001bc38
cmp rdx, rbp
jne 0x14001baae
lea rax, [rdi + rbx]
mov rcx, qword [rsi + rax*8 + 0x18]
test rcx, rcx
je 0x14001bb39
mov r8, qword [rcx]
test r12, r12
je 0x14001bd28
cmp r8, qword [r12]
je 0x14001bd40
mov rax, qword [rsi]
add rbx, 1
mov rdi, rax
jo 0x14001bbe0
sub rdi, 1
and rbx, rdi
test rbx, rbx
js 0x14001bbf0
cmp rbx, rax
jl 0x14001ba68
lea rdx, [rax - 1]
mov rcx, rbx
lea rdi, [rbx + rbx]
call fcn.14000ac40
lea rax, [rdi + rbx]
lea r14, [rsi + rax*8]
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x14001bc38
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14001ba7e
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000ac40
cmp qword [r14 + 0x10], rbp
jne 0x14001baab
mov rdx, qword [rsi]
cmp rbx, rdx
jl 0x14001ba83
mov rcx, rbx
sub rdx, 1
call fcn.14000ac40
lea rax, [rdi + rbx]
mov rcx, qword [rsi + rax*8 + 0x18]
test rcx, rcx
jne 0x14001ba95
test r12, r12
je 0x14001bb49
cmp qword [r12], 0
jne 0x14001baab
mov rsi, qword [r13]
mov rax, rsi
test rbx, rbx
js 0x14001bc3f
test rax, rax
je 0x14001bfd8
mov rdx, qword [rax]
cmp rbx, rdx
jl 0x14001bb7a
sub rdx, 1
mov rcx, rbx
call fcn.14000ac40
mov rax, qword [r13]
add rdi, rbx
mov rcx, qword [rsp + 0x30]
lea rsi, [rax + rdi*8]
mov rbx, qword [rsi + 0x20]
call fcn.140008cf0
mov qword [rsi + 0x20], rax
test rbx, rbx
je 0x14001bd11
mov rax, qword [rbx - 0x10]
lea rsi, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
ja 0x14001bd11
mov rax, qword [0x14009ed20]
mov ecx, dword [rax]
call fcn.140002e20
mov rdx, rsi
lea rcx, [rax + 0x50]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140005ad0
call fcn.14000ae00
mov rax, qword [rsi]
jmp 0x14001babb
lea rdx, [rax - 1]
mov rcx, rbx
lea rdi, [rbx + rbx]
call fcn.14000ac40
lea rax, [rdi + rbx]
lea r14, [rsi + rax*8]
cmp qword [r14 + 0x10], 0
je 0x14001c015
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000ac40
cmp qword [r14 + 0x10], rbp
jne 0x14001baab
mov rdx, qword [rsi]
jmp 0x14001bb1b
mov rsi, qword [r13]
not rbx
test rsi, rsi
je 0x14001bc4e
cmp qword [rsi], 0
jne 0x14001bf88
mov ecx, 0x34
call fcn.1400117e0
mov qword [r13 + 8], 0
mov rsi, rax
test rax, rax
js 0x14001bf9d
mov rcx, qword [0x14009e890]
mov rdx, rsi
call fcn.14000b000
mov rcx, r13
mov rdx, rax
call fcn.140007a10
mov rsi, qword [r13]
mov rdi, qword [r13 + 8]
test rsi, rsi
je 0x14001bd88
mov rax, qword [rsi]
cmp rax, rdi
jle 0x14001bec8
imul r15, rax, 2
jo 0x14001c025
imul rax, rdi, 3
jo 0x14001c001
cmp rax, r15
jg 0x14001bda8
test rsi, rsi
je 0x14001bedc
mov rax, qword [rsi]
sub rax, rdi
jo 0x14001c02f
cmp rax, 3
jle 0x14001bda8
not rbx
mov qword [rsp + 0x28], rbx
mov r9, qword [rsp + 0x30]
mov r8, r12
mov rdx, r13
mov qword [rsp + 0x20], rbp
mov rcx, r13
call fcn.14001b4e0
mov rbx, qword [r13 + 8]
add rbx, 1
jo 0x14001c04d
mov qword [r13 + 8], rbx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r8, r8
je 0x14001bb49
jmp 0x14001baab
test r8, r8
je 0x14001bb49
add rcx, 0x10
mov rdx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14001baab
jmp 0x14001bb49
mov rcx, rdx
call fcn.14001b3f0
mov rbp, rax
test rax, rax
mov eax, 0x12b9b0a1
cmove rbp, rax
jmp 0x14001ba49
test rdi, rdi
jns 0x14001bfb6
imul rsi, rdi, 3
jo 0x14001c043
test rsi, rsi
jle 0x14001bedc
nop dword [rax]
mov rcx, r13
call fcn.14001b730
mov rdi, qword [r13]
test rdi, rdi
je 0x14001bfca
mov rdx, qword [rdi]
test rdx, rdx
je 0x14001bfca
lea rbx, [rdx - 1]
lea r14, [r12 + 0x10]
and rbx, rbp
jmp 0x14001be36
lea r15, [rbx + rbx]
lea rax, [r15 + rbx]
mov rax, qword [rdi + rax*8 + 0x10]
test rax, rax
je 0x14001bce2
cmp rax, rbp
jne 0x14001be25
add r15, rbx
mov rcx, qword [rdi + r15*8 + 0x18]
test rcx, rcx
je 0x14001beac
mov r8, qword [rcx]
test r12, r12
je 0x14001bf50
cmp r8, qword [r12]
je 0x14001bf60
mov rdx, qword [rdi]
add rbx, 1
lea r15, [rdx - 1]
jo 0x14001bff4
and rbx, r15
test rbx, rbx
js 0x14001bee8
cmp rbx, rdx
jl 0x14001bde0
sub rdx, 1
mov rcx, rbx
lea r15, [rbx + rbx]
call fcn.14000ac40
lea rax, [r15 + rbx]
lea rsi, [rdi + rax*8]
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14001bce2
mov rdx, qword [rdi]
cmp rbx, rdx
jl 0x14001bdf6
sub rdx, 1
mov rcx, rbx
call fcn.14000ac40
cmp rbp, qword [rsi + 0x10]
jne 0x14001be22
mov rdx, qword [rdi]
cmp rbx, rdx
jl 0x14001bdfb
mov rcx, rbx
sub rdx, 1
add r15, rbx
call fcn.14000ac40
mov rcx, qword [rdi + r15*8 + 0x18]
test rcx, rcx
jne 0x14001be0c
test r12, r12
je 0x14001bcdf
cmp qword [r12], 0
jne 0x14001be22
jmp 0x14001bcdf
lea rcx, [0x140032980]
call fcn.140001e40
mov rax, qword [rsi]
jmp 0x14001bca3
xor eax, eax
jmp 0x14001bccc
sub rdx, 1
mov rcx, rbx
lea r15, [rbx + rbx]
call fcn.14000ac40
lea rax, [r15 + rbx]
lea rsi, [rdi + rax*8]
cmp qword [rsi + 0x10], 0
je 0x14001bce2
mov rax, qword [rdi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000ac40
cmp qword [rsi + 0x10], rbp
jne 0x14001be22
mov rdx, qword [rdi]
jmp 0x14001be8f
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.14000aaa0
jmp 0x14001ba0b
test r8, r8
jne 0x14001be22
jmp 0x14001bcdf
test r8, r8
je 0x14001bcdf
add rcx, 0x10
mov rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14001be22
jmp 0x14001bcdf
mov rdi, qword [r13 + 8]
mov rax, qword [rsi]
cmp rax, rdi
jg 0x14001bca3
jmp 0x14001bec8
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.14000aaa0
jmp 0x14001bc6c
lea rcx, [0x140032980]
xor r15d, r15d
call fcn.140001e40
jmp 0x14001bcad
xor ebx, ebx
jmp 0x14001bce2
mov rdx, 0xffffffffffffffff
jmp 0x14001bb6e
mov rsi, qword [r13]
mov rbx, 0xffffffffffffffff
jmp 0x14001bc3f
call fcn.14000ae00
mov rdx, qword [rdi]
jmp 0x14001be33
mov qword [rsp + 0x38], rax
call fcn.14000ae00
mov rax, qword [rsp + 0x38]
jmp 0x14001bcb7
not rbx
mov rax, qword [r13]
lea rdi, [rbx + rbx]
jmp 0x14001bb59
call fcn.14000ae00
jmp 0x14001bcad
mov qword [rsp + 0x38], rax
call fcn.14000ae00
mov rax, qword [rsp + 0x38]
jmp 0x14001bcd5
call fcn.14000ae00
jmp 0x14001bd9b
call fcn.14000ae00
jmp 0x14001bd0d