Function at 0x180100030
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rcx
push r13
push r14
push r15
sub rsp, 0x40
mov r14, qword [r8 + 0xa8]
mov r13, r9
mov r15, r8
cmp qword [r14 + 0xb0], 0xffffffffffffffff
mov rax, rcx
jne 0x1801000dd
mov rcx, qword [rcx + 0x10]
lea r8, [rsp + 0x70]
mov rdx, qword [rcx + 0xd060]
call fcn.18019f710
test eax, eax
js 0x1801003aa
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 0xa0], r15
mov eax, dword [r14 + 0x10]
and eax, 0x40
or qword [rdx + 0x10], rax
mov rcx, qword [r14 + 8]
mov r8, qword [rdx + 0x10]
movzx eax, byte [rcx]
test al, al
je 0x1801000d1
cmp al, 0x63
je 0x1801000c0
cmp al, 0x20
je 0x1801000b4
mov al, byte [rcx + 1]
inc rcx
test al, al
jne 0x1801000a4
jmp 0x1801000d1
mov al, byte [rcx + 1]
inc rcx
test al, al
jne 0x1801000a0
jmp 0x1801000d1
bts r8, 0xb
mov qword [rdx + 0x10], r8
mov rax, qword [r14 + 8]
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x60]
mov qword [r14 + 0xb0], rdx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
mov rdi, qword [rsp + 0x70]
xor esi, esi
mov qword [rsp + 0x20], r12
movabs rdx, 0xfefefefefefefefe
mov r12d, esi
nop word [rax + rax]
mov ecx, dword [0x18025e63c]
mov rbp, qword [rax + 0x10]
test ecx, ecx
jns 0x180100123
mov rcx, rsi
jmp 0x180100136
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movabs rdx, 0xfefefefefefefefe
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x180100160
mov rbx, qword [rcx + 0x18]
test rbx, rbx
jne 0x18010014b
mov rbx, rsi
jmp 0x180100177
mov rax, qword [rbx]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x18010015b
mov qword [rcx + 0x20], rsi
mov qword [rbx], rdx
jmp 0x180100177
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rbx, rax
test rbx, rbx
je 0x18010023a
mov rdx, r15
mov rcx, rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x78], rsi
mov qword [rbx + 0x80], rsi
mov qword [rbx + 0x88], rsi
mov qword [rbx + 0x90], rsi
mov dword [rbx + 0xa0], 0xffffffff
mov qword [rbx + 0xa8], 0xffffffffffffffff
mov qword [rbx + 0x40], rsi
call fcn.1801994e0
mov esi, eax
test eax, eax
js 0x1801001e5
mov r8b, 1
mov rdx, rbx
mov rcx, rbp
call fcn.18019ec70
mov esi, eax
test eax, eax
js 0x1801001e5
xor esi, esi
mov rdi, rbx
jmp 0x18010023f
mov rcx, rbx
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801001fb
xor ebp, ebp
jmp 0x180100204
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rbx
call fcn.18024adb8
mov qword [rbx], 0
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x180100230
mov qword [rax], rbx
mov qword [rbp + 0x20], rbx
jmp 0x18010023f
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rbx
jmp 0x18010023f
mov esi, 0x8007000e
test esi, esi
js 0x18010038f
mov rax, qword [r15 + 0x108]
mov rdx, qword [rdi + 0xa8]
mov qword [rdi + 0x108], rax
mov eax, dword [r15 + 0x110]
mov dword [rdi + 0x110], eax
mov rax, qword [r15 + 0x128]
mov qword [rdi + 0x128], rax
mov eax, dword [r15 + 0x130]
mov dword [rdi + 0x130], eax
mov eax, dword [r15 + 0x134]
mov dword [rdi + 0x134], eax
mov eax, dword [r15 + 0x13c]
mov dword [rdi + 0x13c], eax
mov eax, dword [r15 + 0x48]
mov dword [rdi + 0x48], eax
mov rcx, qword [r14 + 0xb0]
cmp rdx, rcx
je 0x180100325
test rdx, rdx
je 0x1801002ee
cmp rdx, 0xffffffffffffffff
je 0x1801002ee
mov r8, qword [rdi + 8]
test r8, r8
je 0x1801002cd
mov rax, qword [rdi]
mov qword [r8], rax
jmp 0x1801002d4
mov rax, qword [rdi]
mov qword [rdx + 0x30], rax
mov r8, qword [rdi]
test r8, r8
je 0x1801002e6
mov rax, qword [rdi + 8]
mov qword [r8 + 8], rax
jmp 0x1801002ee
mov rax, qword [rdi + 8]
mov qword [rdx + 0x38], rax
test rcx, rcx
je 0x18010031e
cmp rcx, 0xffffffffffffffff
je 0x18010031e
mov rax, qword [rcx + 0x38]
mov qword [rdi + 8], rax
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x18010030f
mov qword [rax], rdi
jmp 0x180100313
mov qword [rcx + 0x30], rdi
mov qword [rdi], 0
mov qword [rcx + 0x38], rdi
mov qword [rdi + 0xa8], rcx
mov rdx, qword [rsp + 0x60]
mov dword [rdi + 0xa4], 4
mov r8d, 0x20000022
mov rdx, qword [rdx + 0x10]
mov rcx, rdi
call fcn.18019b3c0
test eax, eax
js 0x180100391
mov rax, qword [rsp + 0x60]
xor esi, esi
mov dword [rdi + 0xcc], r12d
mov dword [rdi + 0xc8], esi
mov qword [rdi + 0xd0], 0xffffffffffffffff
mov byte [rdi + 0xd8], 1
inc r12d
mov qword [r13], rdi
add r13, 8
movabs rdx, 0xfefefefefefefefe
cmp r12d, 4
jb 0x180100110
mov eax, esi
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x20]
add rsp, 0x40
pop r15
pop r14
pop r13
ret