Function at 0x14021db30
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, 0x98
movdqa xmmword [rsp + 0x80], xmm11
movdqa xmmword [rsp + 0x70], xmm10
movdqa xmmword [rsp + 0x60], xmm9
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x30], xmm6
mov r15, r8
mov r12d, edx
mov rsi, rcx
add rcx, 0x40
cmp r8, 0x7fe00001
jae 0x14021e071
mov r14, r9
mov qword [rsp + 0x20], rcx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rbx, [r15 + r14]
add rbx, 0x203fff
and rbx, 0xffffffffffe00000
cmp byte [rsi + 7], 0
jne 0x14021e142
cmp byte [rsi + 6], 1
mov ebp, 2
sbb ebp, 0
call fcn.1400c5c30
mov rcx, rax
mov edx, ebp
xor r8d, r8d
mov r9, rbx
call fcn.1400c5c40
test rax, rax
je 0x14021e083
mov r13, rax
lock add qword [rsi + 0x1490], rbx
lock inc qword [rsi + 0x14a8]
lea rdi, [rax + 0x1000]
mov edx, 0x1000
mov rcx, rdi
mov r8d, 2
xor r9d, r9d
call fcn.1400af560
cmp ebp, 2
je 0x14021e00a
movabs rax, 0xfffffffc00000000
and rax, r13
cmp rax, qword [0x140336a00]
mov dword [rsp + 0x28], ebp
jne 0x14021e031
xor ecx, ecx
lea rbp, [r14 + r13]
lea rdx, [rbx + r13]
cmp r13, rdx
jae 0x14021de92
mov r8, r13
sub r8, rax
lea r9, [r13 + 0x200000]
cmp rdx, r9
cmova r9, rdx
mov rax, r13
not rax
add rax, r9
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, [0x14032a9e8]
add rcx, rdx
add rcx, 0xe
xor edx, edx
movdqa xmm1, xmmword [0x1402fcbe0]
movdqa xmm2, xmmword [0x1402fcbf0]
movdqa xmm3, xmmword [0x1402fcc00]
movdqa xmm4, xmmword [0x1402eef60]
movdqa xmm5, xmmword [0x1402d3b00]
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 0x14021dd1b
mov word [rcx + rdx*2 - 0xe], dx
pxor xmm8, xmm6
psrldq xmm8, 6
movd r8d, xmm8
shr r8d, 0x10
test r8b, 1
je 0x14021dd3f
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 0x14021dd8e
lea r8d, [rdx + 2]
mov word [rcx + rdx*2 - 0xa], r8w
pextrw r8d, xmm8, 4
test r8b, 1
je 0x14021dda4
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 0x14021ddf9
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 0x14021de2a
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 0x14021de70
lea r8d, [rdx + 6]
mov word [rcx + rdx*2 - 2], r8w
pextrw r8d, xmm7, 4
test r8b, 1
je 0x14021de85
lea r8d, [rdx + 7]
mov word [rcx + rdx*2], r8w
add rdx, 8
cmp rax, rdx
jne 0x14021dcca
mov dword [rsp + 0x2c], r12d
mov qword [rdi], rsi
lea rdx, [rdi + 0x20]
mov rax, rbp
and rax, 0xffffffffffe00000
mov ecx, ebp
shr ecx, 0xe
and ecx, 0x7f
shl rcx, 5
lea r12, [rax + rcx]
add r12, 0x1000
cmp r12, rdx
jne 0x14021e09a
or rax, 0x1000
or byte [rax + rcx + 0x1e], 0x40
add r15, 0xfff
and r15, 0xfffffffffffff000
mov al, byte [r12 + 0x3e]
and al, 0xc0
or al, 1
mov byte [r12 + 0x3e], al
lea rdi, [r12 + 0x40]
mov dword [r12 + 0x58], r15d
mov rcx, r12
mov rdx, rdi
call fcn.1400af4c0
lock inc qword [rsi + 0x14a8]
mov rcx, rbp
mov rdx, r15
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x14021e0bf
mov rcx, r15
lock xadd qword [rsi + 0x1478], rcx
add r14, 0xffffffffffffc000
add rcx, r15
mov rax, qword [rsi + 0x1480]
cmp rax, rcx
mov rdx, rcx
cmova rdx, rax
lock cmpxchg qword [rsi + 0x1480], rdx
jne 0x14021df49
mov qword [rbp], 0
mov qword [r12], rbp
and byte [r12 + 0x1b], 0xef
lea r15, [r12 + 0x68]
mov qword [r12 + 0x80], rbx
mov qword [r12 + 0x88], r14
mov qword [r12 + 0x78], rdi
mov dil, 1
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14021e064
test dil, dil
je 0x14021e07b
mov rax, qword [rsi + 0x1510]
mov qword [r15], rax
test rax, rax
je 0x14021dfbf
mov qword [rax + 8], r15
mov qword [r15 + 8], 0
mov qword [rsi + 0x1510], r15
mov rax, r12
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock inc qword [rsi + 0x14a8]
lea rcx, [r13 + 0x2000]
mov edx, 0x1000
mov r8d, 2
xor r9d, r9d
call fcn.1400af560
jmp 0x14021dc15
mov ecx, 1
cmp rax, qword [0x140336a08]
je 0x14021dc35
mov rax, qword [0x140336a18]
and rax, r13
mov ecx, 2
cmp rax, qword [0x140336a10]
je 0x14021dc35
jmp 0x14021e14c
mov rcx, rbx
call fcn.1400af4f0
jmp 0x14021dfa3
test r12b, 1
je 0x14021e14f
xor r12d, r12d
jmp 0x14021dfce
test r12b, 1
je 0x14021e15d
xor r15d, r15d
xor r12d, r12d
xor edi, edi
jmp 0x14021df8d
test byte [rdi + 0x3e], 0x40
jne 0x14021e173
mov r8d, r12d
sub r8d, edx
shr r8d, 5
and r8b, 0x3f
or r8b, 0x80
mov byte [rdi + 0x3e], r8b
jmp 0x14021dec7
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14021e0d8
mov rcx, qword [rsp + 0x20]
call fcn.1400af4f0
mov rcx, rsi
call fcn.140094a00
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, rbp
mov rdx, r15
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x14021df2c
test byte [rsp + 0x2c], 1
je 0x14021e168
lock inc qword [rsi + 0x14a8]
call fcn.1400c5c30
mov rcx, rax
mov edx, dword [rsp + 0x28]
mov r8, r13
mov r9, rbx
call fcn.1400e1250
lock sub qword [rsi + 0x1490], rbx
xor r15d, r15d
jmp 0x14021e093
mov ebp, 3
jmp 0x14021dbbe
int3
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r15
call fcn.1402242e0
mov rcx, rsi
mov rdx, rbx
call fcn.14021e180
mov rcx, rsi
mov rdx, r15
call fcn.14021e1b0
int3