Function at 0x14000e914
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12, rcx
mov ecx, dword [0x14003d17c]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
or ebx, 0xffffffff
xor r13d, r13d
mov r14, rax
test rax, rax
jne 0x14000e96b
mov ebx, dword [0x14003d17c]
lea rdx, [rsp + 0x90]
mov ecx, ebx
mov dword [rsp + 0x90], r13d
lea r14, [rsp + 0x90]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsSetValue]
inc dword [r14]
mov r10, qword [0x14003d048]
lea rax, [0x14003d048]
lea rsi, [0x140035650]
mov r15d, 0x1df
cmp r10, rax
je 0x14000e9ce
test byte [r10 + 0x1c], 1
je 0x14000e9ce
mov eax, dword [r14]
lea ecx, [rax + rax*4]
cmp ecx, 0x1e1
ja 0x14000e9ad
mov eax, ecx
mov ecx, r15d
sub rcx, rax
jmp 0x14000e9b0
mov rcx, r13
lea r9, [rcx + rsi]
mov qword [rsp + 0x20], r12
mov rcx, qword [r10 + 0x10]
lea r8, [0x140036280]
mov edx, 0x1d
call fcn.140004a7c
test byte [0x14003d7c0], 1
je 0x14000e9e3
lea rdx, [0x140035950]
call fcn.140010b80
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x88], r13
call fcn.14002ae00
mov rdi, qword [rsp + 0x88]
mov ebp, eax
test eax, eax
js 0x14000eb6e
lea rdx, [0x140035918]
mov ecx, 0x40
call fcn.1400308a0
mov rsi, rax
test rax, rax
je 0x14000ea52
mov dword [rsi + 8], 1
lea rax, [0x1400333a8]
mov qword [rsi], rax
mov byte [rsi + 0xc], r13b
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r13
mov qword [rsi + 0x20], r13
mov qword [rsi + 0x28], r13
mov dword [rsi + 0x30], r13d
mov qword [rsi + 0x38], r13
jmp 0x14000ea55
mov rsi, r13
test rsi, rsi
mov eax, 0x8007000e
cmove ebp, eax
test ebp, ebp
js 0x14000eab6
mov r9d, 0x3fe
mov byte [rsp + 0x88], r13b
lea rax, [rsp + 0x88]
mov rdx, rdi
mov qword [rsp + 0x30], rax
mov rcx, rsi
lea rax, str.Windows.SystemToast.NfpReceiveContent
mov dword [rsp + 0x28], 3
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rax
call fcn.140012780
cmp byte [rsp + 0x88], r13b
je 0x14000eb0f
mov rcx, r12
call fcn.14000d854
mov ebp, eax
lea r12, [0x14003d048]
mov rcx, qword [0x14003d048]
test rsi, rsi
je 0x14000eae0
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [0x140034e68]
mov rcx, qword [0x14003d048]
lea rsi, [0x140035650]
cmp rcx, r12
je 0x14000eba1
test byte [rcx + 0x1c], 1
je 0x14000eba1
mov eax, dword [r14]
lea edx, [rax + rax*4]
cmp edx, 0x1e1
ja 0x14000eb81
mov eax, edx
sub r15, rax
jmp 0x14000eb84
mov ebp, 0x80004004
mov rcx, qword [0x14003d048]
lea r12, [0x14003d048]
cmp rcx, r12
je 0x14000eac4
test byte [rcx + 0x1c], 8
je 0x14000eac4
mov eax, dword [r14]
inc eax
lea edx, [rax + rax*4]
cmp edx, 0x1e1
ja 0x14000eb47
mov eax, edx
mov rdx, r15
sub rdx, rax
jmp 0x14000eb4a
mov rdx, r13
mov rcx, qword [rcx + 0x10]
lea r9, [0x140035650]
add r9, rdx
lea r8, [0x140036280]
mov edx, 0x1e
call fcn.1400012b0
jmp 0x14000eabd
mov rcx, qword [0x14003d048]
lea r12, [0x14003d048]
jmp 0x14000eae7
mov r15, r13
mov rcx, qword [rcx + 0x10]
lea r9, [r15 + rsi]
mov edx, 0x1f
mov dword [rsp + 0x20], ebp
lea r8, [0x140036280]
call fcn.140001304
test rdi, rdi
je 0x14000ebb6
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140034e68]
dec dword [r14]
cmp ebx, 0xffffffff
je 0x14000ebd5
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
test rax, rax
je 0x14000ebd5
xor edx, edx
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsSetValue]
mov eax, ebp
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret