Function at 0x1400c9ff0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x90
mov r15, r8
mov r11, rdx
mov rdi, rcx
mov dword [rcx + 0x10], r9d
cmp r9d, 1
je 0x1400ca1bc
add qword [rcx + 0x18], r8
mov r10, qword [rcx + 8]
mov r8, qword [r10 + 0x58]
movsxd rdx, dword [r8]
mov r9d, r15d
cmp rdx, r15
cmovb r9d, edx
sub edx, r9d
mov dword [r8], edx
mov rcx, qword [r10 + 0x40]
movsxd rax, r9d
add qword [rcx], rax
mov rax, qword [r10 + 0x40]
mov rcx, qword [rax]
mov rax, qword [r10 + 0x38]
sub ecx, dword [rax]
mov rax, qword [r10 + 0x50]
mov dword [rax], ecx
movzx r9d, byte [r11 + 4]
xor ebx, ebx
mov r10d, 0x10000
test r9b, r9b
cmovne r10d, ebx
mov qword [rbp - 0x19], r10
mov r14, qword [rdi + 8]
mov r8, qword [r14 + 0x68]
mov rax, qword [r14 + 0x40]
mov rcx, qword [rax]
mov rax, qword [r14 + 0x38]
sub rcx, qword [rax]
sub r8, rcx
mov qword [rbp + 0x67], r8
mov rax, qword [r14 + 0x80]
sub rax, qword [r14 + 0x70]
sub rax, rcx
mov qword [rbp - 0x11], rax
mov esi, 0x200
mov qword [rbp - 9], rsi
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x19]
cmp r8, r10
cmovae rdx, rcx
lea rcx, [rbp - 0x11]
lea r8, [rbp - 9]
cmp rax, rsi
cmovbe rcx, r8
mov rax, qword [rcx]
cmp qword [rdx], rax
cmovb rcx, rdx
mov rsi, qword [rcx]
test r9b, r9b
jne 0x1400ca0e8
test r15, r15
je 0x1400ca0f1
test rsi, rsi
jne 0x1400ca20c
movups xmm0, xmmword [rdi + 0x30]
movups xmmword [rbp + 0xf], xmm0
movups xmm1, xmmword [r11]
movups xmmword [rbp + 0x1f], xmm1
mov rax, qword [rdi + 0x18]
mov qword [rbp + 0x2f], rax
lea rsi, [rdi + 0x28]
mov r14, qword [rdi + 0x20]
mov rdi, qword [rsi]
mov ecx, dword [0x1403a2748]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1400ca133
cmp qword [rax], rdi
je 0x1400ca1a1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400ca125
lea rax, [rbp + 0xf]
mov qword [rbp - 9], rax
lea rdx, [rbp + 0xf]
mov ecx, 0x68
call fcn.140035580
mov r8, rax
mov qword [rax + 0x20], rbx
lea rax, [0x1400bbe30]
mov qword [r8 + 0x28], rax
mov qword [r8], rbx
mov qword [r8 + 8], rbx
mov qword [r8 + 0x10], rbx
mov qword [r8 + 0x18], rbx
mov dword [r8 + 0x30], ebx
movups xmm0, xmmword [rbp + 0xf]
movups xmmword [r8 + 0x38], xmm0
movups xmm1, xmmword [rbp + 0x1f]
movups xmmword [r8 + 0x48], xmm1
mov rax, qword [rbp + 0x2f]
mov qword [r8 + 0x58], rax
mov qword [rbp + 7], rbx
mov qword [rbp - 1], rbx
mov rdx, rsi
mov rcx, r14
call fcn.140037790
nop
jmp 0x1400ca24e
cmp qword [rax + 8], rbx
je 0x1400ca133
nop
lea rdx, [rbp + 0xf]
lea rcx, [rbp + 0xf]
call fcn.1400be710
nop
nop
jmp 0x1400ca24e
xor ebx, ebx
mov r10d, 0x10000
cmp byte [rdx + 4], bl
cmovne r10d, ebx
mov r14, qword [rcx + 8]
mov rax, qword [r14 + 0x40]
mov rcx, qword [r14 + 0x38]
mov rdx, qword [rcx]
sub rdx, qword [rax]
mov rcx, qword [r14 + 0x68]
add rcx, rdx
mov r8, qword [r14 + 0x80]
sub r8, qword [r14 + 0x70]
add r8, rdx
cmp rcx, r10
cmovb r10, rcx
mov esi, 0x200
cmp r8, rsi
cmova rsi, r8
cmp r10, rsi
cmovb rsi, r10
mov rdx, rsi
mov rcx, r14
call fcn.1400b52e0
mov rax, qword [r14 + 0x40]
mov rcx, qword [rax]
mov qword [rbp - 9], rcx
mov qword [rbp - 1], rsi
mov rax, qword [rdi]
lea r8, [rax + 0x68]
lea rdx, [rax + 8]
mov rcx, qword [rax]
add rcx, 0x28
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8, [rbp - 9]
call fcn.1400ca8d0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
mov r8, qword [rcx + 0x60]
add rcx, 0x10
xor r9d, r9d
lea rdx, [rcx + 0x40]
add rsp, 0x28
jmp 0x1400c9ff0