Function at 0x140134fe0
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140213038]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov qword [rcx + 0x18], 0
mov qword [rcx + 0x20], r9
test rdx, rdx
jne 0x140135059
xor ebp, ebp
mov qword [rsi], rbp
shl rbx, 4
add rbx, rbp
mov qword [rsi + 0x10], rbx
mov qword [rsi + 8], rbx
shl rdi, 4
add rdi, rbp
mov qword [rsi + 0x18], rdi
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401013e0
mov rax, rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140132790
mov qword [rsp + 0x40], rax
mov r15, rax
mov rbp, rdi
shl rbp, 4
mov eax, 0x40
mov ecx, 0x40
je 0x140135081
bsr rcx, rbp
xor rcx, 0x3f
sub rax, rcx
lea rcx, [0x1401dc230]
mov cl, byte [rax + rcx]
mov rdx, rbp
shr rdx, cl
and edx, 7
lea rcx, [0x1401dc280]
mov rcx, qword [rcx + rax*8]
and rcx, rbp
lea rax, [rdx + rax*8]
cmp rcx, 1
sbb rax, 0xffffffffffffffff
lea rcx, [0x1401dc488]
movzx r13d, word [rcx + rax*2 + 0x400]
mov byte [rsp + 0x4f], 0
cmp byte [r15 + 2], 0
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], r15
je 0x140135177
mov r14d, dword [0x140221510]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, rax
test r12d, r12d
jne 0x14013516c
cmp r14, 1
jbe 0x1401351d9
inc qword [r14 + 0x298]
cmp r13w, 0x29
jae 0x1401351ff
mov r12, r13
shl r12, 4
mov r15, r14
add r15, r12
cmp qword [r14 + r12], 0
je 0x1401352ac
inc qword [r14 + 0x2a0]
mov rbp, qword [r15]
mov rax, qword [rbp]
test rax, rax
je 0x140135153
mov rcx, rax
not rcx
cmp qword [rbp + 8], rcx
jne 0x1401352d6
bswap rax
dec byte [r14 + r12 + 8]
mov qword [r15], rax
test rbp, rbp
jne 0x14013501b
jmp 0x14013520d
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1401350fc
lea rax, [r13*4]
add rax, r13
mov r15, qword [rsp + 0x40]
lea r13, [r15 + rax*8]
add r13, 0x10
add r15, 8
mov ebp, 1
xor r14d, r14d
mov r12, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rcx, r15
call r12
test al, al
jne 0x14013526e
jmp 0x1401352ea
pause
dec eax
jne 0x1401351b5
add r14d, ebp
add ebp, ebp
cmp ebp, 0x40
mov eax, 0x40
cmovge ebp, eax
cmp r14d, 0x3e8
jl 0x1401351a2
jmp 0x140135266
je 0x14013520d
mov rbp, qword [rsp + 0x30]
mov byte [rbp + 2], 0
mov rcx, rbp
call fcn.1400f6c10
mov r14, rax
mov byte [rbp + 2], 1
inc qword [rax + 0x298]
jmp 0x14013510d
inc qword [r14 + 0x2b8]
inc qword [r14 + reloc.SHELL32.dll_IsUserAnAdmin]
lea rax, [r13*4]
add rax, r13
mov r15, qword [rsp + 0x40]
lea r13, [r15 + rax*8]
add r13, 0x10
add r15, 8
mov ebp, 1
xor r14d, r14d
mov r12, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rcx, r15
call r12
test al, al
jne 0x14013526e
jmp 0x1401352db
pause
dec eax
jne 0x140135247
add r14d, ebp
add ebp, ebp
cmp ebp, 0x40
mov eax, 0x40
cmovge ebp, eax
cmp r14d, 0x3e8
jl 0x140135238
mov rcx, r15
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [r13]
mov rbp, qword [rax]
test rbp, rbp
je 0x1401352f9
mov byte [rsp + 0x4f], 0
mov rcx, qword [rbp]
test rcx, rcx
je 0x140135294
mov rdx, rcx
not rdx
cmp qword [rbp + 8], rdx
jne 0x1401352d6
bswap rcx
mov qword [rax], rcx
inc word [rax + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14013501b
inc qword [r14 + 0x2b0]
inc qword [r14 + reloc.SHELL32.dll_IsUserAnAdmin]
mov rcx, r14
mov rdx, r13
call fcn.1400f6e90
mov rbp, qword [r15]
test rbp, rbp
jne 0x14013513a
jmp 0x14013520d
call 0x140131100
mov eax, ebp
test ebp, ebp
jg 0x140135247
jmp 0x140135250
mov eax, ebp
test ebp, ebp
jg 0x1401351b5
jmp 0x1401351be
lea rax, [rsp + 0x4f]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
mov r9, qword [rsp + 0x38]
call fcn.1400cea80
mov rbp, rax
jmp 0x14013529e