Function at 0x1400e4640
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, 0x38
mov r15, r8
mov ebp, edx
mov rsi, rcx
cmp r8, 0x7fe00001
jae 0x1400e49b8
mov r14, r9
lea rcx, [rsi + 0x40]
mov qword [rsp + 0x20], rcx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rbx, [r15 + r14]
add rbx, 0x203fff
and rbx, 0xffffffffffe00000
mov r13d, 3
cmp byte [rsi + 0x10], 0
jne 0x1400e46a3
cmp byte [rsi + 4], 1
mov r13d, 2
sbb r13d, 0
lea eax, [r13 - 1]
imul rax, rax, 0x420
lea rcx, [0x1401d8540]
add rcx, rax
mov rdx, rbx
call fcn.1400b5120
test rax, rax
je 0x1400e49d8
mov r12, rax
lock add qword [rsi + 0x1490], rbx
lock inc qword [rsi + 0x14a8]
lea rdi, [rax + 0x1000]
mov edx, 0x1000
mov rcx, rdi
mov r8d, 3
call fcn.1400b4b30
cmp r13d, 2
jne 0x1400e471c
lock inc qword [rsi + 0x14a8]
lea rcx, [r12 + 0x2000]
mov edx, 0x1000
mov r8d, 3
call fcn.1400b4b30
mov r8, r12
movabs rax, 0xfffffffc00000000
and rax, r12
cmp rax, qword [0x1401c8588]
jne 0x1400e4755
mov rax, r12
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x1401c866c]
lea rdx, [rcx + rax*2]
add rdx, 0x4000
jmp 0x1400e47aa
cmp rax, qword [0x1401c8580]
jne 0x1400e4777
mov rax, r12
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x1401c866c]
lea rdx, [rcx + rax*2]
jmp 0x1400e47aa
mov rax, qword [0x1401c8598]
and rax, r8
cmp rax, qword [0x1401c8590]
jne 0x1400e4a98
mov rcx, r12
sub rcx, rax
shr rcx, 0x15
lea rax, [0x1401c866c]
lea rdx, [rax + rcx*2]
add rdx, 0x8000
mov qword [rsp + 0x30], r8
add r12, r14
lea rax, [rbx - 1]
shr rax, 0x15
lea ecx, [rax + 1]
cmp cx, 1
adc eax, 1
movzx eax, ax
cmp cx, 0x10
mov dword [rsp + 0x2c], ebp
jae 0x1400e47d8
xor ecx, ecx
mov r8, rdx
jmp 0x1400e4830
mov ecx, eax
and ecx, 0xfffffff0
mov r8d, ecx
lea r8, [rdx + r8*2]
movdqa xmm0, xmmword [0x1401af930]
xor r9d, r9d
movdqa xmm1, xmmword [0x1401af940]
movdqa xmm2, xmmword [0x1401af950]
nop
movdqa xmm3, xmm0
paddw xmm3, xmm1
movdqu xmmword [rdx + r9*2], xmm0
movdqu xmmword [rdx + r9*2 + 0x10], xmm3
add r9, 0x10
paddw xmm0, xmm2
cmp rcx, r9
jne 0x1400e4800
cmp rcx, rax
je 0x1400e483f
nop word [rax + rax]
mov word [r8], cx
add r8, 2
inc ecx
cmp ax, cx
jne 0x1400e4830
mov qword [rdi], rsi
lea rdx, [rdi + 0x20]
mov rax, r12
and rax, 0xffffffffffe00000
mov ecx, r12d
shr ecx, 0xe
and ecx, 0x7f
mov r8d, ecx
shl r8d, 5
lea rbp, [rax + r8]
add rbp, 0x1000
cmp rbp, rdx
je 0x1400e488f
test byte [rdi + 0x3e], 0x40
jne 0x1400e4a8a
mov r8d, ebp
sub r8d, edx
shr r8d, 5
and r8b, 0x3f
or r8b, 0x80
mov byte [rdi + 0x3e], r8b
add r15d, 0xfff
and r15d, 0xfffff000
or rax, 0x1000
shl ecx, 5
or byte [rax + rcx + 0x1e], 0x40
movzx eax, byte [rbp + 0x3e]
and al, 0xc0
or al, 1
mov byte [rbp + 0x3e], al
lea rdi, [rbp + 0x40]
mov dword [rbp + 0x58], r15d
pxor xmm0, xmm0
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0x10], rdi
xor eax, eax
cmp r15d, 0x10001
setae al
shl eax, 0x1b
mov ecx, 0xf7ffffff
and ecx, dword [rbp + 0x18]
or ecx, eax
mov dword [rbp + 0x18], ecx
lock inc qword [rsi + 0x14a8]
mov rcx, r12
mov rdx, r15
mov r8d, 0x1000
mov r9d, 4
call sub.KERNEL32.dll_VirtualAlloc
test rax, rax
je 0x1400e49e6
mov rcx, r15
lock xadd qword [rsi + 0x1478], rcx
add r14, 0xffffffffffffc000
add rcx, r15
mov rax, qword [rsi + 0x1480]
nop dword [rax]
cmp rax, rcx
mov rdx, rcx
cmova rdx, rax
lock cmpxchg qword [rsi + 0x1480], rdx
jne 0x1400e4930
mov qword [r12], 0
mov qword [rbp], r12
and byte [rbp + 0x1b], 0xef
lea r15, [rbp + 0x68]
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x78], rdi
mov dil, 1
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e4987
test dil, dil
je 0x1400e49c2
jmp 0x1400e4994
mov rcx, rbx
call fcn.1400b4580
test dil, dil
je 0x1400e49c2
mov rax, qword [rsi + 0x1510]
mov qword [r15], rax
test rax, rax
je 0x1400e49a7
mov qword [rax + 8], r15
mov qword [r15 + 8], 0
mov qword [rsi + 0x1510], r15
jmp 0x1400e49c4
test bpl, 1
je 0x1400e4a6a
xor ebp, ebp
mov rax, rbp
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test bpl, 1
je 0x1400e4a7f
xor ebp, ebp
jmp 0x1400e4a60
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400e49ff
mov rcx, qword [rsp + 0x20]
call fcn.1400b4580
mov rcx, rsi
call fcn.1400b21e0
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r12
mov rdx, r15
mov r8d, 0x1000
mov r9d, 4
call sub.KERNEL32.dll_VirtualAlloc
test rax, rax
jne 0x1400e490f
test byte [rsp + 0x2c], 1
je 0x1400e4a8d
lock inc qword [rsi + 0x14a8]
lea rcx, [0x1401d8540]
mov edx, r13d
mov r8, qword [rsp + 0x30]
mov r9, rbx
call fcn.1400b5320
lock sub qword [rsi + 0x1490], rbx
xor r15d, r15d
xor edi, edi
jmp 0x1400e496e
add rsi, 0x40
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r15
call fcn.1400fa260
mov rcx, rsi
mov rdx, rbx
call fcn.1400e4aa0
int3
mov rcx, rsi
mov rdx, r15
call fcn.1400e4ad0
int3