Function at 0x14002b470
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, 0x4a8
movaps xmmword [rsp + 0x490], xmm7
movaps xmmword [rsp + 0x480], xmm6
mov qword [rsp + 0x90], rdx
mov rax, qword [0x1400f9028]
xor rax, rsp
mov qword [rsp + 0x478], rax
mov qword [rsp + 0x70], r8
mov rax, qword [r8]
mov al, byte [rax + 0x16]
and al, 0x7f
mov dl, 1
mov dword [rsp + 0x64], edx
cmp al, 1
mov qword [rsp + 0x68], rcx
jne 0x14002c2f3
mov rax, qword [rcx + 0x30]
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
jne 0x14002d02f
movaps xmm6, xmmword [0x1400e2ad0]
movaps xmmword [rsp + 0x360], xmm6
movaps xmmword [rsp + 0x370], xmm6
movaps xmmword [rsp + 0x380], xmm6
movaps xmmword [rsp + 0x390], xmm6
movaps xmmword [rsp + 0x3a0], xmm6
movaps xmmword [rsp + 0x3b0], xmm6
movaps xmmword [rsp + 0x3c0], xmm6
movaps xmmword [rsp + 0x3d0], xmm6
mov byte [rsp + 0x360], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x368], xmm0
movups xmmword [rsp + 0x378], xmm0
movups xmmword [rsp + 0x388], xmm0
movups xmmword [rsp + 0x398], xmm0
movups xmmword [rsp + 0x3a8], xmm0
movups xmmword [rsp + 0x3b8], xmm0
movups xmmword [rsp + 0x3c8], xmm0
mov byte [rsp + 0x350], 0
mov qword [rsp + 0x351], 0
mov word [rsp + 0x359], 0x102
mov dword [rsp + 0x35b], 0
mov rax, qword [rsp + 0x70]
mov rsi, qword [rax]
mov qword [rsp + 0x3e0], rsi
add rsi, 0x20
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14002c682
cmp byte [rsp + 0x64], 0
je 0x14002ce61
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea rdx, [rsp + 0x2e0]
lea r8, [rsp + 0x3e0]
call qword [rax + 0x28]
cmp byte [rsp + 0x360], 0
jne 0x14002cb80
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x368], rax
mov qword [rsp + 0x2e0], 0
movups xmm0, xmmword [rsp + 0x2e8]
movaps xmmword [rsp + 0x370], xmm0
movups xmm0, xmmword [rsp + 0x2f8]
movaps xmmword [rsp + 0x380], xmm0
movups xmm0, xmmword [rsp + 0x308]
movaps xmmword [rsp + 0x390], xmm0
movups xmm0, xmmword [rsp + 0x318]
movaps xmmword [rsp + 0x3a0], xmm0
movups xmm0, xmmword [rsp + 0x328]
movaps xmmword [rsp + 0x3b0], xmm0
movups xmm0, xmmword [rsp + 0x338]
movaps xmmword [rsp + 0x3c0], xmm0
mov rax, qword [rsp + 0x345]
mov qword [rsp + 0x3cd], rax
mov byte [rsp + 0x360], 1
mov rcx, qword [rsp + 0x3e0]
mov al, byte [rcx + 0x14]
mov byte [rsp + 0x2e8], al
mov rax, qword [rcx + 0xc]
mov qword [rsp + 0x2e0], rax
mov edx, dword [rcx + 0x15]
mov dword [rsp + 0x2e9], edx
movzx edx, word [rcx + 0x19]
mov word [rsp + 0x2ed], dx
mov qword [rsp + 0x350], rax
mov rax, qword [rsp + 0x2e7]
mov qword [rsp + 0x357], rax
test rcx, rcx
je 0x14002b6e1
add rcx, 0x20
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rsp + 0x360], 0
je 0x14002c192
mov rax, qword [rsp + 0x70]
mov r8, qword [rax]
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x368], 0
movaps xmm0, xmmword [rsp + 0x370]
movups xmmword [rsp + 0x278], xmm0
movaps xmm0, xmmword [rsp + 0x380]
movups xmmword [rsp + 0x288], xmm0
mov rax, qword [rsp + 0x3cd]
mov qword [rsp + 0x2d5], rax
movaps xmm0, xmmword [rsp + 0x3c0]
movups xmmword [rsp + 0x2c8], xmm0
movaps xmm0, xmmword [rsp + 0x3b0]
movups xmmword [rsp + 0x2b8], xmm0
movaps xmm0, xmmword [rsp + 0x3a0]
movups xmmword [rsp + reloc.SHELL32.dll_IsUserAnAdmin], xmm0
movaps xmm0, xmmword [rsp + 0x390]
movups xmmword [rsp + 0x298], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rax, qword [rax + 8]
lea rcx, [0x1400ce550]
cmp rax, rcx
jne 0x14002ce80
movaps xmmword [rsp + 0x230], xmm6
mov rax, qword [r8]
mov rax, qword [rax]
lea rcx, [0x140061370]
cmp rax, rcx
mov qword [rsp + 0x88], r8
jne 0x14002c42d
mov eax, dword [r8 + 0x40]
mov dword [rsp + 0x230], eax
lea rcx, [r8 + 0x78]
mov qword [rsp + 0x238], rcx
mov dword [rsp + 0x228], eax
mov eax, 1
lock xadd dword [0x140104194], eax
mov dword [rsp + 0x22c], eax
mov eax, dword [0x140104190]
mov ecx, dword [0x1400fc638]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002c853
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002cc6f
movsxd rcx, dword [0x140104188]
shl rcx, 4
lea rdx, [rsp + 0x228]
mov qword [rax + rcx], rdx
mov ecx, dword [0x14010418c]
movsxd rdx, dword [0x140104188]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov eax, dword [0x1401041a0]
mov ecx, dword [0x1400fc638]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002c97f
lea rsi, [rsp + 0x22c]
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002cc79
movsxd rcx, dword [0x140104198]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x14010419c]
movsxd rdx, dword [0x140104198]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov al, byte [rsp + 0x359]
mov byte [rsp + 0x220], al
mov rbx, qword [0x140102710]
cmp rbx, 1
jbe 0x14002ca37
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002cc83
movsxd rcx, dword [rbx]
shl rcx, 4
lea rdx, [rsp + 0x220]
mov qword [rax + rcx], rdx
mov ecx, dword [rbx + 4]
movsxd rdx, dword [rbx]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
movaps xmmword [rsp + 0x2e0], xmm6
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x300], xmm6
mov byte [rsp + 0x2e0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x2e8], xmm0
movups xmmword [rsp + 0x2f8], xmm0
mov rbp, qword [rsp + 0x238]
test rbp, rbp
je 0x14002c410
mov rbx, qword [0x1401041a8]
cmp rbx, 1
jbe 0x14002cbd5
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002cc8d
movsxd rcx, dword [rbx]
shl rcx, 4
mov qword [rax + rcx], rbp
mov ecx, dword [rbx + 4]
movsxd rdx, dword [rbx]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
movaps xmmword [rsp + 0x430], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x440], rax
mov byte [rsp + 0x430], 0
movaps xmmword [rsp + 0x410], xmm6
movaps xmmword [rsp + 0x420], xmm6
mov byte [rsp + 0x410], 0
movaps xmmword [rsp + 0x3e0], xmm6
movaps xmmword [rsp + 0x3f0], xmm6
movaps xmmword [rsp + 0x400], xmm6
mov byte [rsp + 0x3e0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x3e8], xmm0
movups xmmword [rsp + 0x3f8], xmm0
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + 0x38]
cmp eax, 1
jne 0x14002c314
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x14002ba36
lock add dword [rax + 8], 1
mov qword [rsp + 0x438], rax
mov rbx, qword [0x140102700]
cmp rbx, 1
jbe 0x14002cad1
lea rsi, [rsp + 0x438]
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002ccda
movsxd rcx, dword [rbx]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [rbx + 4]
movsxd rdx, dword [rbx]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov byte [rsp + 0x430], 1
mov rax, qword [rsp + 0x88]
mov rsi, qword [rax + 0x30]
cmp byte [rsp + 0x3e0], 0
jne 0x14002cffa
lea rax, [0x1400e1d50]
mov qword [rsp + 0x3e8], rax
mov qword [rsp + 0x3f0], rsi
mov qword [rsp + 0x3f8], 0
lea rax, [rsp + 0x350]
mov qword [rsp + 0x400], rax
mov eax, dword [0x1401041c0]
mov ecx, dword [0x1400fc638]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002c8d9
lea rsi, [rsp + 0x3e8]
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002ccc7
movsxd rcx, dword [0x1401041b8]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x1401041bc]
movsxd rdx, dword [0x1401041b8]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov byte [rsp + 0x3e0], 1
test byte [0x1400fb870], 0x19
je 0x14002be80
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x250], rax
movaps xmmword [rsp + 0x240], xmm6
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1400fb870]
lea r9, str.ThreadPool_RunTask
lea rcx, [rsp + 0x240]
mov dl, 0x42
call fcn.14002d910
mov rcx, qword [rsp + 0x240]
test rcx, rcx
je 0x14002be6d
mov rdi, qword [rsp + 0x248]
mov edx, 5
int3
mov rcx, qword [rsp + 0x250]
test rcx, rcx
je 0x14002be80
mov rax, qword [rcx]
call qword [rax + 8]
mov bl, byte [0x1400fb860]
test bl, 0x19
jne 0x14002ce9c
xor esi, esi
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov al, byte [rsp + 0x35a]
and al, 0x7f
cmp al, 1
jne 0x14002c2d4
lea rdx, [rsp + 0x270]
mov rcx, qword [rsp + 0x68]
int3
mov rcx, qword [rsp + 0x270]
mov qword [rsp + 0x270], 0
test rcx, rcx
jne 0x14002c842
test bl, 0x19
jne 0x14002cfa3
test byte [0x1400fb870], 0x19
je 0x14002bf4d
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x460], rax
movaps xmmword [rsp + 0x450], xmm6
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1400fb870]
lea r9, [0x1400e2c4e]
lea rcx, [rsp + 0x450]
mov dl, 0x45
call fcn.14002d910
cmp qword [rsp + 0x450], 0
mov rcx, qword [rsp + 0x460]
test rcx, rcx
je 0x14002bf4d
mov rax, qword [rcx]
call qword [rax + 8]
cmp byte [rsp + 0x3e0], 0
je 0x14002bfc5
lea rax, [0x1400e1d50]
mov qword [rsp + 0x3e8], rax
mov eax, dword [0x1401041c0]
mov ecx, dword [0x1400fc638]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002c91c
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002bfc5
movsxd rcx, dword [0x1401041b8]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x1401041bc]
movsxd rdx, dword [0x1401041b8]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
cmp byte [rsp + 0x410], 0
jne 0x14002c4b9
cmp byte [rsp + 0x430], 0
je 0x14002c035
mov rsi, qword [0x140102700]
cmp rsi, 1
jbe 0x14002cb1e
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002c01d
movsxd rcx, dword [rsi]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [rsi + 4]
movsxd rdx, dword [rsi]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rcx, qword [rsp + 0x438]
test rcx, rcx
je 0x14002c035
lock sub dword [rcx + 8], 1
je 0x14002d01d
mov rsi, qword [0x1401041a8]
cmp rsi, 1
jbe 0x14002cc22
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002c075
movsxd rcx, dword [rsi]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [rsi + 4]
movsxd rdx, dword [rsi]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
cmp byte [rsp + 0x2e0], 0
jne 0x14002c458
mov rsi, qword [0x140102710]
cmp rsi, 1
jbe 0x14002ca84
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002c0c3
movsxd rcx, dword [rsi]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [rsi + 4]
movsxd rdx, dword [rsi]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov eax, dword [0x140104190]
mov ecx, dword [0x1400fc638]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002c896
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002c122
movsxd rcx, dword [0x140104188]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x14010418c]
movsxd rdx, dword [0x140104188]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov eax, dword [0x1401041a0]
mov ecx, dword [0x1400fc638]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002c9c2
mov ecx, dword [0x1400fc468]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002c181
movsxd rcx, dword [0x140104198]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x14010419c]
movsxd rdx, dword [0x140104198]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rcx, qword [rsp + 0x270]
test rcx, rcx
jne 0x14002c377
cmp byte [rsp + 0x64], 0
je 0x14002c1c5
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov al, byte [rax + 0x16]
and al, 0x7f
cmp al, 1
jne 0x14002c1c5
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
je 0x14002cd11
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax]
mov rax, qword [rbx]
mov rax, qword [rax + 0x30]
lea rcx, [0x140061840]
cmp rax, rcx
jne 0x14002c444
lea rsi, [rbx + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14002ca2a
mov byte [rbx + 0x70], 0
mov rax, qword [rbx + 0x58]
cmp rax, qword [rbx + 0x60]
jne 0x14002c2a0
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14002c228
cmp dword [rbx + 0x38], 0
je 0x14002c4df
lock dec dword [rcx + 8]
je 0x14002c522
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x90]
movups xmmword [rax], xmm0
cmp byte [rsp + 0x360], 0
je 0x14002c25a
mov rcx, qword [rsp + 0x368]
test rcx, rcx
jne 0x14002c388
mov rcx, qword [rsp + 0x70]
call fcn.14002b2e0
mov rcx, qword [rsp + 0x478]
xor rcx, rsp
call fcn.140065120
mov rax, qword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0x480]
movaps xmm7, xmmword [rsp + 0x490]
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbp, qword [rsp + 0x70]
mov rax, qword [rbp]
mov rdx, qword [rsp + 0x90]
mov qword [rdx], rax
xor eax, eax
mov qword [rbp], rax
mov rcx, qword [rbp + 8]
mov qword [rbp + 8], rax
mov qword [rdx + 8], rcx
jmp 0x14002c23f
test al, al
jne 0x14002c399
lea rdx, [rsp + 0x270]
mov rcx, qword [rsp + 0x68]
int3
test al, al
jne 0x14002c3b8
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov eax, dword [rax]
test al, 1
sete al
mov dword [rsp + 0x64], eax
jmp 0x14002b4e3
cmp eax, 2
jne 0x14002bb4a
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi + 0x30]
lea rdx, [rsp + 0x450]
mov qword [rdx], rax
lea rcx, [rsp + 0x410]
int3
lock dec dword [rcx]
jne 0x14002c192
call qword [rcx + 0x10]
jmp 0x14002c192
lock dec dword [rcx]
jne 0x14002c25a
call qword [rcx + 0x10]
jmp 0x14002c25a
cmp al, 2
jne 0x14002bebe
lea rdx, [rsp + 0x270]
mov rcx, qword [rsp + 0x68]
int3
cmp al, 2
je 0x14002b4e3
jmp 0x14002d039
lea rbp, [rsp + 0x2e8]
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], 0
mov byte [rbp - 8], 1
jmp 0x14002b95f
lea rbx, [rsp + 0x230]
mov rcx, r8
mov rdx, rbx
call rax
mov eax, dword [rbx]
jmp 0x14002b7dc
mov rcx, rbx
xor edx, edx
call rax
test al, al
je 0x14002c231
jmp 0x14002c2a9
mov rsi, qword [rsp + 0x2f0]
test rsi, rsi
je 0x14002c083
mov rax, qword [rsp + 0x2f8]
cmp rax, rsi
je 0x14002cced
lea rdi, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x14002c48a
call qword [rax - 8]
mov rax, rdi
cmp rsi, rdi
jne 0x14002c47a
mov rcx, qword [rsp + 0x2f0]
mov qword [rsp + 0x2f8], rsi
call fcn.140062b78
jmp 0x14002c083
lea rcx, [rsp + 0x418]
int3
mov rdx, rbx
int3
add rcx, 8
add rcx, 0xfffffffffffffff8
int3
mov rcx, rsi
int3
lock dec dword [rcx]
jne 0x14002bedb
call qword [rcx + 0x10]
jmp 0x14002bedb
lea rcx, [0x140104190]
int3
lea rcx, [0x140104190]
int3
lea rcx, [0x1401041c0]
int3
lea rcx, [0x1401041c0]
int3
lea rcx, [0x1401041a0]
int3
lea rcx, [0x1401041a0]
int3
mov rcx, rsi
int3
lea rcx, [0x140102710]
int3
lea rcx, [0x140102710]
int3
lea rcx, [0x140102700]
int3
lea rcx, [0x140102700]
int3
lea rcx, [rsp + 0x368]
lea rsi, [rsp + 0x2e0]
mov rdx, rsi
int3
lea rcx, [0x1401041a8]
int3
lea rcx, [0x1401041a8]
int3
call fcn.1400065a0
jmp 0x14002b832
call fcn.1400065a0
jmp 0x14002b8a1
call fcn.1400065a0
jmp 0x14002b8fa
test rbp, rbp
je 0x14002b99f
call fcn.1400065a0
jmp 0x14002b986
test rsi, rsi
je 0x14002bb42
call fcn.1400065a0
jmp 0x14002bb1e
test rsi, rsi
je 0x14002ba86
call fcn.1400065a0
jmp 0x14002ba6d
mov rcx, rsi
jmp 0x14002c49a
mov rax, qword [rsp + 0x68]
lea rsi, [rax + 0x58]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14002d2d8
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x60]
call fcn.14004fd90
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14002c1c5
lea rdx, [rsp + 0x2e0]
lea r8, [rsp + 0x3e0]
mov rcx, qword [rsp + 0x70]
int3
lea rdx, [rsp + 0x270]
lea r9, [rsp + 0x350]
mov rcx, qword [rsp + 0x68]
call rax
jmp 0x14002c192
lea rdi, [rsp + 0x359]
mov rax, qword [rsp + 0x88]
movsxd rbp, dword [rax + 0x38]
lea r14, str.parallel
mov ecx, 0x28
int3
cmp byte [rsi], 0
je 0x14002bee4
mov rcx, rsi
mov rdx, rbp
mov r8, qword [rsp + 0x158]
call fcn.14005f2a0
jmp 0x14002bee4
lea rax, [0x1400e1d50]
mov qword [rsp + 0x3e8], rax
xor ecx, ecx
int3
add rcx, 8
add rcx, 0xfffffffffffffff8
int3
mov rcx, qword [rsp + 0x68]
int3
mov dword [rsp + 0x64], 0
jmp 0x14002b4e3
mov rcx, rsi
int3