Function at 0x14000a664
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x300
movaps xmmword [rsp + 0x2f0], xmm15
movaps xmmword [rsp + 0x2e0], xmm14
movaps xmmword [rsp + 0x2d0], xmm13
movaps xmmword [rsp + 0x2c0], xmm12
movaps xmmword [rsp + 0x2b0], xmm11
movaps xmmword [rsp + 0x2a0], xmm10
movaps xmmword [rsp + 0x290], xmm9
movaps xmmword [rsp + 0x280], xmm8
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm6
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x248], rcx
mov rax, rcx
add rax, 0x2068
mov qword [rsp + 0x250], rax
mov rax, qword [rcx + 0x2068]
mov qword [rsp + 0x258], rax
cmp rax, 0
je 0x14000a753
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x258]
mov rax, qword [rax]
mov qword [rsp + 0x238], rax
cmp rax, rcx
jl 0x14000a753
mov rax, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x238]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], rax
jmp 0x14000a822
movabs rdx, 0xce48bea5f3de79f1
movabs rax, 0xce48bea5f3de69f1
xor rdx, rax
call fcn.14000a614
mov r8, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x258]
mov qword [r8], rax
mov r8, qword [rdx + 0x2070]
mov r9, r8
and r9, 0x1000
movabs r10, 0xae153f26abd3ee41
movabs r11, 0xae153f26abd3ee43
xor r10, r11
imul r9, r10
movabs r10, 0x3391d3bb651dc70f
movabs r11, 0x3391d3bb651dd70f
xor r10, r11
xor r8, r10
add r8, r9
mov qword [rdx + 0x2070], r8
movabs rdx, 0x308660c19a7c7158
movabs r8, 0x308660c19a7c7eb0
xor rdx, r8
mov qword [rax], rdx
mov qword [rax + 8], 0x18
mov qword [rax + 0x10], rcx
mov edx, 0xfe8
mov ecx, 0x18
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], rax
mov rdx, qword [rsp + 0x240]
mov r8, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rax, qword [rsp + 0x230]
mov r9, rcx
add r9, rax
mov qword [rsp + 0x218], r9
sub r8, rdx
mov qword [rax], r8
add rcx, rdx
mov qword [rax + 8], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x240]
cmp rax, 0
jle 0x14000b3bc
mov rax, qword [rsp + 0x240]
mov rcx, rax
add rcx, 0xf
mov edx, ecx
not edx
mov ecx, edx
or rcx, 0xfffffffffffffff0
lea rcx, [rax + rcx + 0x10]
mov qword [rsp + 0xf8], rcx
dec rax
movq xmm0, rax
pshufd xmm8, xmm0, 0x44
movaps xmmword [rsp + 0x100], xmm8
movaps xmm0, xmmword [0x1401973b0]
movaps xmm1, xmmword [0x1401973c0]
movaps xmm2, xmmword [0x1401973d0]
movaps xmm3, xmmword [0x1401973e0]
movaps xmm4, xmmword [0x1401973f0]
movaps xmm5, xmmword [0x140197400]
movaps xmm6, xmmword [0x140197410]
movaps xmm7, xmmword [0x140197420]
movaps xmm9, xmm8
movaps xmmword [rsp + 0x110], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x120], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x130], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x140], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x150], xmm9
movaps xmm9, xmm8
movaps xmmword [rsp + 0x160], xmm9
movaps xmmword [rsp + 0x170], xmm8
xor eax, eax
mov qword [rsp + 0x188], rax
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x1b0], xmm5
movaps xmmword [rsp + 0x1c0], xmm4
movaps xmmword [rsp + 0x1d0], xmm3
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x200], xmm0
jmp 0x14000a996
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm2, xmmword [rsp + 0x160]
movaps xmm15, xmmword [rsp + 0x170]
mov rax, qword [rsp + 0x188]
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm14, xmmword [rsp + 0x1a0]
movaps xmm9, xmmword [rsp + 0x1b0]
movaps xmm11, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm3, xmmword [rsp + 0x1f0]
movaps xmm4, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x30], xmm4
movaps xmmword [rsp + 0x40], xmm3
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa8], rax
movaps xmm6, xmmword [0x140197430]
movaps xmmword [rsp + 0xb0], xmm6
pxor xmm15, xmm6
pxor xmm0, xmm6
movaps xmm1, xmm0
pcmpgtd xmm1, xmm15
pshufd xmm5, xmm1, 0xa0
pcmpeqd xmm0, xmm15
pshufd xmm0, xmm0, 0xf5
pand xmm0, xmm5
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pcmpeqd xmm5, xmm5
movaps xmmword [rsp + 0xc0], xmm5
pxor xmm0, xmm5
pxor xmm2, xmm6
pxor xmm14, xmm6
movaps xmm1, xmm14
pcmpgtd xmm1, xmm2
pshufd xmm15, xmm1, 0xa0
pcmpeqd xmm14, xmm2
movaps xmm2, xmmword [rsp + 0x150]
pshufd xmm14, xmm14, 0xf5
pand xmm14, xmm15
pshufd xmm1, xmm1, 0xf5
por xmm14, xmm1
pxor xmm14, xmm5
movaps xmm1, xmm0
packssdw xmm1, xmm14
pxor xmm2, xmm6
pxor xmm9, xmm6
movaps xmm14, xmm9
pcmpgtd xmm14, xmm2
pshufd xmm15, xmm14, 0xa0
pcmpeqd xmm9, xmm2
movaps xmm2, xmmword [rsp + 0x140]
pshufd xmm9, xmm9, 0xf5
pand xmm9, xmm15
pshufd xmm14, xmm14, 0xf5
por xmm9, xmm14
pxor xmm9, xmm5
pxor xmm2, xmm6
pxor xmm11, xmm6
movaps xmm14, xmm11
pcmpgtd xmm14, xmm2
pshufd xmm15, xmm14, 0xa0
pcmpeqd xmm11, xmm2
movaps xmm2, xmmword [rsp + 0xd0]
pshufd xmm11, xmm11, 0xf5
pand xmm11, xmm15
pshufd xmm14, xmm14, 0xf5
por xmm11, xmm14
pxor xmm11, xmm5
packssdw xmm9, xmm11
packssdw xmm1, xmm9
pxor xmm13, xmm6
pxor xmm2, xmm6
movaps xmm9, xmm2
pcmpgtd xmm9, xmm13
pshufd xmm11, xmm9, 0xa0
pcmpeqd xmm2, xmm13
pshufd xmm2, xmm2, 0xf5
pand xmm2, xmm11
pshufd xmm9, xmm9, 0xf5
por xmm2, xmm9
pxor xmm2, xmm5
pxor xmm12, xmm6
pxor xmm7, xmm6
movaps xmm9, xmm7
pcmpgtd xmm9, xmm12
pshufd xmm11, xmm9, 0xa0
pcmpeqd xmm7, xmm12
pshufd xmm7, xmm7, 0xf5
pand xmm7, xmm11
pshufd xmm9, xmm9, 0xf5
por xmm7, xmm9
pxor xmm7, xmm5
packssdw xmm2, xmm7
pxor xmm10, xmm6
pxor xmm3, xmm6
movaps xmm7, xmm3
pcmpgtd xmm7, xmm10
pshufd xmm9, xmm7, 0xa0
pcmpeqd xmm3, xmm10
pshufd xmm3, xmm3, 0xf5
pand xmm3, xmm9
pshufd xmm7, xmm7, 0xf5
por xmm3, xmm7
pxor xmm3, xmm5
pxor xmm8, xmm6
pxor xmm4, xmm6
movaps xmm6, xmm4
pcmpgtd xmm6, xmm8
pshufd xmm7, xmm6, 0xa0
pcmpeqd xmm4, xmm8
pshufd xmm4, xmm4, 0xf5
pand xmm4, xmm7
pshufd xmm6, xmm6, 0xf5
por xmm4, xmm6
pxor xmm4, xmm5
packssdw xmm3, xmm4
packssdw xmm2, xmm3
packsswb xmm1, xmm2
movaps xmmword [rsp + 0xe0], xmm1
movd eax, xmm0
test al, 1
jne 0x14000ac67
jmp 0x14000ac7b
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
movd eax, xmm0
shr eax, 8
test al, 1
jne 0x14000ac97
jmp 0x14000ad2f
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0xa8]
movabs r8, 0x111cb159255be404
movabs rcx, 0xeee34ea6daa41bfb
xor r8, rcx
mov rcx, rdx
xor rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 1
and rcx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x9b82d31ae8ab1666
movabs r9, 0x9b82d31ae8ab1667
xor r8, r9
movabs r9, 0xce428156534769ae
movabs r10, 0x31bd7ea9acb89651
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0x5475c0b56ba757e1
movabs r9, 0xab8a3f4a9458a81e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14000ad4b
jmp 0x14000adeb
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0xa8]
movabs r8, 0x315c0f0768697332
movabs rcx, 0xcea3f0f897968ccd
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0xde1262d2cdf9f04c
movabs r9, 0x21ed9d2d32060fb3
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0xbfa4139185ad5d1e
movabs r8, 0xbfa4139185ad5d1c
xor rdx, r8
movabs r8, 0xace39ab79ed3c176
movabs r9, 0xace39ab79ed3c174
xor r8, r9
and rdx, r8
movabs r8, 0xfc42acf9566812ef
movabs r9, 0x3bd5306a997ed10
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
movd eax, xmm0
shr eax, 0x18
test al, 1
jne 0x14000ae07
jmp 0x14000ae23
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
or rcx, 3
mov dl, 0xf9
xor dl, 0xf9
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 2
test al, 1
jne 0x14000ae3d
jmp 0x14000ae6f
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x353000f22cd7cb4c
movabs r8, 0x353000f22cd7cb48
xor rdx, r8
or rcx, rdx
mov dl, 0x39
xor dl, 0x39
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 2
shr eax, 8
test al, 1
jne 0x14000ae8c
jmp 0x14000af97
mov rax, qword [rsp + 0x218]
mov rsi, qword [rsp + 0xa8]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
movabs r8, 0x542fb505d41acc31
movabs rcx, 0x542fb505d41acc34
xor r8, rcx
movabs rcx, 0x299cb3e019485437
movabs r9, 0xd6634c1fe6b7abc8
xor rcx, r9
xor r8, rcx
movabs r9, 0x162570be952f1e1f
movabs rcx, 0x9e03ebb3749eadc3
xor r9, rcx
movabs rcx, 0x525757a6ff26feea
movabs r10, 0xada8a85900d90115
xor rcx, r10
xor r9, rcx
movabs r10, 0x523bd7fc66b609da
movabs rcx, 0xda1d4cf18707ba06
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r9
movabs r11, 0xacdecc45cf4f50ea
movabs r10, 0x24f857482efee336
xor r11, r10
mov r10, r8
and r10, r11
mov r11, r9
and r11, 5
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r8
movabs r8, 0x1400a144283a9ef6
movabs r10, 0xebff5ebbd7c56109
xor r8, r10
xor rdx, r8
movabs r8, 0xf7059b74d43e5ae7
movabs r10, 0x7f230079358fe93b
xor r8, r10
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0x9b
xor dl, 0x9b
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 3
test al, 1
jne 0x14000afb1
jmp 0x14000afcd
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
or rcx, 6
mov dl, 0x1c
xor dl, 0x1c
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 3
shr eax, 8
test al, 1
jne 0x14000afea
jmp 0x14000b0ad
mov rax, qword [rsp + 0x218]
mov rsi, qword [rsp + 0xa8]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
movabs r9, 0x2390ad551af57a55
movabs rcx, 0x2390ad551af57a52
xor r9, rcx
movabs rcx, 0xd6cfd4cffbe1f0b5
movabs r8, 0x29302b30041e0f4a
xor rcx, r8
xor r9, rcx
mov r8, 0xffffffffffffffff
movabs rcx, 0x4f381a68c26fb4d7
xor r8, rcx
movabs r10, 0x4f381a68c26fb4d7
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x4f381a68c26fb4d7
mov r10, r9
and r10, r11
mov r11, r8
and r11, 7
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
movabs r9, 0xd34536507985cf4b
movabs r10, 0x2cbac9af867a30b4
xor r9, r10
xor rdx, r9
movabs r9, 0x4f381a68c26fb4d7
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 4
test al, 1
jne 0x14000b0c7
jmp 0x14000b0e3
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
or rcx, 8
mov dl, 0x7c
xor dl, 0x7c
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 4
shr eax, 8
test al, 1
jne 0x14000b100
jmp 0x14000b12e
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x9d730d84496a08a9
movabs r8, 0x9d730d84496a08a0
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 5
test al, 1
jne 0x14000b148
jmp 0x14000b19b
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x1deeda82e23e43ad
movabs r8, 0x1deeda82e23e43a7
xor rdx, r8
and rdx, rcx
xor rdx, 0xffffffffffffffff
add rcx, 0xa
movabs r8, 0xfc3c7f9255c0a352
movabs r9, 0xfc3c7f9255c0a353
xor r8, r9
add rcx, r8
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 5
shr eax, 8
test al, 1
jne 0x14000b1b8
jmp 0x14000b1d0
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
or rcx, 0xb
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 6
test al, 1
jne 0x14000b1ea
jmp 0x14000b202
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
or rcx, 0xc
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 6
shr eax, 8
test al, 1
jne 0x14000b21f
jmp 0x14000b267
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
mov r8, 0xffffffffffffffff
xor r8, 0xd
mov rdx, rcx
and rdx, r8
movabs r9, 0xd2fd21a7d3a21c2a
movabs r8, 0xd2fd21a7d3a21c27
xor r9, r8
mov r8, rcx
xor r8, r9
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 7
test al, 1
jne 0x14000b281
jmp 0x14000b29d
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
or rcx, 0xe
mov dl, 5
xor dl, 5
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rsp + 0xe0]
pextrw eax, xmm0, 7
shr eax, 8
test al, 1
jne 0x14000b2ba
jmp 0x14000b2e8
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa8]
movabs rdx, 0x7657ec0f7a4d59b4
movabs r8, 0x7657ec0f7a4d59bb
xor rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
mov rdx, qword [rsp + 0xf8]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0xd0]
movaps xmm4, xmmword [rsp + 0x60]
movaps xmm5, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
add rax, 0x10
movaps xmm8, xmmword [0x140197440]
movaps xmmword [rsp + 0x20], xmm8
paddq xmm7, xmm8
paddq xmm6, xmm8
paddq xmm5, xmm8
paddq xmm4, xmm8
paddq xmm3, xmm8
paddq xmm2, xmm8
paddq xmm1, xmm8
paddq xmm0, xmm8
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x188], rax
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x1b0], xmm5
movaps xmmword [rsp + 0x1c0], xmm4
movaps xmmword [rsp + 0x1d0], xmm3
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x200], xmm0
jne 0x14000a996
jmp 0x14000b3bc
mov rax, qword [rsp + 0x218]
movaps xmm6, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
movaps xmm8, xmmword [rsp + 0x280]
movaps xmm9, xmmword [rsp + 0x290]
movaps xmm10, xmmword [rsp + 0x2a0]
movaps xmm11, xmmword [rsp + 0x2b0]
movaps xmm12, xmmword [rsp + 0x2c0]
movaps xmm13, xmmword [rsp + 0x2d0]
movaps xmm14, xmmword [rsp + 0x2e0]
movaps xmm15, xmmword [rsp + 0x2f0]
add rsp, 0x300
pop rsi
ret