Function at 0x14002e8a7
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 0x14002e8f9
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.14002e6b1
jmp 0x14002ebb2
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x14002ebb2
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 0x14002e9b6
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax]
movabs r8, 0xae866c3635e693e
movabs rax, 0xf517993c9ca196c1
xor r8, rax
mov rax, rdx
xor rax, r8
movabs r8, 0x6c0ddb2a87c1fe76
movabs r9, 0x93f224d5783e0189
xor r8, r9
xor rdx, r8
and rax, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0xbfffffffffffffff
xor r8, r9
and rdx, r8
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rax, rdx
cmp rax, rcx
jge 0x14002eaa7
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x40], rcx
mov r8, rcx
xor r8, rax
movabs r9, 0x3ae9a61e1e5c0adc
movabs r10, 0xc51659e1e1a3f523
xor r9, r10
xor r8, r9
mov r9, rax
and r9, r8
movabs r8, 0xe1de7776bc703ec9
movabs r10, 0xe1de7776bc703ecb
xor r8, r10
imul r8, r9
sub r8, rax
mov rax, rcx
sub rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0x353ac748353508a6
movabs r8, 0xcac538b7cacaf759
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14002ea9d
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
movabs r9, 0xdfc82263171c1255
movabs rax, 0xdfc82263171c125d
xor r9, rax
movabs rax, 0x64225f606e95dd77
movabs r10, 0x64225f606e95dd7f
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.1400184ef
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x14002eaa7
call fcn.14000a590
jmp 0x14002ebb2
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 0x14002ebb2
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.1401362c6
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x14002ebb2
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 1
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0x17d2e3a80d9a0c78
movabs r9, 0xe82d1c57f265f387
xor rdx, r9
and rdx, r8
movabs r8, 0x9461ab15b2524bd3
movabs r9, 0x6b9e54ea4dadb42c
xor r8, r9
movabs r9, 0x4a5fb799147e214f
movabs r10, 0xb5a04866eb81deb0
xor r9, r10
xor r8, r9
and rcx, r8
or rdx, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x58e60674e297827
movabs r8, 0xfa719f98b1d687d8
xor rdx, r8
xor rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14002eabe
call fcn.14000a590
nop
add rsp, 0x78
ret