Function at 0x100117a20
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r15d, r15d
mov r14, rdx
xor ebx, ebx
xor esi, esi
xor r12d, r12d
mov dword [rsp + 0x78], r15d
call fcn.100068a00
mov rbp, qword gs:[0x30]
mov rcx, rax
mov rdi, rax
add rbp, rax
call fcn.10006c530
test eax, eax
jne 0x100117a71
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
test rbp, rbp
je 0x100117a82
mov rbp, qword [rbp + 0xd8]
test rbp, rbp
jne 0x100117ab9
call fcn.100063d30
call fcn.100068a00
mov rbp, qword gs:[0x30]
mov rcx, rax
mov rdi, rax
add rbp, rax
call fcn.10006c530
test eax, eax
jne 0x100117ab2
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov rbp, qword [rbp + 0xd8]
lea r13, [rbp + 0x300]
cmp rbp, qword [r14 + 0x28]
jne 0x100117ceb
cmp qword [r13 + 8], rbx
jbe 0x100117ceb
mov eax, dword [rbp + 0x8c]
sub eax, dword [r14 + 0x20]
mov dword [rsp + 0x78], eax
je 0x100117af7
dec eax
mov r15d, 0x13
shr eax, 1
inc eax
cmp eax, r15d
cmovb r15d, eax
mov rsi, qword [rbp + 0x3a0]
mov rbx, qword [rbp + 0x2e8]
call fcn.10011b7d0
test eax, eax
je 0x100117b26
lea rcx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r11, qword [rsp + 0x80]
jmp 0x100117b2e
mov r11, qword [0x7ffe0008]
cmp r11, rbx
jb 0x100117b38
sub r11, rbx
jmp 0x100117b3b
xor r11d, r11d
mov rax, qword [r14 + 8]
add rsi, r11
cmp rsi, rax
jb 0x100117b4c
sub rsi, rax
jmp 0x100117b4e
xor esi, esi
cmp qword [r13 + 8], r12
je 0x100117b77
rdtsc
shl rdx, 0x20
or rax, rdx
mov rcx, rax
mov rax, qword [r13 + 0x10]
cmp rcx, rax
jbe 0x100117b6e
sub rcx, rax
jmp 0x100117b70
xor ecx, ecx
mov r12, qword [r13 + 0x18]
add r12, rcx
sub r12, qword [r14 + 0x10]
call fcn.10006af30
xor edx, edx
mov r11, rax
mov rax, r12
or rbx, 0xffffffffffffffff
div r11
mov rdi, rax
mov qword [rsp + 0x80], rax
cmp rax, rbx
jne 0x100117ba4
mov rdi, rbx
jmp 0x100117be8
call fcn.10011b7d0
test eax, eax
je 0x100117be1
call fcn.10011b7f0
mov rdi, rax
movabs rax, 0x624dd2f1a9fbe77
imul rdi, qword [rsp + 0x80]
add rdi, 0x3e7
mul rdi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 9
jmp 0x100117be8
imul rdi, rdi, 0x2710
mov ebp, dword [rbp + 0x88]
sub ebp, dword [r14 + 4]
cmp rbp, 0xffffffffffffffff
je 0x100117c3d
call fcn.10011b7d0
test eax, eax
je 0x100117c33
call fcn.10011b7f0
mov rbx, rax
imul rbx, rbp
movabs rbp, 0x624dd2f1a9fbe77
mov rax, rbp
add rbx, 0x3e7
mul rbx
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 9
jmp 0x100117c47
mov rbx, rbp
imul rbx, rbx, 0x2710
movabs rbp, 0x624dd2f1a9fbe77
lea rcx, [rbx + rsi]
cmp rsi, rbx
jbe 0x100117c68
mov rax, rsi
sub rax, rbx
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x88]
jmp 0x100117c76
mov qword [rsp + 0x20], 0
lea rax, [rsp + 0x20]
mov rax, qword [rax]
cmp rax, rdi
cmova rdi, rax
cmp rdi, rcx
cmova rdi, rcx
call fcn.10011b7d0
test eax, eax
je 0x100117cb6
call fcn.10011b7f0
lea rcx, [rax + rax*2]
mov rax, rbp
lea rcx, [rcx*2 + 0x3e7]
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
jmp 0x100117cbb
mov ecx, 0xea60
xor edx, edx
mov rax, rdi
div rcx
mov rbx, rax
test eax, eax
je 0x100117ce1
mov r8d, 8
lea edx, [rax - 1]
shr edx, 1
inc edx
cmp edx, r8d
cmovb r8d, edx
add r15d, r8d
mov rcx, r13
call fcn.100065150
jmp 0x100117cf1
mov r15d, 2
mov ecx, dword [r14 + 0x38]
mov eax, 4
shr ecx, 4
cmp ecx, eax
cmovb eax, ecx
add r15d, eax
je 0x100117d15
mov ecx, r15d
mov eax, 1
shl eax, cl
test eax, eax
jne 0x100117d17
xor eax, eax
or dword [r14 + 0x40], 1
mov dword [r14], eax
mov eax, dword [rsp + 0x78]
mov dword [r14 + 4], ebx
mov rbx, qword [rsp + 0x70]
mov dword [r14 + 0x20], eax
mov dword [r14 + 0x30], r15d
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], r12
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret