Function at 0x1001194f0
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [r11 - 0x78], 0xfffffffffffffffe
mov qword [r11 + 0x20], rbx
mov qword [rsp + 0xa8], rdx
mov rdi, rcx
xor r15d, r15d
mov ebx, r15d
mov ebp, r15d
mov r14, rdx
mov qword [rsp + 0xa0], rdx
mov dword [rsp + 0x38], 0x80116
mov qword [r11 - 0x58], r15
mov qword [r11 - 0x48], r15
mov qword [r11 - 0x50], r15
mov qword [r11 - 0x40], r15
mov eax, r8d
lea r12, [rcx + rax*8]
add rcx, 0x38
mov qword [r11 - 0x70], rcx
mov dword [r11 - 0x68], r15d
lea r8, [r11 - 0x60]
or edx, 0xffffffff
call fcn.10005b250
mov ecx, r15d
mov edx, 1
test eax, eax
cmove ecx, edx
mov dword [rsp + 0x30], ecx
call fcn.100064800
mov edx, eax
xor eax, eax
lock cmpxchg dword [rdi + 0x20], edx
mov ecx, r15d
sete cl
test ecx, ecx
jne 0x100119596
lea rcx, [rdi + 0x20]
call fcn.100115710
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x30]
cmp rax, rcx
ja 0x1001195a8
mov rsi, r15
jmp 0x1001195c9
sub rax, rcx
cmp r14, rax
cmovb rax, r14
mov esi, 0x64
cmp rax, rsi
cmovb rsi, rax
sub r14, rsi
mov qword [rsp + 0xa0], r14
mov rdx, r15
test rsi, rsi
je 0x100119604
mov rcx, qword [r12 + 0x90]
test rcx, rcx
je 0x1001195f9
mov rax, qword [rcx]
mov qword [r12 + 0x90], rax
mov qword [rcx], rbx
mov rbx, rcx
dec qword [rdi + 8]
inc qword [rdi + 0x10]
jmp 0x1001195fc
mov rsi, r15
inc rdx
cmp rdx, rsi
jb 0x1001195d1
mov dword [rdi + 0x20], r15d
test rbx, rbx
je 0x100119624
nop dword [rax]
mov rcx, rbx
mov rbx, qword [rbx]
mov qword [rcx], r15
call qword [rdi + 0x28]
inc rbp
test rbx, rbx
jne 0x100119610
call fcn.100068a00
mov r15, rax
mov rax, qword gs:[0x30]
lea r14, [rax + r15]
mov rcx, r15
call fcn.10006c530
test eax, eax
jne 0x100119651
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, rax
test r14, r14
je 0x100119662
mov rcx, qword [r14 + 0xd8]
test rcx, rcx
jne 0x10011969b
call fcn.100063d30
call fcn.100068a00
mov r14, rax
mov rax, qword gs:[0x30]
lea r15, [rax + r14]
mov rcx, r14
call fcn.10006c530
test eax, eax
jne 0x100119694
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r15, rax
mov rcx, qword [r15 + 0xd8]
rdtsc
shl rdx, 0x20
or rax, rdx
mov r9, rax
mov r8, qword [rcx + 0x2f8]
cmp rax, r8
ja 0x1001196db
mov rax, qword [rcx + 0x218]
mov rdx, qword [rax + 0xab0]
mov rax, r8
sub rax, r9
cmp rax, rdx
jbe 0x1001196e0
movabs rax, 0x7fffffffffffffff
cmp r8, rax
je 0x1001196e0
call fcn.1000655c0
test rsi, rsi
mov r14, qword [rsp + 0xa0]
mov r15d, 0
jne 0x100119575
mov rsi, qword [rsp + 0xa8]
cmp rsi, rbp
jbe 0x1001197d4
cmp qword [rdi + 0x88], r15
jbe 0x1001197d4
mov rax, qword [rdi + 0x30]
cmp qword [rdi + 8], rax
jbe 0x1001197d4
call fcn.100064800
mov edx, eax
xor eax, eax
lock cmpxchg dword [rdi + 0x20], edx
mov r14d, r15d
mov ecx, r14d
sete cl
test ecx, ecx
jne 0x100119747
lea rcx, [rdi + 0x20]
call fcn.100115710
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x30]
cmp rcx, rdx
jbe 0x1001197ac
sub rsi, rbp
mov rax, qword [rdi + 0x88]
cmp rax, rsi
cmovb rsi, rax
sub rcx, rdx
cmp rsi, rcx
cmovae rsi, rcx
test rsi, rsi
je 0x10011979d
lea rcx, [rdi + 0x78]
mov r8, rsi
nop dword [rax + rax]
mov rdx, qword [rcx]
mov rax, qword [rdx]
mov qword [rcx], rax
test rax, rax
jne 0x100119792
mov qword [rcx + 8], rcx
mov qword [rdx], rbx
mov rbx, rdx
dec r8
jne 0x100119780
sub qword [rdi + 8], rsi
add qword [rdi + 0x10], rsi
sub qword [rdi + 0x88], rsi
mov dword [rdi + 0x20], r14d
test rbx, rbx
je 0x1001197d4
nop word [rax + rax]
mov rcx, rbx
mov rbx, qword [rbx]
mov qword [rcx], r14
call qword [rdi + 0x28]
inc rbp
test rbx, rbx
jne 0x1001197c0
mov ebx, dword [rsp + 0x30]
test ebx, ebx
je 0x1001197f1
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
call fcn.10005b360
dec ebx
mov dword [rsp + 0x30], ebx
jne 0x1001197e1
mov rax, rbp
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret