Function at 0x14000b080
Capabilities:
Get thread local storage value
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x148
cmp qword [0x1400ab858], 0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov byte [rbp - 0x141], 1
je 0x14000b1c8
mov ebx, dword [0x1400af708]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x20]
lea rcx, [rbp - 0x130]
mov rdx, rbp
mov qword [rbp - 0x140], rax
lea rax, [rbp - 0x140]
mov qword [rbx + 0x20], rax
call sym._setjmp
cdqe
mov qword [rbp - 0x138], rax
test rax, rax
jne 0x14000b1f0
xor ebx, ebx
cmp qword [rbp + 0x10], 0
je 0x14000b17e
mov rcx, qword [rbp + 0x10]
call sym.strlen
mov ebx, dword [0x1400af708]
mov rdi, rax
mov eax, 7
cmp rdi, rax
cmovge rax, rdi
mov r12, rax
lea r13, [rax + 0x11]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov esi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rbx + 0x38]
mov rdx, r13
lea rcx, section..data
call sym.rawNewObj__system_6250
mov rdx, qword [rbp + 0x10]
lea r8, [rdi + 1]
mov qword [rax + 8], r12
lea rcx, [rax + 0x10]
mov rbx, rax
mov qword [rax], rdi
call sym.memcpy
mov rcx, rbx
call qword [0x1400ab858]
mov ebx, dword [0x1400af708]
mov byte [rbp - 0x141], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x20]
cmp qword [rbp - 0x138], 0
mov rax, qword [rax]
mov qword [rbx + 0x20], rax
jne 0x14000b2a0
movzx eax, byte [rbp - 0x141]
test al, al
jne 0x14000b2e2
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop rbp
ret
mov ebx, dword [0x1400af708]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
call r13
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
mov ecx, ebx
call r12
mov ecx, esi
mov rdi, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rax
call rdi
mov rax, qword [rbx + 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x138], 0
mov qword [rbx + 0x20], rax
mov ebx, dword [0x1400af708]
call r13
mov esi, eax
mov ecx, ebx
call r12
mov ecx, esi
mov rbx, rax
call rdi
mov rax, qword [rbx + 0x28]
lea rcx, [rbx + 0x28]
mov rsi, qword [rax + 0x28]
call sym.isOnStack__system_5845
test al, al
jne 0x14000b28e
test rsi, rsi
je 0x14000b268
add qword [rsi - 0x10], 8
mov rax, qword [rbx + 0x28]
cmp rax, 0xfff
jbe 0x14000b28e
mov rdx, qword [rax - 0x10]
lea r13, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x14000b320
mov qword [rbx + 0x28], rsi
cmp qword [rbp - 0x138], 0
je 0x14000b1c8
mov ebx, dword [0x1400af708]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x14000b358
call sym.raiseExceptionAux__system_3346
movzx eax, byte [rbp - 0x141]
test al, al
je 0x14000b1d7
mov ecx, 2
call qword [dbg.__acrt_iob_func]
mov r8, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
mov edx, 1
mov rbx, rax
mov r9, rax
call sym.fwrite
mov rcx, rbx
call sym.fflush
nop
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop rbp
ret
mov edi, dword [0x1400af708]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rdi + 0x50]
mov rdx, r13
call sym.addZCT__system_5813
mov qword [rbx + 0x28], rsi
jmp 0x14000b292
call sym.reraiseException.part.0
nop
nop