Function at 0x14000a030
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov edx, 0x7e1
mov qword [rsp + 0x38], 0
mov rsi, rcx
lea rcx, [0x14002e020]
call fcn.1400092a0
movdqu xmm0, xmmword [0x140031a60]
mov qword [rsp + 0x38], rax
mov r15, rax
movups xmmword [rax], xmm0
test rsi, rsi
je 0x14000a307
mov r14, qword [rsi]
xor edi, edi
add rsi, 0x10
test r14, r14
jle 0x14000a307
nop dword [rax + rax]
mov rax, qword [rsi + 8]
cmp rax, 0xfffffffffffffff6
je 0x14000a348
cmp rax, 0xffffffffffffff9c
je 0x14000a320
xor r12d, r12d
test r15, r15
je 0x14000a0b3
mov r12, qword [r15]
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x14000a172
movsx edx, byte [r9]
test dl, dl
je 0x14000a172
lea r13, [r9 + 1]
lea rbx, [rsp + 0x38]
nop dword [rax]
mov rcx, r15
call fcn.140009ed0
mov rcx, rbx
mov r15, rax
call fcn.1400079c0
test al, al
jne 0x14000a158
test r15, r15
je 0x14000a0f9
add qword [r15 - 0x10], 8
mov rax, qword [rsp + 0x38]
cmp rax, 0xfff
jbe 0x14000a158
mov rcx, qword [rax - 0x10]
lea r10, [rax - 0x10]
mov qword [rsp + 0x20], r10
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000a158
mov ebp, dword [0x1400b8628]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x2c], eax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [rsp + 0x2c]
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdx, qword [rsp + 0x20]
lea rcx, [rbp + 0x50]
call fcn.140005ad0
nop dword [rax]
add r13, 1
mov qword [rsp + 0x38], r15
movsx edx, byte [r13 - 1]
test dl, dl
jne 0x14000a0d8
mov rax, qword [rsi + 8]
test rax, rax
jle 0x14000a1d9
mov rcx, r15
mov edx, 1
lea rbx, [rsp + 0x38]
call fcn.140009db0
mov r8d, 0x28
mov rcx, rbx
mov qword [rsp + 0x38], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], r8w
add qword [rax], 1
mov rdx, qword [rsi + 8]
call fcn.140001900
mov rcx, qword [rsp + 0x38]
mov edx, 1
call fcn.140009db0
mov r9d, 0x29
mov qword [rsp + 0x38], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], r9w
add qword [rax], 1
mov r15, qword [rsp + 0x38]
xor eax, eax
test r15, r15
je 0x14000a1e3
mov rax, qword [r15]
sub r12, rax
mov eax, 1
mov ebx, 1
lea rbp, [r12 + 0x19]
test rbp, rbp
cmovle rbp, rax
nop dword [rax]
mov rcx, r15
mov edx, 0x20
add rbx, 1
call fcn.140009ed0
mov qword [rsp + 0x38], rax
mov r15, rax
cmp rbp, rbx
jge 0x14000a200
mov r9, qword [rsi]
test r9, r9
je 0x14000a2ce
movsx edx, byte [r9]
test dl, dl
je 0x14000a2ce
lea r13, [r9 + 1]
lea rbx, [rsp + 0x38]
nop
mov rcx, r15
call fcn.140009ed0
mov rcx, rbx
mov r15, rax
call fcn.1400079c0
test al, al
jne 0x14000a2b8
test r15, r15
je 0x14000a261
add qword [r15 - 0x10], 8
mov rax, qword [rsp + 0x38]
cmp rax, 0xfff
jbe 0x14000a2b8
mov rcx, qword [rax - 0x10]
lea r12, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000a2b8
mov ebp, dword [0x1400b8628]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [rsp + 0x20]
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rbp + 0x50]
mov rdx, r12
call fcn.140005ad0
nop dword [rax]
add r13, 1
mov qword [rsp + 0x38], r15
movsx edx, byte [r13 - 1]
test dl, dl
jne 0x14000a240
mov edx, 1
mov rcx, r15
call fcn.140009db0
mov ecx, 0xa
mov qword [rsp + 0x38], rax
mov rdx, qword [rax]
mov word [rax + rdx + 0x10], cx
add qword [rax], 1
add rdi, 1
mov r15, qword [rsp + 0x38]
add rsi, 0x18
cmp r14, rdi
jne 0x14000a090
mov rax, r15
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 3
mov rcx, r15
call fcn.140009db0
mov qword [rsp + 0x38], rax
mov rdx, qword [rax]
mov dword [rax + rdx + 0x10], 0xa5d5d
add qword [rax], 3
jmp 0x14000a2f1
mov edx, 0x11
mov rcx, r15
movabs rbx, 0x3a6d6f7266206465
call fcn.140009db0
mov r10d, 0xa
movabs rcx, 0x7369617265725b5b
mov qword [rsp + 0x38], rax
mov rdx, qword [rax]
lea rdx, [rax + rdx + 0x10]
mov qword [rdx], rcx
mov qword [rdx + 8], rbx
mov word [rdx + 0x10], r10w
add qword [rax], 0x11
jmp 0x14000a2f1