Function at 0x18019dff0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x20
lea rax, [0x180047e10]
xor r12d, r12d
mov r13, rcx
mov qword [rcx], rax
cmp qword [rcx + 0xce58], r12
je 0x18019e169
mov qword [rsp + 0x58], r15
mov r15d, r12d
cmp dword [rcx + 0xc], r12d
jbe 0x18019e135
mov qword [rsp + 0x50], r14
mov rbp, r12
nop word [rax + rax]
mov rax, qword [r13 + 0xce58]
mov r14, qword [rax + rbp]
mov rbx, qword [r14 + 0x30]
test rbx, rbx
je 0x18019e0eb
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18019e071
mov rax, qword [rbx]
mov qword [rcx], rax
jmp 0x18019e078
mov rax, qword [rbx]
mov qword [r14 + 0x30], rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x18019e08a
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
jmp 0x18019e092
mov rax, qword [rbx + 8]
mov qword [r14 + 0x38], rax
mov rcx, rbx
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18019e0a9
mov rdi, r12
jmp 0x18019e0b2
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rbx
call fcn.18024adb8
mov qword [rbx], r12
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x18019e0d6
mov qword [rax], rbx
jmp 0x18019e0da
mov qword [rdi + 0x18], rbx
mov qword [rdi + 0x20], rbx
mov rbx, qword [r14 + 0x30]
test rbx, rbx
jne 0x18019e060
lea rcx, [r14 + 0x30]
mov qword [r14 + 0x30], r12
mov qword [r14 + 0x38], r12
call fcn.1801fde80
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18019e10b
mov rax, r12
jmp 0x18019e111
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
inc r15d
add rbp, 8
cmp r15d, dword [r13 + 0xc]
jb 0x18019e040
mov r14, qword [rsp + 0x50]
mov rbx, qword [r13 + 0xce58]
mov r15, qword [rsp + 0x58]
test rbx, rbx
je 0x18019e169
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18019e155
mov rax, r12
jmp 0x18019e15b
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [r13 + 0xce48], r12
je 0x18019e231
mov esi, r12d
cmp dword [r13 + 8], r12d
jbe 0x18019e203
mov rbp, r12
nop word [rax + rax]
mov rax, qword [r13 + 0xce48]
mov rdi, qword [rax + rbp]
test rdi, rdi
je 0x18019e1f7
mov rbx, qword [rdi + 0x50]
test rbx, rbx
je 0x18019e1d4
mov rcx, rbx
call fcn.18011dbe0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18019e1c0
mov rax, r12
jmp 0x18019e1c6
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18019e1e3
mov rax, r12
jmp 0x18019e1e9
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
inc esi
add rbp, 8
cmp esi, dword [r13 + 8]
jb 0x18019e190
mov rbx, qword [r13 + 0xce48]
test rbx, rbx
je 0x18019e231
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x18019e222
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r12, rax
mov rcx, qword [r12]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [r13 + 0x18]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.1800c5e00