Function at 0x1400e74e0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbx, [rcx + 0xf]
mov qword [rsp + 0x30], rcx
mov rsi, rdx
mov r12, r8
mov r13, rbx
and r13, 0xfffffffffffffff0
cmp qword [0x1404cb190], r13
jae 0x1400e7648
mov edi, dword [0x1404cb170]
test edi, edi
jne 0x1400e7625
mov rax, qword [0x1404cb168]
sub rax, 0x30
shr rax, 3
cmp rax, r13
jb 0x1400e7625
mov r11d, dword [0x1404cb174]
test r11d, r11d
je 0x1400e7648
lea r14, [0x1404cb1c0]
mov rcx, r14
call fcn.140341618
test rsi, rsi
je 0x1400e75ea
mov rdi, qword [0x14048d6e0]
xor ebx, ebx
mov ebp, r13d
nop dword [rax]
mov ecx, dword [0x1404cb178]
mov r15, rsi
mov rsi, qword [rsi + r12]
test ecx, ecx
je 0x1400e7596
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.1400e2b10
test eax, eax
je 0x1403598a0
mov edx, dword [rdi]
test edx, edx
je 0x1400e75da
lea r8, [r15 + 8]
mov rax, r15
mov qword [r15], 0
mov qword [r15 + rbp - 8], 0
and r8, 0xfffffffffffffff8
sub rax, r8
add eax, r13d
and eax, 0xfffffff8
cmp eax, 8
jb 0x1400e75da
and eax, 0xfffffff8
mov edx, eax
xor eax, eax
mov r9d, eax
add eax, 8
mov qword [r8 + r9], rbx
cmp eax, edx
jb 0x1400e75cc
mov rdx, r15
mov rcx, r13
call fcn.1400e3ac0
test rsi, rsi
jne 0x1400e7570
mov rcx, r14
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140341260
mov rdx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.1400e2b10
test eax, eax
je 0x1403598a0
mov rcx, rbx
call fcn.14034efb0
test rsi, rsi
je 0x1400e782c
mov eax, dword [0x1404cb178]
mov rbx, rsi
mov rsi, qword [rsi + r12]
test eax, eax
je 0x1400e761d
jmp 0x1400e7608
mov rax, qword [0x14035ca40]
lea rbp, [0x14035ca40]
mov ecx, eax
test eax, eax
jne 0x1400e7666
mov rcx, rbp
call fcn.1401001a0
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rax, rax
je 0x1400e7878
shr rbx, 4
lea r10d, [rbx - 1]
test rsi, rsi
je 0x1400e782c
shl rbx, 4
mov r15d, r10d
mov dword [rsp + 0x44], r10d
xor r14d, r14d
mov qword [rsp + 0x38], rbx
mov rbp, r15
movabs r9, 0xcccccccccccccccd
shl r15, 2
shl rbp, 4
nop word [rax + rax]
mov r10d, dword [0x1404cb178]
mov rbx, rsi
mov rsi, qword [rsi + r12]
test r10d, r10d
je 0x1400e76ea
mov rdx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.1400e2b10
test eax, eax
je 0x1403598a0
movabs r9, 0xcccccccccccccccd
mov rax, r9
mul qword [0x1404cb168]
mov r8, qword [rdi + 8]
mov eax, 4
add r8, rbp
mov rcx, rdx
mov r11, qword [r8 + 8]
shr rcx, 7
cmp rcx, rax
cmovb rcx, rax
mov rax, qword [0x1404cb1a8]
mov eax, dword [rax + r15]
mov edx, ecx
test eax, eax
je 0x1400e7734
shl eax, 6
xor edx, edx
div qword [rsp + 0x38]
cmp ecx, eax
cmovae eax, ecx
mov edx, eax
mov eax, edx
cmp r11, rax
jb 0x1400e77b8
mov rax, qword [rdi]
movdqu xmm0, xmmword [r8]
add rax, rbp
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
movups xmmword [rax], xmm0
mov rax, qword [rdi + 8]
add rax, rbp
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov rax, r9
mul qword [0x1404cb168]
mov eax, 4
shr rdx, 7
cmp rdx, rax
mov rcx, rdx
cmovb rcx, rax
mov rax, qword [0x1404cb1a8]
mov eax, dword [rax + r15]
mov edx, ecx
test eax, eax
je 0x1400e77a0
shl eax, 6
xor edx, edx
div qword [rsp + 0x38]
cmp ecx, eax
cmovae eax, ecx
mov edx, eax
nop dword [rax]
mov rax, qword [rdi + 8]
add rax, rbp
mov r8, qword [rax + 8]
cmp r8, rdx
jae 0x1400e7840
nop dword [rax]
mov rax, qword [0x14048d6e0]
mov r8d, dword [rax]
test r8d, r8d
je 0x1400e7806
mov eax, r13d
lea rdx, [rbx + 8]
mov qword [rbx], 0
mov qword [rbx + rax - 8], 0
and rdx, 0xfffffffffffffff8
mov rax, rbx
sub rax, rdx
add eax, r13d
and eax, 0xfffffff8
cmp eax, 8
jb 0x1400e7806
and eax, 0xfffffff8
xor ecx, ecx
mov r8d, ecx
add ecx, 8
mov qword [rdx + r8], r14
cmp ecx, eax
jb 0x1400e77f8
mov rax, qword [rdi + 8]
mov qword [rbx + 8], 0
add rax, rbp
mov rdx, qword [rax]
mov qword [rbx], rdx
mov qword [rax], rbx
add qword [rax + 8], 1
test rsi, rsi
jne 0x1400e76b8
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rax]
mov ecx, dword [rsp + 0x44]
mov qword [rsp + 0x48], rax
call fcn.1400e3c50
mov rax, qword [rsp + 0x48]
movabs r9, 0xcccccccccccccccd
mov qword [rax], 0
mov qword [rax + 8], 0
jmp 0x1400e77b8
lea rdi, [0x1404cb130]
mov rcx, rdi
call fcn.140341618
cmp qword [0x1404cb1d8], 0
je 0x1400e7908
mov rcx, rdi
call fcn.140341260
mov rax, qword [0x1404cb168]
mov ecx, 1
lea r14, [rax - 0x30]
shr r14, 7
mov r14d, r14d
mov r15, r14
shl r15, 5
add r15, 0x10
mov rdx, r15
call sub.msvcrt.dll_calloc
mov rdi, rax
test rax, rax
je 0x1400e790f
mov rax, qword [0x14035ca40]
mov ecx, eax
test eax, eax
jne 0x1400e78e2
mov rcx, rbp
call fcn.1401001a0
mov ecx, eax
mov rdx, rdi
shl r14, 4
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea rax, [rdi + 0x10]
mov qword [rdi], rax
add rax, r14
mov qword [rdi + 8], rax
jmp 0x1400e7678
call fcn.1400e5de0
jmp 0x1400e7891
mov qword [rsp + 0x20], r15
lea r9, [0x1403a1d2e]
lea r8, [0x1403a1d08]
mov edx, 4
lea rcx, [0x1403a1bda]
call fcn.1400d2190
jmp 0x1400e7933
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
call sub.msvcrt.dll_abort
nop
mov rax, qword [8]
ud2