Function at 0x180146220
Capabilities:
Get thread local storage value

Disassembly:
push rbx
push rdi
push r13
push r14
push r15
sub rsp, 0x180
mov r13, qword [rdx]
lea rax, [rsp + 0x70]
xor ebx, ebx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 4
mov qword [rsp + 0x60], rbx
mov byte [rsp + 0x68], bl
mov byte [rsp + 0x69], 1
mov eax, dword [r13 + 0x98]
mov dil, 1
shr rax, 0x18
mov r15, rdx
mov r14, rcx
test dil, al
je 0x180146281
xor eax, eax
add rsp, 0x180
pop r15
pop r14
pop r13
pop rdi
pop rbx
ret
mov rcx, qword [rcx + 0x10]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x1b0], rbp
mov qword [rsp + 0x28], rax
lea rax, [0x1801d0d60]
mov r9d, 0x14
mov r8b, 1
mov rdx, r13
mov qword [rsp + 0x178], rsi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x170], r12
call fcn.1801915c0
mov ebp, eax
test eax, eax
js 0x18014651e
mov rdx, qword [rsp + 0x60]
movzx r12d, dil
mov rdi, qword [rsp + 0x50]
cmp eax, 0x270f0002
mov esi, ebx
mov ecx, ebx
cmove r12d, ebx
test rdx, rdx
je 0x1801464e9
mov rax, rbx
cmp rax, rdx
jae 0x180146303
shl rax, 6
add rax, rdi
jmp 0x180146306
mov rax, rbx
cmp dword [rax], ebx
jne 0x18014630c
inc esi
inc ecx
mov eax, ecx
cmp rax, rdx
jb 0x1801462f5
test esi, esi
je 0x1801464e9
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x50]
mov r8d, 1
call fcn.1801d1a60
mov ebp, eax
test eax, eax
js 0x18014651e
cmp eax, 0x270f0000
je 0x1801464b8
cmp eax, 0x270f0001
je 0x1801464b8
mov rdi, qword [rsp + 0x50]
test r12b, r12b
je 0x1801464e9
mov rdx, qword [rsp + 0x60]
mov r8d, ebx
mov ecx, ebx
test rdx, rdx
je 0x180146392
mov rax, rbx
cmp rax, rdx
jae 0x18014637f
shl rax, 6
add rax, rdi
jmp 0x180146382
mov rax, rbx
cmp dword [rax], ebx
jne 0x180146389
inc r8d
inc ecx
mov eax, ecx
cmp rax, rdx
jb 0x180146371
cmp esi, r8d
jbe 0x1801464e9
or rax, 0xffffffffffffffff
mov esi, ebx
mov qword [rsp + 0x1b8], rax
test rdx, rdx
je 0x1801464b3
mov rcx, rbx
cmp rcx, rdx
jae 0x1801463c3
shl rcx, 6
add rcx, rdi
jmp 0x1801463c6
mov rcx, rbx
cmp dword [rcx], ebx
jne 0x1801464a6
mov rdx, qword [r14 + 0x28]
lea rax, [rcx + 0x28]
mov dword [rsp + 0x40], 0x11
add rcx, 0x20
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x1c0], 0xffffffffffffffff
mov r8d, dword [rcx - 0x10]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
and r8d, 0xfff00001
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x1c0]
or r8d, 1
mov rcx, r14
call fcn.18012ed20
mov ebp, eax
test eax, eax
js 0x18014651e
cmp qword [rsp + 0x1b8], 0xffffffffffffffff
je 0x18014648c
mov rdx, qword [r14 + 0x28]
lea rax, [rsp + 0x1c0]
lea r9, [rsp + 0x1b8]
lea r8, [rsp + 0x1c8]
mov rcx, r14
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
call fcn.180105170
mov ebp, eax
test eax, eax
js 0x18014651e
mov rax, qword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0x1b8], rax
jmp 0x1801464a6
mov rax, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0x1b8], rax
inc esi
mov ecx, esi
cmp rcx, rdx
jb 0x1801463b5
mov qword [r15], rax
jmp 0x180146523
mov rdx, qword [r14 + 0x10]
mov rcx, r13
movzx r9d, byte [rdx + 0xcefb]
shr r9d, 2
not r9d
and r9d, 4
cmp eax, 0x270f0000
sete r8b
call fcn.180109f30
mov rdi, qword [rsp + 0x50]
mov ebp, eax
jmp 0x180146523
mov qword [rsp + 0x60], rbx
cmp byte [rsp + 0x68], bl
je 0x18014651a
test rdi, rdi
je 0x18014651a
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x18014650c
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rcx, qword [rbx]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
jmp 0x180146556
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0x60], rbx
cmp byte [rsp + 0x68], bl
je 0x180146554
test rdi, rdi
je 0x180146554
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x180146546
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rcx, qword [rbx]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebp
mov rsi, qword [rsp + 0x178]
mov rbp, qword [rsp + 0x1b0]
mov r12, qword [rsp + 0x170]
add rsp, 0x180
pop r15
pop r14
pop r13
pop rdi
pop rbx
ret