Function at 0x1400c1ed0
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 0x1400c2305
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 0x1400c1f35
mov r13d, 2
cmp byte [rsi + 2], 0
je 0x1400c226c
lea eax, [r13 - 1]
imul rax, rax, 0x420
lea rcx, [0x1402c9a30]
add rcx, rax
mov rdx, rbx
call fcn.1400a69b0
test rax, rax
je 0x1400c22f3
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.1400a6450
cmp r13d, 2
jne 0x1400c1fae
lock inc qword [rsi + 0x18b0]
lea rcx, [r12 + 0x2000]
mov edx, 0x1000
mov r8d, 3
call fcn.1400a6450
mov r8, r12
movabs rax, 0xfffffffc00000000
and rax, r12
cmp rax, qword [0x1402b9708]
je 0x1400c201e
cmp rax, qword [0x1402b9700]
je 0x1400c2005
mov rax, qword [0x1402b9718]
and rax, r8
cmp rax, qword [0x1402b9710]
jne 0x1400c233d
mov rcx, r12
sub rcx, rax
shr rcx, 0x15
lea rax, [0x1402b97fc]
lea rdx, [rax + rcx*2]
add rdx, 0x8000
jmp 0x1400c203c
mov rax, r12
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x1402b97fc]
lea rdx, [rcx + rax*2]
jmp 0x1400c203c
mov rax, r12
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x1402b97fc]
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 0x1400c20b8
mov ecx, eax
and ecx, 0xfffffff0
mov r8d, ecx
lea r8, [rdx + r8*2]
movdqa xmm0, xmmword [0x140293870]
xor r9d, r9d
movdqa xmm1, xmmword [0x140293880]
movdqa xmm2, xmmword [0x140293890]
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 0x1400c2090
cmp ecx, eax
je 0x1400c20cf
jmp 0x1400c20c0
xor ecx, ecx
mov r8, rdx
nop dword [rax]
mov word [r8], cx
add r8, 2
inc ecx
cmp ax, cx
jne 0x1400c20c0
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 0x1400c2116
test byte [rdi + 0x3e], 0x40
jne 0x1400c232f
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 0x1400c2277
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 0x1400c21b0
lea rax, [0x1402938b8]
lea rcx, [0x1402938b0]
cmp byte [rsi + 0x13], 0
cmovne rcx, rax
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r12
call qword [0x1402a7b00]
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 0x1400c2249
test dil, dil
je 0x1400c2256
mov rax, qword [rsi + 0x1918]
mov qword [r15], rax
test rax, rax
je 0x1400c2238
mov qword [rax + 8], r15
mov qword [r15 + 8], 0
mov qword [rsi + 0x1918], r15
jmp 0x1400c2258
mov rcx, rbx
call fcn.14001e950
test dil, dil
jne 0x1400c2225
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 0x1400c1f35
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400c2290
mov rcx, qword [rsp + 0x20]
call fcn.14001e950
mov rcx, rsi
call fcn.1400a3b70
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 0x1400c2189
test byte [rsp + 0x2c], 1
je 0x1400c2332
lock inc qword [rsi + 0x18b0]
lea rcx, [0x1402c9a30]
mov edx, r13d
mov r8, qword [rsp + 0x30]
mov r9, rbx
call fcn.1400a6bb0
lock sub qword [rsi + 0x1898], rbx
jmp 0x1400c22fb
test bpl, 1
je 0x1400c2324
xor ebp, ebp
xor r15d, r15d
xor edi, edi
jmp 0x1400c220e
test bpl, 1
jne 0x1400c2256
add rsi, 0x40
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r15
call fcn.1400c3690
mov rcx, rsi
mov rdx, rbx
call fcn.1400c2350
int3
mov rcx, rsi
mov rdx, r15
call fcn.1400c2380
int3