Function at 0x1400240a0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rbp, rcx
mov rbx, rdx
mov edi, r8d
mov esi, r9d
test rdx, rdx
je 0x14002418b
call fcn.140012100
cmp rax, 0xffffffffffffffff
je 0x1400241a0
test rbp, rbp
je 0x1400240de
mov rax, qword [rbp]
sub rbx, rax
jo 0x14002437c
test rbx, rbx
jle 0x140024188
movsx ecx, sil
cmp dil, 0x3c
je 0x140024278
test dil, dil
je 0x140024278
cmp dil, 0x5e
je 0x1400241b0
mov rdx, rbx
call fcn.1400124a0
mov rsi, rax
test rax, rax
je 0x1400242d0
mov rcx, qword [rax]
lea rdi, [rax + 0x10]
test rbp, rbp
je 0x140024310
add rcx, qword [rbp]
call fcn.140009300
mov r8, qword [rsi]
mov rdx, rdi
mov rbx, rax
mov rax, qword [rax]
add r8, 1
lea rcx, [rbx + rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
add rax, qword [rbx]
mov qword [rbx], rax
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rbp]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add qword [rbx], rax
mov rax, rbx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rcx, rbp
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.140009490
mov rcx, rbp
call fcn.140011880
jmp 0x1400240d5
mov rsi, rbx
mov dword [rsp + 0x2c], ecx
sar rsi, 1
mov rdx, rsi
call fcn.1400124a0
mov ecx, dword [rsp + 0x2c]
mov rdx, rbx
sub rdx, rsi
mov rdi, rax
call fcn.1400124a0
xor ecx, ecx
mov rsi, rax
test rdi, rdi
je 0x1400241e1
mov rcx, qword [rdi]
test rbp, rbp
je 0x1400241ea
add rcx, qword [rbp]
test rsi, rsi
je 0x1400241f2
add rcx, qword [rsi]
call fcn.140009300
mov rbx, rax
test rdi, rdi
je 0x14002421d
mov rax, qword [rax]
lea rdx, [rdi + 0x10]
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rdi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add qword [rbx], rax
test rbp, rbp
je 0x140024242
mov rax, qword [rbx]
lea rdx, [rbp + 0x10]
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rbp]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add qword [rbx], rax
test rsi, rsi
je 0x140024175
mov rax, qword [rbx]
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rsi]
lea rdx, [rsi + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
add qword [rbx], rax
mov rax, rbx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rdx, rbx
call fcn.1400124a0
mov rsi, rax
test rbp, rbp
je 0x1400242f0
mov rcx, qword [rbp]
lea rdi, [rbp + 0x10]
test rax, rax
je 0x140024350
add rcx, qword [rax]
call fcn.140009300
mov r8, qword [rbp]
mov rdx, rdi
mov rbx, rax
mov rax, qword [rax]
add r8, 1
lea rcx, [rbx + rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [rbx]
mov qword [rbx], rax
jmp 0x14002424e
test rbp, rbp
je 0x140024340
mov rcx, qword [rbp]
call fcn.140009300
mov rbx, rax
mov rax, qword [rax]
jmp 0x140024158
test rax, rax
je 0x140024340
mov rcx, qword [rax]
call fcn.140009300
mov rbx, rax
mov rax, qword [rax]
jmp 0x14002424e
call fcn.140009300
mov r8, qword [rsi]
mov rdx, rdi
mov rbx, rax
mov rax, qword [rax]
add r8, 1
lea rcx, [rbx + rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
add qword [rbx], rax
jmp 0x140024175
xor ecx, ecx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.140009300
call fcn.140009300
mov r8, qword [rbp]
mov rdx, rdi
mov rbx, rax
mov rax, qword [rax]
add r8, 1
lea rcx, [rbx + rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add qword [rbx], rax
jmp 0x140024175
call fcn.14000ae00
jmp 0x1400240de