Function at 0x180181f20
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x50
xor edi, edi
mov rsi, r9
mov r15, r8
mov r13, rdx
mov rbp, rcx
mov rbx, rdi
test r9, r9
je 0x18018226a
cmp dword [r9 + 8], 5
jne 0x18018226a
mov eax, dword [r9 + 0x34]
imul eax, dword [r9 + 0x30]
cmp eax, 1
jne 0x180182251
mov rcx, qword [r9 + 0x28]
lea rdx, [rsp + 0x98]
mov rax, qword [rcx]
call qword [rax + 0x58]
test byte [rax], 0x40
je 0x180182251
mov r9, qword [rbp + 0xc0]
mov r8d, 0x200
mov rdx, r13
mov rcx, rbp
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r14
call fcn.180117880
mov r14, rax
test rax, rax
je 0x180182223
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180181fc5
mov rax, rdi
jmp 0x180181fcb
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax + 8]
mov edx, 0x40
lea r8d, [rdx - 0x30]
call fcn.180243b70
mov r12, rax
test rax, rax
je 0x180182223
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], rdi
mov dword [rax + 0x28], 0xffffffff
mov dword [r12 + 8], 8
lea rax, [0x1800434e0]
mov qword [r12], rax
mov qword [r12 + 0x30], r14
mov dword [r12 + 0x38], 1
mov dword [r12 + 0x3c], 1
mov rcx, qword [rsi + 0x28]
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
call fcn.180119300
test al, al
jne 0x180182056
lea rdx, [rsi + 0x68]
lea r9, [0x180047458]
mov r8d, 0xbcc
mov rcx, rbp
call fcn.18010c480
mov r8b, 1
mov rdx, rsi
mov rcx, rbp
call fcn.18010cd60
test al, al
je 0x180182134
lea r9, [rsp + 0x30]
mov r8d, 1
mov rdx, rsi
mov rcx, rbp
call fcn.180178110
test eax, eax
js 0x180182134
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x180182124
sub ecx, 1
je 0x1801820ce
sub ecx, 1
je 0x1801820b1
cmp ecx, 1
jne 0x180182134
movsd xmm1, qword [rsp + 0x38]
jmp 0x1801820d9
mov rax, qword [rsp + 0x38]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x1801820d9
addsd xmm1, qword [0x1800685e0]
jmp 0x1801820d9
pxor xmm1, xmm1
cvtsi2sd xmm1, qword [rsp + 0x38]
xorpd xmm0, xmm0
ucomisd xmm0, xmm1
jp 0x1801820e5
je 0x18018212a
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x1801820fd
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x10]
mov rdi, rax
mov rax, rdi
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
cmp dword [rsp + 0x38], ebx
jne 0x1801820e5
mov rcx, qword [rsp + 0xa8]
jmp 0x1801820ed
mov ecx, 0x98
call fcn.180071960
test rax, rax
je 0x18018222a
mov rcx, rax
call fcn.18010fbe0
mov rbx, rax
test rax, rax
je 0x18018222a
mov dword [rax + 0x28], 2
mov ecx, dword [rbp + 0x490]
mov r9, rsi
mov dword [rax + 0x90], ecx
inc dword [rbp + 0x490]
mov r8, r12
mov rcx, rbp
mov rdx, r13
mov byte [rsp + 0x20], dil
call fcn.18017e580
mov qword [rbx + 0x38], rax
test rax, rax
je 0x18018222a
mov rax, qword [rsp + 0xa0]
mov qword [rbx + 0x60], r15
mov ecx, 0x30
mov qword [rbx + 0x40], rax
mov rax, qword [rsp + 0xa8]
mov qword [rbx + 0x48], rax
mov rax, qword [r13]
mov qword [rbx + 0x68], rax
mov rax, qword [r13 + 8]
mov qword [rbx + 0x70], rax
mov rax, qword [r13 + 0x10]
mov qword [rbx + 0x78], rax
mov rax, qword [r13 + 0x18]
mov qword [rbx + 0x80], rax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x88], rax
call fcn.180071960
test rax, rax
je 0x18018222a
lea rcx, [0x180041858]
mov qword [rax + 0x18], rdi
mov dword [rax + 8], 1
mov qword [rax], rcx
lea rcx, [0x180047364]
mov dword [rax + 0x20], 1
mov qword [rax + 0x10], rbx
mov rdi, rax
mov qword [rax + 0x28], rcx
jmp 0x180182100
mov byte [rbp + 0x468], 1
mov byte [rbp + 0x468], 1
test rbx, rbx
je 0x180182249
add dword [rbx + 0x20], 0xffffffff
jne 0x180182249
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov rax, rdi
jmp 0x180182100
lea rdx, [rsi + 0x68]
lea r9, [0x180047418]
mov r8d, 0xbcb
mov rcx, rbp
call fcn.18010c480
xor eax, eax
jmp 0x180182110