Function at 0x140003a09
Capabilities:
Allocate thread local storage
Set thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
lea rax, [0x14000268b]
xor r8d, r8d
xor r9d, r9d
mov qword [0x140013fa0], rax
xor eax, eax
xor r10d, r10d
xor r11d, r11d
mov qword [0x140013fc0], rax
xor edx, edx
xor ecx, ecx
xor ebx, ebx
lea rax, [0x14000b030]
mov qword [0x140010070], r8
mov qword [0x140013fb8], rax
lea rax, [0x1400026e7]
mov qword [0x140010040], rax
lea rax, [0x14000b020]
mov qword [0x140010058], rax
lea rax, [0x140002743]
mov qword [0x140013fe0], rax
lea rax, [0x14000b010]
mov qword [0x140013ff8], rax
lea rax, [0x14000279f]
mov qword [0x140013f60], rax
lea rax, section..data
mov qword [0x140014000], r9
mov qword [0x140014010], r10
mov qword [0x140013f80], r11
mov qword [0x140013fd0], rdx
mov qword [0x140010060], rcx
mov qword [0x140013f90], rbx
lea rbx, [0x140002b67]
mov qword [0x140013fa8], 0x40
mov dword [0x140013fb0], 0x40008
mov qword [0x140010048], 0x40
mov dword [0x140010050], 0x30008
mov qword [0x140013fe8], 0x40
mov dword [0x140013ff0], 0x30008
mov qword [0x140013f68], 0x40
mov dword [0x140013f70], 0x30008
mov qword [0x140013f78], rax
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
lea rdx, [0x140010080]
mov ecx, eax
mov dword [0x140014018], eax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
call fcn.14000155c
lea rcx, [0x140003252]
call fcn.140003c50
mov rdx, rbx
mov ecx, 2
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 0xb
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 0x16
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 8
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 4
call sub.msvcrt.dll_signal
lea rcx, [0x140013f20]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x140002009]
call fcn.140001440
mov rdi, qword [fcn.140009be0]
xor ecx, ecx
call rdi
mov rsi, qword [sym.imp.msvcrt.dll__fileno]
mov rcx, rax
call rsi
mov rbx, qword [sym.imp.msvcrt.dll__setmode]
mov edx, 0x8000
mov ecx, eax
call rbx
mov ecx, 1
call rdi
mov rcx, rax
call rsi
mov edx, 0x8000
mov ecx, eax
call rbx
mov ecx, 2
call rdi
mov rcx, rax
call rsi
mov edx, 0x8000
mov ecx, eax
call rbx
call fcn.14000155c
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x90]
xor esi, esi
call fcn.140003d40
call fcn.140009ad0
mov rbx, qword [rax]
test rbx, rbx
jne 0x14000a3d3
jmp 0x14000a447
test cl, cl
je 0x14000a400
and esi, 1
je 0x14000a3e8
mov esi, 1
call sub.msvcrt.dll__ismbblead
test eax, eax
je 0x14000a3cf
cmp byte [rbx + 1], 1
sbb rbx, 0xffffffffffffffff
add rbx, 1
movsx ecx, byte [rbx]
cmp cl, 0x20
jle 0x14000a3b0
mov eax, esi
xor eax, 1
cmp cl, 0x22
cmove esi, eax
jmp 0x14000a3be
test cl, cl
je 0x14000a400
nop dword [rax]
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
je 0x14000a400
cmp al, 0x20
jle 0x14000a3f0
lea rdx, [rbp - 0x70]
xor eax, eax
mov ecx, 0xd
mov rdi, rdx
rep stosq qword [rdi], rax
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov r9d, 0xa
test byte [rbp - 0x34], 1
je 0x14000a42b
movzx r9d, word [rbp - 0x30]
mov rcx, qword [0x14000cf10]
mov r8, rbx
xor edx, edx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
jmp 0x140003a09
lea rbx, [0x14000c7c0]
jmp 0x14000a400