Function at 0x7ffbf1d4481c
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
lea r13, [rcx + 0x18]
lea rsi, [0x7ffbf1ca0000]
mov qword [rsp + 0x40], rdx
lea r11, [0x7ffbf1ca0000]
mov r15d, 0x8000
mov r12, qword [r13]
mov qword [rsp + 0x48], rcx
mov eax, 0xfffffff
mov edx, dword [r12 + 5]
mov r14d, dword [r12 + 1]
mov qword [rsp + 0x50], r13
and rdx, rax
shr r14, 2
and r14, rax
mov eax, dword [0x7ffbf1cb6330]
lea rbp, [rax + rdx - 1]
xor edx, edx
mov rcx, rax
add r14, rsi
mov rax, rbp
div rcx
sub rbp, rdx
mov eax, dword [0x7ffbf1cb6330]
mov r10d, dword [0x7ffbf1d46a58]
mov eax, dword [0x7ffbf1cb6330]
mov eax, dword [0x7ffbf1d46a58]
test eax, eax
je 0x7ffbf1d44951
mov edi, dword [0x7ffbf1d46a58]
xor r8d, r8d
xor eax, eax
dec edi
inc rdi
mov r9, rdi
je 0x7ffbf1d4490b
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 0x7ffbf1d448dc
mov qword [0x7ffbf1d6a520], rcx
xor edx, edx
div rdi
test r10, r10
je 0x7ffbf1d44946
inc r8
mov ecx, 0xffff3cd2
mov eax, 0xc32d
lock cmpxchg dword [r11 + rdx*4 + 0xcb084], ecx
je 0x7ffbf1d44bb2
mov ecx, dword [0x7ffbf1d46a58]
lea rax, [rdx + 1]
xor edx, edx
div rcx
cmp r8, r10
jb 0x7ffbf1d44915
xor ebx, ebx
test rbx, rbx
jne 0x7ffbf1d44a76
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor edi, edi
mov rcx, qword [0x7ffbf1d690d0]
inc rdi
mov r9, rcx
mov r8, rcx
xor eax, eax
test rcx, rcx
je 0x7ffbf1d449a8
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 0x7ffbf1d44979
mov qword [0x7ffbf1d6a520], rcx
mov r9d, 0x40
xor edx, edx
div r8
mov r8d, 0x3000
mov rcx, rdx
shl rcx, 0x10
mov rdx, rbp
add rcx, qword [0x7ffbf1d68290]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x7ffbf1d44a10
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
mov rdx, rax
mov rcx, rax
or rcx, 3
lea r9, [0x7ffbf1d42740]
mov r8d, ebp
call qword [sym.imp.ntdll.dll_RtlInstallFunctionTableCallback]
test al, al
jne 0x7ffbf1d44a24
mov r8d, r15d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp rdi, 0x11
jb 0x7ffbf1d4495b
xor ebx, ebx
cmp qword [0x7ffbf1d690c8], rbx
ja 0x7ffbf1d44a32
test bl, 3
je 0x7ffbf1d44a54
test rbx, rbx
je 0x7ffbf1d44a52
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]
test rbx, rbx
lea r11, [0x7ffbf1ca0000]
je 0x7ffbf1d448a5
xor eax, eax
mov rdi, rbx
mov rcx, rbp
rep stosb byte [rdi], al
mov eax, 0xedeefbec
add qword [r13], 9
mov r9d, r14d
lea rsi, [0x7ffbf1ca0000]
mov r12d, dword [r12 + 5]
and r12d, 0xfffffff
mov r10d, dword [0x7ffbf1cb6330]
mov qword [rsp + 0x58], r12
sub r10, r12
xor edi, edi
sub r9d, esi
inc r10
mov r8, r10
je 0x7ffbf1d44ae8
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 0x7ffbf1d44ab9
mov qword [0x7ffbf1d6a520], rdx
xor edx, edx
mov ecx, r9d
mov rax, rdi
div r10
lea r15, [rdx + rbx]
mov r8, r15
mov rdx, r12
mov eax, 0x11f711fb
xor dl, dl
test r12, r12
je 0x7ffbf1d44d6b
lea rbx, [r12 - 1]
mov eax, dword [r14 + r12]
lea rcx, [rsp + 0x34]
mov dword [rcx], eax
movzx eax, word [r14 + r12 + 4]
mov word [rcx + 4], ax
mov bpl, byte [rsp + 0x35]
mov sil, byte [rsp + 0x34]
mov al, byte [rsp + 0x36]
or al, 1
mov r8b, byte [rsp + 0x38]
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 0x7ffbf1d44cfb
mov r13b, byte [rsp + 0x32]
mov r12b, byte [rsp + 0x31]
mov rax, r15
lea r11, [rbx + r14]
sub rax, r14
mov qword [rsp + 0x60], rax
test bl, 1
mov cl, byte [r11]
movzx r8d, cl
je 0x7ffbf1d44c2d
xor cl, byte [rsp + 0x37]
movzx r9d, byte [rsp + 0x37]
and cl, 1
je 0x7ffbf1d44bc9
mov eax, r9d
movzx edi, r13b
shr eax, 1
shr edi, 1
xor edi, eax
mov eax, r8d
btc eax, 8
sar eax, 1
xor edi, eax
jmp 0x7ffbf1d44bd1
mov ecx, dword [0x7ffbf1cb6330]
imul rcx, rdx
lea rbx, [rcx + r11 + 0xae000]
jmp 0x7ffbf1d44948
mov edi, r8d
xor edi, r9d
shr edi, 1
movzx r10d, byte [r11 - 1]
mov eax, r10d
xor eax, edi
test al, 1
je 0x7ffbf1d44c1c
test cl, cl
je 0x7ffbf1d44bfc
movzx ecx, r13b
btc r8d, 8
shr r9d, 1
shr ecx, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1d44c04
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
movzx eax, r12b
xor r10d, ecx
shr eax, 1
sar r10d, 1
btc eax, 7
xor eax, r10d
jmp 0x7ffbf1d44cd4
test cl, cl
je 0x7ffbf1d44cc5
movzx ecx, r13b
jmp 0x7ffbf1d44cb0
xor cl, bpl
movzx r9d, bpl
and cl, 1
je 0x7ffbf1d44c53
movzx edi, sil
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 0x7ffbf1d44c5b
mov edi, r8d
xor edi, r9d
shr edi, 1
movzx r10d, byte [r11 - 1]
mov eax, r10d
xor eax, edi
test al, 1
je 0x7ffbf1d44ca8
test cl, cl
je 0x7ffbf1d44c86
movzx ecx, sil
btc r8d, 8
shr r9d, 1
shr ecx, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1d44c8e
mov ecx, r8d
xor ecx, r9d
shr ecx, 1
movzx r8d, byte [rsp + 0x30]
xor r10d, ecx
mov eax, r8d
sar r10d, 1
shr eax, 1
btc eax, 7
xor eax, r10d
jmp 0x7ffbf1d44cd9
test cl, cl
je 0x7ffbf1d44cc5
movzx ecx, sil
btc r8d, 8
shr ecx, 1
shr r9d, 1
sar r8d, 1
xor ecx, r9d
xor ecx, r8d
jmp 0x7ffbf1d44ccd
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 + 0x60]
mov byte [r11 + rcx], al
xor dl, al
dec r11
sub rbx, 1
jne 0x7ffbf1d44b79
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
movzx eax, bpl
mov dil, byte [r14]
movzx ecx, byte [r14]
xor ecx, eax
xor dil, bpl
shr ecx, 1
and dil, 1
je 0x7ffbf1d44d21
movzx eax, sil
btc eax, 8
sar eax, 1
xor eax, ecx
jmp 0x7ffbf1d44d23
mov eax, ecx
test al, 1
je 0x7ffbf1d44d48
test dil, dil
je 0x7ffbf1d44d3a
movzx edi, sil
btc edi, 8
sar edi, 1
xor edi, ecx
jmp 0x7ffbf1d44d3c
mov edi, ecx
movzx eax, r8b
xor eax, edi
btc eax, 8
jmp 0x7ffbf1d44d5d
test dil, dil
je 0x7ffbf1d44d5b
movzx eax, sil
btc eax, 8
sar eax, 1
xor eax, ecx
jmp 0x7ffbf1d44d5d
mov eax, ecx
sar eax, 1
xor dl, al
lea rsi, [0x7ffbf1ca0000]
mov byte [r15], al
cmp dl, byte [r14 + r12 + 6]
je 0x7ffbf1d44e32
call fcn.7ffbf1d47140
lea r15, [fcn.7ffbf1cb7480]
mov r10, rax
mov r9d, 0xffff
and r13, 0xfffffffffffffff8
lea r8, [r13 + 0xfff]
mov rax, 0xfffffffffffff000
and r10, rax
and r8, rax
mov r11, qword [rsp + 0x48]
mov qword [r11 + 0x10], r15
xor edi, edi
mov rax, qword [0x7ffbf1d6a520]
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 0x7ffbf1d44db5
mov qword [0x7ffbf1d6a520], rax
movabs rax, 0x8000800080008001
mul rdi
shr rdx, 0xf
mov rax, qword [rsp + 0x40]
imul rdx, rdx, 0xffff
sub rdi, rdx
inc rdi
mov qword [rax + 0x98], r10
mov qword [rax + 0xb0], rdi
mov qword [rsp + 0x40], r9
jmp 0x7ffbf1d44e28
mov rax, qword [rsp + 0x40]
mov qword [r13], rax
add r13, 8
cmp r13, r8
jb 0x7ffbf1d44e1b
jmp 0x7ffbf1d44f3a
mov rbx, r14
sub rbx, r15
mov rax, qword [0x7ffbf1cf0238]
sub rsi, rax
jne 0x7ffbf1d44e4d
test rbx, rbx
je 0x7ffbf1d44f2a
lea r13, [0x7ffbf1ca0000]
mov rcx, qword [0x7ffbf1cac1e8]
lea r8d, [rcx - 1]
mov r11, r15
sub r11, r14
sub r14d, r13d
xor edi, edi
lea ebp, [r12 + r14]
lea r12, [0x7ffbf1ca0000]
test r8d, r8d
js 0x7ffbf1d44eaa
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 0x7ffbf1d44ea0
lea r8d, [rax - 1]
jmp 0x7ffbf1d44ea5
jbe 0x7ffbf1d44eaf
lea edi, [rax + 1]
cmp r8d, edi
jge 0x7ffbf1d44e7a
movsxd r9, edi
jmp 0x7ffbf1d44f23
movsxd r9, eax
jmp 0x7ffbf1d44f23
mov edx, dword [r12 + r9*4 + 0xc1ec]
mov edi, 0xfffffff
mov eax, edx
and eax, edi
cmp eax, ebp
jae 0x7ffbf1d44f2a
mov r10, rdx
xor r8d, r8d
and r10, rdi
mov edi, edx
sar edx, 0x1e
shl edi, 2
add r10, r13
and edx, 3
sar edi, 0x1e
and edi, 3
sub edi, 1
je 0x7ffbf1d44eff
sub edi, 1
je 0x7ffbf1d44efa
cmp edi, 1
jne 0x7ffbf1d44f05
mov r8, rsi
jmp 0x7ffbf1d44f05
mov r8, rbx
jmp 0x7ffbf1d44f05
mov r8, rsi
sub r8, rbx
sub edx, 2
je 0x7ffbf1d44f15
cmp edx, 1
jne 0x7ffbf1d44f20
add qword [r10 + r11], r8
jmp 0x7ffbf1d44f19
add dword [r10 + r11], r8d
mov rcx, qword [0x7ffbf1cac1e8]
inc r9
mov eax, ecx
cmp r9, rax
jb 0x7ffbf1d44eb4
mov eax, dword [0x7ffbf1cb6330]
mov eax, 0x5a21c290
mov r11, qword [rsp + 0x48]
mov qword [r11 + 0x10], r15
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