Function at 0x1800fe410
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push r15
sub rsp, 0x60
mov qword [rax + 0x18], rbx
mov qword [rax - 0x18], rsi
mov rsi, r8
mov qword [rax - 0x20], rdi
mov rdi, rcx
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov r13, rdx
call sym.tcl86t.dll_hcl_NewObj
xor r12d, r12d
mov r15, rax
mov rbx, r13
inc dword [rax]
movzx r8d, byte [r13]
test r8b, r8b
je 0x1800fe645
mov qword [rsp + 0x58], rbp
lea r11, [0x180000000]
mov qword [rsp + 0x30], r14
nop dword [rax]
inc rbx
mov ebp, r12d
mov r14d, r12d
mov edi, 0xffffffff
cmp r8b, 0x25
jne case.0x1800fe4c1.0
movzx eax, byte [rbx]
cmp al, r8b
jne 0x1800fe4a0
inc rbx
jmp case.0x1800fe4c1.0
movsx rax, al
cmp eax, 0x78
ja case.0x1800fe4c1.9
movzx eax, byte [r11 + rax + 0xfe734]
mov ecx, dword [r11 + rax*4 + 0xfe70c]
add rcx, r11
jmp rcx
mov edi, dword [rsi]
add rsi, 8
mov ecx, edi
call sym.tcl86t.dll_hcl_NewIntObj
mov r8, rax
mov rdx, r15
xor ecx, ecx
call sym.tcl86t.dll_hcl_ListObjAppendElement
movzx eax, byte [rbx + 1]
lea r11, [0x180000000]
inc rbx
jmp 0x1800fe4a0
mov r8d, 0xa
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
mov rbx, qword [rsp + 0x78]
lea r11, [0x180000000]
mov edi, eax
movzx eax, byte [rbx]
jmp 0x1800fe4a0
movzx eax, byte [rbx + 1]
inc rbx
mov r14d, 1
jmp 0x1800fe4a0
movzx eax, byte [rbx + 1]
inc rbx
mov ebp, 1
jmp 0x1800fe4a0
mov ebp, 0xffffffff
movzx eax, byte [rbx + 1]
inc rbx
jmp 0x1800fe4a0
mov r8, qword [rsi]
add rsi, 8
mov r9, r8
test r14d, r14d
je 0x1800fe55f
mov eax, edi
dec edi
test eax, eax
je 0x1800fe569
cmp byte [r9], r12b
je 0x1800fe569
inc r9
jmp 0x1800fe552
lea r10, [r9 - 1]
mov ecx, r12d
mov rdx, r10
cmp rdx, r8
jb 0x1800fe58f
movzx eax, byte [rdx]
cmp al, 0x80
jb 0x1800fe59c
cmp al, 0xc0
jae 0x1800fe59f
dec rdx
inc ecx
cmp ecx, 3
jl 0x1800fe573
jmp 0x1800fe59c
cmp r10, r8
mov rax, r8
cmovae rax, r10
mov r10, rax
mov rdx, r10
movzx eax, byte [rdx]
mov r10, r9
movzx ecx, byte [rax + r11 + 0x157430]
mov eax, r9d
sub eax, edx
cmp eax, ecx
lea rcx, [r8 + 3]
cmovl r10, rdx
cmovge rdx, r9
cmp r8, rdx
jae 0x1800fe5dd
cmp r8, rcx
jae 0x1800fe5dd
movzx eax, byte [r8]
and al, 0xc0
cmp al, 0x80
jne 0x1800fe5dd
inc r8
cmp r8, rdx
jb 0x1800fe5c6
sub r10d, r8d
mov rcx, r8
mov edx, r10d
call sym.tcl86t.dll_hcl_NewStringObj
jmp 0x1800fe615
cmp ebp, 0xffffffff
jl case.0x1800fe4c1.0
test ebp, ebp
jle 0x1800fe5fb
cmp ebp, 1
jne case.0x1800fe4c1.0
mov ecx, dword [rsi]
add rsi, 8
call sym.tcl86t.dll_hcl_NewIntObj
jmp 0x1800fe615
movsd xmm0, qword [rsi]
add rsi, 8
call sym.tcl86t.dll_hcl_NewDoubleObj
mov r8, rax
mov rdx, r15
xor ecx, ecx
call sym.tcl86t.dll_hcl_ListObjAppendElement
lea r11, [0x180000000]
movzx r8d, byte [rbx]
test r8b, r8b
jne 0x1800fe470
mov rdi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
lea rax, str.list
mov rbx, qword [rsp + 0x80]
cmp qword [r15 + 0x18], rax
jne 0x1800fe66d
mov rax, qword [r15 + 0x20]
mov r9d, dword [rax + 8]
lea r12, [rax + 0x10]
jmp 0x1800fe6a5
mov rax, qword [0x18018f080]
cmp qword [r15 + 8], rax
jne 0x1800fe67f
mov r9d, r12d
jmp 0x1800fe6a5
mov rdx, r15
xor ecx, ecx
call fcn.1800c3530
test eax, eax
jne 0x1800fe69b
mov rax, qword [r15 + 0x20]
mov r9d, dword [rax + 8]
lea r12, [rax + 0x10]
jmp 0x1800fe6a5
mov r12, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x78]
mov r8, r13
mov qword [rsp + 0x20], r12
mov rdx, rdi
xor ecx, ecx
call sym.tcl86t.dll_hcl_AppendFormatToObj
mov r12, qword [rsp + 0x40]
test eax, eax
je 0x1800fe6dd
mov rcx, r15
call sym.tcl86t.dll_hcl_GetString
mov r9, rax
lea rdx, str.Unable_to_format___s__with_supplied_arguments:__s
mov r8, r13
mov rcx, rdi
call sym.tcl86t.dll_hcl_AppendPrintfToObj
mov ecx, dword [r15]
mov r13, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
lea eax, [rcx - 1]
mov dword [r15], eax
cmp ecx, 1
jg 0x1800fe703
mov rcx, r15
add rsp, 0x60
pop r15
jmp sym.tcl86t.dll_hclFreeObj
add rsp, 0x60
pop r15
ret