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

Disassembly:
mov r11, rsp
push rbp
push r14
push r15
sub rsp, 0x60
mov rax, rdx
mov r15, r8
sub rax, rcx
mov rbp, rcx
sar rax, 5
mov r14, rax
mov qword [rsp + 0x88], rax
sar r14, 1
test r14, r14
jle 0x180052840
mov qword [r11 + 0x18], rbx
lea rdx, [rax - 1]
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], rdi
mov qword [r11 - 0x30], r12
mov r12, r14
mov qword [r11 - 0x38], r13
mov r13, rdx
shl r12, 5
sar r13, 1
add r12, rcx
xor esi, esi
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x98], r13
nop dword [rax]
movups xmm0, xmmword [r12 - 0x20]
dec r14
lea r12, [r12 - 0x20]
mov rbx, r14
mov rdi, r14
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm1
cmp r14, r13
jge 0x1800526e3
nop dword [rax]
lea rdi, [rdi*2 + 2]
mov rcx, rdi
shl rcx, 5
add rcx, rbp
lea rdx, [rcx - 0x20]
call r15
test al, al
je 0x180052680
dec rdi
shl rbx, 5
mov rcx, rdi
add rbx, rbp
shl rcx, 5
add rcx, rbp
movzx eax, word [rcx]
mov word [rbx], ax
mov eax, dword [rcx + 4]
mov dword [rbx + 4], eax
mov eax, dword [rcx + 8]
mov dword [rbx + 8], eax
mov eax, dword [rcx + 0xc]
mov dword [rbx + 0xc], eax
movzx eax, word [rcx + 0x10]
mov word [rbx + 0x10], ax
mov eax, dword [rcx + 0x14]
mov dword [rbx + 0x14], eax
mov eax, dword [rcx + 0x18]
mov dword [rbx + 0x18], eax
mov eax, dword [rcx + 0x1c]
mov dword [rbx + 0x1c], eax
mov word [rbx + 2], si
mov word [rbx + 0x12], si
mov rbx, rdi
cmp rdi, r13
jl 0x180052660
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
cmp rdi, r13
jne 0x18005273a
test al, 1
jne 0x18005273a
shl rax, 5
shl rbx, 5
add rbx, rbp
lea rcx, [rax + rbp]
movzx eax, word [rax + rbp - 0x20]
mov word [rbx], ax
mov eax, dword [rcx - 0x1c]
mov dword [rbx + 4], eax
mov eax, dword [rcx - 0x18]
mov dword [rbx + 8], eax
mov eax, dword [rcx - 0x14]
mov dword [rbx + 0xc], eax
movzx eax, word [rcx - 0x10]
mov word [rbx + 0x10], ax
mov eax, dword [rcx - 0xc]
mov dword [rbx + 0x14], eax
mov eax, dword [rcx - 8]
mov dword [rbx + 0x18], eax
mov eax, dword [rcx - 4]
mov dword [rbx + 0x1c], eax
mov word [rbx + 2], si
mov word [rbx + 0x12], si
mov rbx, rdx
cmp r14, rbx
jge 0x1800527c5
xor r13d, r13d
nop word [rax + rax]
lea rsi, [rbx - 1]
sar rsi, 1
lea rdx, [rsp + 0x20]
mov rdi, rsi
shl rdi, 5
add rdi, rbp
mov rcx, rdi
call r15
test al, al
je 0x1800527bb
movzx eax, word [rdi]
shl rbx, 5
add rbx, rbp
mov word [rbx], ax
mov eax, dword [rdi + 4]
mov dword [rbx + 4], eax
mov eax, dword [rdi + 8]
mov dword [rbx + 8], eax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 0xc], eax
movzx eax, word [rdi + 0x10]
mov word [rbx + 0x10], ax
mov eax, dword [rdi + 0x14]
mov dword [rbx + 0x14], eax
mov eax, dword [rdi + 0x18]
mov dword [rbx + 0x18], eax
mov eax, dword [rdi + 0x1c]
mov dword [rbx + 0x1c], eax
mov word [rbx + 2], r13w
mov word [rbx + 0x12], r13w
mov rbx, rsi
cmp r14, rsi
jl 0x180052750
mov r13, qword [rsp + 0x98]
xor esi, esi
movzx eax, word [rsp + 0x20]
shl rbx, 5
add rbx, rbp
mov word [rbx], ax
mov eax, dword [rsp + 0x24]
mov dword [rbx + 4], eax
mov eax, dword [rsp + 0x28]
mov dword [rbx + 8], eax
mov eax, dword [rsp + 0x2c]
mov dword [rbx + 0xc], eax
movzx eax, word [rsp + 0x30]
mov word [rbx + 0x10], ax
mov eax, dword [rsp + 0x34]
mov dword [rbx + 0x14], eax
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x18], eax
mov eax, dword [rsp + 0x3c]
mov dword [rbx + 0x1c], eax
mov rax, qword [rsp + 0x88]
mov word [rbx + 2], si
mov word [rbx + 0x12], si
lea rdx, [rax - 1]
test r14, r14
jg 0x180052630
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r15
pop r14
pop rbp
ret