Function at 0x14000c088
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r12d, r12d
mov rbp, rdx
mov r15, rcx
mov edi, r12d
test rdx, rdx
jne 0x14000c0bf
lea eax, [rdx + 0x57]
jmp 0x14000c37b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
nop dword [rax + rax]
cmp dword [0x140017840], eax
je 0x14000c0dd
mov eax, 0x10dd
jmp 0x14000c37b
mov eax, dword [0x140017844]
test eax, eax
jne 0x14000c37b
test r15, r15
jne 0x14000c0f9
lea eax, [r15 + 6]
jmp 0x14000c37b
mov rcx, qword [r15]
test rcx, rcx
jne 0x14000c118
lea edi, [rcx + 6]
mov dword [0x140017844], edi
mov qword [0x140017828], r15
mov eax, edi
jmp 0x14000c37b
mov rsi, r12
mov r14, r12
call fcn.14000c398
mov rcx, rbp
mov rbx, rax
call fcn.14000c398
mov r13, rax
cmp rax, rbx
jne 0x14000c144
cmp dword [0x140017808], r12d
jne 0x14000c10a
jmp 0x14000c308
mov ecx, 0x30
call fcn.140001bcc
mov r14, rax
test rax, rax
jne 0x14000c160
mov edi, 8
jmp 0x14000c308
mov rcx, rbx
call fcn.14000bd88
mov rsi, rax
test rax, rax
je 0x14000c156
xor eax, eax
lea rbp, [rsi + 0x1e]
mov qword [rsi + 0x40], rax
mov r8, rbx
mov r12, rsi
and dword [rsp + 0x88], 0
lea rax, [rsp + 0x88]
mov rcx, r12
mov qword [rsp + 0x20], rax
mov rdi, r8
call fcn.14000d0fc
mov r8, rax
movsxd rax, dword [rsp + 0x88]
sub rax, rdi
mov edx, r8d
add rax, r8
sub edx, ebx
add r12, rax
mov al, dl
and al, 7
mov r9b, r12b
sub r9b, sil
mov cl, r9b
shl cl, 3
or cl, al
mov byte [rsi + 0x40], cl
mov al, byte [rdi]
add al, 0x3e
cmp al, 0x29
ja 0x14000c1e6
movabs rcx, 0x28040000403
bt rcx, rax
jb 0x14000c223
cmp byte [rdi], 0xff
jne 0x14000c1f1
cmp byte [rdi + 1], 0x25
jmp 0x14000c218
mov al, byte [rdi]
sub al, 0x26
cmp al, 0x3f
ja 0x14000c209
movabs rcx, 0xc000000000010101
bt rcx, rax
jb 0x14000c20e
cmp byte [rdi], 0xe3
jne 0x14000c21a
cmp byte [rdi + 1], 0xff
jne 0x14000c21a
cmp byte [rdi + 2], 0x25
je 0x14000c223
cmp edx, 5
jb 0x14000c180
cmp edx, 5
jae 0x14000c25a
cmp byte [r8], 0x90
jne 0x14000c23b
inc r8
mov edx, r8d
sub edx, ebx
cmp edx, 5
jb 0x14000c228
cmp edx, 5
jae 0x14000c25a
xor r12d, r12d
mov edi, 9
cmp dword [0x140017808], r12d
jne 0x14000c313
jmp 0x14000c308
cmp r12, rbp
jbe 0x14000c260
int3
mov byte [rsi + 0x3e], dl
lea rcx, [rsi + 0x20]
mov edi, edx
mov r8d, edx
mov rdx, rbx
mov byte [rbp], r9b
call sub.msvcrt.dll_memcpy
cmp rdi, 0x19
jbe 0x14000c288
mov edi, 6
jmp 0x14000c308
movzx edx, byte [rbp]
lea rax, [rdi + rbx]
add rdx, rsi
mov qword [rsi + 0x48], rax
xor r12d, r12d
mov qword [rsi + 0x50], r13
mov eax, esi
mov r8, rbp
lea rcx, [rdx + 6]
mov word [rdx], 0x25ff
sub eax, ecx
lea rcx, [rdx + 6]
sub r8, rcx
add eax, 0x48
cmp rcx, rbp
mov dword [rdx + 2], eax
cmova r8, r12
test r8, r8
je 0x14000c2ce
mov dl, 0xcc
call sub.msvcrt.dll_memset
lea r9, [rsp + 0x80]
mov dword [rsp + 0x80], r12d
mov r8d, 0x40
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
nop dword [rax + rax]
test eax, eax
jne 0x14000c34d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
mov dword [0x140017844], edi
test rsi, rsi
je 0x14000c337
xor edx, edx
mov rbx, rsi
and rbx, 0xffffffffffff0000
mov rcx, rsi
lea r8d, [rdx + 0x60]
call sub.msvcrt.dll_memset
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x48], rax
mov qword [rbx + 0x10], rsi
test r14, r14
je 0x14000c10a
mov rcx, r14
call fcn.140001c04
jmp 0x14000c10a
mov dword [r14 + 8], r12d
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x20], rsi
mov qword [r14 + 0x18], rbx
mov eax, dword [rsp + 0x80]
mov dword [r14 + 0x28], eax
mov rax, qword [0x140017800]
mov qword [r14], rax
xor eax, eax
mov qword [0x140017800], r14
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret