Function at 0x140021660
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbp, qword [0x141443c60]
mov r14, rcx
mov ecx, 0xba0
call fcn.1401e7830
xor ebx, ebx
mov qword [rsp + 0x50], rax
mov rdi, rax
test rax, rax
je 0x1400216a9
xor edx, edx
mov qword [rax + 0x68], rbx
mov r8d, 0xba0
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
jmp 0x1400216ac
mov rdi, rbx
or dword [rbp + 0xc], 0xc06
lea rax, [0x1413a37e8]
mov r15, qword [0x141446d58]
mov qword [rbp + 0x88], rax
lea rax, [0x1400202d0]
mov qword [rbp + 0x98], rdi
mov qword [rdi], r14
mov qword [rdi + 0x10], rbx
mov byte [rdi + 0xb52], 1
mov qword [rbp + 0xb8], rax
lea rax, [0x1400202a0]
mov qword [rbp + 0xb0], rax
mov rax, qword [rdi]
mov qword [rbp + 0xc0], rax
cmp dword [0x141443c80], 0
mov qword [0x141446d58], rbx
jne 0x140021721
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x14002177f
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x140021745
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x140021754
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36001
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x140021782
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x20], rsi
cmp dword [0x141443c80], 0
jne 0x14002179d
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x1400217fb
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x1400217c1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x1400217d0
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36002
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x1400217fe
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x28], rsi
cmp dword [0x141443c80], 0
jne 0x140021819
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x140021877
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x14002183d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x14002184c
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36006
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x14002187a
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x38], rsi
cmp dword [0x141443c80], 0
jne 0x140021895
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x1400218f3
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x1400218b9
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x1400218c8
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36005
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x1400218f6
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x40], rsi
cmp dword [0x141443c80], 0
jne 0x140021911
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x14002196f
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x140021935
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x140021944
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36004
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x140021972
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x58], rsi
cmp dword [0x141443c80], 0
jne 0x14002198d
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x1400219eb
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x1400219b1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x1400219c0
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36009
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x1400219ee
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x30], rsi
cmp dword [0x141443c80], 0
jne 0x140021a09
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x140021a67
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x140021a2d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x140021a3c
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36008
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x140021a6a
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x48], rsi
cmp dword [0x141443c80], 0
jne 0x140021a85
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x140021ae3
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x140021aa9
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x140021ab8
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x36007
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x140021ae6
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x50], rsi
cmp dword [0x141443c80], 0
jne 0x140021b01
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x140021b5f
mov rdx, qword [0x141443ca0]
mov ecx, reloc.WS2_32.dll_recv
call qword [0x141443c88]
mov rsi, rax
test rax, rax
je 0x140021b25
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
jmp 0x140021b34
xor edx, edx
mov ecx, 0x10005
call fcn.14037c450
mov rsi, rbx
mov rax, qword [0x1414443f0]
mov edx, 0x3600a
mov qword [rsi], rax
mov rcx, rsi
mov qword [0x1414443f0], rsi
call qword [0x141443cf0]
test eax, eax
jne 0x140021b62
mov rcx, rsi
call fcn.14037e070
mov rsi, rbx
mov qword [rdi + 0x60], rsi
cmp dword [0x141443c80], 0
mov qword [0x141446d58], r15
je 0x140021b89
mov ecx, dword [0x141445620]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140021b93
jmp 0x140021b90
lea rax, [0x141446d80]
mov dword [rax + 8], ebx
mov rcx, r14
call fcn.140021460
call fcn.140022b00
cmp dword [0x141443c80], 0
jne 0x140021bb7
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x140021bc5
lea rax, [0x140021430]
mov qword [0x1414457e8], rax
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4c98]
mov rsi, qword [rax]
mov rax, qword [rdi]
mov qword [rsi + 0x48], rax
cmp dword [0x141443c80], 0
mov rax, qword [rdi]
jne 0x140021c01
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
mov rdx, qword [0x141443c60]
mov rax, rbx
jmp 0x140021c31
cmp dword [0x141443ca8], 0x60001
je 0x140021c2a
lea rdx, [0x14140ca50]
mov ecx, 0x1000e
call fcn.14037c450
mov rdx, qword [0x141443c60]
mov rax, rbx
jmp 0x140021c31
mov rax, qword [rax + 0x360]
mov qword [rsi + 0x50], rax
test dword [rbp + 8], 0x400
je 0x140021d70
test rdx, rdx
je 0x140021c50
mov r14, qword [rdx + 0x98]
jmp 0x140021c53
mov r14, rbx
lea rax, [0x140023220]
mov ecx, 0x20
mov qword [rdx + 0x3920], rax
lea rax, [0x140023630]
mov qword [rdx + 0x3928], rax
lea rax, [0x140023830]
mov qword [rdx + 0x3930], rax
lea rax, [0x140023930]
mov qword [rdx + 0x3938], rax
lea rax, [0x1400238c0]
mov qword [rdx + 0x3940], rax
lea rax, [0x140023a00]
mov qword [rdx + 0x3948], rax
lea rax, [0x140023990]
mov qword [rdx + 0x3950], rax
lea rax, [0x140023a60]
mov qword [rdx + 0x3958], rax
lea rax, [0x140023a90]
mov qword [rdx + 0x3960], rax
lea rax, [0x140023ab0]
mov qword [rdx + 0x3968], rax
lea rax, [0x140023a50]
mov qword [rdx + 0x3970], rax
lea rax, [0x140023b30]
mov qword [rdx + 0x3988], rax
lea rax, [0x140023c00]
mov qword [rdx + 0x3990], rax
lea rax, [0x140023ad0]
mov qword [rdx + 0x3978], rax
lea rax, [0x140023d00]
mov qword [rdx + 0x39a8], rax
mov rax, qword [rdx + 0x4c98]
mov rbp, qword [rax]
call fcn.1401e7830
mov qword [rsp + 0x50], rax
mov rcx, rax
test rax, rax
je 0x140021d58
vpxor xmm0, xmm0, xmm0
vmovups ymmword [rax], ymm0
mov qword [rax + 0xc], 0xffffffffffffffff
jmp 0x140021d5b
mov rcx, rbx
mov rax, qword [r14]
mov qword [rcx], rax
mov byte [rcx + 8], 0
mov qword [rbp + 0x40], rcx
mov rax, qword [r14]
mov qword [rbp + 0x48], rax
mov rcx, qword [rsi + 0x50]
mov edx, 0xfffffffc
vzeroupper
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov qword [rdi + 0xb98], rax
lea r8, [0x140023dc0]
mov rcx, qword [rsi + 0x50]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rbx, qword [rsp + 0x60]
mov al, 1
mov dword [rdi + 8], 1
add rsp, 0x20
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret