Function at 0x7ffbf1ca3b74
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, 0x70
mov rax, qword [0x7ffbf1d68270]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov eax, dword [0x7ffbf1cb6330]
lea r11, [0x7ffbf1ca0000]
mov r15, rdx
mov r14d, 0x269ec3
mov r12, qword [rcx + 0x10]
mov qword [rsp + 0x40], rdx
mov edx, dword [r12 + 1]
and edx, 0xfffffff
mov r13d, 0x8000
mov qword [rsp + 0x48], rcx
lea rsi, [rax + rdx - 1]
xor edx, edx
mov rcx, rax
mov rax, rsi
div rcx
mov eax, dword [0x7ffbf1cb6330]
sub rsi, rdx
mov r10d, dword [0x7ffbf1d46a58]
mov eax, dword [0x7ffbf1cb6330]
mov eax, dword [0x7ffbf1d46a58]
test eax, eax
je 0x7ffbf1ca3c8d
xor r8d, r8d
mov edi, dword [0x7ffbf1d46a58]
xor eax, eax
dec edi
inc rdi
mov r9, rdi
je 0x7ffbf1ca3c47
mov rcx, qword [0x7ffbf1d6a520]
imul rcx, rcx, 0x343fd
shl rax, 0x10
shr r9, 0x10
add rcx, r14
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
test r9, r9
jne 0x7ffbf1ca3c1c
mov qword [0x7ffbf1d6a520], rcx
xor edx, edx
div rdi
test r10, r10
je 0x7ffbf1ca3c82
inc r8
mov ecx, 0xffff3cd2
mov eax, 0xc32d
lock cmpxchg dword [r11 + rdx*4 + 0xcb084], ecx
je 0x7ffbf1ca3eef
lea rax, [rdx + 1]
mov ecx, dword [0x7ffbf1d46a58]
xor edx, edx
div rcx
cmp r8, r10
jb 0x7ffbf1ca3c51
xor ebx, ebx
test rbx, rbx
jne 0x7ffbf1ca3dae
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
xor edi, edi
mov rcx, qword [0x7ffbf1d690d0]
mov r8, rcx
mov r9, rcx
inc rdi
xor eax, eax
test rcx, rcx
je 0x7ffbf1ca3ce0
mov rcx, qword [0x7ffbf1d6a520]
imul rcx, rcx, 0x343fd
shl rax, 0x10
shr r9, 0x10
add rcx, r14
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
test r9, r9
jne 0x7ffbf1ca3cb5
mov qword [0x7ffbf1d6a520], rcx
mov r9d, 0x40
xor edx, edx
div r8
mov r8d, 0x3000
mov rcx, rdx
shl rcx, 0x10
add rcx, qword [0x7ffbf1d68290]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
mov rbx, rax
je 0x7ffbf1ca3d48
mov rdx, rax
mov rcx, rax
mov r8d, esi
and qword [rsp + 0x28], 0
lea r9, [0x7ffbf1d42740]
and qword [rsp + 0x20], 0
or rcx, 3
call qword [sym.imp.ntdll.dll_RtlInstallFunctionTableCallback]
test al, al
jne 0x7ffbf1ca3d5c
mov r8d, r13d
mov rcx, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp rdi, 0x11
jb 0x7ffbf1ca3c97
xor ebx, ebx
cmp qword [0x7ffbf1d690c8], rbx
ja 0x7ffbf1ca3d6a
test bl, 3
je 0x7ffbf1ca3d8c
test rbx, rbx
je 0x7ffbf1ca3d8a
mov rcx, rbx
or rcx, 3
call qword [sym.imp.ntdll.dll_RtlDeleteFunctionTable]
mov rcx, rbx
mov r8d, r13d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ebx, ebx
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r11, [0x7ffbf1ca0000]
test rbx, rbx
je 0x7ffbf1ca3be5
mov rcx, rsi
xor eax, eax
mov rdi, rbx
rep stosb byte [rdi], al
mov eax, 0xeb03d2ef
mov r10d, dword [0x7ffbf1cb6330]
mov r13d, dword [r12 + 1]
mov rax, r13
and r13d, 0xfffffff
xor edi, edi
shr rax, 0x1d
lea rbp, [rax + r12 + 9]
mov r9d, ebp
sub r10, r13
mov qword [rsp + 0x58], r13
lea r12, [0x7ffbf1ca0000]
mov qword [rsp + 0x60], rbp
sub r9d, r12d
inc r10
mov r8, r10
je 0x7ffbf1ca3e28
mov rdx, qword [0x7ffbf1d6a520]
imul rdx, rdx, 0x343fd
shl rdi, 0x10
shr r8, 0x10
add rdx, r14
mov rcx, rdx
shr rcx, 0x10
movzx eax, cx
or rdi, rax
test r8, r8
jne 0x7ffbf1ca3dfd
mov qword [0x7ffbf1d6a520], rdx
xor edx, edx
mov ecx, r9d
mov rax, rdi
div r10
lea r14, [rdx + rbx]
mov rdx, r13
mov r8, r14
mov qword [rsp + 0x50], r14
mov eax, 0x6d13c311
xor dl, dl
test r13, r13
je 0x7ffbf1ca40bc
lea rbx, [r13 - 1]
mov eax, dword [r13 + rbp]
lea rcx, [rsp + 0x34]
mov dword [rcx], eax
movzx eax, word [r13 + rbp + 4]
mov word [rcx + 4], ax
mov r12b, byte [rsp + 0x34]
mov r10b, byte [rsp + 0x38]
mov sil, byte [rsp + 0x35]
mov al, byte [rsp + 0x36]
or al, 1
or r10b, 1
or r12b, 1
mov byte [rsp + 0x32], al
mov al, byte [rsp + 0x39]
or al, 1
test rbx, rbx
mov byte [rsp + 0x30], r10b
je 0x7ffbf1ca4023
mov r15, r14
mov r13b, byte [rsp + 0x32]
lea r11, [rbx + rbp]
sub r15, rbp
mov r14b, al
mov bpl, r10b
test bl, 1
mov cl, byte [r11]
movzx r8d, cl
je 0x7ffbf1ca3f55
xor cl, byte [rsp + 0x37]
movzx r9d, byte [rsp + 0x37]
and cl, 1
je 0x7ffbf1ca3f06
movzx edi, r13b
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 0x7ffbf1ca3f0e
mov ecx, dword [0x7ffbf1cb6330]
imul rcx, rdx
lea rbx, [rcx + r11 + 0xae000]
jmp 0x7ffbf1ca3c84
mov edi, r8d
xor edi, r9d
shr edi, 1
movzx r10d, byte [r11 - 1]
mov eax, r10d
xor eax, edi
test al, 1
je 0x7ffbf1ca3f47
test cl, cl
je 0x7ffbf1ca3f39
movzx ecx, r13b
btc r8d, 8
shr r9d, 1
shr ecx, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1ca3f41
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
movzx eax, r14b
jmp 0x7ffbf1ca3fba
test cl, cl
je 0x7ffbf1ca3fe8
movzx ecx, r13b
jmp 0x7ffbf1ca3fd3
movzx r9d, sil
xor cl, sil
and cl, 1
je 0x7ffbf1ca3f7b
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 0x7ffbf1ca3f83
mov edi, r8d
xor edi, r9d
shr edi, 1
movzx r10d, byte [r11 - 1]
mov eax, r10d
xor eax, edi
test al, 1
je 0x7ffbf1ca3fcb
test cl, cl
je 0x7ffbf1ca3fae
movzx ecx, r12b
btc r8d, 8
shr r9d, 1
shr ecx, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1ca3fb6
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
movzx eax, bpl
shr eax, 1
xor r10d, ecx
btc eax, 7
sar r10d, 1
xor eax, r10d
jmp 0x7ffbf1ca3ff7
test cl, cl
je 0x7ffbf1ca3fe8
movzx ecx, r12b
btc r8d, 8
shr ecx, 1
shr r9d, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1ca3ff0
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
mov eax, r10d
xor eax, ecx
sar eax, 1
mov byte [r11 + r15], al
xor dl, al
dec r11
sub rbx, 1
jne 0x7ffbf1ca3eb6
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r10b, byte [rsp + 0x30]
movzx r8d, sil
mov r9b, byte [rbp]
xor r9b, sil
and r9b, 1
movzx ecx, byte [rbp]
je 0x7ffbf1ca4051
movzx edi, r12b
mov eax, r8d
shr eax, 1
shr edi, 1
xor edi, eax
mov eax, ecx
btc eax, 8
sar eax, 1
xor edi, eax
jmp 0x7ffbf1ca4058
mov edi, ecx
xor edi, r8d
shr edi, 1
test dil, 1
je 0x7ffbf1ca408c
test r9b, r9b
je 0x7ffbf1ca4079
btc ecx, 8
movzx edi, r12b
shr r8d, 1
shr edi, 1
sar ecx, 1
xor edi, r8d
xor edi, ecx
jmp 0x7ffbf1ca4080
mov edi, ecx
xor edi, r8d
shr edi, 1
movzx eax, r10b
xor eax, edi
btc eax, 8
jmp 0x7ffbf1ca40ae
test r9b, r9b
je 0x7ffbf1ca40a7
movzx eax, r12b
btc ecx, 8
shr r8d, 1
shr eax, 1
sar ecx, 1
xor eax, r8d
xor eax, ecx
jmp 0x7ffbf1ca40ae
mov eax, ecx
xor eax, r8d
shr eax, 1
sar eax, 1
lea r12, [0x7ffbf1ca0000]
mov byte [r14], al
xor dl, al
cmp dl, byte [r13 + rbp + 6]
je 0x7ffbf1ca4182
call fcn.7ffbf1d47140
lea r14, [fcn.7ffbf1cb7480]
mov r10d, 0xffff
mov r11, rax
mov rbx, qword [rsp + 0x48]
mov rax, 0xfffffffffffff000
mov qword [rbx + 0x10], r14
lea rdi, [rbx + 0x18]
and rdi, 0xfffffffffffffff8
lea r9, [rdi + 0xfff]
and r11, rax
and r9, rax
xor r8d, r8d
mov rax, qword [0x7ffbf1d6a520]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r10, r10
jne 0x7ffbf1ca410b
mov qword [0x7ffbf1d6a520], rax
movabs rax, 0x8000800080008001
mul r8
shr rdx, 0xf
mov qword [r15 + 0x98], r11
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [r15 + 0xb0], r8
mov qword [rsp + 0x40], r10
jmp 0x7ffbf1ca4178
mov rax, qword [rsp + 0x40]
mov qword [rdi], rax
add rdi, 8
cmp rdi, r9
jb 0x7ffbf1ca416c
jmp 0x7ffbf1ca429a
mov rax, qword [0x7ffbf1cf0238]
mov rsi, r12
mov rbx, rbp
sub rbx, r14
sub rsi, rax
jne 0x7ffbf1ca41a0
test rbx, rbx
je 0x7ffbf1ca428a
mov rcx, qword [0x7ffbf1cac1e8]
mov r11, r14
lea r8d, [rcx - 1]
xor edi, edi
sub r11, rbp
sub ebp, r12d
test r8d, r8d
lea r12d, [rbp + r13]
lea r13, [0x7ffbf1ca0000]
js 0x7ffbf1ca41f7
lea eax, [rdi + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r9d, dword [r13 + rdx*4 + 0xc1ec]
and r9d, 0xfffffff
cmp ebp, r9d
jae 0x7ffbf1ca41ed
lea r8d, [rax - 1]
jmp 0x7ffbf1ca41f2
jbe 0x7ffbf1ca4255
lea edi, [rax + 1]
cmp r8d, edi
jge 0x7ffbf1ca41c7
movsxd r9, edi
mov eax, ecx
cmp r9, rax
jae 0x7ffbf1ca428a
lea rbp, [0x7ffbf1ca0000]
mov edx, dword [r13 + r9*4 + 0xc1ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r12d
jae 0x7ffbf1ca428a
mov edi, edx
mov r10, rdx
sar edx, 0x1e
shl edi, 2
and r10d, 0xfffffff
and edx, 3
sar edi, 0x1e
add r10, rbp
xor r8d, r8d
and edi, 3
sub edi, 1
je 0x7ffbf1ca425f
sub edi, 1
je 0x7ffbf1ca425a
cmp edi, 1
jne 0x7ffbf1ca4265
mov r8, rsi
jmp 0x7ffbf1ca4265
movsxd r9, eax
jmp 0x7ffbf1ca41fa
mov r8, rbx
jmp 0x7ffbf1ca4265
mov r8, rsi
sub r8, rbx
sub edx, 2
je 0x7ffbf1ca4275
cmp edx, 1
jne 0x7ffbf1ca4280
add qword [r10 + r11], r8
jmp 0x7ffbf1ca4279
add dword [r10 + r11], r8d
mov rcx, qword [0x7ffbf1cac1e8]
mov eax, ecx
inc r9
cmp r9, rax
jb 0x7ffbf1ca420c
mov eax, dword [0x7ffbf1cb6330]
mov eax, 0xd8a0ac04
mov rbx, qword [rsp + 0x48]
mov qword [rbx + 0x10], r14
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.7ffbf1d2cc34
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret