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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rax, qword [0x1401b08f8]
test rax, rax
je 0x14001b179
mov rdi, rdx
mov rsi, rcx
mov ecx, dword [rax + 0x38]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r13, rax
test rax, rax
je 0x14001aefa
add r13, 0x278
cmp byte [rdi], 0
je 0x14001af37
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x14001b18e
mov rbx, rax
cmp rax, 0xf
ja 0x14001af83
mov qword [rbp], rbx
mov qword [rbp + 8], 0xf
lea rcx, [rbp - 0x10]
mov rdx, rdi
mov r8, rbx
call fcn.1400adb90
add rbx, rbp
add rbx, 0xfffffffffffffff0
jmp 0x14001b026
mov ecx, 0x4d8
call fcn.140117ae8
mov qword [rbp - 0x38], rax
mov rcx, rax
call fcn.140024390
mov rax, qword [0x1401b08f8]
mov ecx, dword [rax + 0x38]
mov r13, qword [rbp - 0x38]
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
add r13, 0x278
cmp byte [rdi], 0
jne 0x14001aeaa
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x14001b18e
mov rbx, rax
cmp rax, 0xf
ja 0x14001afbb
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], 0xf
lea rcx, [rbp - 0x30]
mov rdx, rsi
mov r8, rbx
call fcn.1400adb90
add rbx, rbp
add rbx, 0xffffffffffffffd0
jmp 0x14001b125
mov r12, rbx
or r12, 0xf
cmp r12, 0x17
mov r15d, 0x16
cmovae r15, r12
cmp r15, 0xfff
jb 0x14001affa
add r15, 0x28
mov rcx, r15
call fcn.140117ae8
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14001b009
mov r12, rbx
or r12, 0xf
cmp r12, 0x17
mov r15d, 0x16
cmovae r15, r12
cmp r15, 0xfff
jb 0x14001b0f9
add r15, 0x28
mov rcx, r15
call fcn.140117ae8
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14001b108
lea rcx, [r15 + 1]
call fcn.140117ae8
mov r14, rax
mov r12, r15
mov qword [rbp - 0x10], r14
mov qword [rbp], rbx
mov qword [rbp + 8], r12
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call fcn.1400adb90
add rbx, r14
mov byte [rbx], 0
lea r8, [0x14012383e]
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x10]
call fcn.14001ba40
lea rcx, [rbp - 0x30]
lea rdx, [rbp - 0x58]
mov r8, rsi
call fcn.14001ba40
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.14001b6e0
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x14001b098
mov rcx, qword [rbp - 0x58]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001b093
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14001b193
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140117b2c
mov qword [rbp - 0x48], 0
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x14001b0eb
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001b0e6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14001b193
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140117b2c
cmp byte [0x1401b0900], 0
jne 0x14001b13d
jmp 0x14001b179
lea rcx, [r15 + 1]
call fcn.140117ae8
mov r14, rax
mov r12, r15
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], r12
mov rcx, r14
mov rdx, rsi
mov r8, rbx
call fcn.1400adb90
add rbx, r14
mov byte [rbx], 0
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.14001b6e0
cmp byte [0x1401b0900], 0
je 0x14001b179
cmp byte [rdi], 0
je 0x14001b156
lea rcx, str.Opened__s__s_n
mov rdx, rdi
mov r8, rsi
call fcn.14001b680
jmp 0x14001b165
lea rcx, str.Opened__s_n
mov rdx, rsi
call fcn.14001b680
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
nop
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140003290
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3