Function at 0x1400bfec0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

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 0x1400c02f5
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 0x1400bff25
mov r13d, 2
cmp byte [rsi + 2], 0
je 0x1400c025c
lea eax, [r13 - 1]
imul rax, rax, 0x420
lea rcx, [0x1402c5a30]
add rcx, rax
mov rdx, rbx
call fcn.1400a49a0
test rax, rax
je 0x1400c02e3
mov r12, rax
lock add qword [rsi + 0x1898], rbx
lock inc qword [rsi + 0x18b0]
lea rdi, [rax + 0x1000]
mov edx, 0x1000
mov rcx, rdi
mov r8d, 3
call fcn.1400a4440
cmp r13d, 2
jne 0x1400bff9e
lock inc qword [rsi + 0x18b0]
lea rcx, [r12 + 0x2000]
mov edx, 0x1000
mov r8d, 3
call fcn.1400a4440
mov r8, r12
movabs rax, 0xfffffffc00000000
and rax, r12
cmp rax, qword [0x1402b5708]
je 0x1400c000e
cmp rax, qword [0x1402b5700]
je 0x1400bfff5
mov rax, qword [0x1402b5718]
and rax, r8
cmp rax, qword [0x1402b5710]
jne 0x1400c032d
mov rcx, r12
sub rcx, rax
shr rcx, 0x15
lea rax, [0x1402b57fc]
lea rdx, [rax + rcx*2]
add rdx, 0x8000
jmp 0x1400c002c
mov rax, r12
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x1402b57fc]
lea rdx, [rcx + rax*2]
jmp 0x1400c002c
mov rax, r12
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x1402b57fc]
lea rdx, [rcx + rax*2]
add rdx, 0x4000
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, 0xf
mov dword [rsp + 0x2c], ebp
jbe 0x1400c00a8
mov ecx, eax
and ecx, 0xfffffff0
mov r8d, ecx
lea r8, [rdx + r8*2]
movdqa xmm0, xmmword [0x1402906d0]
xor r9d, r9d
movdqa xmm1, xmmword [0x1402906e0]
movdqa xmm2, xmmword [0x1402906f0]
nop word [rax + rax]
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 0x1400c0080
cmp ecx, eax
je 0x1400c00bf
jmp 0x1400c00b0
xor ecx, ecx
mov r8, rdx
nop dword [rax]
mov word [r8], cx
add r8, 2
inc ecx
cmp ax, cx
jne 0x1400c00b0
mov qword [rdi], rsi
lea rax, [rdi + 0x20]
mov rcx, r12
and rcx, 0xffffffffffe00000
mov edx, r12d
shr edx, 9
and edx, 0xfe0
lea rbp, [rdx + rcx]
add rbp, 0x1000
cmp rbp, rax
je 0x1400c0106
test byte [rdi + 0x3e], 0x40
jne 0x1400c031f
mov ecx, ebp
sub ecx, eax
shr ecx, 5
and cl, 0x3f
or cl, 0x80
mov byte [rdi + 0x3e], cl
add r15d, 0xfff
or byte [rbp + 0x1e], 0x40
and r15d, 0xfffff000
movzx eax, byte [rbp + 0x3e]
and al, 0xc0
inc al
mov byte [rbp + 0x3e], al
mov dword [rbp + 0x58], r15d
mov byte [rbp + 0x68], 1
lea rdi, [rbp + 0x40]
pxor xmm0, xmm0
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x18], 0x80000000
mov eax, 0xfffffe00
and eax, dword [rbp + 0x1c]
inc eax
mov word [rbp + 0x1c], ax
lock inc qword [rsi + 0x18b0]
mov rcx, r12
mov rdx, r15
mov r8d, 0x1000
mov r9d, 4
call sub.KERNEL32.dll_VirtualAlloc
test rax, rax
je 0x1400c0267
mov rcx, r15
lock xadd qword [rsi + 0x1880], rcx
add r14, 0xffffffffffffc000
add rcx, r15
mov rax, qword [rsi + 0x1888]
nop word cs:[rax + rax]
cmp rax, rcx
mov rdx, rcx
cmova rdx, rax
lock cmpxchg qword [rsi + 0x1888], rdx
jne 0x1400c01a0
lea rax, [0x140290718]
lea rcx, [0x140290710]
cmp byte [rsi + 0x13], 0
cmovne rcx, rax
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r12
call qword [0x1402a4958]
mov qword [rbp], rax
and byte [rbp + 0x1c], 0xfe
lea r15, [rbp + 0x70]
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x80], rdi
mov dil, 1
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400c0239
test dil, dil
je 0x1400c0246
mov rax, qword [rsi + 0x1918]
mov qword [r15], rax
test rax, rax
je 0x1400c0228
mov qword [rax + 8], r15
mov qword [r15 + 8], 0
mov qword [rsi + 0x1918], r15
jmp 0x1400c0248
mov rcx, rbx
call fcn.14001e950
test dil, dil
jne 0x1400c0215
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
mov r13d, 1
jmp 0x1400bff25
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400c0280
mov rcx, qword [rsp + 0x20]
call fcn.14001e950
mov rcx, rsi
call fcn.1400a1b60
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 0x1400c0179
test byte [rsp + 0x2c], 1
je 0x1400c0322
lock inc qword [rsi + 0x18b0]
lea rcx, [0x1402c5a30]
mov edx, r13d
mov r8, qword [rsp + 0x30]
mov r9, rbx
call fcn.1400a4ba0
lock sub qword [rsi + 0x1898], rbx
jmp 0x1400c02eb
test bpl, 1
je 0x1400c0314
xor ebp, ebp
xor r15d, r15d
xor edi, edi
jmp 0x1400c01fe
test bpl, 1
jne 0x1400c0246
add rsi, 0x40
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r15
call fcn.1400c1680
mov rcx, rsi
mov rdx, rbx
call fcn.1400c0340
int3
mov rcx, rsi
mov rdx, r15
call fcn.1400c0370
int3