Function at 0x1800c1750
Capabilities:
Allocate thread local storage
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x18]
mov r8, rcx
dec eax
cmp eax, 0xd
ja case.default.0x1800c177e
lea rcx, [0x180000000]
cdqe
mov edx, dword [rcx + rax*4 + 0xc1980]
add rdx, rcx
jmp rdx
mov rax, qword [r8 + 0x10]
mov ecx, dword [rax]
mov dword [r8 + 0x20], ecx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewIntObj
mov rax, qword [r8 + 0x10]
mov rcx, qword [rax]
mov qword [r8 + 0x20], rcx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_DbNewWideIntObj
mov rax, qword [r8 + 0x10]
movsd xmm0, qword [rax]
movsd qword [r8 + 0x20], xmm0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewDoubleObj
mov rax, qword [r8 + 0x10]
xor ebx, ebx
mov edx, dword [rax]
test edx, edx
mov dword [r8 + 0x20], edx
setne bl
mov ecx, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewIntObj
mov rax, qword [r8 + 0x10]
movsx ecx, byte [rax]
mov byte [r8 + 0x20], cl
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewIntObj
mov rax, qword [r8 + 0x10]
movzx ecx, byte [rax]
mov byte [r8 + 0x20], cl
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewIntObj
mov rax, qword [r8 + 0x10]
movsx ecx, word [rax]
mov word [r8 + 0x20], cx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewIntObj
mov rax, qword [r8 + 0x10]
movzx ecx, word [rax]
mov word [r8 + 0x20], cx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewIntObj
mov rax, qword [r8 + 0x10]
mov ecx, dword [rax]
mov dword [r8 + 0x20], ecx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_DbNewWideIntObj
mov rax, qword [r8 + 0x10]
movsxd rcx, dword [rax]
mov dword [r8 + 0x20], ecx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_DbNewWideIntObj
mov rax, qword [r8 + 0x10]
movss xmm0, dword [rax]
movss dword [r8 + 0x20], xmm0
cvtps2pd xmm0, xmm0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewDoubleObj
mov rax, qword [r8 + 0x10]
mov rcx, qword [rax]
test rcx, rcx
jne 0x1800c1902
call fcn.180106220
xor ebx, ebx
mov rdi, rax
mov dword [rax], ebx
lea ecx, [rbx + 5]
call sym.tcl86t.dll_hclpAlloc
test rax, rax
je 0x1800c195b
mov qword [rdi + 8], rax
mov dword [rax], 0x4c4c554e
mov rax, qword [rdi + 8]
mov byte [rax + 4], bl
mov rax, rdi
mov dword [rdi + 0x10], 4
mov qword [rdi + 0x18], rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov edx, 0xffffffff
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp sym.tcl86t.dll_hcl_NewStringObj
call fcn.180106220
xor ebx, ebx
mov rdi, rax
mov dword [rax], ebx
lea ecx, [rbx + 3]
call sym.tcl86t.dll_hclpAlloc
test rax, rax
je 0x1800c196d
mov qword [rdi + 8], rax
mov ecx, 0x3f3f
mov word [rax], cx
mov rax, qword [rdi + 8]
mov byte [rax + 2], bl
mov rax, rdi
mov dword [rdi + 0x10], 2
mov qword [rdi + 0x18], rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov edx, 5
lea rcx, str.unable_to_alloc__u_bytes
call sym.tcl86t.dll_hcl_Panic
int3
mov edx, 3
lea rcx, str.unable_to_alloc__u_bytes
call sym.tcl86t.dll_hcl_Panic
int3