Function at 0x7ffbf1cf1fbc
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x7ffbf1d68270]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rdx
mov eax, 0xfffffff
lea r11, [0x7ffbf1ca0000]
lea rsi, [0x7ffbf1ca0000]
lea r12, [rcx + 0x18]
mov r13, qword [r12]
mov qword [rsp + 0x48], rcx
mov edx, dword [r13 + 5]
and rdx, rax
mov r14d, dword [r13 + 1]
and r14, rax
mov qword [rsp + 0x60], r12
mov eax, dword [0x7ffbf1cb6330]
lea rbp, [rax + rdx - 1]
xor edx, edx
add r14, rsi
mov rcx, rax
mov rax, rbp
div rcx
mov r15d, 0x8000
sub rbp, rdx
mov eax, dword [0x7ffbf1cb6330]
mov r10d, dword [0x7ffbf1d46a58]
mov eax, dword [0x7ffbf1cb6330]
mov eax, dword [0x7ffbf1d46a58]
test eax, eax
je 0x7ffbf1cf20ee
mov edi, dword [0x7ffbf1d46a58]
xor r8d, r8d
xor eax, eax
dec edi
inc rdi
mov r9, rdi
je 0x7ffbf1cf20a8
mov rcx, qword [0x7ffbf1d6a520]
imul rcx, rcx, 0x343fd
shl rax, 0x10
shr r9, 0x10
add rcx, 0x269ec3
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
test r9, r9
jne 0x7ffbf1cf2079
mov qword [0x7ffbf1d6a520], rcx
xor edx, edx
div rdi
test r10, r10
je 0x7ffbf1cf20e3
inc r8
mov ecx, 0xffff3cd2
mov eax, 0xc32d
lock cmpxchg dword [r11 + rdx*4 + 0xcb084], ecx
je 0x7ffbf1cf2353
lea rax, [rdx + 1]
xor edx, edx
mov ecx, dword [0x7ffbf1d46a58]
div rcx
cmp r8, r10
jb 0x7ffbf1cf20b2
xor ebx, ebx
test rbx, rbx
jne 0x7ffbf1cf2213
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
mov esi, eax
mov rcx, qword [0x7ffbf1d690d0]
mov r8, rcx
inc rdi
mov r9, rcx
xor eax, eax
test rcx, rcx
je 0x7ffbf1cf2145
mov rcx, qword [0x7ffbf1d6a520]
imul rcx, rcx, 0x343fd
shl rax, 0x10
shr r9, 0x10
add rcx, 0x269ec3
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
test r9, r9
jne 0x7ffbf1cf2116
mov qword [0x7ffbf1d6a520], rcx
xor edx, edx
mov r9d, 0x40
div r8
mov rcx, rdx
mov r8d, 0x3000
mov rdx, rbp
shl rcx, 0x10
add rcx, qword [0x7ffbf1d68290]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x7ffbf1cf21ad
mov r8d, ebp
and qword [rsp + 0x28], 0
lea r9, [0x7ffbf1d42740]
mov rdx, rax
and qword [rsp + 0x20], 0
mov rcx, rax
or rcx, 3
call qword [sym.imp.ntdll.dll_RtlInstallFunctionTableCallback]
test al, al
jne 0x7ffbf1cf21c1
xor edx, edx
mov rcx, rbx
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp rdi, 0x11
jb 0x7ffbf1cf20f8
xor ebx, ebx
cmp qword [0x7ffbf1d690c8], rbx
ja 0x7ffbf1cf21cf
test bl, 3
je 0x7ffbf1cf21f1
test rbx, rbx
je 0x7ffbf1cf21ef
mov rcx, rbx
or rcx, 3
call qword [sym.imp.ntdll.dll_RtlDeleteFunctionTable]
xor edx, edx
mov r8d, r15d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ebx, ebx
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r11, [0x7ffbf1ca0000]
test rbx, rbx
je 0x7ffbf1cf2042
xor eax, eax
mov rcx, rbp
mov rdi, rbx
rep stosb byte [rdi], al
mov eax, 0xe334336f
add qword [r12], 9
mov r9d, r14d
lea rsi, [0x7ffbf1ca0000]
mov r10d, dword [0x7ffbf1cb6330]
mov r13d, dword [r13 + 5]
and r13d, 0xfffffff
mov qword [rsp + 0x50], r13
sub r10, r13
xor edi, edi
sub r9d, esi
inc r10
mov r8, r10
je 0x7ffbf1cf2284
mov rdx, qword [0x7ffbf1d6a520]
imul rdx, rdx, 0x343fd
shl rdi, 0x10
shr r8, 0x10
add rdx, 0x269ec3
mov rcx, rdx
shr rcx, 0x10
movzx eax, cx
or rdi, rax
test r8, r8
jne 0x7ffbf1cf2255
mov qword [0x7ffbf1d6a520], rdx
mov ecx, r9d
xor edx, edx
mov rax, rdi
div r10
lea r15, [rdx + rbx]
mov r8, r15
mov rdx, r13
mov qword [rsp + 0x68], r15
mov eax, 0xec36f66e
xor dl, dl
test r13, r13
je 0x7ffbf1cf250c
lea rbx, [r13 - 1]
mov eax, dword [r13 + r14]
lea rcx, [rsp + 0x34]
mov dword [rcx], eax
movzx eax, word [r13 + r14 + 4]
mov word [rcx + 4], ax
mov bpl, byte [rsp + 0x35]
mov r8b, byte [rsp + 0x38]
mov sil, byte [rsp + 0x34]
mov al, byte [rsp + 0x36]
or al, 1
mov byte [rsp + 0x32], al
or r8b, 1
mov al, byte [rsp + 0x39]
or al, 1
mov byte [rsp + 0x30], r8b
mov byte [rsp + 0x31], al
or sil, 1
test rbx, rbx
je 0x7ffbf1cf249c
mov r13b, byte [rsp + 0x31]
mov rax, r15
lea r11, [rbx + r14]
mov r12b, byte [rsp + 0x32]
sub rax, r14
mov qword [rsp + 0x58], rax
test bl, 1
mov cl, byte [r11]
movzx r8d, cl
je 0x7ffbf1cf23ce
movzx r9d, byte [rsp + 0x37]
xor cl, byte [rsp + 0x37]
and cl, 1
je 0x7ffbf1cf236a
movzx edi, r12b
mov eax, r9d
shr eax, 1
shr edi, 1
xor edi, eax
mov eax, r8d
btc eax, 8
sar eax, 1
xor edi, eax
jmp 0x7ffbf1cf2372
mov ecx, dword [0x7ffbf1cb6330]
imul rcx, rdx
lea rbx, [rcx + r11 + 0xae000]
jmp 0x7ffbf1cf20e5
mov edi, r8d
xor edi, r9d
shr edi, 1
movzx r10d, byte [r11 - 1]
mov eax, r10d
xor eax, edi
test al, 1
je 0x7ffbf1cf23bd
test cl, cl
je 0x7ffbf1cf239d
movzx ecx, r12b
btc r8d, 8
shr r9d, 1
shr ecx, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1cf23a5
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
movzx eax, r13b
xor r10d, ecx
shr eax, 1
sar r10d, 1
btc eax, 7
xor eax, r10d
jmp 0x7ffbf1cf2475
test cl, cl
je 0x7ffbf1cf2466
movzx ecx, r12b
jmp 0x7ffbf1cf2451
xor cl, bpl
movzx r9d, bpl
and cl, 1
je 0x7ffbf1cf23f4
mov eax, r9d
shr eax, 1
movzx edi, sil
shr edi, 1
xor edi, eax
mov eax, r8d
btc eax, 8
sar eax, 1
xor edi, eax
jmp 0x7ffbf1cf23fc
mov edi, r8d
xor edi, r9d
shr edi, 1
movzx r10d, byte [r11 - 1]
mov eax, r10d
xor eax, edi
test al, 1
je 0x7ffbf1cf2449
test cl, cl
je 0x7ffbf1cf2427
btc r8d, 8
movzx ecx, sil
shr r9d, 1
shr ecx, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1cf242f
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
xor r10d, ecx
sar r10d, 1
movzx r8d, byte [rsp + 0x30]
mov eax, r8d
shr eax, 1
btc eax, 7
xor eax, r10d
jmp 0x7ffbf1cf247a
test cl, cl
je 0x7ffbf1cf2466
movzx ecx, sil
btc r8d, 8
shr ecx, 1
shr r9d, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1cf246e
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
mov eax, r10d
xor eax, ecx
sar eax, 1
mov r8b, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
xor dl, al
mov byte [r11 + rcx], al
dec r11
sub rbx, 1
jne 0x7ffbf1cf231a
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x60]
movzx eax, bpl
movzx ecx, byte [r14]
xor ecx, eax
mov dil, byte [r14]
xor dil, bpl
shr ecx, 1
and dil, 1
je 0x7ffbf1cf24c2
movzx eax, sil
btc eax, 8
sar eax, 1
xor eax, ecx
jmp 0x7ffbf1cf24c4
mov eax, ecx
test al, 1
je 0x7ffbf1cf24e9
test dil, dil
je 0x7ffbf1cf24db
movzx edi, sil
btc edi, 8
sar edi, 1
xor edi, ecx
jmp 0x7ffbf1cf24dd
mov edi, ecx
movzx eax, r8b
xor eax, edi
btc eax, 8
jmp 0x7ffbf1cf24fe
test dil, dil
je 0x7ffbf1cf24fc
movzx eax, sil
btc eax, 8
sar eax, 1
xor eax, ecx
jmp 0x7ffbf1cf24fe
mov eax, ecx
lea rsi, [0x7ffbf1ca0000]
sar eax, 1
xor dl, al
mov byte [r15], al
cmp dl, byte [r13 + r14 + 6]
je 0x7ffbf1cf25d4
call fcn.7ffbf1d47140
lea r15, [fcn.7ffbf1cb7480]
mov r10, rax
and r12, 0xfffffffffffffff8
lea r8, [r12 + 0xfff]
mov r9d, 0xffff
mov rax, 0xfffffffffffff000
mov r11, qword [rsp + 0x48]
mov qword [r11 + 0x10], r15
and r10, rax
and r8, rax
mov rax, qword [0x7ffbf1d6a520]
xor edi, edi
imul rax, rax, 0x343fd
shl rdi, 0x10
shr r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or rdi, rdx
test r9, r9
jne 0x7ffbf1cf2557
mov qword [0x7ffbf1d6a520], rax
movabs rax, 0x8000800080008001
mul rdi
shr rdx, 0xf
imul rdx, rdx, 0xffff
mov rax, qword [rsp + 0x40]
sub rdi, rdx
mov qword [rax + 0x98], r10
inc rdi
mov qword [rax + 0xb0], rdi
mov qword [rsp + 0x40], r9
jmp 0x7ffbf1cf25ca
mov rax, qword [rsp + 0x40]
mov qword [r12], rax
add r12, 8
cmp r12, r8
jb 0x7ffbf1cf25bd
jmp 0x7ffbf1cf26f3
mov rbx, r14
sub rbx, r15
mov rax, qword [0x7ffbf1cf0238]
sub rsi, rax
jne 0x7ffbf1cf25ef
test rbx, rbx
je 0x7ffbf1cf26e3
mov r11, r15
sub r11, r14
lea rax, [0x7ffbf1ca0000]
sub r14d, eax
mov rcx, qword [0x7ffbf1cac1e8]
lea r8d, [rcx - 1]
xor edi, edi
lea ebp, [r14 + r13]
test r8d, r8d
lea r12, [0x7ffbf1ca0000]
js 0x7ffbf1cf264c
lea eax, [rdi + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r9d, dword [r12 + rdx*4 + 0xc1ec]
and r9d, 0xfffffff
cmp r14d, r9d
jae 0x7ffbf1cf2642
lea r8d, [rax - 1]
jmp 0x7ffbf1cf2647
jbe 0x7ffbf1cf26a9
lea edi, [rax + 1]
cmp r8d, edi
jge 0x7ffbf1cf261c
movsxd r9, edi
mov eax, ecx
cmp r9, rax
jae 0x7ffbf1cf26e3
lea r15, [0x7ffbf1ca0000]
mov edx, dword [r12 + r9*4 + 0xc1ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x7ffbf1cf26de
mov r10, rdx
mov edi, edx
sar edx, 0x1e
shl edi, 2
and r10d, 0xfffffff
and edx, 3
sar edi, 0x1e
add r10, r15
xor r8d, r8d
and edi, 3
sub edi, 1
je 0x7ffbf1cf26b3
sub edi, 1
je 0x7ffbf1cf26ae
cmp edi, 1
jne 0x7ffbf1cf26b9
mov r8, rsi
jmp 0x7ffbf1cf26b9
movsxd r9, eax
jmp 0x7ffbf1cf264f
mov r8, rbx
jmp 0x7ffbf1cf26b9
mov r8, rsi
sub r8, rbx
sub edx, 2
je 0x7ffbf1cf26c9
cmp edx, 1
jne 0x7ffbf1cf26d4
add qword [r10 + r11], r8
jmp 0x7ffbf1cf26cd
add dword [r10 + r11], r8d
mov rcx, qword [0x7ffbf1cac1e8]
inc r9
mov eax, ecx
cmp r9, rax
jb 0x7ffbf1cf2661
mov r15, qword [rsp + 0x68]
mov eax, dword [0x7ffbf1cb6330]
mov eax, 0x5c3bc5e
mov r11, qword [rsp + 0x48]
mov qword [r11 + 0x10], r15
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.7ffbf1d2cc34
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret