Function at 0x10009a800
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], r8
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbp
mov rbx, r8
movsxd rsi, ecx
mov ecx, edx
call fcn.10006bf10
mov r12, rax
mov ebp, dword [rsp + 0xa8]
mov r15d, ebp
and r15d, 0x12f0002
xor r14d, r14d
mov edi, r14d
cmp esi, 0xb
ja case.0x10009a865.8
lea rax, [0x100000000]
mov edx, dword [rax + rsi*4 + 0x9adb8]
add rdx, rax
jmp rdx
mov rdi, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rdi
cmp rax, 0x90
jge 0x10009a87f
mov rdi, r14
jmp 0x10009a8b0
lea rcx, [rdi + 0x90]
mov rax, qword [rbx + 0x28]
mov edx, 0x88
mov word [rax], dx
add rax, 2
test al, 0xf
jne 0x10009a8a8
mov qword [rbx + 0x28], rcx
lea rax, [rcx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009a8b0
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x10009a8ef
mov dword [rdi + 8], 1
lea rax, [0x10001d230]
mov qword [rdi], rax
mov qword [rdi + 0x10], 0x2000
mov dword [rdi + 0x18], r14d
mov qword [rdi + 0x20], r14
mov dword [rdi + 0x28], r14d
mov qword [rdi + 0x30], r14
lea rax, [0x10001d730]
mov qword [rdi], rax
jmp 0x10009a8f2
mov rdi, r14
jmp 0x10009ad83
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
cmp rax, 0x460
jge 0x10009a90f
mov rcx, r14
jmp 0x10009a942
lea rdx, [rcx + 0x460]
mov rax, qword [rbx + 0x28]
mov r8d, 0x458
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009a93a
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009a942
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009a956
call fcn.1000962d0
mov rdi, rax
jmp 0x10009a959
mov rdi, r14
call fcn.100068a00
mov rsi, qword gs:[0x30]
mov r14, rax
add rsi, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10009a985
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
test rsi, rsi
je 0x10009a996
mov r8, qword [rsi + 0xd8]
test r8, r8
jne 0x10009a9ce
call fcn.100063d30
call fcn.100068a00
mov r14, rax
mov rsi, qword gs:[0x30]
add rsi, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x10009a9c7
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov r8, qword [rsi + 0xd8]
shr ebp, 0x19
and ebp, 1
mov dword [rsp + 0x28], ebp
mov r8, qword [r8 + 0x210]
jmp 0x10009ad70
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
mov r8d, 0x150
cmp rax, r8
jge 0x10009a9ff
mov rcx, r14
jmp 0x10009aa2c
lea rdx, [rcx + 0x150]
mov rax, qword [rbx + 0x28]
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009aa24
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009aa2c
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009aa40
call fcn.10009a420
mov rdi, rax
jmp 0x10009aa43
mov rdi, r14
jmp 0x10009ad83
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
cmp rax, 0xe0
jge 0x10009aa60
mov rcx, r14
jmp 0x10009aa93
lea rdx, [rcx + 0xe0]
mov rax, qword [rbx + 0x28]
mov r8d, 0xd8
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009aa8b
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009aa93
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009aaa7
call fcn.10009c290
mov rdi, rax
jmp 0x10009aaaa
mov rdi, r14
jmp 0x10009ad83
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
mov r8d, 0x520
cmp rax, r8
jge 0x10009aaca
mov rcx, r14
jmp 0x10009aaf7
lea rdx, [rcx + 0x520]
mov rax, qword [rbx + 0x28]
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009aaef
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009aaf7
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009ab0b
call fcn.100098270
mov rdi, rax
jmp 0x10009ab0e
mov rdi, r14
jmp 0x10009ad68
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
cmp rax, 0x4b0
jge 0x10009ab2b
mov rcx, r14
jmp 0x10009ab5e
lea rdx, [rcx + 0x4b0]
mov rax, qword [rbx + 0x28]
mov r8d, 0x4a8
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009ab56
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009ab5e
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009ab72
call fcn.10009c3c0
mov rdi, rax
jmp 0x10009ab75
mov rdi, r14
jmp 0x10009a959
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
mov r8d, 0x1a0
cmp rax, r8
jge 0x10009ab95
mov rcx, r14
jmp 0x10009abc2
lea rdx, [rcx + 0x1a0]
mov rax, qword [rbx + 0x28]
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009abba
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009abc2
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009abd6
call fcn.10009a710
mov rdi, rax
jmp 0x10009abd9
mov rdi, r14
jmp 0x10009ad83
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
mov r8d, 0x570
cmp rax, r8
jge 0x10009abf9
mov rcx, r14
jmp 0x10009ac26
lea rdx, [rcx + 0x570]
mov rax, qword [rbx + 0x28]
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009ac1e
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009ac26
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009ac3a
call fcn.100098530
mov rdi, rax
jmp 0x10009ac3d
mov rdi, r14
jmp 0x10009ad68
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
mov r8d, 0x210
cmp rax, r8
jge 0x10009ac5d
mov rcx, r14
jmp 0x10009ac8a
lea rdx, [rcx + 0x210]
mov rax, qword [rbx + 0x28]
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009ac82
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009ac8a
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009ac9e
call fcn.10009e920
mov rdi, rax
jmp 0x10009aca1
mov rdi, r14
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
mov rdx, rbx
mov rcx, rdi
call fcn.10009df10
test eax, eax
jne 0x10009ad83
mov rdi, r14
jmp case.0x10009a865.8
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
sub rax, rcx
mov r8d, 0x5e0
cmp rax, r8
jge 0x10009acf4
mov rcx, r14
jmp 0x10009ad21
lea rdx, [rcx + 0x5e0]
mov rax, qword [rbx + 0x28]
mov word [rax], r8w
add rax, 2
test al, 0xf
jne 0x10009ad19
mov qword [rbx + 0x28], rdx
lea rax, [rdx + 0x10]
mov qword [rbx + 0x20], rax
jmp 0x10009ad21
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x10009ad35
call fcn.1000a0e90
mov rdi, rax
jmp 0x10009ad38
mov rdi, r14
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
mov rdx, rbx
mov rcx, rdi
call fcn.1000a0480
test eax, eax
je 0x10009acd1
mov dword [rsp + 0x28], r14d
xor r8d, r8d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov rdx, r12
mov rcx, rdi
call fcn.100111010
test rdi, rdi
je case.0x10009a865.8
mov r8, qword [rsp + 0x90]
mov rdx, rbx
mov rcx, rdi
call fcn.1001082a0
mov rax, rdi
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret