Function at 0x140029e93
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
add rax, 0x60
mov qword [rsp + 0x70], rax
mov rax, qword [rcx]
mov qword [rsp + 0x78], rax
cmp rax, rdx
jle 0x140029b6e
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call fcn.14002987e
jmp 0x140029e8b
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jge 0x140029e8b
mov rax, qword [rsp + 0x60]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x140029c61
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax]
movabs r8, 0x1db522c5b93671bb
movabs rax, 0xa24add3a46c98e44
xor r8, rax
mov rax, rdx
and rax, r8
movabs r8, 0x87099865cfc5f1fc
movabs r9, 0x78f6679a303a0e03
xor r8, r9
xor rax, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xc1c338d510296eb2
movabs r9, 0x7e3cc72aefd6914d
xor r8, r9
movabs r9, 0x85c4ce1649aa1e62
movabs r10, 0x7a3b31e9b655e19d
xor r9, r10
xor r8, r9
or rdx, r8
movabs r8, 0xd6aea3253641d436
movabs r9, 0x29515cdac9be2bc9
xor r8, r9
xor rax, r8
movabs r8, 0x58875aeda06c5927
movabs r9, 0xa778a5125f93a6d8
xor r8, r9
xor rdx, r8
or rax, rdx
cmp rax, rcx
jge 0x140029d82
mov rdx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x68]
mov rax, r9
xor rax, rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, r9
and r8, rcx
movabs rcx, 0x577c08a99371bf50
movabs r10, 0x577c08a99371bf52
xor rcx, r10
imul rcx, r8
sub rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, rcx
and rax, rax
xor rax, 0xffffffffffffffff
and rax, r9
movabs r8, 0xdeceb0dc80af062c
movabs r10, 0x21314f237f50f9d3
xor r8, r10
xor rax, r8
and r9, r9
xor r9, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
movabs r9, 0xa70b15f43c663f17
movabs r10, 0x58f4ea0bc399c0e8
xor r9, r10
xor rax, r9
movabs r9, 0x95022390614892a3
movabs r10, 0x6afddc6f9eb76d5c
xor r9, r10
xor r8, r9
or rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0xf5ec63a76ce8f712
movabs r8, 0xa139c58931708ed
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x140029d78
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.1400184ef
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x140029d82
call fcn.14000a590
jmp 0x140029e8b
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov qword [rcx], rdx
lea rcx, [rsp + 0x80]
add rcx, 0x10
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1401ab0a0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rdx], xmm0
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
lea rdx, [rsp + 0x80]
call fcn.140054358
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x140029e69
mov rdx, qword [rsp + 0x30]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x28], rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
movabs r8, 0x72c0e8451e4786b1
movabs r9, 0x8d3f17bae1b8794e
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0xce3f22e8dce45530
movabs rdx, 0xce3f22e8dce45530
xor rcx, rdx
cmp rax, rcx
jge 0x140029e6e
call fcn.14000a590
jmp 0x140029e8b
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
mov qword [rsp + 0x40], rax
je 0x140029e69
jmp 0x140029daa
add rsp, 0xa8
ret
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14002987e
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140029b19