Function at 0x14000a3a0
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x800
xor eax, eax
lea rbp, [rsp + 0x20]
mov r12, rcx
mov ecx, 0xfa
mov rdi, rbp
rep stosq qword [rdi], rax
mov rcx, qword [r12 + 0x20]
mov byte [rdi], 0
test rcx, rcx
je 0x14000a3d9
cmp qword [rcx], 0
jne 0x14000a560
mov ebx, 0x1c
mov rax, rbp
movabs rsi, 0x75203a726f727245
movabs rdi, 0x64656c646e61686e
movabs rdx, 0x6378652064656c64
movabs rcx, 0x203a6e6f69747065
mov qword [rax], rsi
mov rsi, qword [r12 + 0x18]
mov qword [rax + 8], rdi
mov qword [rax + 0x14], rcx
mov qword [rax + 0xc], rdx
test rsi, rsi
je 0x14000a600
mov r8, qword [rsi]
lea rax, [rbx + r8]
cmp rax, 0x7cf
jg 0x14000a631
test r8, r8
jne 0x14000a620
mov rbx, rax
cmp rax, 0x7cd
jg 0x14000a6c8
mov r12, qword [r12 + 0x10]
mov edx, 0x5b20
mov word [rbp + rbx], dx
add rbx, 2
test r12, r12
je 0x14000a617
mov rcx, r12
call sub.msvcrt.dll_strlen
mov r8, rax
lea rax, [rax + rbx]
cmp rax, 0x7cf
jg 0x14000a49c
lea rcx, [rbp + rbx]
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rcx, r12
call sub.msvcrt.dll_strlen
add rbx, rax
cmp rbx, 0x7cd
jg 0x14000a4b3
mov eax, 0xa5d
mov word [rbp + rbx], ax
add rbx, 2
cmp qword [0x1400b4770], 0
je 0x14000a675
mov rcx, rbp
mov r12d, 7
call sub.msvcrt.dll_strlen
mov esi, dword [0x1400b8628]
cmp rax, r12
mov rbx, rax
cmovge r12, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, esi
mov edi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, edi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [r12 + 0x11]
lea r8, [rsi + 0x38]
lea rcx, [0x14002e020]
call fcn.140008d80
mov qword [rax], rbx
add rbx, 1
lea rdx, [rax + 0x10]
mov qword [rax + 8], r12
cmp ebx, 8
jae 0x14000a690
test bl, 4
jne 0x14000a6f8
test ebx, ebx
je 0x14000a545
movzx ecx, byte [rsp + 0x20]
mov byte [rax + 0x10], cl
test bl, 2
jne 0x14000a720
mov rcx, rax
call qword [0x1400b4770]
nop
add rsp, 0x800
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call fcn.14000a030
test rax, rax
je 0x14000a3d9
mov rdx, qword [rax]
cmp rdx, 0x7cf
jg 0x14000a3d9
test rdx, rdx
je 0x14000a3d9
mov rdi, rbp
lea rsi, [rax + 0x10]
cmp rdx, 8
jb 0x14000a59e
mov rcx, rdx
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
xor ecx, ecx
test dl, 4
je 0x14000a5ae
mov ecx, dword [rsi]
mov dword [rdi], ecx
mov ecx, 4
test dl, 2
je 0x14000a5c1
movzx r8d, word [rsi + rcx]
mov word [rdi + rcx], r8w
add rcx, 2
and edx, 1
je 0x14000a5cd
movzx edx, byte [rsi + rcx]
mov byte [rdi + rcx], dl
mov rbx, qword [rax]
cmp rbx, 0x7b3
jle 0x14000a710
mov rsi, qword [r12 + 0x18]
test rsi, rsi
jne 0x14000a426
cmp rbx, 0x7cf
jg 0x14000a4b3
nop dword [rax + rax]
cmp rbx, 0x7cd
jle 0x14000a451
mov r12, qword [r12 + 0x10]
test r12, r12
jne 0x14000a64c
xor r8d, r8d
jmp 0x14000a484
lea rcx, [rbp + rbx]
lea rdx, [rsi + 0x10]
call sub.msvcrt.dll_memcpy
add rbx, qword [rsi]
cmp rbx, 0x7cd
jle 0x14000a451
mov r12, qword [r12 + 0x10]
test r12, r12
je 0x14000a6e0
mov rcx, r12
call sub.msvcrt.dll_strlen
mov r8, rax
lea rax, [rax + rbx]
cmp rax, 0x7cf
jle 0x14000a484
cmp qword [0x1400b4770], 0
jne 0x14000a4c1
mov rdx, rbx
mov rcx, rbp
call fcn.14000b490
nop
add rsp, 0x800
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, qword [rsp + 0x20]
lea rdi, [rax + 0x18]
mov rsi, rbp
and rdi, 0xfffffffffffffff8
mov qword [rax + 0x10], rcx
mov ecx, ebx
mov r8, qword [rbp + rcx - 8]
mov qword [rdx + rcx - 8], r8
sub rdx, rdi
add ebx, edx
sub rsi, rdx
shr ebx, 3
mov ecx, ebx
rep movsq qword [rdi], qword [rsi]
jmp 0x14000a545
mov r12, qword [r12 + 0x10]
test r12, r12
jne 0x14000a64c
jmp 0x14000a484
cmp rbx, 0x7cf
jg 0x14000a4b3
jmp 0x14000a617
mov ecx, dword [rsp + 0x20]
mov ebx, ebx
mov dword [rax + 0x10], ecx
mov ecx, dword [rbp + rbx - 4]
mov dword [rdx + rbx - 4], ecx
jmp 0x14000a545
lea rax, [rbp + rbx]
add rbx, 0x1c
jmp 0x14000a3e1
mov ebx, ebx
movzx ecx, word [rbp + rbx - 2]
mov word [rdx + rbx - 2], cx
jmp 0x14000a545