Function at 0xbeef6630
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
movzx r13d, r8b
mov r12d, edx
mov r15, rcx
movsxd rsi, dword [rcx + 0x3c]
add rsi, rcx
mov rax, qword [rsi + 0x30]
mov qword [r11 + 8], rax
mov eax, dword [rsi + 0x50]
mov qword [r11 + 0x20], rax
mov rax, qword [0xbef0de30]
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
lea r9, [r11 + 0x20]
xor r8d, r8d
lea rdx, [r11 + 8]
mov rcx, 0xffffffffffffffff
call rax
xor r14d, r14d
test eax, eax
je 0xbeef66e3
mov qword [rsp + 0xd0], r14
mov rax, qword [0xbef0de30]
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
lea r9, [rsp + 0xe8]
xor r8d, r8d
lea rdx, [rsp + 0xd0]
mov rcx, 0xffffffffffffffff
call rax
test eax, eax
je 0xbeef66e3
xor eax, eax
jmp 0xbeef699c
mov r8d, dword [rsi + 0x54]
mov rdx, r15
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_RtlMoveMemory]
movzx edi, word [rsi + 0x14]
add rdi, rsi
movzx ebx, r14w
cmp r14w, word [rsi + 6]
jae 0xbeef6761
nop word [rax + rax]
movzx eax, bx
lea rcx, [rax + rax*4]
mov r10d, dword [rdi + rcx*8 + 0x24]
test r10d, r10d
je 0xbeef6758
mov edx, dword [rdi + rcx*8 + 0x20]
test edx, edx
je 0xbeef6758
mov r9d, dword [rdi + rcx*8 + 0x2c]
test r9d, r9d
je 0xbeef6758
mov eax, dword [rdi + rcx*8 + 0x28]
test eax, eax
je 0xbeef6758
cmp eax, edx
cmovae eax, edx
mov r8d, eax
lea rdx, [r15 + r9]
mov ecx, r10d
add rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_RtlMoveMemory]
inc bx
cmp bx, word [rsi + 6]
jb 0xbeef6710
xor edx, edx
mov rcx, qword [rsp + 0xd0]
call fcn.bef08d20
mov rbx, qword [rsp + 0xd0]
mov r11, rbx
sub r11, qword [rsi + 0x30]
je 0xbeef680a
mov eax, dword [rsi + 0xb0]
test eax, eax
je 0xbeef680a
mov ecx, dword [rsi + 0xb4]
test ecx, ecx
je 0xbeef680a
lea r9, [rbx + rax]
lea rdi, [r9 + rcx]
cmp r9, rdi
jae 0xbeef680a
mov eax, dword [r9 + 4]
test eax, eax
je 0xbeef680a
add eax, 0xfffffff8
shr eax, 1
je 0xbeef67fe
lea r8, [r9 + 8]
mov r10d, eax
nop dword [rax]
movzx eax, word [r8]
movzx ecx, ax
shr cx, 0xc
and eax, 0xfff
jge 0xbeef67db
dec eax
or eax, 0xfffff000
inc eax
cmp cx, 3
je 0xbeef67e7
cmp cx, 0xa
jne 0xbeef67f4
mov edx, dword [r9]
add rdx, rbx
movzx ecx, ax
add qword [rcx + rdx], r11
add r8, 2
sub r10, 1
jne 0xbeef67c0
mov eax, dword [r9 + 4]
add r9, rax
cmp r9, rdi
jb 0xbeef67a6
mov edx, 8
mov r8d, 0x20
mov rcx, qword [0xbef0e4e0]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
mov r8d, dword [rsi + 0xa0]
test r8d, r8d
je 0xbeef68ba
mov eax, dword [rsi + 0xa4]
test eax, eax
je 0xbeef68ba
mov ecx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 3
mov ecx, r8d
mov r8, qword [rsp + 0xd0]
add rcx, r8
call qword [sym.imp.KERNEL32.dll_RtlAddFunctionTable]
cmp dword [rsi + 0xa4], 0xc
jne 0xbeef68ba
cmp dword [rsi + 0x90], 0
jne 0xbeef68ba
cmp dword [rsi + 0x94], 0
jne 0xbeef68ba
mov eax, dword [rsi + 0xa0]
mov rcx, qword [rsp + 0xd0]
mov edx, dword [rax + rcx + 8]
test edx, edx
je 0xbeef68c2
mov edx, dword [rdx + rcx + 4]
add rdx, rcx
cmp rdx, rcx
jbe 0xbeef68c2
mov qword [rbx], rdx
mov rax, qword [rsp + 0xd0]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r12
mov rcx, qword [rsp + 0xd0]
mov r9, qword [rbx]
lea r8, [0xbef0df48]
test r9, r9
jne 0xbeef68fb
mov r9d, dword [rsi + 0x28]
add r9, rcx
mov qword [rbx], r9
mov rax, qword [rsp + 0xd0]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 1
mov qword [rbx + 0x18], r8
mov rcx, qword [rsp + 0xd0]
test r13b, r13b
je 0xbeef6990
mov dword [rsp + 0x68], 0x30
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x80], r14d
lea rax, [0xbef0da38]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], r14
mov rax, qword [0xbef0dea8]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], 0x44
mov qword [rsp + 0x28], rbx
lea rcx, [0xbeef6560]
mov qword [rsp + 0x20], rcx
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x68]
mov edx, 0x1fffff
lea rcx, [rsp + 0x60]
call rax
mov rcx, qword [rsp + 0x60]
test eax, eax
cmovs rcx, r14
mov rax, rcx
jmp 0xbeef699c
mov edx, 1
call r9
jmp 0xbeef699c
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret