Function at 0x100065c90
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r12
push r13
push r14
push r15
mov eax, 0x1250
call fcn.10005f3c0
sub rsp, rax
lea rbp, [rsp + 0x40]
mov qword [rbp + 8], 0xfffffffffffffffe
mov qword [rbp + 0x1248], rbx
mov qword [rbp + 0x1250], rsi
mov qword [rbp + 0x1258], rdi
mov rax, qword [0x10022f440]
xor rax, rbp
mov qword [rbp + 0x1200], rax
mov rdi, rcx
mov r12, qword [rcx + 0x390]
mov r14, qword [rcx + 0x388]
mov r15, qword [rcx + 0x218]
call fcn.100068a00
mov rsi, rax
mov rcx, qword gs:[0x30]
lea rbx, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100065d1e
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x100065d2f
mov rbx, qword [rbx + 0xd8]
test rbx, rbx
jne 0x100065d67
call fcn.100063d30
call fcn.100068a00
mov rbx, rax
mov rcx, qword gs:[0x30]
lea rsi, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100065d60
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov rbx, qword [rsi + 0xd8]
mov r13, qword [rbx + 0x388]
mov rsi, qword [rbx + 0x218]
mov rax, qword [rbx + 0x390]
mov qword [rbp], rax
test rsi, rsi
jne 0x100065dab
mov rax, qword [r15 + 0xac0]
mov qword [rbx + 0x388], r14
mov qword [rbx + 0x218], r15
mov qword [rbx + 0x390], rax
mov eax, dword [r15 + 0xa98]
mov dword [rbx + 0x7c], eax
mov rdx, qword [rdi + 0x3d8]
mov r14d, 0x200
test rdx, rdx
je 0x100065e01
mov rax, rdx
and rax, 0xffffffffffffe000
je 0x100065dd3
cmp word [rax + 4], r14w
jne 0x100065dd3
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
je 0x100065df1
cmp word [rcx + 4], r14w
jne 0x100065df1
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100065e01
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rdx, qword [rdi + 0x1d0]
test rdx, rdx
je 0x100065e51
mov rax, rdx
and rax, 0xffffffffffffe000
je 0x100065e23
cmp word [rax + 4], r14w
jne 0x100065e23
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
je 0x100065e41
cmp word [rcx + 4], r14w
jne 0x100065e41
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100065e51
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, rdi
call fcn.100065610
lea rcx, [rdi + 0x30]
call fcn.1000630a0
test byte [rdi + 0x2d8], 8
je 0x100065e7d
mov rcx, qword [rdi + 0x238]
test rcx, rcx
je 0x100065e7d
call qword [sym.imp.KERNEL32.dll_DeleteFiber]
cmp rbx, rdi
jne 0x100065f3d
call fcn.100068a00
mov rbx, rax
mov rcx, qword gs:[0x30]
lea r14, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x100065eb2
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, rax
xor esi, esi
mov qword [rdi + 0x228], rsi
mov qword [r14 + 0xd8], rsi
call fcn.10006aeb0
mov rcx, qword [rax + 8]
shl rcx, 3
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x100065ee2
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.10005f3c0
sub rsp, rax
lea rbx, [rsp + 0x40]
call fcn.10006aeb0
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], esi
mov r9, rbx
mov r8, qword [rax + 8]
xor edx, edx
lea rcx, [rbp + 0x10]
call fcn.1000675e0
nop
mov edx, 1
mov rcx, rdi
call fcn.1000667f0
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 0x10]
nop
lea rcx, [rbp + 0x10]
call fcn.100067830
jmp 0x100065f73
mov edx, 1
mov rcx, rdi
call fcn.1000667f0
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 0x10]
test rsi, rsi
jne 0x100065f73
mov qword [rbx + 0x388], r13
mov qword [rbx + 0x218], rsi
mov rax, qword [rbp]
mov qword [rbx + 0x390], rax
mov rcx, qword [rbp + 0x1200]
xor rcx, rbp
call fcn.10005f420
mov rbx, qword [rbp + 0x1248]
mov rsi, qword [rbp + 0x1250]
mov rdi, qword [rbp + 0x1258]
lea rsp, [rbp + 0x1210]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret