Function at 0x14018a8e0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rsi, qword [rcx + 0x1700]
mov rbx, rcx
mov rdi, rdx
mov rbp, r8
test rsi, rsi
je 0x14018a9f0
mov dword [rbx + 0x28], 1
mov ecx, 0x100
call fcn.140277f50
test eax, eax
jne 0x14018a950
mov r8d, 0x195
mov edx, 0x185
mov ecx, 0x14
mov dword [rbx + 0x28], 1
call fcn.1402750a0
mov eax, 0xffffffff
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
call r14
mov ecx, dword [0x1404cb8c4]
mov r13, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r12d, eax
call r13
mov ecx, r12d
mov r12, qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, rax
call r12
test r15, r15
je 0x14018ab58
mov rcx, qword [rbx + 0x16f8]
test rcx, rcx
je 0x14018aa78
mov qword [r15 + 8], rcx
mov eax, dword [rcx + 0x1c]
cmp eax, 3
je 0x14018aa18
cmp eax, 1
je 0x14018aa50
mov r8d, 0x44
cmp eax, 2
je 0x14018ab30
mov edx, 0x69
mov ecx, 0x33
call fcn.1402750a0
mov rcx, qword [r15 + 8]
call fcn.1401c3030
mov qword [r15 + 8], 0
mov qword [rbx + 0x16f8], 0
jmp 0x14018a91e
mov ecx, 0x18
call fcn.140274360
mov qword [rbx + 0x1700], rax
mov rsi, rax
test rax, rax
jne 0x14018a909
jmp 0x14018a93a
mov qword [rcx + 0x20], 0
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x20], eax
call fcn.1401c3030
mov qword [r15 + 8], 0
mov eax, dword [rsp + 0x20]
mov qword [rbx + 0x16f8], 0
jmp 0x14018a93f
mov qword [rbx + 0x16f8], rcx
mov dword [rcx + 0x1c], 2
mov qword [r15 + 8], 0
mov dword [rbx + 0x28], 5
jmp 0x14018a93a
mov rcx, qword [r15 + 8]
test rcx, rcx
jne 0x14018a99a
call r14
mov ecx, dword [0x1404cb8c0]
mov dword [rsp + 0x20], eax
call r13
mov ecx, dword [rsp + 0x20]
mov qword [rsp + 0x28], rax
call r12
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x14018abe0
mov rcx, qword [rdx]
mov qword [rsp + 0x20], rdx
call fcn.14021e880
mov rdx, qword [rsp + 0x20]
test rax, rax
mov r12, rax
je 0x14018ac80
mov qword [r15 + 8], rax
mov rax, qword [0x14048c6d0]
mov edx, dword [rax]
test edx, edx
jne 0x14018abc0
mov ecx, 0x28
call sub.msvcrt.dll_malloc
mov qword [r12 + 0x10], rax
test rax, rax
je 0x14018acd0
movdqu xmm1, xmmword [rdi]
mov rdx, qword [rdi + 0x20]
mov r8d, 0x66
movdqu xmm2, xmmword [rdi + 0x10]
mov qword [rax + 0x20], rdx
movups xmmword [rax], xmm1
movups xmmword [rax + 0x10], xmm2
mov rax, qword [r15 + 8]
mov qword [rax + 8], rbp
mov qword [rax + 0x20], rsi
jmp 0x14018a9ba
mov r8d, 0x66
mov edx, 0x69
mov ecx, 0x33
mov rax, qword [rbx + 0x16f8]
mov qword [r15 + 8], rax
call fcn.1402750a0
jmp 0x14018a9c9
mov ecx, 1
call fcn.1401fec30
test eax, eax
je 0x14018a91e
mov rax, qword [0x14048c6d0]
mov ecx, dword [rax]
test ecx, ecx
jne 0x14018abd0
mov ecx, 0x18
call sub.msvcrt.dll_malloc
mov r15, rax
test rax, rax
je 0x14018ad12
mov dword [rax + 0x10], 0
mov ecx, dword [0x1404cb8c4]
mov rdx, rax
mov qword [rax + 8], 0
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x14018a986
mov rcx, r15
call fcn.14034efb0
jmp 0x14018a91e
mov dword [rax], 0
jmp 0x14018aae2
mov dword [rax], 0
jmp 0x14018ab77
mov ecx, 0x100
call fcn.140277f50
test eax, eax
je 0x14018acb2
mov ecx, 1
call fcn.1401fec30
test eax, eax
je 0x14018acb2
mov ecx, 0x18
call fcn.140274360
test rax, rax
je 0x14018ad67
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.14021e520
mov r9, qword [rsp + 0x20]
mov qword [r9], rax
test rax, rax
je 0x14018ad81
pxor xmm0, xmm0
mov qword [rsp + 0x20], r9
mov ecx, dword [0x1404cb8c0]
mov rdx, r9
movups xmmword [r9 + 8], xmm0
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x14018ad2c
call r14
mov ecx, dword [0x1404cb8c0]
mov r14d, eax
call r13
mov ecx, r14d
mov qword [rsp + 0x20], rax
call r12
mov rdx, qword [rsp + 0x20]
jmp 0x14018aaaf
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x14018ac8f
cmp qword [rdx + 8], rax
jae 0x14018acb2
mov ecx, 0x28
call fcn.140274360
mov rsi, rax
test rax, rax
je 0x14018acfb
mov rcx, qword [rax + 0x10]
call fcn.14034efb0
mov rcx, rsi
call fcn.14034efb0
mov qword [r15 + 8], 0
mov dword [rbx + 0x28], 6
jmp 0x14018a93a
mov r8d, 0x41
mov edx, 0x69
mov ecx, 0x33
call fcn.1402750a0
mov rcx, qword [r15 + 8]
call fcn.1401c3030
mov qword [r15 + 8], 0
jmp 0x14018a91e
mov r8d, 0x41
mov edx, 0x66
mov ecx, 0x33
call fcn.1402750a0
jmp 0x14018acb2
mov r8d, 0x41
mov edx, 0x64
mov ecx, 0x33
call fcn.1402750a0
jmp 0x14018abb3
mov r8d, 0x65
mov edx, 0x65
mov ecx, 0x33
call fcn.1402750a0
mov rcx, qword [rsp + 0x20]
call fcn.1401c3090
mov r9, qword [rsp + 0x20]
mov rcx, qword [r9]
call fcn.14021ec00
mov rcx, qword [rsp + 0x20]
call fcn.14034efb0
jmp 0x14018acb2
mov r8d, 0x41
mov edx, 0x65
mov ecx, 0x33
call fcn.1402750a0
jmp 0x14018acb2
mov r8d, 0x41
mov edx, 0x65
mov ecx, 0x33
call fcn.1402750a0
mov rcx, qword [rsp + 0x20]
call fcn.14034efb0
jmp 0x14018acb2