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

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x68
xor ebp, ebp
mov rdi, rdx
mov qword [rsp + 0x30], rbp
mov r14d, ecx
mov esi, ebp
test ecx, ecx
jne 0x1800eb1a3
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
jmp sym.tcl86t.dll_hcl_NewObj
mov qword [rsp + 0x60], rbx
cmp r14d, 2
jne 0x1800eb343
mov rbx, qword [rdx]
lea rax, str.path
cmp qword [rbx + 0x18], rax
jne 0x1800eb343
mov rax, qword [rbx + 8]
test rax, rax
je 0x1800eb1d8
cmp byte [rax], sil
je 0x1800eb343
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1800b9d50
test eax, eax
jne 0x1800eb343
mov rdi, qword [rdi + 8]
xor r9d, r9d
mov rcx, rdi
xor r8d, r8d
xor edx, edx
call fcn.1800b9d50
cmp eax, 1
jne 0x1800eb2f0
mov rbp, qword [rdi + 8]
test rbp, rbp
jne 0x1800eb222
mov rcx, rdi
call sym.tcl86t.dll_hcl_GetString
mov rbp, qword [rdi + 8]
mov edi, dword [rdi + 0x10]
test edi, edi
jne 0x1800eb23b
mov rax, rbx
mov rbx, qword [rsp + 0x60]
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp byte [rbp], 0x2e
je 0x1800eb339
cmp dword [0x18018f818], 2
jne 0x1800eb28d
mov edx, 0x5c
mov rcx, rbp
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x1800eb339
cmp dword [0x18018f818], 2
jne 0x1800eb28d
mov rcx, rbx
call sym.tcl86t.dll_hcl_GetString
mov rcx, rax
mov edx, 0x5c
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x1800eb339
mov rax, qword [rbx + 0x20]
mov rcx, rbx
cmp dword [rax + 0x18], esi
je 0x1800eb2b2
mov r8d, edi
mov rdx, rbp
mov rbx, qword [rsp + 0x60]
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.1800eb8b0
xor r8d, r8d
xor edx, edx
call fcn.1800eab10
test eax, eax
jne 0x1800eb2d4
mov rdx, rbx
xor ecx, ecx
call sym.tcl86t.dll_hcl_FSGetNormalizedPath
mov rax, qword [rbx + 0x20]
cmp rbx, qword [rax + 8]
jne 0x1800eb339
mov r8d, edi
mov rdx, rbp
mov rcx, rbx
mov rbx, qword [rsp + 0x60]
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.1800eb8b0
mov eax, dword [0x18018f818]
test eax, eax
je 0x1800eb327
mov rcx, qword [rdi + 8]
test rcx, rcx
jne 0x1800eb314
mov rcx, rdi
call sym.tcl86t.dll_hcl_GetString
mov rcx, rax
mov eax, dword [0x18018f818]
cmp eax, 2
jne 0x1800eb33b
lea edx, [rax + 0x5a]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x1800eb33b
mov rbx, qword [rsp + 0x60]
mov rax, rdi
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
ret
xor ebp, ebp
mov rdi, qword [rsp + 0x98]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r15
mov dword [rsp + 0xa8], ebp
test r14d, r14d
jle 0x1800eb7b0
mov r13, rbp
nop word [rax + rax]
mov r15, qword [rdi + r13*8]
mov qword [rsp + 0x28], rbp
mov rbx, qword [r15 + 8]
test rbx, rbx
jne 0x1800eb38e
mov rcx, r15
call sym.tcl86t.dll_hcl_GetString
mov rbx, qword [r15 + 8]
mov r12d, dword [r15 + 0x10]
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x20]
mov dword [rsp + 0x20], ebp
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.1800b9d50
movsxd rbp, dword [rsp + 0x20]
mov r14d, eax
cmp eax, 1
je 0x1800eb48d
test rsi, rsi
je 0x1800eb412
mov r8d, dword [rsi]
lea edx, [r8 - 1]
mov dword [rsi], edx
cmp r8d, 1
jg 0x1800eb412
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x1800eb3ec
cmp qword [rax + 8], 0
je 0x1800eb3ec
mov rcx, rsi
call sym.tcl86t.dll_hclFreeObj
jmp 0x1800eb412
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1800eb403
cmp rcx, qword [0x18018f080]
je 0x1800eb403
call sym.tcl86t.dll_hclpFree
mov rcx, rsi
mov dword [rsi + 0x10], 0xffffffff
call fcn.1801063c0
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1800eb47b
mov rcx, rdi
call sym.tcl86t.dll_hcl_DuplicateObj
mov ecx, dword [rdi]
mov rsi, rax
lea eax, [rcx - 1]
mov dword [rdi], eax
cmp ecx, 1
jg 0x1800eb488
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1800eb450
cmp qword [rax + 8], 0
je 0x1800eb450
mov rcx, rdi
call sym.tcl86t.dll_hclFreeObj
add rbx, rbp
jmp 0x1800eb4ab
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1800eb467
cmp rcx, qword [0x18018f080]
je 0x1800eb467
call sym.tcl86t.dll_hclpFree
mov rcx, rdi
mov dword [rdi + 0x10], 0xffffffff
call fcn.1801063c0
add rbx, rbp
jmp 0x1800eb4ab
mov edx, ebp
mov rcx, rbx
call sym.tcl86t.dll_hcl_NewStringObj
mov rsi, rax
add rbx, rbp
jmp 0x1800eb4ab
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1800eb4b0
mov ecx, dword [rdi]
lea eax, [rcx - 1]
mov dword [rdi], eax
cmp ecx, 1
jg 0x1800eb4ab
mov rcx, rdi
call sym.tcl86t.dll_hclFreeObj
test rdi, rdi
jne 0x1800eb522
mov eax, dword [rsp + 0x90]
dec eax
cmp dword [rsp + 0xa8], eax
jne 0x1800eb522
cmp r14d, 1
jne 0x1800eb4cd
test rsi, rsi
jne 0x1800eb535
cmp dword [0x18018f818], 2
jne 0x1800eb4e9
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x1800eb522
mov rax, rbx
test ebp, ebp
jle 0x1800eb500
cmp byte [rbx], 0x2f
jne 0x1800eb500
cmp byte [rbx - 1], 0x2f
je 0x1800eb522
nop dword [rax + rax]
movzx ecx, byte [rax]
test cl, cl
je 0x1800eb757
cmp cl, 0x2f
jne 0x1800eb51d
movzx ecx, byte [rax + 1]
cmp cl, 0x2f
je 0x1800eb522
test cl, cl
je 0x1800eb522
inc rax
jmp 0x1800eb500
test rsi, rsi
jne 0x1800eb535
call sym.tcl86t.dll_hcl_NewObj
mov rsi, rax
mov rbp, qword [rax + 8]
jmp 0x1800eb539
mov rbp, qword [rsi + 8]
test rbp, rbp
jne 0x1800eb54a
mov rcx, rsi
call sym.tcl86t.dll_hcl_GetString
mov rbp, qword [rsi + 8]
mov r14d, dword [rsi + 0x10]
test r14d, r14d
jle 0x1800eb56f
test r12d, r12d
jle 0x1800eb56f
cmp byte [rbx], 0x2e
jne 0x1800eb56f
cmp byte [rbx + 1], 0x2f
jne 0x1800eb56f
cmp byte [rbx + 2], 0x7e
lea rax, [rbx + 2]
cmove rbx, rax
cmp byte [rbx], 0
je 0x1800eb731
mov rax, qword [rsp + 0x30]
lea rcx, str.native
cmp rax, rcx
je 0x1800eb726
test rax, rax
je 0x1800eb726
mov byte [rsp + 0xa0], 0x2f
xor r15d, r15d
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x1800eb5fe
mov rcx, rsi
call rdx
mov rdi, rax
test rax, rax
je 0x1800eb5e6
mov rax, qword [rax + 8]
test rax, rax
jne 0x1800eb5c8
mov rcx, rdi
call sym.tcl86t.dll_hcl_GetString
movzx eax, byte [rax]
mov byte [rsp + 0xa0], al
mov ecx, dword [rdi]
lea eax, [rcx - 1]
mov dword [rdi], eax
cmp ecx, 1
jg 0x1800eb5e6
mov rcx, rdi
call sym.tcl86t.dll_hclFreeObj
mov eax, dword [rsi]
cmp eax, 1
jle 0x1800eb5fe
dec eax
mov rcx, rsi
mov dword [rsi], eax
call sym.tcl86t.dll_hcl_DuplicateObj
mov rsi, rax
inc dword [rax]
test r14d, r14d
jle 0x1800eb672
lea eax, [r14 - 1]
movsxd rcx, eax
cmp byte [rcx + rbp], 0x2f
je 0x1800eb672
cmp dword [rsi], 1
jg 0x1800eb7d1
mov rdx, rsi
xor ecx, ecx
call fcn.1800fedf0
mov rax, qword [rsi + 0x20]
cmp dword [rax + 0xc], r15d
je 0x1800eb64a
cmp dword [rax], r15d
jle 0x1800eb64a
mov r8d, 1
lea rdx, [rsp + 0xa0]
mov rcx, rsi
call fcn.1800fcb20
jmp 0x1800eb660
mov r8d, 1
lea rdx, [rsp + 0xa0]
mov rcx, rsi
call fcn.1800fcb70
cmp qword [rsi + 8], r15
jne 0x1800eb66e
mov rcx, rsi
call sym.tcl86t.dll_hcl_GetString
mov r14d, dword [rsi + 0x10]
mov rax, 0xffffffffffffffff
nop dword [rax]
cmp byte [rbx + rax + 1], r15b
lea rax, [rax + 1]
jne 0x1800eb680
lea edx, [r14 + rax]
mov rcx, rsi
call sym.tcl86t.dll_hcl_SetObjLength
mov rax, qword [rsi + 8]
test rax, rax
jne 0x1800eb6a8
mov rcx, rsi
call sym.tcl86t.dll_hcl_GetString
movsxd rdi, r14d
add rdi, rax
movzx eax, byte [rbx]
test al, al
je 0x1800eb707
movzx ecx, byte [rsp + 0xa0]
nop dword [rax]
cmp al, cl
jne 0x1800eb6e9
cmp byte [rbx + 1], cl
lea rax, [rbx + 1]
jne 0x1800eb6da
nop dword [rax]
mov rbx, rax
inc rax
cmp byte [rax], cl
je 0x1800eb6d0
cmp byte [rbx + 1], 0
je 0x1800eb6fc
test r15d, r15d
je 0x1800eb6fc
mov byte [rdi], cl
jmp 0x1800eb6f1
mov byte [rdi], al
mov r15d, 1
movzx ecx, byte [rsp + 0xa0]
inc rdi
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x1800eb6c0
mov rax, qword [rsi + 8]
test rax, rax
jne 0x1800eb718
mov rcx, rsi
call sym.tcl86t.dll_hcl_GetString
sub edi, eax
mov rcx, rsi
mov edx, edi
call sym.tcl86t.dll_hcl_SetObjLength
jmp 0x1800eb731
mov rdx, rbx
mov rcx, rsi
call fcn.18009a340
inc dword [rsp + 0xa8]
inc r13
movsxd rcx, dword [rsp + 0x90]
cmp r13, rcx
jge 0x1800eb7b0
mov rdi, qword [rsp + 0x98]
xor ebp, ebp
jmp 0x1800eb370
test rsi, rsi
je 0x1800eb7ab
mov ecx, dword [rsi]
lea eax, [rcx - 1]
mov dword [rsi], eax
cmp ecx, 1
jg 0x1800eb7ab
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x1800eb785
cmp qword [rax + 8], 0
je 0x1800eb785
mov rcx, rsi
call sym.tcl86t.dll_hclFreeObj
mov rax, r15
jmp 0x1800eb7b3
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1800eb79c
cmp rcx, qword [0x18018f080]
je 0x1800eb79c
call sym.tcl86t.dll_hclpFree
mov rcx, rsi
mov dword [rsi + 0x10], 0xffffffff
call fcn.1801063c0
mov rax, r15
jmp 0x1800eb7b3
mov rax, rsi
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x60]
add rsp, 0x68
pop r14
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.Tcl_AppendLimitedToObj
lea rcx, str._s_called_with_shared_object
call sym.tcl86t.dll_hcl_Panic
int3