Function at 0x14001eaeb
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x100], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
add rax, 0x60
mov qword [rsp + 0x110], rax
mov rax, qword [rcx]
mov qword [rsp + 0x118], rax
cmp rax, rdx
jle 0x14001e3f0
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.14001e227
jmp 0x14001eaca
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x108]
cmp rax, rcx
jge 0x14001eaca
mov rax, qword [rsp + 0x100]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xf8], rax
cmp rax, 0
je 0x14001e490
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movabs r8, 0x4874dc29afe8efef
movabs rdx, 0xf78b23d650171010
xor r8, rdx
mov rdx, rax
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x338517d7a16a9e85
movabs r9, 0x8c7ae8285e95617a
xor r8, r9
or rax, r8
and rax, rdx
cmp rax, rcx
jge 0x14001e5bd
mov rdx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x108]
movabs r8, 0x2f04fcd4009e8564
mov rcx, rax
add rcx, r8
sub rcx, rdx
movabs r8, 0xda8fc370a5657647
movabs r9, 0xf58b3fa4a5fbf323
xor r8, r9
sub rcx, r8
mov qword [rsp + 0xe8], rcx
mov r8, rcx
xor r8, rax
movabs r9, 0x30c63694a6233cb3
movabs r10, 0xcf39c96b59dcc34c
xor r9, r10
xor r8, r9
mov r9, rax
and r9, r8
movabs r8, 0x73beea24ff9b504e
movabs r10, 0x73beea24ff9b504c
xor r8, r10
imul r8, r9
sub r8, rax
mov rax, rcx
sub rax, r8
movabs r8, 0x3a9ead111f78b568
movabs r9, 0x3a9ead111f78b568
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14001e5b3
mov r8, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x118]
movabs r9, 0xedff5356d4c625d6
movabs rax, 0xedff5356d4c625ce
xor r9, rax
movabs rax, 0xf705318f5fab3bcb
movabs r10, 0xf705318f5fab3bc3
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.1400184ef
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rax], rcx
jmp 0x14001e5bd
call fcn.14000a590
jmp 0x14001eaca
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
mov qword [rcx], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
mov ecx, dword [0x1401ab0a0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
movaps xmm0, xmmword [0x1401979d0]
movaps xmm1, xmmword [0x1401979e0]
movaps xmm2, xmmword [0x1401979f0]
movaps xmm3, xmmword [0x140197a00]
xor eax, eax
mov qword [rsp + 0x98], rax
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x14001e64a
mov rax, qword [rsp + 0x98]
movaps xmm2, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm5, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x30], xmm5
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x60], xmm2
mov qword [rsp + 0x78], rax
movaps xmm6, xmmword [0x140197a10]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x140197a20]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rsp + 0x80], xmm1
movd eax, xmm0
test al, 1
jne 0x14001e76b
jmp 0x14001e778
mov rax, qword [rsp + 0x78]
mov byte [rsp + rax + 0x138], 0
movaps xmm0, xmmword [rsp + 0x80]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14001e794
jmp 0x14001e7bf
mov rax, qword [rsp + 0x78]
movabs rcx, 0xcd4e0d49403742c0
movabs rdx, 0xcd4e0d49403742c1
xor rcx, rdx
or rax, rcx
mov cl, 0x6c
xor cl, 0x6c
mov byte [rsp + rax + 0x138], cl
movaps xmm0, xmmword [rsp + 0x80]
pextrw eax, xmm0, 2
test al, 1
jne 0x14001e7d9
jmp 0x14001e7ea
mov rax, qword [rsp + 0x78]
or rax, 2
mov byte [rsp + rax + 0x138], 0
movaps xmm0, xmmword [rsp + 0x80]
pextrw eax, xmm0, 3
test al, 1
jne 0x14001e804
jmp 0x14001e82b
mov rax, qword [rsp + 0x78]
movabs rcx, 0x52e898df6925ddc0
movabs rdx, 0x52e898df6925ddc3
xor rcx, rdx
or rax, rcx
mov byte [rsp + rax + 0x138], 0
movaps xmm0, xmmword [rsp + 0x80]
pextrw eax, xmm0, 4
test al, 1
jne 0x14001e845
jmp 0x14001e856
mov rax, qword [rsp + 0x78]
or rax, 4
mov byte [rsp + rax + 0x138], 0
movaps xmm0, xmmword [rsp + 0x80]
pextrw eax, xmm0, 5
test al, 1
jne 0x14001e870
jmp 0x14001e897
mov rax, qword [rsp + 0x78]
movabs rcx, 0xbe3c236d5771ee9c
movabs rdx, 0xbe3c236d5771ee99
xor rcx, rdx
or rax, rcx
mov byte [rsp + rax + 0x138], 0
movaps xmm0, xmmword [rsp + 0x80]
pextrw eax, xmm0, 6
test al, 1
jne 0x14001e8b1
jmp 0x14001e8dc
mov rax, qword [rsp + 0x78]
movabs rcx, 0x96e5fbeccd4e9d2f
movabs rdx, 0x96e5fbeccd4e9d29
xor rcx, rdx
or rax, rcx
mov cl, 0xc6
xor cl, 0xc6
mov byte [rsp + rax + 0x138], cl
movaps xmm0, xmmword [rsp + 0x80]
pextrw eax, xmm0, 7
test al, 1
jne 0x14001e8f6
jmp 0x14001e907
mov rax, qword [rsp + 0x78]
or rax, 7
mov byte [rsp + rax + 0x138], 0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
add rax, 8
movaps xmm4, xmmword [0x140197a30]
psubq xmm3, xmm4
psubq xmm2, xmm4
psubq xmm1, xmm4
psubq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rsp + 0x98], rax
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
jne 0x14001e64a
jmp 0x14001e975
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x130], rax
lea rdx, [rsp + 0x120]
call fcn.14004db7a
mov rax, qword [rsp + 0x110]
mov al, byte [rax]
mov cl, 0x82
xor cl, 0x82
cmp al, cl
jne 0x14001eaa2
mov rdx, qword [rsp + 0x90]
mov rax, rdx
and rax, 1
mov rcx, rdx
or rcx, 1
add rax, rcx
mov qword [rsp + 0x28], rax
movabs rcx, 0x7ba8f3dfa801e859
movabs r8, 0x84570c2057fe17a6
xor rcx, r8
xor rdx, rcx
or rax, rax
xor rax, 0xffffffffffffffff
movabs r8, 0x912ce79e88e8c115
movabs rcx, 0x6ed3186177173eea
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0xf9551bbbc843780b
movabs r9, 0x6aae44437bc87f4
xor r8, r9
xor rdx, r8
and rcx, rdx
or rax, rcx
movabs rcx, 0x4879191566586bfc
movabs rdx, 0xb786e6ea99a79403
xor rcx, rdx
xor rax, rcx
movabs rcx, 0xf011d769ce4d5ba8
movabs rdx, 0xf011d769ce4d5ba8
xor rcx, rdx
cmp rax, rcx
jge 0x14001eaa7
call fcn.14000a590
jmp 0x14001eaca
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x108]
cmp rax, rcx
mov qword [rsp + 0xe0], rax
je 0x14001eaa2
jmp 0x14001e5e0
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
add rsp, 0x188
ret
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14001e227
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14001e36a