Function at 0x140118710
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rbx, r8
mov qword [rsp + 0x38], rcx
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rax, qword [rdx + 0x698]
mov qword [rsp + 0x40], rax
mov rdi, qword [rdx + 0x18]
mov qword [rsp + 0x80], r9
mov rax, qword [r9 + 8]
mov rcx, qword [rax + 0x17]
xor esi, esi
cmp rcx, 2
setge sil
mov rax, qword [rax + 0x17]
mov qword [rsp + 0x50], rax
mov rax, qword [0x1403a6b50]
mov qword [rsp + 0x58], rax
mov rcx, rdi
call fcn.1400f1750
mov r15, rax
mov rcx, rdi
call fcn.1400f52e0
mov r12, rax
mov rcx, rdi
call fcn.1400f4f90
mov r13, rax
mov rax, qword [rbx + 8]
mov rdx, qword [rax + rsi*8 + 0x17]
mov rcx, r15
call fcn.1400f1770
mov rax, qword [r15 + 8]
cmp rax, qword [0x14039fd90]
jne 0x1401187ea
mov rsi, qword [rsp + 0x38]
mov qword [rsi], rax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14025cd50
mov rax, rsi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1403a95e8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rax, [rax + 8]
mov qword [rsp + 0x48], rax
nop dword [rax]
mov rcx, r15
mov rdx, r12
call fcn.140161e50
test al, al
je 0x140118878
mov rcx, r12
lea rdx, [rsp + 0x80]
xor r8d, r8d
call fcn.140149a30
cmp qword [rsp + 0x50], 2
jl 0x140118870
test al, al
je 0x140118870
mov rcx, qword [r12 + 8]
mov edx, dword [rcx + 0x47]
and edx, 0x1f
dec edx
cmp edx, 1
ja 0x140118870
mov rax, qword [r15 + 8]
mov rax, qword [rax + 0x17]
mov rdx, qword [0x1403a50b8]
cmp rax, qword [rdx + 8]
jne 0x140118878
jmp 0x140118aae
test al, al
jne 0x140118aa9
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x1a0]
test al, al
jne 0x140118a56
mov rax, qword [r15 + 8]
test al, 1
jne 0x1401188b0
lea rcx, [rsp + 0x78]
call fcn.140167a40
mov rax, qword [rsp + 0x78]
jmp 0x1401188d7
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x698]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax - 1]
mov rcx, qword [rcx + 0x30]
shr eax, 0xc
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x78], rax
mov qword [r13 + 8], rax
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov r8, r13
mov r9, qword [rsp + 0x58]
call fcn.1401a3790
mov rax, qword [rsp + 0x70]
mov qword [r12 + 8], rax
cmp rax, qword [0x14039fd90]
je 0x1401187bb
mov ecx, dword [0x14039fef0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140118930
cmp byte [rax + 8], 0
jne 0x140118935
mov rcx, rax
call fcn.1400498c0
test rax, rax
jne 0x140118935
call fcn.140185a40
mov rbp, qword [rax + 0x50]
mov r14, rax
call fcn.1401858d0
add rbp, qword [r14 + 0x48]
cmp rax, rbp
jbe 0x140118a62
mov edx, 0x59
mov r8d, 1
lea rcx, [rsp + 0x68]
xor r9d, r9d
call fcn.14016bfd0
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.1400f0ef0
mov rbp, rax
mov rdx, qword [rax + 8]
lea rcx, [rdx - 1]
mov r8, qword [r15 + 8]
add rdx, 0x17
call fcn.1400ef220
mov rax, qword [rbp + 8]
mov r8, qword [rax + 0xf]
sar r8, 1
cmp r8, 0x1f
jg 0x1401189b0
lea rax, [0x1403a47d0]
lea r14, [rax + r8*8]
jmp 0x1401189d2
mov dword [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r14, [rsp + 0x88]
mov rcx, r14
xor edx, edx
mov r9, r8
call fcn.140119700
mov rcx, qword [r14]
call fcn.1400ef3b0
lea rcx, [rsp + 0x60]
mov rdx, r12
mov r8, rbp
mov r9, rax
call fcn.140118560
mov rdx, qword [rsp + 0x60]
mov r8d, 4
mov rcx, rdi
call fcn.1400eeaf0
mov rbp, rax
mov rax, qword [rax]
mov rcx, rbp
call qword [rax + pe_nt_image_headers64]
test al, al
jne 0x140118aa0
mov rcx, qword [rbx + 8]
mov r8, qword [rbp + 8]
lea rdx, [rcx + rsi*8]
add rdx, 0x17
dec rcx
call fcn.1400ef220
mov rax, qword [rbx + 8]
mov rdx, qword [rax + rsi*8 + 0x17]
mov rcx, r15
call fcn.1400f1770
mov rax, qword [r15 + 8]
cmp rax, qword [0x14039fd90]
jne 0x140118810
jmp 0x1401187bb
mov rax, qword [0x14039fd90]
jmp 0x1401187bb
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
mov rdx, qword [rax + 0x410]
mov rcx, rdi
call fcn.1400f1820
mov rbx, rax
mov rcx, rdi
call fcn.1400fccc0
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, rbx
mov r8, rax
xor r9d, r9d
call fcn.14015eee0
jmp 0x1401187c3
mov rax, qword [rbp + 8]
jmp 0x1401187bb
mov rcx, qword [r12 + 8]
mov rsi, qword [rsp + 0x38]
mov qword [rsi], rcx
jmp 0x1401187c3