Function at 0x140133b40
Capabilities:
Allocate or change rwx memory

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movdqa xmmword [rsp + 0xf0], xmm11
movdqa xmmword [rsp + 0xe0], xmm10
movdqa xmmword [rsp + 0xd0], xmm9
movdqa xmmword [rsp + 0xc0], xmm8
movdqa xmmword [rsp + 0xb0], xmm7
movdqa xmmword [rsp + 0xa0], xmm6
mov rbx, r9
mov ebp, r8d
mov rdi, rdx
mov rsi, rcx
mov r15, qword [rsp + 0x178]
mov r12, qword [rsp + 0x170]
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov byte [r15], 0
cmp byte [rcx + 0x1c], 0
je 0x140133cbf
cmp r12, 0x4000
ja 0x140133e00
mov rcx, rsi
call fcn.140134ad0
test al, al
je 0x140133de2
mov r14, qword [rsi]
mov rax, rsi
test r14, r14
je 0x140133dc3
mov qword [rax], r14
mov ecx, dword [r14 + 0x18]
bt ecx, 0x1b
jae 0x140133c06
mov qword [r14 + 0x20], rbx
mov rbx, qword [r14]
test rbx, rbx
je 0x140133e9d
mov rdx, qword [rbx]
test rdx, rdx
je 0x140133c44
bswap rdx
mov esi, dword [rax + 0x18]
mov rax, rdx
xor rax, rbx
cmp rax, 0x1fffff
ja 0x140133ff4
mov eax, edx
and eax, 0x1fc000
je 0x140133ff4
prefetcht0 byte [rdx]
jmp 0x140133c46
xor edx, edx
mov qword [r14], rdx
lea eax, [rcx + 2]
and eax, 0x3ffe
and ecx, 0xffffc001
or ecx, eax
mov dword [r14 + 0x18], ecx
mov qword [rbx], 0
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140171860
mov rax, rbx
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test bpl, 0x20
jne 0x1401349d9
lea rcx, [rdi + 0x40]
cmp rbx, 0x7fe00001
jae 0x140134599
mov qword [rsp + 0x30], rcx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r14, [rbx + r12]
add r14, 0x203fff
and r14, 0xffffffffffe00000
mov r13d, 3
cmp byte [rdi + 8], 0
jne 0x140133d11
cmp byte [rdi + 6], 1
mov r13d, 2
sbb r13d, 0
lea eax, [r13 - 1]
imul rax, rax, 0x420
lea rcx, [0x14035ad68]
add rcx, rax
mov rdx, r14
call fcn.1400db9d0
test rax, rax
je 0x14013481c
mov qword [rsp + 0x38], r14
lock add qword [rdi + 0x1490], r14
lock inc qword [rdi + 0x14a8]
lea rcx, [rax + 0x1000]
mov edx, 0x1000
mov qword [rsp + 0x28], rcx
mov r8d, 2
mov r14, rax
call fcn.1400a63d0
mov qword [rsp + 0x50], r13
cmp r13d, 2
jne 0x140133d95
lock inc qword [rdi + 0x14a8]
lea rcx, [r14 + 0x2000]
mov edx, 0x1000
mov r8d, 2
call fcn.1400a63d0
mov rax, qword [rsp + 0x38]
add rax, r14
mov rdx, qword [0x1403428d8]
and rdx, r14
cmp rdx, qword [0x1403428c0]
mov r9, r14
jne 0x1401340e6
xor ecx, ecx
mov r10, qword [rsp + 0x28]
jmp 0x14013412c
test bpl, 1
jne 0x1401349d9
lea rcx, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, rdi
mov rdx, rbx
call fcn.140223800
mov r14, qword [rsi + 8]
test r14, r14
jne 0x1401349e9
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x140133e00
xor r14d, r14d
jmp 0x1401349e0
test bpl, 0x20
jne 0x1401349d9
mov eax, dword [rsi + 0x1c]
movzx r8d, al
shl r8d, 0xc
add r8d, 0x3000
and r8d, 0x1fc000
mov rcx, qword [rdi + 0x14f0]
lea rax, [rcx + r12]
dec rax
mov r14, r12
neg r14
and rax, r14
lea rdx, [rax + r8]
cmp rdx, qword [rdi + 0x14f8]
ja 0x1401345b2
mov r12, 0xffffffffffe00000
mov rdx, rcx
and rdx, r12
shr ecx, 0xe
movzx ecx, cl
shl rcx, 5
or rcx, rdx
mov edx, 0x1000
or rcx, rdx
and r12, rax
mov r13d, eax
shr r13d, 0xe
and r13d, 0x7f
shl r13, 5
lea r14, [r12 + r13]
add r14, 0x1000
cmp rcx, r14
jae 0x140134028
or byte [rcx + 0x1e], 0x80
add rcx, 0x20
jmp 0x140133e8a
mov rbx, 0xffffffffffe00000
mov rax, r14
and rax, rbx
mov edx, r14d
shl edx, 9
and edx, 0x3fffc000
mov r9d, dword [rsi + 0x18]
mov r8d, ecx
shr r8d, 1
and r8d, 0x1fff
imul r8d, r9d
add rdx, rax
lea r15, [rdx + r8]
add rbx, r15
lea rbp, [r8 + rdx]
add rbp, 0xffffffffffe00fff
mov rax, 0xfffffffffffff000
and rbp, rax
mov qword [rsp + 0x28], r9
lea r13, [r9 + r15]
add r13, 0xffffffffffe00fff
and r13, rax
lea eax, [rcx + 2]
and eax, 0x3ffe
mov r8d, ecx
and r8d, 0xffffc001
or r8d, eax
mov dword [r14 + 0x18], r8d
mov rax, r13
sub rax, rbx
mov r9d, dword [rsi + 0x18]
xor edx, edx
div r9
shl eax, 0xe
sub ecx, eax
and ecx, 0x7ffc000
and r8d, 0xf8003fff
or r8d, ecx
mov dword [r14 + 0x18], r8d
mov r12, r13
sub r12, rbp
lock inc qword [rdi + 0x14a8]
mov rcx, rbp
mov rdx, r12
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x14013450e
mov rdx, r12
lock xadd qword [rdi + 0x1478], rdx
mov rax, qword [rsp + 0x28]
lea rcx, [rax + r15]
add rcx, 0xffffffffffe00000
add rdx, r12
mov rax, qword [rdi + 0x1480]
cmp rax, rdx
mov r8, rdx
cmova r8, rax
lock cmpxchg qword [rdi + 0x1480], r8
jne 0x140133f93
mov eax, dword [rsi + 0x18]
add rax, rcx
cmp rax, r13
ja 0x140133fea
xor r8d, r8d
mov rdx, rax
mov qword [rcx], 0
cmp qword [r14], 0
je 0x140133fd1
mov rax, rcx
bswap rax
mov qword [r8], rax
jmp 0x140133fd9
mov qword [r14], rcx
and byte [r14 + 0x1b], 0xef
mov eax, dword [rsi + 0x18]
add rax, rdx
mov r8, rcx
mov rcx, rdx
cmp rax, r13
jbe 0x140133fb6
or byte [r14 + 0x1b], 0x10
jmp 0x140133c64
movaps xmm0, xmmword [0x140301d60]
lea rdi, [rsp + 0x80]
movaps xmmword [rdi], xmm0
mov r8, qword [rbx]
lea rdx, str.first
mov rcx, rdi
call fcn.1401b1e30
mov rcx, rdi
call fcn.14004a330
mov rcx, rsi
call fcn.1401b1df0
add rax, r8
mov qword [rdi + 0x14f0], rax
mov rcx, r14
mov rdx, rsi
call fcn.1400a4890
mov rax, qword [r14 + 0x10]
mov ecx, dword [rax + 0x1c]
movzx ecx, cl
shl rcx, 0xc
imul rcx, qword [rax + 0x20]
shr rcx, 0x1c
mov eax, 0xf8003fff
and eax, dword [r14 + 0x18]
and ecx, 0x7ffc000
or eax, ecx
mov dword [r14 + 0x18], eax
mov rax, r14
and rax, 0xffffffffffe00000
inc word [rax + 0x1012]
mov qword [r14 + 8], 0
mov ecx, dword [rsi + 0x1c]
mov eax, ecx
and eax, 0xff
je 0x1401340c3
mov ecx, 0x1000
or r12, rcx
add eax, 3
shr eax, 2
lea rcx, [r12 + r13]
add rcx, 0x1e
xor edx, edx
mov r8b, byte [rcx]
and r8b, 0x80
or r8b, dl
or r8b, 0x40
mov byte [rcx], r8b
inc edx
add rcx, 0x20
cmp eax, edx
jne 0x1401340a5
mov ecx, dword [rsi + 0x1c]
movzx eax, cl
shl eax, 0xc
imul rax, qword [rsi + 0x20]
shr rax, 0x2a
cmp eax, 0x400
ja 0x1401349c5
mov byte [r15], 1
jmp 0x140133be9
mov rdx, qword [0x1403428e0]
and rdx, r9
mov ecx, 1
cmp rdx, qword [0x1403428c8]
mov r10, qword [rsp + 0x28]
je 0x14013412c
mov rcx, qword [0x1403428e8]
and rcx, r9
mov r8, qword [0x1403428d0]
xor edx, edx
cmp rcx, r8
cmove rdx, r8
mov r8d, 2
mov ecx, 0xffffffff
cmove rcx, r8
lea r8, [r9 + r12]
mov qword [rsp + 0x28], r8
cmp r9, rax
jae 0x14013438a
mov r8, r9
sub r8, rdx
lea rdx, [r9 + 0x200000]
cmp rax, rdx
cmova rdx, rax
mov rax, r9
not rax
add rax, rdx
movq xmm0, rax
shr rax, 0x15
add rax, 8
and rax, 0xfffffffffffffff8
pshufd xmm0, xmm0, 0x44
psrlq xmm0, 0x15
shl rcx, 0xe
shr r8, 0x15
lea rcx, [rcx + r8*2]
lea rdx, [0x140342968]
add rcx, rdx
add rcx, 0xe
xor edx, edx
movdqa xmm1, xmmword [0x140311de0]
movdqa xmm2, xmmword [0x140311df0]
movdqa xmm3, xmmword [0x140311e00]
movdqa xmm4, xmmword [0x14030c320]
movdqa xmm5, xmmword [0x1402ee640]
pxor xmm0, xmm5
pcmpeqd xmm6, xmm6
movq xmm7, rdx
pshufd xmm7, xmm7, 0x44
movdqa xmm8, xmm7
por xmm8, xmm4
pxor xmm8, xmm5
movdqa xmm9, xmm8
pcmpgtd xmm9, xmm0
pcmpeqd xmm8, xmm0
pshufd xmm10, xmm8, 0xf5
pand xmm10, xmm9
pshufd xmm8, xmm9, 0xf5
por xmm8, xmm10
movd r8d, xmm8
not r8d
test r8b, 1
je 0x140134213
mov word [rcx + rdx*2 - 0xe], dx
pxor xmm8, xmm6
psrldq xmm8, 6
movd r8d, xmm8
shr r8d, 0x10
test r8b, 1
je 0x140134237
lea r8d, [rdx + 1]
mov word [rcx + rdx*2 - 0xc], r8w
movdqa xmm8, xmm7
por xmm8, xmm3
pxor xmm8, xmm5
movdqa xmm9, xmm8
pcmpgtd xmm9, xmm0
pcmpeqd xmm8, xmm0
pshufd xmm10, xmm8, 0xf5
pand xmm10, xmm9
pshufd xmm8, xmm9, 0xf5
por xmm8, xmm10
pxor xmm8, xmm6
pextrw r8d, xmm8, 0
test r8b, 1
je 0x140134286
lea r8d, [rdx + 2]
mov word [rcx + rdx*2 - 0xa], r8w
pextrw r8d, xmm8, 4
test r8b, 1
je 0x14013429c
lea r8d, [rdx + 3]
mov word [rcx + rdx*2 - 8], r8w
movdqa xmm8, xmm7
por xmm8, xmm2
pxor xmm8, xmm5
movdqa xmm9, xmm8
pcmpgtd xmm9, xmm0
pshufd xmm10, xmm9, 0x44
pcmpeqd xmm8, xmm0
pshufd xmm11, xmm8, 0x55
pand xmm11, xmm10
pshufd xmm10, xmm9, 0x55
por xmm10, xmm11
pxor xmm10, xmm6
pextrw r8d, xmm10, 4
test r8b, 1
je 0x1401342f1
lea r8d, [rdx + 4]
mov word [rcx + rdx*2 - 6], r8w
pshufd xmm8, xmm8, 0xf5
pand xmm8, xmm9
pshufd xmm9, xmm9, 0xf5
por xmm9, xmm8
pxor xmm9, xmm6
pextrw r8d, xmm9, 4
test r8b, 1
je 0x140134322
lea r8d, [rdx + 5]
mov word [rcx + rdx*2 - 4], r8w
por xmm7, xmm1
pxor xmm7, xmm5
movdqa xmm8, xmm7
pcmpgtd xmm8, xmm0
pcmpeqd xmm7, xmm0
pshufd xmm9, xmm7, 0xf5
pand xmm9, xmm8
pshufd xmm7, xmm8, 0xf5
por xmm7, xmm9
pxor xmm7, xmm6
pextrw r8d, xmm7, 0
test r8b, 1
je 0x140134368
lea r8d, [rdx + 6]
mov word [rcx + rdx*2 - 2], r8w
pextrw r8d, xmm7, 4
test r8b, 1
je 0x14013437d
lea r8d, [rdx + 7]
mov word [rcx + rdx*2], r8w
add rdx, 8
cmp rax, rdx
jne 0x1401341c2
mov qword [r10], rdi
lea rdx, [r10 + 0x20]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
and rax, 0xffffffffffe00000
shr ecx, 0xe
and ecx, 0x7f
shl rcx, 5
lea r14, [rax + rcx]
add r14, 0x1000
cmp r14, rdx
je 0x1401343da
test byte [r10 + 0x3e], 0x40
jne 0x1401349d3
mov r8d, r14d
sub r8d, edx
shr r8d, 5
and r8b, 0x3f
or r8b, 0x80
mov byte [r10 + 0x3e], r8b
mov qword [rsp + 0x60], r9
or rax, 0x1000
or byte [rax + rcx + 0x1e], 0x40
lea r13, [rbx + 0xfff]
and r13, 0xfffffffffffff000
mov al, byte [r14 + 0x3e]
and al, 0xc0
or al, 1
mov byte [r14 + 0x3e], al
lea rdx, [r14 + 0x40]
mov dword [r14 + 0x58], r13d
mov rcx, r14
mov qword [rsp + 0x58], rdx
call fcn.1400a4890
lock inc qword [rdi + 0x14a8]
mov rcx, qword [rsp + 0x28]
mov rdx, r13
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x140134862
mov r8, r13
lock xadd qword [rdi + 0x1478], r8
add r12, 0xffffffffffffc000
add r8, r13
mov rax, qword [rdi + 0x1480]
mov r13, qword [rsp + 0x30]
cmp rax, r8
mov rdx, r8
cmova rdx, rax
lock cmpxchg qword [rdi + 0x1480], rdx
jne 0x140134466
mov rax, qword [rsp + 0x28]
mov qword [rax], 0
mov qword [r14], rax
and byte [r14 + 0x1b], 0xef
lea rax, [r14 + 0x68]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0x80], rax
mov qword [r14 + 0x88], r12
mov rax, qword [rsp + 0x58]
mov qword [r14 + 0x78], rax
mov r12b, 1
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1401344cc
mov rcx, r13
call fcn.14004f6b0
test r12b, r12b
je 0x1401345a3
mov rax, qword [rdi + 0x1510]
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rax
test rax, rax
je 0x1401344ed
mov qword [rax + 8], rcx
mov qword [rcx + 8], 0
mov qword [rdi + 0x1510], rcx
test r14, r14
je 0x1401345a3
mov rax, qword [r14 + 0x10]
jmp 0x1401345a9
mov qword [rsp + 0x58], r15
movzx eax, word [rdi + 0x1918]
mov word [rsp + 0x30], ax
mov r15d, eax
cmp qword [rdi + 0x14d8], 0
je 0x14013457e
movsx rax, r15w
mov qword [rsp + 0x38], rax
mov rcx, qword [rdi + rax*8 + 0x1518]
test rcx, rcx
jne 0x140134563
mov ecx, r15d
inc ecx
movzx eax, cx
cmp eax, 0x80
mov eax, 0
cmove ecx, eax
mov r15d, ecx
cmp cx, word [rsp + 0x30]
jne 0x140134522
jmp 0x14013457e
mov rdx, rdi
call fcn.140043e80
mov rax, qword [rsp + 0x38]
mov qword [rdi + rax*8 + 0x1518], 0
jmp 0x140134542
mov rcx, rbp
mov rdx, r12
mov r8d, 2
call fcn.1400a63d0
mov r15, qword [rsp + 0x58]
jmp 0x140133f6d
test bpl, 1
je 0x1401349ac
xor r14d, r14d
mov rax, rsi
mov byte [r15], 1
jmp 0x140133bec
mov eax, dword [rsi + 0x18]
lea rcx, [rsp + 0x80]
mov qword [rcx + 8], rax
movabs rax, 0x657a69736e617073
add rax, 0x60dfc00
mov qword [rcx], rax
mov r13, r8
call fcn.14004a330
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x60], r13
mov qword [rcx + 8], r13
movabs rax, 0x657a69736e617073
mov qword [rcx], rax
call fcn.14004a330
mov r8, qword [rdi + 0x14e8]
mov edx, 3
cmp byte [rdi + 8], 0
jne 0x14013461a
cmp byte [rdi + 6], 1
mov edx, 2
sbb edx, 0
lea rcx, [0x14035ad68]
mov r9d, 0x200000
call fcn.1400db8b0
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14013498b
mov rax, qword [rsp + 0x50]
sub rax, 0xffffffffffe00000
mov qword [rsp + 0x38], rax
jae 0x14013483d
lea rax, [rdi + 0x1508]
mov qword [rsp + 0x48], rax
mov r13, qword [rsp + 0x50]
mov rax, qword [0x1403428d8]
and rax, r13
cmp rax, qword [0x1403428c0]
jne 0x140134678
xor ecx, ecx
jmp 0x1401346bb
mov rax, qword [0x1403428e0]
and rax, r13
mov ecx, 1
cmp rax, qword [0x1403428c8]
je 0x1401346bb
mov rcx, qword [0x1403428e8]
and rcx, r13
mov rax, qword [0x1403428d0]
cmp rcx, rax
mov ecx, 0
cmovne rax, rcx
mov ecx, 0xffffffff
mov edx, 2
cmove rcx, rdx
mov rdx, r13
sub rdx, rax
shl rcx, 0xe
lea rax, [0x140342968]
add rcx, rax
shr rdx, 0x15
mov word [rcx + rdx*2], 0xfffe
lock add qword [rdi + 0x1488], 0x200000
lea rax, [r13 + 0x200000]
mov qword [rsp + 0x28], rax
mov qword [rdi + 0x14e8], rax
xor eax, eax
cmp byte [rdi], 0
setne al
shl rax, 0xf
mov qword [rsp + 0x30], rax
add rax, r13
mov ecx, 0x4000
add rax, rcx
mov qword [rdi + 0x14f0], rax
lea rax, [r13 + 0x1fc000]
mov qword [rdi + 0x14f8], rax
lock inc qword [rdi + 0x14a8]
lea rcx, [r13 + 0x1000]
mov edx, 0x1000
mov qword [rsp + 0x58], rcx
mov r8d, 2
call fcn.1400a63d0
cmp byte [rdi + 8], 0
jne 0x140134778
cmp byte [rdi + 6], 0
je 0x140134778
lock inc qword [rdi + 0x14a8]
lea rcx, [r13 + 0x2000]
mov edx, 0x1000
mov r8d, 2
call fcn.1400a63d0
mov rcx, r13
mov qword [r13 + 0x1000], rdi
mov dword [r13 + 0x1010], 0
mov qword [r13 + 0x1008], 0
mov rax, qword [rdi + 0x1500]
test r13, r13
jne 0x1401347f8
inc word [rax + 0x10]
cmp byte [rdi], 2
je 0x1401347c2
mov rax, qword [rsp + 0x28]
mov r13, rax
cmp rax, qword [rsp + 0x38]
jb 0x140134661
jmp 0x14013483d
mov eax, 0x4000
lea rcx, [rax + r13]
lock inc qword [rdi + 0x14a8]
mov rdx, qword [rsp + 0x30]
mov r8d, 2
call fcn.1400a63d0
call fcn.14007f220
mov rcx, rax
mov rdx, rdi
mov r8, r13
call fcn.140240670
jmp 0x1401347ad
lea rcx, [rax + 8]
test rax, rax
cmove rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rdi + 0x1500], rax
mov word [rax + 0x10], 1
jmp 0x1401347a8
test bpl, 1
je 0x1401349ba
xor eax, eax
mov qword [rsp + 0x28], rax
xor r14d, r14d
xor r12d, r12d
mov r13, qword [rsp + 0x30]
jmp 0x1401344b7
xor eax, eax
cmp byte [rdi], 0
setne al
shl rax, 0xf
or rax, 0x4000
add rax, qword [rsp + 0x50]
jne 0x14013495d
xor r14d, r14d
jmp 0x1401340dd
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14013487b
mov rcx, qword [rsp + 0x30]
call fcn.14004f6b0
movzx eax, word [rdi + 0x1918]
mov word [rsp + 0x46], ax
mov dword [rsp + 0x48], eax
cmp qword [rdi + 0x14d8], 0
je 0x1401348eb
movsx rax, word [rsp + 0x48]
mov qword [rsp + 0x68], rax
mov rcx, qword [rdi + rax*8 + 0x1518]
test rcx, rcx
jne 0x1401348d0
mov ecx, dword [rsp + 0x48]
inc ecx
movzx eax, cx
cmp eax, 0x80
mov eax, 0
cmove ecx, eax
mov dword [rsp + 0x48], ecx
cmp cx, word [rsp + 0x46]
jne 0x14013488b
jmp 0x1401348eb
mov rdx, rdi
call fcn.140043e80
mov rax, qword [rsp + 0x68]
mov qword [rdi + rax*8 + 0x1518], 0
jmp 0x1401348ad
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x28]
mov rdx, r13
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x140134444
test bpl, 1
je 0x1401349c8
lock inc qword [rdi + 0x14a8]
lea rcx, [0x14035ad68]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov r12, qword [rsp + 0x38]
mov r9, r12
call fcn.1400a9bd0
lock sub qword [rdi + 0x1490], r12
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x140134830
dec r12
mov rcx, qword [rdi + 0x14f0]
add r12, rcx
mov rax, r12
and rax, r14
mov rdx, qword [rsp + 0x60]
add rdx, rax
cmp rdx, qword [rdi + 0x14f8]
ja 0x1401349d6
mov r8, qword [rsp + 0x60]
jmp 0x140133e4b
test bpl, 1
jne 0x14013485a
lea rcx, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edx, 0x200000
mov rcx, rdi
call fcn.140223910
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, rbx
call fcn.14023ebd0
mov rcx, rdi
mov rdx, r14
call fcn.140223910
int3
mov rcx, rdi
mov rdx, r13
call fcn.140223940
int3
int3
xor ebx, ebx
jmp 0x140133c64
test r14, r14
je 0x140134a6e
mov rax, qword [r14 + 8]
mov qword [rsi + 8], rax
cmp qword [r14], 0
jne 0x140134a0c
mov rax, qword [rsi + 0x10]
mov qword [r14 + 8], rax
mov qword [rsi + 0x10], r14
mov rax, r14
mov r14, qword [rsi + 8]
jmp 0x1401349e0
mov qword [r14 + 8], 0
mov rax, r14
and rax, 0xffffffffffe00000
inc word [rax + 0x1012]
mov rax, qword [r14 + 0x10]
mov ecx, dword [rax + 0x18]
mov edx, dword [rax + 0x1c]
movzx edx, dl
shl rdx, 0xc
imul rdx, qword [rax + 0x20]
shr rdx, 0x2a
mov eax, dword [r14 + 0x18]
shr eax, 0xe
and eax, 0x1fff
sub rdx, rax
imul rcx, rdx
add rcx, 0xfff
and rcx, 0xfffffffffffff000
sub qword [rdi + 0x14d8], rcx
mov rax, rsi
jmp 0x140133bf5
test bpl, 0x20
jne 0x1401349d9
mov rcx, qword [rax + 8]
mov qword [rsi + 0x10], rcx
mov rcx, qword [rax + 0x10]
mov edx, dword [rcx + 0x1c]
movzx edx, dl
shl rdx, 0xc
imul rdx, qword [rcx + 0x20]
shr rdx, 0x1c
mov ecx, 0xf8003fff
and ecx, dword [rax + 0x18]
and edx, 0x7ffc000
or ecx, edx
mov dword [rax + 0x18], ecx
mov rcx, rax
and rcx, 0xffffffffffe00000
inc word [rcx + 0x1012]
mov qword [rax + 8], 0
mov byte [r15], 1
mov r14, rax
jmp 0x140134a66