Function at 0x1000d1140
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x10022f440]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov r13, r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], rdx
mov rdi, rcx
mov ebp, dword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x48], rax
mov r14, qword [rcx + 0x5a0]
call fcn.100068880
xor ebx, ebx
test eax, eax
je 0x1000d11dc
lea rcx, [rdi + 0xf40]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [rdi + 0xe4]
test eax, eax
je 0x1000d11dc
mov dword [rdi + 0xe4], ebx
mov ecx, ebx
cmp eax, 2
sete cl
xor edx, edx
call fcn.1000dfe80
mov rdx, r14
not rdx
mov r9d, 1
xor r8d, r8d
mov rcx, rdi
call fcn.100101460
mov rsi, rax
mov qword [rsp + 0x70], rax
mov r12, qword [rax + 0x1038]
test byte [rdi + 0x590], 4
movzx r15d, bx
jne 0x1000d1217
movzx r15d, word [rdi + 0x88]
lea rcx, [rsp + 0xd0]
call fcn.10006ae10
mov rcx, rax
movzx r8d, r15w
lea rdx, [rsp + 0x60]
call fcn.1000f31d0
or r14, r12
mov rcx, qword [rsp + 0x68]
mov rax, rcx
and rax, r14
cmp rax, rcx
cmove r14, rbx
mov qword [rdi + 0x5a0], r14
bt ebp, 0xa
jae 0x1000d1277
test byte [rdi + 0x590], 8
je 0x1000d1277
mov rdx, qword [rsi + 0xf28]
movsxd rax, dword [rsi + 0xaa4]
cmp rdx, rax
jge 0x1000d1603
mov rcx, qword [rsi + 0xac0]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
mov byte [rsp + 0x20], 6
mov r9d, 0x75a
lea r8, [0x100022e58]
mov edx, 0x68
call qword [rax + 0x48]
mov rdi, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1000d12f4
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
lea rax, [0x1004e1008]
mov qword [rdi], rax
mov rax, qword [rsp + 0x30]
mov qword [rdi + 0x38], rax
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x48], r13
mov rax, qword [rsp + 0x1b0]
mov qword [rdi + 0x50], rax
mov dword [rdi + 0x58], ebp
mov qword [rdi + 0x60], rbx
mov eax, dword [rsp + 0x1c0]
mov dword [rdi + 0x5c], eax
jmp 0x1000d12f7
mov rdi, rbx
test rdi, rdi
je 0x1000d1603
call fcn.10006b640
bts ebp, 8
mov dword [rsp + 0x80], ebp
lea rcx, [0x1000d66a0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rdi
add rax, 0x230
mov qword [rsp + 0x98], rax
or r15, 0xffffffffffffffff
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rbx
call fcn.100068a00
mov r14, rax
mov rcx, qword gs:[0x30]
lea rbp, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000d1376
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
test rbp, rbp
je 0x1000d13a7
cmp qword [rbp + 0xe8], rbp
jne 0x1000d13a7
call fcn.1001672c0
test eax, eax
je 0x1000d13a7
call qword [0x1002aaa48]
test eax, eax
je 0x1000d13a7
lea rcx, [rsp + 0xb0]
call qword [0x1002aab88]
jmp 0x1000d13c3
movups xmm0, xmmword [0x1000225d8]
movaps xmmword [rsp + 0xb0], xmm0
mov eax, dword [0x1000225e8]
mov dword [rsp + 0xc0], eax
mov rcx, qword [rsi + 0xac8]
mov rax, qword [rcx]
mov byte [rsp + 0x20], 6
mov r9d, 0x986
lea r8, [0x100022910]
mov edx, 0x3c0
call qword [rax + 0x48]
mov r14, rax
mov qword [rsp + 0x38], rax
lea r12, [0x100002a88]
test rax, rax
je 0x1000d141a
lea rcx, [rax + 8]
mov r9, qword [rsp + 0x48]
mov r8, rsi
lea rdx, [rsp + 0x80]
call fcn.100067420
nop
mov qword [r14], r12
jmp 0x1000d141d
mov r14, rbx
test r14, r14
je 0x1000d15b1
add r14, 8
lea rcx, [rsi + 0x28]
mov rdx, r14
call fcn.1000ce330
test r14, r14
je 0x1000d15b1
mov eax, dword [r14 + 0x30]
lock xadd dword [rsi + 0x107c], eax
lock inc dword [rsi + 0xaa0]
lea rcx, [rsi + 0xf00]
lea r9, [rsp + 0x58]
mov r8d, 1
mov rdx, r14
call fcn.1000d3b80
mov ebp, eax
test eax, eax
je 0x1000d1487
mov ecx, dword [r14 + 0x30]
neg ecx
lock xadd dword [rsi + 0x107c], ecx
lock dec dword [rsi + 0xaa0]
lea rsi, [r14 + 0x10]
lock xadd dword [rsi + 0x10], r15d
dec r15d
jne 0x1000d1598
cmp qword [rsi + 8], 0
je 0x1000d14ae
mov rcx, rsi
call fcn.1000585a0
jmp 0x1000d1598
add rsi, 0xfffffffffffffff0
mov eax, dword [rsi + 0xb0]
cmp eax, 2
jne 0x1000d1507
mov r14, qword [rsi + 0xa0]
call fcn.100064800
mov edx, eax
xor eax, eax
lock cmpxchg dword [r14 + 0xf80], edx
mov ecx, ebx
sete cl
test ecx, ecx
jne 0x1000d14eb
lea rcx, [r14 + 0xf80]
call fcn.100057ac0
mov rcx, qword [rsi + 8]
mov rax, qword [rsi]
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov qword [rsi + 8], rbx
mov qword [rsi], rbx
mov dword [r14 + 0xf80], ebx
call fcn.100058010
test rax, rax
je 0x1000d152f
cmp qword [rax + 0x1e8], rsi
jne 0x1000d152f
test rsi, rsi
je 0x1000d1523
lea rbx, [rsi - 8]
xor edx, edx
mov rcx, rbx
call fcn.100058e50
jmp 0x1000d1598
test rsi, rsi
je 0x1000d1538
lea rbx, [rsi - 8]
mov qword [rsp + 0x38], rbx
test rbx, rbx
je 0x1000d1598
mov qword [rbx], r12
lea rcx, [rbx + 8]
call fcn.100058db0
mov rax, rbx
mov edx, 0x200
and rax, 0xffffffffffffe000
je 0x1000d1568
cmp word [rax + 4], dx
jne 0x1000d1568
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rbx
je 0x1000d1585
cmp word [rcx + 4], dx
jne 0x1000d1585
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x1000d1598
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x28]
test ebp, ebp
je 0x1000d15ad
mov edx, 1
mov rcx, rdi
call fcn.1000ce670
mov eax, ebp
jmp 0x1000d1608
xor eax, eax
jmp 0x1000d1608
mov rcx, rdi
call fcn.1000ce510
mov rax, rdi
mov edx, 0x200
and rax, 0xffffffffffffe000
je 0x1000d15d3
cmp word [rax + 4], dx
jne 0x1000d15d3
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdi
je 0x1000d15f0
cmp word [rcx + 4], dx
jne 0x1000d15f0
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x1000d1603
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0x28]
mov eax, 0xc0000000
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.10005f420
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret