Function at 0x14001e1ad
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x158
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xc0], xmm8
movaps xmmword [rbp + 0xb0], xmm7
movaps xmmword [rbp + 0xa0], xmm6
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rcx
mov eax, 0x20
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov rax, qword [rcx]
mov qword [rbp + 0x80], rax
cmp rax, rdx
jle 0x14001da0d
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.14001d75e
add rsp, 0x20
jmp 0x14001e18d
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x68]
cmp rax, rcx
jge 0x14001e18d
mov rax, qword [rbp + 0x70]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x60], rax
cmp rax, 0
je 0x14001dacc
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs r8, 0xd49bded2407320c5
movabs rdx, 0x6b64212dbf8cdf3a
xor r8, rdx
movabs rdx, 0xb942a1db3520fd6c
movabs r9, 0x46bd5e24cadf0293
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0xffb851a32c294864
xor rdx, r9
or rax, r8
movabs r8, 0xffb851a32c294864
or rdx, r8
movabs r8, 0xd5d7a049a70674a2
movabs r9, 0x2a285fb658f98b5d
xor r8, r9
xor rax, r8
and rax, rdx
cmp rax, rcx
jge 0x14001dc03
mov r8, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x68]
mov r9, rcx
sub r9, r8
mov qword [rbp + 0x50], r9
mov rax, r9
xor rax, rcx
movabs rcx, 0x3663ef590d8bad2c
movabs rdx, 0x3663ef590d8bad2c
xor rcx, rdx
cmp rax, rcx
setl al
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0xa542cfd8413a54b8
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0xa542cfd8413a54b8
xor r10, rdx
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x7f79973e61064536
movabs rsi, 0xda3b58e6203c118e
xor r11, rsi
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0x60e716df9de1f378
movabs r8, 0x9f18e920621e0c87
xor rdx, r8
cmp rcx, rdx
setg dl
mov cl, al
xor cl, dl
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x14001dbf1
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x80]
movabs r9, 0xd0ac30156a9a8d98
movabs rax, 0xd0ac30156a9a8d80
xor r9, rax
movabs rax, 0x4b18da346829e8b2
movabs r10, 0x4b18da346829e8ba
xor rax, r10
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400184ef
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rax], rcx
jmp 0x14001dc03
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14001e18d
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x68]
mov qword [rcx], rdx
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x10], rax
mov ecx, dword [0x1401ab0a0]
sub rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
add rsp, 0x20
movaps xmm0, xmmword [0x140197960]
movaps xmm1, xmmword [0x140197970]
movaps xmm2, xmmword [0x140197980]
movaps xmm3, xmmword [0x140197990]
xor eax, eax
mov qword [rbp - 8], rax
movaps xmmword [rbp], xmm3
movaps xmmword [rbp + 0x10], xmm2
movaps xmmword [rbp + 0x20], xmm1
movaps xmmword [rbp + 0x30], xmm0
jmp 0x14001dc6f
mov rax, qword [rbp - 8]
movaps xmm2, xmmword [rbp]
movaps xmm7, xmmword [rbp + 0x10]
movaps xmm8, xmmword [rbp + 0x20]
movaps xmm5, xmmword [rbp + 0x30]
movaps xmmword [rbp - 0x70], xmm5
movaps xmmword [rbp - 0x60], xmm8
movaps xmmword [rbp - 0x50], xmm7
movaps xmmword [rbp - 0x40], xmm2
mov qword [rbp - 0x28], rax
movaps xmm6, xmmword [0x1401979a0]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401979b0]
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 [rbp - 0x20], xmm1
movd eax, xmm0
test al, 1
jne 0x14001dd73
jmp 0x14001dd83
mov rax, qword [rbp - 0x28]
mov cl, 0x8d
xor cl, 0x8d
mov byte [rbp + rax + 0x88], cl
movaps xmm0, xmmword [rbp - 0x20]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14001dd9b
jmp 0x14001ddaf
mov rax, qword [rbp - 0x28]
or rax, 1
mov cl, 0xa2
xor cl, 0xa2
mov byte [rbp + rax + 0x88], cl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 2
test al, 1
jne 0x14001ddc5
jmp 0x14001ddd9
mov rax, qword [rbp - 0x28]
or rax, 2
mov cl, 0xe1
xor cl, 0xe1
mov byte [rbp + rax + 0x88], cl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 3
test al, 1
jne 0x14001ddef
jmp 0x14001de9f
mov r11, qword [rbp - 0x28]
mov rcx, r11
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 3
mov rdx, 0xffffffffffffffff
movabs rax, 0x140b39685b4ef44a
xor rdx, rax
movabs r9, 0x4ae8aa64d0df7a29
movabs rax, 0x5ee3930c8b918e63
xor r9, rax
mov rax, rcx
and rax, r9
and r11, rdx
movabs r10, 0x99fcd44acd847687
movabs r9, 0x8df7ed2296ca82cd
xor r10, r9
mov r9, r8
and r9, r10
movabs r10, 0x10b75f35d052e994
movabs rsi, 0x10b75f35d052e997
xor r10, rsi
and r10, rdx
or rax, r11
or r9, r10
xor rax, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x140b39685b4ef44a
or rdx, r8
and rcx, rdx
or rax, rcx
mov cl, 0xa6
xor cl, 0xa6
mov byte [rbp + rax + 0x88], cl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 4
test al, 1
jne 0x14001deb5
jmp 0x14001dedf
mov rax, qword [rbp - 0x28]
movabs rcx, 0x8669da503a09a568
movabs rdx, 0x8669da503a09a56c
xor rcx, rdx
or rax, rcx
mov cl, 0x88
xor cl, 0x88
mov byte [rbp + rax + 0x88], cl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 5
test al, 1
jne 0x14001def5
jmp 0x14001df1f
mov rax, qword [rbp - 0x28]
movabs rcx, 0xccc08077727f9f54
movabs rdx, 0xccc08077727f9f51
xor rcx, rdx
or rax, rcx
mov cl, 0xe3
xor cl, 0xe3
mov byte [rbp + rax + 0x88], cl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 6
test al, 1
jne 0x14001df35
jmp 0x14001df75
mov rax, qword [rbp - 0x28]
mov rdx, 0xffffffffffffffff
xor rdx, 6
mov rcx, rax
and rcx, rdx
movabs r8, 0x4d933752cdf87b55
movabs rdx, 0x4d933752cdf87b53
xor r8, rdx
mov rdx, rax
xor rdx, r8
add rax, rdx
sub rax, rcx
mov byte [rbp + rax + 0x88], 0
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 7
test al, 1
jne 0x14001df8b
jmp 0x14001dfb1
mov rax, qword [rbp - 0x28]
movabs rcx, 0x27b9fdf3cbac945c
movabs rdx, 0x27b9fdf3cbac945b
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0x88], 0
movaps xmm0, xmmword [rbp - 0x70]
movaps xmm1, xmmword [rbp - 0x60]
movaps xmm2, xmmword [rbp - 0x50]
movaps xmm3, xmmword [rbp - 0x40]
mov rax, qword [rbp - 0x28]
add rax, 8
movaps xmm4, xmmword [0x1401979c0]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp - 8], rax
movaps xmmword [rbp], xmm3
movaps xmmword [rbp + 0x10], xmm2
movaps xmmword [rbp + 0x20], xmm1
movaps xmmword [rbp + 0x30], xmm0
jne 0x14001dc6f
jmp 0x14001e006
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
mov rax, qword [rbp + 0x88]
mov qword [rdx], rax
mov rax, qword [rbp + 0x90]
mov qword [rdx + 8], rax
mov rax, qword [rbp + 0x98]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.14004b3ec
mov rax, qword [rbp - 0x10]
add rsp, 0x20
movabs rdx, 0x45f1c2db4c722b72
movabs rcx, 0x45f1c2db4c722b73
xor rdx, rcx
mov rcx, rax
add rcx, rdx
mov qword [rbp - 0x78], rcx
movabs r8, 0xf434bd1a18602c50
movabs rdx, 0xbcb42e5e79fd3af
xor r8, rdx
mov rdx, rax
xor rdx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x614a56118b4da8be
movabs r9, 0x9eb5a9ee74b25741
xor r8, r9
movabs r9, 0x59460ca63c41ff8f
movabs r10, 0xa6b9f359c3be0070
xor r9, r10
and r8, r9
xor r8, 0xffffffffffffffff
and rax, r8
xor rax, 0xffffffffffffffff
movabs r8, 0xcacf2ca8b876f650
movabs r9, 0x3530d357478909af
xor r8, r9
xor rdx, r8
movabs r8, 0xe376cc49abf056eb
movabs r9, 0x1c8933b6540fa914
xor r8, r9
xor rax, r8
or rdx, rax
movabs rax, 0xb0ab69a60df3e2af
movabs r8, 0x4f549659f20c1d50
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x3bd6f1d99f4e7bbe
movabs rdx, 0x3bd6f1d99f4e7bbe
xor rcx, rdx
cmp rax, rcx
jge 0x14001e173
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14001e18d
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x68]
cmp rax, rcx
mov qword [rbp + 0x48], rax
je 0x14001e16e
jmp 0x14001dc19
movaps xmm6, xmmword [rbp + 0xa0]
movaps xmm7, xmmword [rbp + 0xb0]
movaps xmm8, xmmword [rbp + 0xc0]
lea rsp, [rbp + 0xd8]
pop rsi
pop rbp
ret
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14001d75e
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14001d99d