Function at 0x140048f80
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, 0x78
mov ebp, r9d
mov r13d, r8d
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140131038]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, qword [0x14013a308]
cmp rbx, 1
jbe 0x140049582
mov ecx, dword [0x140134758]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140049744
movsxd rcx, dword [rbx]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rbx + 4]
jne 0x140049744
mov rax, qword [rax + rcx]
mov qword [rsi], rax
mov rbx, qword [0x14013a348]
cmp rbx, 1
jbe 0x140049686
mov ecx, dword [0x140134758]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14004974b
movsxd rcx, dword [rbx]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rbx + 4]
jne 0x14004974b
mov rax, qword [rax + rcx]
mov qword [rsi + 8], rax
cmp r13d, 1
je 0x140049752
test rax, rax
jne 0x1400494b8
xor eax, eax
mov byte [rsi + 0x10], al
lea r12, [rsi + 0x18]
mov rdi, qword [rdi + 0x18]
mov qword [rsp + 0x30], 0x11be9915
mov rcx, qword [0x140138090]
test rcx, rcx
jne 0x140049759
mov qword [r12], 0
mov qword [rsi + 0x28], 0
mov dword [rsi + 0x30], 0x11be9915
mov byte [rsi + 0x38], 0
mov rdi, qword [0x14013a348]
cmp rdi, 1
jbe 0x1400496d3
mov ecx, dword [0x140134758]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140049731
movsxd rcx, dword [rdi]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [rdi + 4]
movsxd rdx, dword [rdi]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rdi, qword [0x14013be88]
cmp rdi, 1
jbe 0x140049639
mov ecx, dword [0x140134758]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140049186
movsxd rcx, dword [rdi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rdi + 4]
jne 0x140049186
mov rax, qword [rax + rcx]
test rax, rax
je 0x140049186
cmp byte [rax], 0
jne 0x140049186
mov eax, dword [0x14013be9c]
mov ecx, dword [0x140134a78]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140049604
cmp byte [0x14013be98], 0
je 0x140049186
mov rcx, qword [rsi]
test rcx, rcx
je 0x140049158
mov rax, qword [rsi + 8]
test rax, rax
jne 0x1400494fa
mov edx, r13d
call fcn.1400747b0
mov rax, qword [r12]
test rax, rax
jne 0x14004978e
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140079ea0
mov rax, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test ebp, ebp
jne 0x140049360
cmp byte [rsi + 0x10], 0
jne 0x140049360
cmp qword [rsi + 8], 0
jne 0x14004913b
cmp byte [rsi + 0x38], 0
jne 0x140049837
lea rcx, [rsi + 0x40]
call qword [fcn.140049dd0]
mov r14, qword [rsi + 0x40]
mov eax, dword [0x14013a320]
mov ecx, dword [0x140134a78]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140049518
lea rcx, [0x14013a318]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140049720
mov eax, dword [0x14013a340]
mov ecx, dword [0x140134a78]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14004954d
cmp qword [0x14013a338], 0
je 0x140049342
mov eax, dword [0x14013a330]
mov ecx, dword [0x140134a78]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400495cf
mov rbp, qword [0x14013a328]
movabs r15, 0x7fffffffffffffff
mov rbx, r14
test rbp, rbp
je 0x140049297
mov rax, qword [rbp + 0x1f0]
mov ebx, 0x3938700
xor ecx, ecx
mov edx, 0x3938700
add rdx, rax
setns cl
add rcx, r15
add rbx, rax
cmovo rbx, rcx
cmp rbx, r14
jle 0x140049297
mov qword [rsi + 0x48], rbp
lock inc dword [rbp]
jmp 0x14004934a
mov rax, r14
sub rax, rbx
cmp rax, 0x989680
jl 0x1400492af
mov byte [rbp + 0x200], 1
mov rbx, r14
mov ecx, 0x208
call fcn.140076ec8
mov rdi, rax
mov dword [rax], 0
lea rcx, [rax + 8]
mov r8d, 0x1e8
xor edx, edx
call fcn.14007c4d0
mov qword [rdi + 0x1f0], rbx
mov qword [rdi + 0x1f8], 0
mov byte [rdi + 0x200], 0
lock add dword [rdi], 1
test rbp, rbp
je 0x1400493aa
mov ebx, r13d
cmp byte [rbp + 0x200], 0
je 0x1400494c0
mov rbp, qword [0x14013a328]
lock inc dword [rdi]
mov qword [0x14013a328], rdi
test rbp, rbp
mov r13d, ebx
je 0x1400493b4
lock dec dword [rbp]
jne 0x1400493b4
mov rcx, rbp
call fcn.1400ab9b0
mov rcx, rbp
call fcn.140076eb8
jmp 0x1400493b4
mov qword [rsi + 0x48], 0
lea rcx, [0x14013a318]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov byte [rsi + 0x38], 1
jmp 0x14004913b
mov rax, qword [rsi + 8]
test rax, rax
je 0x14004913b
cmp byte [rax + 0x38], 0
je 0x14004913b
mov rdi, qword [rax + 0x48]
mov qword [rax + 0x48], 0
test rdi, rdi
je 0x14004913b
lock dec dword [rdi]
jne 0x14004913b
mov rcx, rdi
call fcn.1400ab9b0
mov rcx, rdi
call fcn.140076eb8
jmp 0x14004913b
lock inc dword [rdi]
mov qword [0x14013a328], rdi
lea rcx, [0x14013a318]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
sub r14, qword [rdi + 0x1f0]
lea rax, [r14 + r15]
add rax, 2
cmp rax, 2
jae 0x1400493e3
lea rbp, [r15 + 1]
test r14, r14
cmovs rbp, r15
jmp 0x1400493fa
mov ebp, 0x3938700
xor eax, eax
cmp rbp, r14
setns al
add rax, r15
sub rbp, r14
cmovo rbp, rax
mov ecx, 0x28
call fcn.140076ec8
mov rbx, rax
mov dword [rax], 1
lea rax, [0x1400c84d0]
mov qword [rbx + 8], rax
lea rax, [0x1400f3f10]
mov qword [rbx + 0x10], rax
lea rax, [0x14002e530]
mov qword [rbx + 0x18], rax
mov qword [rsp + 0x50], rbx
lea rdx, str.MonitorNextJankWindowIfNecessary
lea r8, str..._.._base_threading_scoped_blocking_call_internal.cc
lea r15, [rsp + 0x30]
mov rcx, r15
mov r9d, 0x9c
call fcn.1400498a0
mov qword [rsp + 0x50], 0
call fcn.140053b90
mov qword [rsp + 0x58], 0
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], 0
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov rdx, r15
mov r9, rbp
call qword [rax]
lea rcx, [rsp + 0x60]
call fcn.140049880
lea rcx, [rsp + 0x58]
call fcn.140049880
lea rcx, [rsp + 0x50]
call fcn.140049880
mov qword [rsi + 0x48], rdi
mov byte [rsi + 0x38], 1
jmp 0x14004913b
mov al, byte [rax + 0x10]
jmp 0x140049045
lock inc dword [rdi]
mov r13, qword [rbp + 0x1f8]
mov qword [rbp + 0x1f8], rdi
test r13, r13
je 0x140049309
lock dec dword [r13]
jne 0x140049309
mov rcx, r13
call fcn.1400ab9b0
mov rcx, r13
call fcn.140076eb8
jmp 0x140049309
cmp r13d, 1
jne 0x140049158
cmp byte [rax + 0x10], 0
jne 0x140049158
call fcn.1400fe130
jmp 0x140049158
lea rcx, [0x14013a320]
call fcn.140076f64
cmp dword [0x14013a320], 0xffffffff
jne 0x1400491dc
mov qword [0x14013a318], 0
lea rcx, [0x14013a320]
call fcn.140076f04
jmp 0x1400491dc
lea rcx, [0x14013a340]
call fcn.140076f64
cmp dword [0x14013a340], 0xffffffff
jne 0x140049216
mov qword [0x14013a338], 0
lea rcx, [0x14013a340]
call fcn.140076f04
jmp 0x140049216
lea rcx, [0x14013a308]
call fcn.1400498e0
test al, al
je 0x140049849
mov qword [0x14013a310], 0
lea r15, [0x14013a308]
lea rbx, [0x14013a310]
mov rcx, rbx
xor edx, edx
call fcn.14003f000
mov rcx, r15
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.1400498c0
jmp 0x140048fbc
lea rcx, [0x14013a330]
call fcn.140076f64
cmp dword [0x14013a330], 0xffffffff
jne 0x140049249
mov qword [0x14013a328], 0
lea rcx, [0x14013a330]
call fcn.140076f04
jmp 0x140049249
lea rcx, [0x14013be9c]
call fcn.140076f64
cmp dword [0x14013be9c], 0xffffffff
jne 0x140049132
call fcn.1400b5e90
mov byte [0x14013be98], al
lea rcx, [0x14013be9c]
call fcn.140076f04
jmp 0x140049132
lea rcx, [0x14013be88]
call fcn.1400498e0
test al, al
je 0x140049855
mov qword [0x14013be90], 0
lea r15, [0x14013be88]
lea rdi, [0x14013be90]
mov rcx, rdi
xor edx, edx
call fcn.14003f000
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call fcn.1400498c0
jmp 0x1400490d5
lea rcx, [0x14013a348]
call fcn.1400498e0
test al, al
je 0x140049861
mov qword [0x14013a350], 0
lea r15, [0x14013a348]
lea rbx, [0x14013a350]
mov rcx, rbx
xor edx, edx
call fcn.14003f000
mov rcx, r15
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.1400498c0
jmp 0x140048ffe
lea rcx, [0x14013a348]
call fcn.1400498e0
test al, al
je 0x14004986d
mov qword [0x14013a350], 0
lea r15, [0x14013a348]
lea rdi, [0x14013a350]
mov rcx, rdi
xor edx, edx
call fcn.14003f000
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call fcn.1400498c0
jmp 0x140049095
lea rcx, [0x14013a318]
call fcn.14003e480
jmp 0x1400491f1
test rsi, rsi
je 0x1400490c4
call fcn.140006d10
jmp 0x1400490ab
xor eax, eax
jmp 0x140048fea
xor eax, eax
jmp 0x14004902c
mov al, 1
jmp 0x140049045
call fcn.1400e4ea0
mov qword [r12], rax
test rax, rax
je 0x140049071
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov rdx, rdi
xor r8d, r8d
mov r9b, 0xf0
call fcn.1400e4ee0
mov dword [rsi + 0x20], eax
jmp 0x140049071
mov eax, dword [rax + 0x18]
cmp eax, dword [rsi + 0x20]
jbe 0x140049165
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x60]
mov qword [rdi], rax
mov rcx, rdi
call qword [fcn.140049dd0]
mov rcx, r12
call fcn.1400e9090
mov rbx, rax
mov rax, qword [rdi]
lea rdi, [rsp + 0x68]
mov qword [rdi], rax
lea rax, str.timestamp_us
lea rbp, [rsp + 0x30]
mov qword [rbp], rax
mov qword [rbp + 8], 0xc
mov r14d, 8
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbp
mov r8b, 8
mov r9, rdi
call fcn.1400e8ac0
movsxd rax, r13d
mov qword [rdi], rax
lea rax, str.blocking_type
mov qword [rbp], rax
mov qword [rbp + 8], 0xd
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0x68]
mov rcx, rbx
mov r8b, 8
call fcn.1400e8ac0
jmp 0x140049165
lea rcx, [rsi + 0x40]
call fcn.140011900
mov byte [rsi + 0x38], 0
jmp 0x1400491a9
mov rbx, qword [0x14013a308]
jmp 0x140048fbc
mov rdi, qword [0x14013be88]
jmp 0x1400490d5
mov rbx, qword [0x14013a348]
jmp 0x140048ffe
mov rdi, qword [0x14013a348]
jmp 0x140049095