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

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
lea rbx, [rcx + 0xf]
mov rdi, rdx
mov r12, rbx
and r12, 0xfffffffffffffff0
je 0x1400e6210
cmp qword [0x1404cb190], r12
jae 0x1400e6250
mov esi, dword [0x1404cb170]
test esi, esi
jne 0x1400e6210
mov rax, qword [0x1404cb168]
sub rax, 0x30
shr rax, 3
cmp rax, r12
jb 0x1400e6210
mov r10d, dword [0x1404cb174]
test r10d, r10d
je 0x1400e6250
test rdx, rdx
je 0x1400e63f7
mov r9d, dword [0x1404cb178]
test r9d, r9d
je 0x1400e61bd
mov rdx, rcx
mov rcx, rdi
call fcn.1400e2b10
test eax, eax
je 0x1400e64c6
mov rax, qword [0x14048d6e0]
mov eax, dword [rax]
test eax, eax
je 0x1400e61d7
mov r8, r12
xor edx, edx
mov rcx, rdi
call fcn.14034f288
lea rbx, [0x1404cb1c0]
mov rcx, rbx
call fcn.140341618
mov rcx, r12
mov rdx, rdi
call fcn.1400e3ac0
mov rcx, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp fcn.140341260
test rdi, rdi
je 0x1400e63f7
mov r11d, dword [0x1404cb178]
test r11d, r11d
je 0x1400e6238
mov rdx, rcx
mov rcx, rdi
call fcn.1400e2b10
test eax, eax
je 0x1400e64d0
mov rcx, rdi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp fcn.14034efb0
test rdi, rdi
je 0x1400e63f7
mov r8d, dword [0x1404cb178]
test r8d, r8d
je 0x1400e6278
mov rdx, rcx
mov rcx, rdi
call fcn.1400e2b10
test eax, eax
je 0x1400e64cb
mov rax, qword [0x14035ca40]
lea rsi, [0x14035ca40]
mov ecx, eax
test eax, eax
jne 0x1400e6296
mov rcx, rsi
call fcn.1401001a0
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
test rax, rax
je 0x1400e6410
mov r9, qword [rax + 8]
shr rbx, 4
mov eax, 0xa0
lea r10d, [rbx - 1]
mov ebx, ebx
mov rsi, r10
lea rcx, [rbx + rbx*4]
mov r11, rbx
mov r13, r10
shl rsi, 4
shl rcx, 4
add r9, rsi
shl r11, 4
cmp rcx, rax
cmovb rcx, rax
mov rax, qword [0x1404cb168]
xor edx, edx
mov r14, qword [r9 + 8]
div rcx
mov edx, 4
cmp rax, rdx
cmovae rdx, rax
mov rax, qword [0x1404cb1a8]
mov eax, dword [rax + r10*4]
mov r8, rdx
mov edx, edx
test eax, eax
je 0x1400e631f
shl eax, 6
xor edx, edx
div r11
cmp r8d, eax
cmovae eax, r8d
mov edx, eax
cmp r14, rdx
jb 0x1400e63c0
mov rax, qword [rbp]
movdqu xmm0, xmmword [r9]
add rax, rsi
mov rdx, qword [rax + 8]
mov r8, qword [rax]
movups xmmword [rax], xmm0
mov rax, qword [rbp + 8]
add rax, rsi
mov qword [rax + 8], rdx
xor edx, edx
mov qword [rax], r8
mov rax, qword [0x1404cb168]
div rcx
mov edx, 4
mov rcx, rdx
cmp rax, rdx
cmovae rcx, rax
mov rax, qword [0x1404cb1a8]
mov eax, dword [rax + r10*4]
mov edx, ecx
test eax, eax
je 0x1400e6390
shl eax, 6
xor edx, edx
div r11
cmp ecx, eax
cmovae eax, ecx
mov edx, eax
nop word [rax + rax]
mov rbx, qword [rbp + 8]
add rbx, rsi
mov r8, qword [rbx + 8]
cmp r8, rdx
jb 0x1400e63c0
mov rdx, qword [rbx]
mov ecx, r13d
call fcn.1400e3c50
mov qword [rbx], 0
mov qword [rbx + 8], 0
nop word [rax + rax]
mov rax, qword [0x14048d6e0]
mov edx, dword [rax]
test edx, edx
je 0x1400e63da
mov r8, r12
xor edx, edx
mov rcx, rdi
call fcn.14034f288
mov rax, qword [rbp + 8]
mov qword [rdi + 8], 0
add rax, rsi
mov rdx, qword [rax]
mov qword [rdi], rdx
add qword [rax + 8], 1
mov qword [rax], rdi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
lea rbp, [0x1404cb130]
mov rcx, rbp
call fcn.140341618
cmp qword [0x1404cb1d8], 0
jne 0x1400e642e
call fcn.1400e5de0
mov rcx, rbp
call fcn.140341260
mov rax, qword [0x1404cb168]
mov ecx, 1
lea r13, [rax - 0x30]
shr r13, 7
mov r13d, r13d
mov r14, r13
shl r14, 5
add r14, 0x10
mov rdx, r14
call sub.msvcrt.dll_calloc
mov rbp, rax
test rax, rax
je 0x1400e64a0
mov rax, qword [0x14035ca40]
mov ecx, eax
test eax, eax
jne 0x1400e647f
mov rcx, rsi
call fcn.1401001a0
mov ecx, eax
mov rdx, rbp
shl r13, 4
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea r9, [rbp + 0x10]
mov qword [rbp], r9
add r9, r13
mov qword [rbp + 8], r9
jmp 0x1400e62ac
mov qword [rsp + 0x20], r14
lea r9, [0x1403a1d2e]
lea r8, [0x1403a1d08]
mov edx, 4
lea rcx, [0x1403a1bda]
call fcn.1400d2190
jmp 0x1400e64c4
jmp 0x14035989a
jmp 0x14035989a
jmp 0x14035989a
call sub.msvcrt.dll_abort
nop