Function at 0x1400266f0
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
mov rsi, rcx
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0xa8], rax
lea rax, [0x14025c9e0]
mov qword [rcx], rax
lea rax, [0x14025cac0]
mov qword [rcx + 8], rax
lea rax, [0x14025caf8]
mov qword [rcx + 0x10], rax
lea rax, [0x14025e910]
mov qword [rcx + 0x18], rax
test byte [0x140289ce0], 0x19
jne 0x140026fa8
mov r12, qword [rsi + 0x3e0]
lea r15, [rsi + 0x3e8]
cmp r12, r15
je 0x1400267e2
lea rdi, [rsi + 0x150]
lea rbx, [rsi + 0x240]
mov r14, qword [r12 + 0x20]
cmp byte [r14 + 0x128], 0
je 0x1400267a3
mov rdx, qword [r14 + 0xb0]
mov rcx, rdi
call fcn.140137600
mov rdx, qword [r14 + 0xb8]
mov rcx, rbx
call fcn.140137600
mov rcx, r14
call fcn.1401376c0
test r12, r12
je 0x140026fa5
mov rcx, qword [r12 + 8]
test rcx, rcx
jne 0x1400267d5
mov rax, qword [r12 + 0x10]
cmp qword [rax], r12
mov r12, rax
jne 0x1400267be
mov r12, rax
cmp rax, r15
jne 0x140026776
jmp 0x1400267e2
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x1400267cb
jmp 0x1400267d5
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x88]
call qword [case.0x1401d7990.0]
mov rcx, qword [rsi + 0x3e8]
call fcn.140027390
mov qword [rsi + 0x3e0], r15
xorps xmm6, xmm6
movups xmmword [rsi + 0x3e8], xmm6
lea rdi, [rsi + 0x400]
mov rcx, qword [rsi + 0x400]
call fcn.140108cb0
mov qword [rsi + 0x3f8], rdi
movups xmmword [rsi + 0x400], xmm6
mov rcx, qword [rsi + 0x338]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140026e8d
mov qword [rsi + 0x338], 0
cmp byte [rsi + 0x429], 0
je 0x14002687e
lea rdx, [rsi + 0x18]
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x1401d7990.0]
lea rdi, [rsi + 0x468]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
movaps xmm0, xmmword [0x140261350]
movaps xmmword [rsp + 0x90], xmm0
mov rax, qword [rsi + 0x468]
xorps xmm0, xmm0
cmp rax, qword [rsi + 0x470]
movaps xmmword [rsp + 0x80], xmm0
jne 0x140026de1
lea rax, [rsp + 0x90]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
xor eax, eax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x70], 0
test rax, rax
jne 0x1400272ae
lea rcx, [rsp + 0x50]
call fcn.1400274d0
lea rcx, [rsp + 0x80]
call fcn.1400274d0
mov rcx, qword [rsi + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [case.0x1401d7990.0]
test rax, rax
je 0x140026985
mov eax, dword [0x1402a1940]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140026f57
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140026985
mov rcx, qword [0x1402a1930]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x1402a1938]
mov rdx, qword [0x1402a1930]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov qword [rsi + 0x4b8], 0
mov rax, qword [rsi + 0x4b0]
mov byte [rax + 4], 1
mov rcx, qword [rsi + 0x4b0]
test rcx, rcx
je 0x1400269b1
lock dec dword [rcx]
jne 0x1400269b1
call fcn.140172a44
mov rcx, qword [rsi + 0x4a0]
test rcx, rcx
jne 0x140026dc9
lea rax, [rsi + 0x480]
mov rcx, qword [rsi + 0x488]
cmp rcx, rax
jne 0x14002703e
mov rbx, qword [rdi]
test rbx, rbx
jne 0x140026d5d
mov rcx, qword [rsi + 0x460]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x14002707a
mov qword [rsi + 0x460], 0
mov rbx, qword [rsi + 0x438]
mov r14, qword [rsi + 0x440]
cmp r14, rbx
je 0x14002702f
mov rcx, qword [rsi + 0x450]
movabs r9, 0xf0f0f0f0f0f0f0f1
mov rax, rcx
mul r9
mov r8, rdx
shr r8, 4
and rdx, 0xfffffffffffffff0
add rdx, r8
mov rax, rcx
sub rax, rdx
imul rdi, rax, 0xe8
add rdi, qword [rbx + r8*8]
lea r15, [rsi + 0x458]
add rcx, qword [rsi + 0x458]
mov rax, rcx
mul r9
mov rax, rdx
and rax, 0xfffffffffffffff0
shr rdx, 4
add rax, rdx
sub rcx, rax
imul r12, rcx, 0xe8
add r12, qword [rbx + rdx*8]
cmp rdi, r12
jne 0x1400271a2
mov qword [r15], 0
mov rax, r14
sub rax, rbx
cmp rax, 0x11
jae 0x140026ffc
shr rax, 3
mov ecx, 8
cmp rax, 1
jne 0x140027084
mov qword [rsi + 0x450], rcx
cmp rbx, r14
je 0x140026b02
mov rcx, qword [rbx]
call fcn.140172a44
add rbx, 8
cmp rbx, r14
jne 0x140026ac9
mov rax, qword [rsi + 0x438]
mov rcx, qword [rsi + 0x440]
cmp rcx, rax
je 0x140026b02
sub rax, rcx
add rax, 7
and rax, 0xfffffffffffffff8
add rax, rcx
mov qword [rsi + 0x440], rax
mov rcx, qword [rsi + 0x430]
test rcx, rcx
je 0x140026b13
call fcn.140172a44
mov rcx, qword [rsi + 0x418]
call fcn.140108cb0
mov rcx, qword [rsi + 0x400]
call fcn.140108cb0
mov rcx, qword [rsi + 0x3e8]
call fcn.140027390
mov rcx, qword [rsi + 0x3c8]
mov qword [rsi + 0x3c8], 0
test rcx, rcx
je 0x140026b5f
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401d7990.0]
mov rcx, qword [rsi + 0x3c0]
mov qword [rsi + 0x3c0], 0
test rcx, rcx
je 0x140026b87
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401d7990.0]
mov rcx, qword [rsi + 0x3b8]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140027098
mov qword [rsi + 0x3b8], 0
mov rcx, qword [rsi + 0x3b0]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x1400270a2
mov qword [rsi + 0x3b0], 0
lea rax, [rsi + 0x390]
mov rcx, qword [rsi + 0x398]
cmp rcx, rax
jne 0x1400270ac
mov rdi, qword [rsi + 0x378]
test rdi, rdi
jne 0x140026d81
lea rax, [rsi + 0x358]
mov rcx, qword [rsi + 0x360]
cmp rcx, rax
jne 0x1400270e8
mov rdi, qword [rsi + 0x340]
test rdi, rdi
jne 0x140026da5
lea rcx, [rsi + 0x118]
call fcn.140027450
mov rcx, qword [rsi + 0xb0]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140026f4d
mov qword [rsi + 0xb0], 0
mov rcx, qword [rsi + 0xa8]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140027124
mov qword [rsi + 0xa8], 0
mov rcx, qword [rsi + 0xa0]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x14002712e
mov qword [rsi + 0xa0], 0
mov rax, qword [rsi + 0x90]
mov rbx, qword [rsi + 0x98]
cmp rbx, rax
jne 0x140027138
mov rdx, qword [rsi + 0x80]
lea rcx, fcn.1400fe7c0
xor r8d, r8d
call fcn.1400fd880
lea rcx, [rsi + 0x60]
call fcn.1400273d0
mov rcx, qword [rsi + 0x40]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140027198
xor eax, eax
mov qword [rsi + 0x40], rax
mov rdi, qword [rsi + 0x30]
mov qword [rsi + 0x30], rax
test rdi, rdi
je 0x140026d22
mov rcx, rdi
call fcn.1400275e0
mov rcx, rdi
call fcn.140172a44
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x140026d34
lock dec dword [rcx]
je 0x1400271ec
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.1401756e0
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r14, qword [rsi + 0x470]
mov rcx, rbx
cmp r14, rbx
jne 0x140026e9e
mov qword [rsi + 0x470], rbx
call fcn.140172a44
jmp 0x1400269e4
mov rbx, qword [rsi + 0x380]
mov rcx, rdi
cmp rbx, rdi
jne 0x140026ed8
mov qword [rsi + 0x380], rdi
call fcn.140172a44
jmp 0x140026c00
mov rbx, qword [rsi + 0x348]
mov rcx, rdi
cmp rbx, rdi
jne 0x140026f16
mov qword [rsi + 0x348], rdi
call fcn.140172a44
jmp 0x140026c27
lock dec dword [rcx]
jne 0x1400269c1
mov rax, qword [rcx + 0x10]
call qword [case.0x1401d7990.0]
jmp 0x1400269c1
lea rax, [rsp + 0x80]
mov qword [rax + 0x10], rdi
lea rcx, [rsi + 0x480]
mov qword [rax + 8], rcx
mov rcx, qword [rsi + 0x480]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov qword [rsi + 0x480], rax
mov qword [rax + 0x18], 0
mov rdx, 0xffffffffffffffff
cmp dword [rsi + 0x498], 0
jne 0x14002727c
mov qword [rsp + 0xa0], rdx
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 3
cmp rcx, rdx
cmovae rcx, rdx
test rcx, rcx
je 0x1400268da
xor edx, edx
mov r8, qword [rax]
mov r9, qword [rax + 8]
sub r9, r8
sar r9, 3
cmp r9, rdx
jbe 0x140027293
cmp qword [r8 + rdx*8], 0
jne 0x1400268da
inc rdx
mov qword [rsp + 0x98], rdx
cmp rcx, rdx
jne 0x140026e56
jmp 0x1400268da
call fcn.1400ebe70
jmp 0x140026852
call fcn.1400e5d90
jmp 0x140026eb9
lea r15, [r14 - 8]
mov rcx, qword [r14 - 8]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140026e97
mov qword [r14 - 8], 0
mov r14, r15
cmp r15, rbx
jne 0x140026e9e
mov rcx, qword [rdi]
jmp 0x140026d70
call fcn.1400e5d90
jmp 0x140026ef3
lea r14, [rbx - 8]
mov rcx, qword [rbx - 8]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140026ed1
mov qword [rbx - 8], 0
mov rbx, r14
cmp r14, rdi
jne 0x140026ed8
mov rcx, qword [rsi + 0x378]
jmp 0x140026d94
call fcn.1400e5d90
jmp 0x140026f31
lea r14, [rbx - 8]
mov rcx, qword [rbx - 8]
mov rax, qword [0x14028a5a0]
and rax, rcx
cmp rax, qword [0x14028a588]
je 0x140026f0f
mov qword [rbx - 8], 0
mov rbx, r14
cmp r14, rdi
jne 0x140026f16
mov rcx, qword [rsi + 0x340]
jmp 0x140026db8
call fcn.1400ebe70
jmp 0x140026c51
lea rcx, [0x1402a1940]
call fcn.140172b08
cmp dword [0x1402a1940], 0xffffffff
jne 0x14002694b
mov qword [0x1402a1938], 0
lea rcx, [0x1402a1930]
mov qword [0x1402a1930], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a1940]
call fcn.140172aa8
jmp 0x14002694b
int3
lea rdi, [rsp + 0x80]
mov rcx, rdi
call fcn.140158d50
call sub.KERNEL32.dll_GetCurrentThreadId
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x48], 0x800
lea rdx, [0x140289ce0]
lea r8, [0x14026aed0]
mov cl, 0x44
xor r9d, r9d
call fcn.1400efe20
jmp 0x140026755
mov rcx, qword [rbx]
call fcn.140172a44
mov rbx, qword [rsi + 0x438]
mov r14, qword [rsi + 0x440]
add rbx, 8
mov qword [rsi + 0x438], rbx
mov rax, r14
sub rax, rbx
cmp rax, 0x10
jbe 0x140026aaa
jmp 0x140026ffc
lea r15, [rsi + 0x458]
mov r14, rbx
jmp 0x140026a93
xorps xmm0, xmm0
cmp qword [rcx + 0x10], 0
je 0x14002706f
mov qword [rcx + 0x10], 0
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
mov qword [r8], rdx
movups xmmword [rcx], xmm0
mov rcx, qword [rsi + 0x488]
cmp rcx, rax
je 0x1400269d8
jmp 0x140027041
call fcn.1400ebe70
jmp 0x140026a02
cmp rax, 2
jne 0x140026ac4
mov ecx, 0x11
jmp 0x140026abd
call fcn.1400ebe70
jmp 0x140026ba5
call fcn.1400ebe70
jmp 0x140026bce
xorps xmm0, xmm0
cmp qword [rcx + 0x10], 0
je 0x1400270dd
mov qword [rcx + 0x10], 0
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
mov qword [r8], rdx
movups xmmword [rcx], xmm0
mov rcx, qword [rsi + 0x398]
cmp rcx, rax
je 0x140026bf0
jmp 0x1400270af
xorps xmm0, xmm0
cmp qword [rcx + 0x10], 0
je 0x140027119
mov qword [rcx + 0x10], 0
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
mov qword [r8], rdx
movups xmmword [rcx], xmm0
mov rcx, qword [rsi + 0x360]
cmp rcx, rax
je 0x140026c17
jmp 0x1400270eb
call fcn.1400ebe70
jmp 0x140026c7a
call fcn.1400ebe70
jmp 0x140026ca3
mov rcx, qword [rsi + 0x88]
jbe 0x1400271f6
cmp rcx, rbx
jb 0x140027299
cmp rcx, rax
jb 0x14002729c
cmp rax, rbx
jg 0x14002729f
imul rax, rax, 0xb8
mov rdi, qword [rsi + 0x80]
add rdi, rax
imul rbx, rbx, 0xb8
sub rbx, rax
mov rcx, rdi
call fcn.140119f10
add rdi, 0xb8
add rbx, 0xffffffffffffff48
jne 0x14002717b
jmp 0x140026cc5
call fcn.1400e5d90
jmp 0x140026cff
lea rbx, [rbx + r8*8]
test rdi, rdi
je 0x140027296
mov rcx, rdi
call fcn.140119f10
add rdi, 0xe8
mov rax, rdi
sub rax, qword [rbx]
cmp rax, 0xf68
jne 0x1400271d4
mov rdi, qword [rbx + 8]
add rbx, 8
cmp rdi, r12
jne 0x1400271a6
mov rbx, qword [rsi + 0x438]
mov r14, qword [rsi + 0x440]
jmp 0x140026a93
call fcn.140172a44
jmp 0x140026d34
cmp rcx, rax
jb 0x1400272a2
jl 0x1400272a5
je 0x140027241
imul rax, rax, 0xb8
mov rdi, qword [rsi + 0x80]
add rdi, rax
imul r14, rcx, 0xb8
sub r14, rax
mov rcx, rdi
call fcn.140119f10
add rdi, 0xb8
add r14, 0xffffffffffffff48
jne 0x140027222
mov rax, qword [rsi + 0x88]
cmp rax, rbx
jb 0x1400272a8
test rbx, rbx
js 0x1400272ab
je 0x140026cc5
mov rdi, qword [rsi + 0x80]
imul rbx, rbx, 0xb8
mov rcx, rdi
call fcn.140119f10
add rdi, 0xb8
add rbx, 0xffffffffffffff48
jne 0x14002725f
jmp 0x140026cc5
mov rdx, qword [rsi + 0x470]
sub rdx, qword [rsi + 0x468]
sar rdx, 3
jmp 0x140026e29
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rax + 8]
sub r8, qword [rax]
sar r8, 3
cmp r8, rdx
cmovae r8, rdx
cmp rcx, r8
je 0x1400268f9
mov rdx, qword [rax]
mov rax, qword [rax + 8]
sub rax, rdx
sar rax, 3
cmp rax, rcx
jbe 0x14002737a
mov rcx, qword [rdx + rcx*8]
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x1401d7990.0]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400268f9
mov rcx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
inc rcx
mov qword [rsp + 0x98], rcx
mov rdx, qword [rax + 8]
sub rdx, qword [rax]
sar rdx, 3
cmp rdx, r8
cmovae rdx, r8
cmp rcx, rdx
jae 0x1400272ae
mov r8, qword [rax]
mov r9, qword [rax + 8]
sub r9, r8
sar r9, 3
cmp r9, rcx
jbe 0x14002737d
cmp qword [r8 + rcx*8], 0
jne 0x1400272ae
inc rcx
mov qword [rsp + 0x98], rcx
cmp rdx, rcx
jne 0x140027347
jmp 0x1400272ae
int3
int3