Function at 0x14001a026
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x138
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xa0], xmm8
movaps xmmword [rbp + 0x90], xmm7
movaps xmmword [rbp + 0x80], xmm6
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rcx
mov eax, 0x50
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rcx]
mov qword [rbp + 0x78], rax
cmp rax, rdx
jle 0x14001a093
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x68]
sub rsp, 0x20
call fcn.140019e01
add rsp, 0x20
jmp 0x14001a88a
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x60]
cmp rax, rcx
jge 0x14001a88a
mov rax, qword [rbp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rax
cmp rax, 0
je 0x14001a0f3
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
movabs rdx, 0xe2e4d67036c64394
movabs r8, 0x5d1b298fc939bc6b
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x14001a255
mov r8, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x60]
mov r9, rcx
sub r9, r8
mov qword [rbp + 0x48], r9
mov rax, r9
xor rax, 0xffffffffffffffff
mov rdx, r9
xor rdx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
movabs rdx, 0xadbc3a131c5f95f7
movabs r10, 0x5243c5ece3a06a08
xor rdx, r10
xor rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rdx, rcx
mov rcx, r9
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x84f96d6a6d3a9ab4
movabs r10, 0x7b06929592c5654b
xor rdx, r10
xor rcx, rdx
or rax, rcx
movabs rcx, 0xf2674b571086ea62
movabs rdx, 0xf2674b571086ea62
xor rcx, rdx
cmp rax, rcx
setl al
movabs rcx, 0xc6279452aa4a6c00
movabs rdx, 0x39d86bad55b593ff
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0xb799b129135cc6c7
movabs r10, 0x825b64516764ec7e
xor rcx, r10
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x35c2d57874382ab9
xor r10, rdx
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x35c2d57874382ab9
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14001a243
mov r8, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x78]
mov r9d, 0x48
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.1400184ef
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rax], rcx
jmp 0x14001a255
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14001a88a
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
mov qword [rcx], rdx
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
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 [0x140197830]
movaps xmm1, xmmword [0x140197840]
movaps xmm2, xmmword [0x140197850]
movaps xmm3, xmmword [0x140197860]
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 0x14001a2be
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 [0x140197870]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x140197880]
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 0x14001a3c2
jmp 0x14001a3ce
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x28]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x20]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14001a3e6
jmp 0x14001a40c
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x28]
movabs rdx, 0x25e770628b1a151d
movabs r8, 0x25e770628b1a151c
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 2
test al, 1
jne 0x14001a422
jmp 0x14001a476
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x28]
movabs r8, 0x85d7d7a436f625fa
movabs rdx, 0x85d7d7a436f625f8
xor r8, rdx
movabs rdx, 0xabad0a3f4adfa566
movabs r9, 0x5452f5c0b5205a99
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 2
add rcx, r8
sub rcx, rdx
mov dl, 5
xor dl, 5
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 3
test al, 1
jne 0x14001a48c
jmp 0x14001a58b
mov rax, qword [rbp + 0x70]
mov rsi, qword [rbp - 0x28]
movabs rcx, 0xee4ae0fdccc0b109
movabs rdx, 0x11b51f02333f4ef6
xor rcx, rdx
mov rdx, rsi
xor rdx, rcx
movabs r8, 0x3e5ecfc359f8b710
movabs rcx, 0x3e5ecfc359f8b713
xor r8, rcx
movabs rcx, 0x26705ddced4bf6b3
movabs r9, 0xd98fa22312b4094c
xor rcx, r9
xor r8, rcx
movabs r9, 0xec3a865eee988029
movabs rcx, 0x6734e3fea79adba5
xor r9, rcx
movabs rcx, 0xa8a4b726c7ed49cc
movabs r10, 0x575b48d93812b633
xor rcx, r10
xor r9, rcx
movabs r10, 0x8b0e65a049025b8c
mov rcx, rdx
and rcx, r10
and rsi, r9
movabs r11, 0x8b0e65a049025b8c
mov r10, r8
and r10, r11
mov r11, r9
and r11, 3
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r8
movabs r8, 0xb958649bbf852d08
movabs r10, 0x46a79b64407ad2f7
xor r8, r10
xor rdx, r8
movabs r8, 0x104413c129d378ee
movabs r10, 0x9b4a766160d12362
xor r8, r10
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0xf5
xor dl, 0xf5
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 4
test al, 1
jne 0x14001a5a1
jmp 0x14001a5f1
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x28]
movabs r8, 0x210c0ca8a2985024
movabs rdx, 0x210c0ca8a2985020
xor r8, rdx
movabs rdx, 0x7963118402c8d166
movabs r9, 0x869cee7bfd372e99
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 4
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 5
test al, 1
jne 0x14001a607
jmp 0x14001a659
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp - 0x28]
mov rcx, rdx
or rcx, 5
movabs r8, 0x4e457060801a267f
movabs r9, 0xb1ba8f9f7fe5d980
xor r8, r9
xor rcx, r8
movabs r8, 0xa029cc46e4416333
movabs r9, 0xa029cc46e4416336
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 6
test al, 1
jne 0x14001a66f
jmp 0x14001a683
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x28]
or rcx, 6
mov dl, 0x31
xor dl, 0x31
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 7
test al, 1
jne 0x14001a699
jmp 0x14001a6ed
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x28]
movabs r8, 0x5e6dadd583a0147
movabs rdx, 0x5e6dadd583a0140
xor r8, rdx
movabs rdx, 0x4494f153cae6bb6f
movabs r9, 0xbb6b0eac35194490
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 7
add rcx, r8
sub rcx, rdx
mov dl, 0x82
xor dl, 0x82
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x70]
movaps xmm1, xmmword [rbp - 0x60]
movaps xmm2, xmmword [rbp - 0x50]
movaps xmm3, xmmword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
mov eax, ecx
and eax, 8
or rcx, 8
add rax, rcx
movaps xmm4, xmmword [0x140197890]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x48
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 0x14001a2be
jmp 0x14001a74a
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x48
add rcx, rax
sub rsp, 0x20
call fcn.1400624fa
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
mov rax, rdx
add rax, 1
mov qword [rbp - 0x78], rax
mov rcx, rdx
and rcx, rcx
movabs r8, 0x3aad44a8abeb9468
movabs r9, 0xc552bb5754146b97
xor r8, r9
xor rcx, r8
movabs r8, 0xe07f4a69257eadd9
movabs r9, 0x1f80b596da815226
xor r8, r9
xor rcx, r8
movabs r8, 0x447b22fc0f97e2c0
movabs r9, 0xbb84dd03f0681d3f
xor r8, r9
movabs r9, 0xc399b5ee2f60fc35
movabs r10, 0x3c664a11d09f03ca
xor r9, r10
xor r8, r9
or rcx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs r9, 0xadeabccadaa031c3
movabs r10, 0x52154335255fce3c
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0x8e76d49ac37bfb8e
movabs r9, 0x71892b653c840471
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xa94d6afb3006e345
movabs r9, 0x56b29504cff91cba
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14001a870
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14001a88a
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x60]
cmp rax, rcx
mov qword [rbp + 0x40], rax
je 0x14001a86b
jmp 0x14001a268
movaps xmm6, xmmword [rbp + 0x80]
movaps xmm7, xmmword [rbp + 0x90]
movaps xmm8, xmmword [rbp + 0xa0]
lea rsp, [rbp + 0xb8]
pop rsi
pop rbp
ret