Function at 0x140041de0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12, rdx
mov rbp, rcx
call sub.KERNEL32.dll_GetCurrentThreadId
mov rcx, rbp
mov r13d, eax
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140041e11
mov rcx, rbp
call fcn.140026580
mov r8, r12
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 8]
call fcn.140041010
mov r14, qword [rsp + 0x30]
cmp byte [r14 + 0x19], 0
jne 0x140041e48
lea r8, [r14 + 0x20]
mov rdx, r12
lea rcx, [rbp + 8]
call fcn.140036850
test al, al
jne 0x140041e48
mov rax, qword [rbp + 8]
jmp 0x140041e4f
mov r14, qword [rbp + 8]
mov rax, r14
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rdi
cmp r14, rax
je 0x140041e6f
mov r14, qword [r14 + 0x40]
jmp 0x140041f2d
mov ecx, 0x20
call fcn.140077830
test rax, rax
je 0x140041e8e
mov rdx, r12
mov rcx, rax
call fcn.14001b890
mov r14, rax
jmp 0x140041e91
xor r14d, r14d
mov r8, r12
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 8]
call fcn.140041010
mov rbx, qword [rsp + 0x30]
cmp byte [rbx + 0x19], 0
jne 0x140041ec1
lea r8, [rbx + 0x20]
mov rdx, r12
lea rcx, [rbp + 8]
call fcn.140036850
test al, al
je 0x140041f29
movabs rax, 0x38e38e38e38e38e
cmp qword [rbp + 0x10], rax
je 0x140042043
mov rdi, qword [rbp + 8]
mov ecx, 0x48
call fcn.140077830
mov rdx, r12
mov rsi, rax
lea rcx, [rax + 0x20]
call fcn.14001b890
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsi + 0x40], 0
lea rdx, [rsp + 0x20]
mov qword [rsi], rdi
lea rcx, [rbp + 8]
mov qword [rsi + 8], rdi
mov r8, rsi
mov qword [rsi + 0x10], rdi
movaps xmmword [rsp + 0x20], xmm0
mov word [rsi + 0x18], 0
call fcn.14002aad0
mov rbx, rax
mov qword [rbx + 0x40], r14
mov rcx, qword [rbp + 0x18]
mov rdi, rcx
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x140041f58
nop
cmp dword [rax + 0x20], r13d
jae 0x140041f4c
mov rax, qword [rax + 0x10]
jmp 0x140041f52
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140041f40
cmp byte [rdi + 0x19], 0
jne 0x140041f64
cmp r13d, dword [rdi + 0x20]
jae 0x140041f67
mov rdi, rcx
call fcn.140041ac0
cmp qword [r14 + 0x18], 0x10
mov rsi, rax
mov rbx, r14
jb 0x140041f7c
mov rbx, qword [r14]
mov ecx, dword [0x140091350]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
jne 0x140041f98
test rbx, rbx
je 0x140041faf
call fcn.140041690
movsxd rcx, dword [rsi]
add rcx, rcx
mov qword [rax + rcx*8], rbx
movsxd rdx, dword [rsi]
mov ecx, dword [rsi + 4]
add rdx, rdx
mov dword [rax + rdx*8 + 8], ecx
mov rsi, qword [rbp + 0x50]
mov rbx, qword [rbp + 0x48]
cmp rbx, rsi
je 0x140041fdf
nop dword [rax]
cmp qword [r14 + 0x18], 0x10
mov rdx, r14
mov rcx, qword [rbx]
mov rax, qword [rcx]
jb 0x140041fd3
mov rdx, qword [r14]
call qword [rax + 8]
add rbx, 8
cmp rbx, rsi
jne 0x140041fc0
cmp rdi, qword [rbp + 0x18]
jne 0x140041ff8
mov rcx, rbp
mov qword [rbp + 0x38], r14
mov dword [rbp + 0x40], r13d
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140042023
lea rdx, [rdi + 0x28]
lea rcx, [rbp + 0x28]
call fcn.1400414c0
mov rcx, rbp
mov qword [rax], r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r14 + 0x18], 0x10
jb 0x14004201b
mov r14, qword [r14]
mov rcx, r14
call fcn.14004cf80
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c750
int3