Function at 0x100087c50
Capabilities:
Get thread local storage value

Disassembly:
push r14
push r15
sub rsp, 0x118
mov rax, qword [0x10022f440]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov r15, rdx
mov qword [rsp + 0x90], rdx
mov r14, rcx
mov qword [rsp + 0xa0], rcx
mov dword [rdx + 8], 1
call fcn.1000846c0
mov r11, rax
mov rax, qword [r14 + 0x70]
inc rax
cqo
sub rax, rdx
sar rax, 1
sub r11, rax
cmp r11, qword [r15]
jg 0x100087cb3
mov eax, 1
jmp 0x1000881da
movzx eax, word [r14 + 0x80]
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x110], rbp
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x100], rdi
mov edi, 2
xor esi, esi
mov ecx, eax
mov qword [rsp + 0xf8], r12
mov dword [rsp + 0x78], edi
mov word [rsp + 0x70], ax
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0x88], rsi
call fcn.10006bde0
mov rcx, qword [rax + 8]
mov qword [rsp + 0xd0], rcx
mov rax, qword [rax + 0x10]
lea ecx, [rdi - 1]
mov qword [rsp + 0xd8], rax
call fcn.100068350
mov rcx, qword [r14 + 0x48]
add rcx, qword [r14 + 0x40]
mov ebp, 1
mov qword [rsp + 0x98], rax
mov eax, dword [rax + 0xc]
add rcx, qword [r14 + 0x50]
cmp dword [0x100255a10], ebp
mov ebx, esi
mov r12d, esi
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x6c], esi
mov r13d, esi
mov dword [rsp + 0x60], ebx
mov qword [rsp + 0x80], rsi
jne 0x100087d79
mov rax, qword [r14 + 0x68]
sub rax, qword [r14 + 0x60]
add rcx, rax
lea rax, [rcx + 1]
cqo
sub rax, rdx
sar rax, 1
cmp qword [r14 + 0x88], rax
jl 0x100087db0
test byte [r14 + 0x4120], dil
je 0x100088157
mov rcx, r14
call fcn.1000846c0
test rax, rax
jle 0x100088157
nop dword [rax]
cmp qword [r14 + 0x70], 0
jle 0x100087e3c
movzx ebx, word [r14 + 0x80]
call fcn.10006bea0
mov esi, eax
call fcn.10006add0
mov r15, rax
xor eax, eax
movzx edi, ax
test esi, esi
je 0x100087e28
movzx ebp, si
xor r14d, r14d
movzx edx, bx
mov rcx, r15
call fcn.100082130
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov rcx, rax
mov qword [rsp + 0x20], r14
call fcn.1000843b0
movzx r11d, bx
lea ebx, [r11 + 1]
cmp ebx, ebp
jl 0x100087e12
mov ebx, r14d
inc di
movzx eax, di
cmp eax, esi
jb 0x100087de1
mov r14, qword [rsp + 0xa0]
mov ebp, dword [rsp + 0x64]
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x80]
mov ebx, dword [rsp + 0x60]
test ebp, ebp
je 0x100087ea8
mov rcx, qword [rsp + 0x98]
mov edx, ebx
mov rax, qword [rcx]
call qword [rax]
inc ebx
mov r12, rax
mov dword [rsp + 0x60], ebx
test rax, rax
je 0x100087e9e
cmp dword [rax + 0x30], 0
jne 0x100087e6d
mov dword [rsp + 0x68], 1
jmp 0x100087e7e
lea rcx, [rsp + 0xd0]
call fcn.1000f2b00
mov dword [rsp + 0x68], eax
xor edi, edi
lea rcx, [rsp + 0xd0]
xor edx, edx
mov r13d, edi
call fcn.1000f2a60
mov ebp, edi
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x64], edi
jmp 0x100087eaa
xor edi, edi
mov ebp, edi
mov dword [rsp + 0x64], edi
jmp 0x100087eaa
xor edi, edi
test r12, r12
je 0x100087fb2
mov r8, qword [r12 + 0x18]
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], edi
lea rax, [rsp + 0x88]
mov r9d, 0x3000
xor edx, edx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
movzx eax, word [rsp + 0x70]
mov rcx, r12
mov word [rsp + 0x28], ax
mov dword [rsp + 0x20], 4
call fcn.10007a440
test rax, rax
je 0x100087fb2
mov rcx, qword [rsp + 0x88]
mov r8, qword [r12 + 0x18]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rcx
mov r9d, 0xc000
mov rcx, r12
mov rdx, rax
call fcn.10007aae0
inc dword [rsp + 0x6c]
movzx r10d, word [r14 + 0x80]
movzx r11d, byte [0x10024cf64]
mov r9d, dword [0x10024cf60]
mov rbx, qword [0x10024cf58]
mov r8, rdi
mov edx, edi
nop dword [rax]
cmp edx, r9d
jae 0x100087f80
movzx ecx, r11b
mov eax, edx
inc edx
shl eax, cl
mov ecx, eax
add rcx, rbx
je 0x100087f80
movzx eax, r10w
add r8, qword [rcx + rax*8]
jmp 0x100087f60
mov rax, qword [r14 + 0x58]
inc rax
cqo
sub rax, rdx
sar rax, 1
mov rcx, rax
mov rax, qword [r14 + 0x70]
inc rax
cqo
sub rax, rdx
sar rax, 1
sub rcx, rax
sub rcx, r8
cmp rcx, qword [r15]
jle 0x10008814c
jmp 0x100087ff5
cmp ebx, dword [rsp + 0x7c]
jb 0x100087fc6
lea eax, [r13 + 1]
cmp eax, dword [rsp + 0x68]
jae 0x100088140
inc r13d
cmp r13d, dword [rsp + 0x68]
jae 0x100087fec
lea rcx, [rsp + 0xd0]
mov edx, r13d
call fcn.1000f2a60
mov ebp, edi
mov dword [rsp + 0x64], edi
mov dword [rsp + 0x74], eax
jmp 0x100087ff5
mov ebp, 1
mov dword [rsp + 0x64], ebp
call fcn.100068a00
mov rbx, qword gs:[0x30]
mov rcx, rax
mov rdi, rax
add rbx, rax
call fcn.10006c530
test eax, eax
jne 0x100088020
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x100088031
mov r8, qword [rbx + 0xd8]
test r8, r8
jne 0x100088068
call fcn.100063d30
call fcn.100068a00
mov rbx, qword gs:[0x30]
mov rcx, rax
mov rdi, rax
add rbx, rax
call fcn.10006c530
test eax, eax
jne 0x100088061
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov r8, qword [rbx + 0xd8]
rdtsc
mov r9, qword [r8 + 0x2f8]
shl rdx, 0x20
or rax, rdx
cmp rax, r9
ja 0x1000880a2
mov rdx, qword [r8 + 0x218]
mov rcx, r9
sub rcx, rax
cmp rcx, qword [rdx + 0xab0]
jbe 0x1000880aa
movabs rax, 0x7fffffffffffffff
cmp r9, rax
je 0x1000880aa
mov rcx, r8
call fcn.1000655c0
inc rsi
movabs rax, 0x624dd2f1a9fbe77
mov rcx, rsi
mov qword [rsp + 0x80], rsi
mul rsi
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
imul rcx, rcx, 0x3e8
cmp rsi, rcx
jne 0x10008811b
xor eax, eax
lea rdx, [rsp + 0xa8]
mov dword [rsp + 0xa8], 0x400069
lea ecx, [rax + 1]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc8], rax
call fcn.100058870
mov rcx, r14
call fcn.100084790
mov ebx, dword [rsp + 0x60]
test eax, eax
jne 0x100087db0
mov rcx, r14
call fcn.1000847e0
test eax, eax
je 0x100088153
jmp 0x100087db0
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x10008814c
mov dword [r15 + 8], edi
mov edi, 1
jmp 0x100088157
mov edi, dword [rsp + 0x78]
mov rdx, qword [r14 + 0x48]
mov r13, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xf8]
add rdx, qword [r14 + 0x40]
mov rsi, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x110]
add rdx, qword [r14 + 0x50]
cmp dword [0x100255a10], 1
mov rbx, qword [rsp + 0x140]
jne 0x10008819f
mov rax, qword [r14 + 0x68]
sub rax, qword [r14 + 0x60]
add rdx, rax
lea rax, [rdx + 1]
cqo
sub rax, rdx
sar rax, 1
cmp qword [r14 + 0x88], rax
jl 0x1000881d0
test byte [r14 + 0x4120], 2
je 0x1000881cb
mov rcx, r14
call fcn.1000846c0
test rax, rax
jg 0x1000881d0
mov edi, 2
mov eax, edi
mov rdi, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.10005f420
add rsp, 0x118
pop r15
pop r14
ret