Function at 0x100125a80
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rdi
sub rsp, 0xf0
mov qword [r11 - 0x60], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rdi, rcx
lea rax, [0x100033420]
mov qword [rcx], rax
xor edx, edx
lea rax, [fcn.100062040]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rcx, [r11 - 0x48]
call fcn.10005b410
nop
mov rdx, qword [rdi + 0xe0]
mov ebx, 0x200
test rdx, rdx
je 0x100125b2d
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x38], rax
je 0x100125af6
cmp word [rax + 4], bx
jne 0x100125af6
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x38], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x50], rcx
je 0x100125b1d
cmp word [rcx + 4], bx
jne 0x100125b1d
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100125b2d
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rdx, qword [rdi + 0xe8]
test rdx, rdx
je 0x100125b8f
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x48], rax
je 0x100125b58
cmp word [rax + 4], bx
jne 0x100125b58
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x48], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x68], rcx
je 0x100125b7f
cmp word [rcx + 4], bx
jne 0x100125b7f
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100125b8f
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rdx, qword [rdi + 0xb0]
test rdx, rdx
je 0x100125bf1
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x60], rax
je 0x100125bba
cmp word [rax + 4], bx
jne 0x100125bba
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x60], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x58], rcx
je 0x100125be1
cmp word [rcx + 4], bx
jne 0x100125be1
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100125bf1
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rdx, qword [rdi + 0xb8]
test rdx, rdx
je 0x100125c53
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x30], rax
je 0x100125c1c
cmp word [rax + 4], bx
jne 0x100125c1c
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x40], rcx
je 0x100125c43
cmp word [rcx + 4], bx
jne 0x100125c43
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100125c53
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x100125c69
mov edx, 1
call fcn.100123b30
lea rbx, [rdi + 8]
mov qword [rsp + 0x108], rbx
mov dword [rsp + 0x70], 0x80000c2
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x90], rax
lea r8, [rsp + 0x70]
or edx, 0xffffffff
mov rcx, rbx
call fcn.10005b250
nop
mov rcx, qword [rdi + 0xf0]
call fcn.100124810
mov rcx, rdi
call fcn.100126230
mov rcx, qword [rdi + 0xa0]
cmp rcx, 0xffffffffffffffff
je 0x100125cde
call fcn.1001200f0
mov qword [rdi + 0xa0], 0xffffffffffffffff
mov rcx, rbx
call fcn.10005b360
nop
lea rcx, [rsp + 0xb0]
call fcn.10005b4f0
nop
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100125d20
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x100125d31
mov rax, qword [rbx + 0xd8]
test rax, rax
jne 0x100125d68
call fcn.100063d30
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100125d61
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rax, qword [rbx + 0xd8]
cmp dword [rax + 0x204], 0
je 0x100125d76
call fcn.1000618f0
mov rbx, qword [rsp + 0x110]
add rsp, 0xf0
pop rdi
ret