Function at 0x1000101e4
Capabilities:
Get thread local storage value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
mov r9d, dword [0x10001e1c0]
lea r12, [0x100002764]
mov ebp, 0x20
mov rdx, rbp
mov r8, r12
mov rbx, rcx
call fcn.10000e168
or rsi, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
mov rcx, rsi
lea r15d, [rbp - 0x1f]
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x684]
jle 0x10001023b
mov dword [rbx + 0x684], ecx
mov r9d, dword [0x10001e1d8]
lea rdi, [rbx + 0x40]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x688]
jle 0x100010270
mov dword [rbx + 0x688], ecx
mov r9d, dword [0x10001e1f0]
lea rdi, [rbx + 0x80]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x68c]
jle 0x1000102a8
mov dword [rbx + 0x68c], ecx
mov r9d, dword [0x10001e220]
lea rdi, [rbx + 0xc0]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x690]
jle 0x1000102e0
mov dword [rbx + 0x690], ecx
mov r9d, dword [0x10001e208]
lea rdi, [rbx + 0x100]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x694]
jle 0x100010318
mov dword [rbx + 0x694], ecx
mov r9d, dword [0x10001e238]
lea rdi, [rbx + 0x140]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x698]
jle 0x100010350
mov dword [rbx + 0x698], ecx
mov r9d, dword [0x10001e1c4]
lea rdi, [rbx + 0x180]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x684]
jle 0x100010388
mov dword [rbx + 0x684], ecx
mov r9d, dword [0x10001e1dc]
lea rdi, [rbx + 0x1c0]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x688]
jle 0x1000103c0
mov dword [rbx + 0x688], ecx
mov r9d, dword [0x10001e1f4]
lea rdi, [rbx + 0x200]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x68c]
jle 0x1000103f8
mov dword [rbx + 0x68c], ecx
mov r9d, dword [0x10001e224]
lea rdi, [rbx + 0x240]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x690]
jle 0x100010430
mov dword [rbx + 0x690], ecx
mov r9d, dword [0x10001e20c]
lea rdi, [rbx + 0x280]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x694]
jle 0x100010468
mov dword [rbx + 0x694], ecx
mov r9d, dword [0x10001e23c]
lea rdi, [rbx + 0x2c0]
mov r8, r12
mov rcx, rdi
mov rdx, rbp
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x698]
jle 0x1000104a0
mov dword [rbx + 0x698], ecx
lea rdi, [rbx + 0x300]
lea rcx, [0x10001e1b8]
mov rdx, rdi
call fcn.1000165e4
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x684]
jle 0x1000104d2
mov dword [rbx + 0x684], ecx
lea rdi, [rbx + 0x340]
lea rcx, [0x10001e1d0]
mov rdx, rdi
call fcn.1000165e4
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x688]
jle 0x100010504
mov dword [rbx + 0x688], ecx
lea rdi, [rbx + 0x380]
lea rcx, [0x10001e1e8]
mov rdx, rdi
call fcn.1000165e4
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x68c]
jle 0x100010536
mov dword [rbx + 0x68c], ecx
lea rdi, [rbx + 0x3c0]
lea rcx, [0x10001e218]
mov rdx, rdi
call fcn.1000165e4
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x690]
jle 0x100010568
mov dword [rbx + 0x690], ecx
lea rdi, [rbx + 0x400]
lea rcx, [0x10001e200]
mov rdx, rdi
call fcn.1000165e4
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x694]
jle 0x10001059a
mov dword [rbx + 0x694], ecx
lea rdi, [rbx + 0x440]
lea rcx, [0x10001e230]
mov rdx, rdi
call fcn.1000165e4
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x698]
jle 0x1000105cc
mov dword [rbx + 0x698], ecx
cmp dword [0x100080460], eax
jne 0x1000105dd
mov rcx, qword [0x10001e170]
jmp 0x1000105f9
mov ecx, dword [0x10001e17c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [0x10001e170]
test rax, rax
je 0x1000105f9
lea rcx, [rax + 0x20]
call fcn.1000117c0
cmp dword [0x100080460], 0
movsxd rsi, eax
jne 0x100010613
mov rax, qword [0x10001e160]
jmp 0x10001062a
mov ecx, dword [0x10001e17c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
cmove rax, qword [0x10001e160]
mov rcx, rax
call fcn.1000117c0
cmp dword [0x100080460], 0
movsxd r13, eax
jne 0x100010647
mov rcx, qword [0x10001e168]
jmp 0x100010663
mov ecx, dword [0x10001e17c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [0x10001e168]
test rax, rax
je 0x100010663
lea rcx, [rax + 0x10]
call fcn.1000117c0
mov rbp, rsi
movsxd r12, eax
sub rbp, r12
sub rbp, r13
cmp dword [0x100080460], 0
je 0x10001074e
lea r12, [0x10001e298]
mov rcx, r12
call fcn.1000117c0
mov ecx, 2
mov edi, eax
call fcn.10000bc4c
lea rcx, [0x10001e278]
add edi, eax
movsxd rsi, edi
call fcn.1000117c0
xor ecx, ecx
mov edi, eax
call fcn.10000bc4c
lea rcx, [0x10001e288]
add edi, eax
movsxd rbp, edi
cmp rbp, rsi
cmovae rbp, rsi
call fcn.1000117c0
mov ecx, r15d
mov edi, eax
call fcn.10000bc4c
add edi, eax
movsxd rdi, edi
cmp rdi, rsi
jb 0x1000106e8
mov rdi, rsi
sub rdi, rbp
test rsi, rsi
je 0x100010702
mov rcx, r12
call fcn.1000117c0
xor edx, edx
cdqe
imul rax, rbp
div rsi
jmp 0x100010704
xor eax, eax
mov r13d, eax
test rsi, rsi
je 0x100010721
mov rcx, r12
call fcn.1000117c0
xor edx, edx
cdqe
imul rax, rdi
div rsi
jmp 0x100010723
xor eax, eax
mov r12d, eax
test rsi, rsi
je 0x10001074a
lea rcx, [0x10001e298]
call fcn.1000117c0
mov rcx, rsi
xor edx, edx
cdqe
sub rcx, rbp
imul rax, rcx
div rsi
jmp 0x10001074c
xor eax, eax
mov ebp, eax
mov rcx, qword [0x10002f038]
mov r9d, 0x100
lea r8, [0x10007f8f0]
lea edx, [r9 - 0x4b]
call qword [sym.imp.USER32.dll_LoadStringW]
mov edi, 0x88888889
mov eax, 0x10624dd3
imul esi
mov r8d, edx
sar r8d, 6
mov eax, r8d
shr eax, 0x1f
add r8d, eax
mov eax, edi
imul r8d
lea ecx, [r8 + rdx]
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov eax, edi
lea rdi, [rbx + 0x480]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov r9d, edx
imul eax, eax, 0x3c
sub r8d, eax
mov eax, edx
mov dword [rsp + 0x28], r8d
lea r8, [0x10007f8f0]
mov edx, 0x20
imul eax, eax, 0x3c
sub ecx, eax
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.10000e168
or rsi, 0xffffffffffffffff
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x684]
jle 0x100010801
mov dword [rbx + 0x684], ecx
mov edi, 0x88888889
mov eax, 0x10624dd3
imul r13d
mov r13d, 0x20
mov r8d, edx
sar r8d, 6
mov eax, r8d
shr eax, 0x1f
add r8d, eax
mov eax, edi
imul r8d
lea ecx, [r8 + rdx]
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov eax, edi
lea rdi, [rbx + 0x4c0]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov r9d, edx
imul eax, eax, 0x3c
sub r8d, eax
mov eax, edx
mov dword [rsp + 0x28], r8d
lea r8, [0x10007f8f0]
mov rdx, r13
imul eax, eax, 0x3c
sub ecx, eax
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x688]
jle 0x100010897
mov dword [rbx + 0x688], ecx
mov edi, 0x88888889
mov eax, 0x10624dd3
imul r12d
lea r12, [0x10007f8f0]
mov r8d, edx
sar r8d, 6
mov eax, r8d
shr eax, 0x1f
add r8d, eax
mov eax, edi
imul r8d
lea ecx, [r8 + rdx]
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov eax, edi
lea rdi, [rbx + 0x580]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov r9d, edx
imul eax, eax, 0x3c
sub r8d, eax
mov eax, edx
mov dword [rsp + 0x28], r8d
mov r8, r12
mov rdx, r13
imul eax, eax, 0x3c
sub ecx, eax
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x694]
jle 0x10001092a
mov dword [rbx + 0x694], ecx
mov edi, 0x88888889
mov eax, 0x10624dd3
imul ebp
mov r9d, edx
sar r9d, 6
mov eax, r9d
shr eax, 0x1f
add r9d, eax
mov eax, edi
imul r9d
mov eax, edi
lea rdi, [rbx + 0x5c0]
lea r8d, [r9 + rdx]
sar r8d, 5
mov ecx, r8d
shr ecx, 0x1f
add r8d, ecx
mov rcx, rdi
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
imul eax, eax, 0x3c
sub r9d, eax
mov eax, edx
mov dword [rsp + 0x28], r9d
mov r9d, edx
mov rdx, r13
imul eax, eax, 0x3c
sub r8d, eax
mov dword [rsp + 0x20], r8d
mov r8, r12
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x698]
jle 0x1000109bd
mov dword [rbx + 0x698], ecx
cmp dword [0x100080354], eax
jne 0x100010ad0
cmp dword [0x100080460], eax
jne 0x1000109da
mov rax, qword [0x10001e160]
jmp 0x1000109f1
mov ecx, dword [0x10001e17c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
cmove rax, qword [0x10001e160]
mov rcx, rax
call fcn.1000117c0
test eax, eax
je 0x100010ad0
cmp qword [0x10001e1e0], 0
je 0x100010ad0
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x78]
call fcn.1000100d0
mov rcx, qword [0x10002f038]
mov ebp, 0x100
lea edx, [rbp - 0x5a]
mov r9d, ebp
mov r8, r12
call qword [sym.imp.USER32.dll_LoadStringW]
mov r9, qword [rsp + 0x78]
lea rdi, [rbx + 0x600]
mov rcx, rdi
mov r8, r12
mov rdx, r13
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x69c]
jle 0x100010a77
mov dword [rbx + 0x69c], ecx
mov rcx, qword [0x10002f038]
mov r9d, ebp
mov r8, r12
mov edx, 0xa7
call qword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [rsp + 0x70]
mov r9, qword [rsp + 0x80]
lea rdi, [rbx + 0x640]
mov r8, r12
mov rdx, r13
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.10000e168
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp ecx, dword [rbx + 0x69c]
jle 0x100010ad0
mov dword [rbx + 0x69c], ecx
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret