Function at 0x14002a113
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rax, 0x60
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x14002a165
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.140029f09
jmp 0x14002a406
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x14002a406
mov rax, qword [rsp + 0x58]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14002a1cc
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
movabs rdx, 0x17062fd83a3e855c
movabs r8, 0xa8f9d027c5c17aa3
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x14002a27f
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov rdx, rcx
sub rdx, r8
mov qword [rsp + 0x40], rdx
mov rax, rdx
xor rax, rcx
cmp rax, 0
setl al
mov rcx, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov r9, r8
or r9, r9
movabs r10, 0xebea788cd309d4e1
movabs r11, 0x141587732cf62b1e
xor r10, r11
xor r9, r10
xor rcx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14002a275
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400184ef
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x14002a27f
call fcn.14000a590
jmp 0x14002a406
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14002a406
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1400f9a76
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x14002a406
mov rcx, qword [rsp + 0x30]
movabs rdx, 0xd253495383215f97
movabs rax, 0xaed77427a735e25a
xor rdx, rax
mov rax, rcx
sub rax, rdx
add rax, 1
movabs rdx, 0x7c843d742414bdcd
add rax, rdx
mov rdx, rcx
and rdx, rdx
movabs r8, 0xbda93b76731e6090
movabs r9, 0x4256c4898ce19f6f
xor r8, r9
xor rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rcx, r8
movabs r8, 0x98f9c265d335c741
movabs r9, 0x67063d9a2cca38be
xor r8, r9
xor rcx, r8
movabs r8, 0x57c8595fa1e2655
movabs r9, 0xfa837a6a05e1d9aa
xor r8, r9
xor rdx, r8
movabs r8, 0x22a00702b9b0d048
movabs r9, 0xdd5ff8fd464f2fb7
xor r8, r9
xor rcx, r8
or rdx, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x8ee81a7210a7a247
xor r8, r9
or rcx, rdx
movabs rdx, 0xa1157e4cf590760d
movabs r9, 0x2ffd643ee537d44a
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14002a296
call fcn.14000a590
nop
add rsp, 0x78
ret