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

Disassembly:
push r13
push r12
push rdi
push rbx
sub rsp, 0xf8
mov rbx, r9
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x28], 0
cmp ecx, 0x180
je 0x525b80
cmp ecx, 0x200
je 0x525b40
cmp ecx, 0xe0
je 0x525b10
vmovups xmm2, xmmword [0x006bc560]
vmovups xmm3, xmmword [0x006bc570]
vmovups xmmword [rsp + 0x30], xmm2
vmovups xmmword [rsp + 0x40], xmm3
lea rcx, [rsp + 0x20]
call fcn.00524f60
mov eax, dword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
sub eax, 0x180
test eax, 0xffffff7f
je 0x525940
mov rax, r8
mov rdx, r8
and eax, 0x1ff
jne 0x525aa0
lea r12, [rsp + 0x70]
lea r13, [rsp + 0x30]
mov qword [rsp + 0x78], 0
xor r9d, r9d
movbe qword [rsp + 0x71], rdx
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0x70], 0
call fcn.00510f10
movbe eax, dword [rsp + 0x30]
mov dword [rbx], eax
movbe eax, dword [rsp + 0x34]
mov dword [rbx + 4], eax
movbe eax, dword [rsp + 0x38]
mov dword [rbx + 8], eax
movbe eax, dword [rsp + 0x3c]
mov dword [rbx + 0xc], eax
movbe eax, dword [rsp + 0x40]
mov dword [rbx + 0x10], eax
movbe eax, dword [rsp + 0x44]
mov dword [rbx + 0x14], eax
movbe eax, dword [rsp + 0x48]
mov dword [rbx + 0x18], eax
movbe eax, dword [rsp + 0x4c]
mov dword [rbx + 0x1c], eax
add rsp, 0xf8
pop rbx
pop rdi
pop r12
pop r13
ret
mov rax, r8
mov r9, r8
and eax, 0x3ff
jne 0x525a30
lea r12, [rsp + 0x70]
lea r13, [rsp + 0x30]
lea rdx, [rsp + 0x78]
xor eax, eax
mov ecx, 0xf
xor r8d, r8d
mov rdi, rdx
mov rdx, r13
rep stosq qword [rdi], rax
movbe qword [rsp + 0x71], r9
mov rcx, r12
xor r9d, r9d
mov byte [rsp + 0x70], 0
call fcn.00515ed0
movbe eax, dword [rsp + 0x30]
mov dword [rbx], eax
movbe eax, dword [rsp + 0x34]
mov dword [rbx + 4], eax
movbe eax, dword [rsp + 0x38]
mov dword [rbx + 8], eax
movbe eax, dword [rsp + 0x3c]
mov dword [rbx + 0xc], eax
movbe eax, dword [rsp + 0x40]
mov dword [rbx + 0x10], eax
movbe eax, dword [rsp + 0x44]
mov dword [rbx + 0x14], eax
movbe eax, dword [rsp + 0x48]
mov dword [rbx + 0x18], eax
movbe eax, dword [rsp + 0x4c]
mov dword [rbx + 0x1c], eax
movbe eax, dword [rsp + 0x50]
mov dword [rbx + 0x20], eax
movbe eax, dword [rsp + 0x54]
mov dword [rbx + 0x24], eax
movbe eax, dword [rsp + 0x58]
mov dword [rbx + 0x28], eax
movbe eax, dword [rsp + 0x5c]
mov dword [rbx + 0x2c], eax
movbe eax, dword [rsp + 0x60]
mov dword [rbx + 0x30], eax
movbe eax, dword [rsp + 0x64]
mov dword [rbx + 0x34], eax
movbe eax, dword [rsp + 0x68]
mov dword [rbx + 0x38], eax
movbe eax, dword [rsp + 0x6c]
mov dword [rbx + 0x3c], eax
add rsp, 0xf8
pop rbx
pop rdi
pop r12
pop r13
ret
dec rax
lea r12, [rsp + 0x70]
shr rax, 3
lea rcx, [rax + 1]
cmp rax, 0x7f
jne 0x525c20
mov rdx, r8
mov ecx, r8d
mov eax, 0xff
lea r13, [rsp + 0x30]
shr rdx, 3
and ecx, 7
mov r9d, r8d
shr r8, 0x20
and edx, 0x7f
sarx eax, eax, ecx
movzx ecx, byte [rsp + rdx + 0x70]
andn eax, eax, ecx
mov rcx, r12
mov byte [rsp + rdx + 0x70], al
mov rdx, r13
call fcn.00515ed0
mov r9, qword [rsp + 0x28]
jmp 0x52595b
dec rax
lea r12, [rsp + 0x70]
shr rax, 3
lea rdx, [rax + 1]
cmp rax, 0x3f
jne 0x525bc0
mov rdx, r8
mov ecx, r8d
mov eax, 0xff
lea r13, [rsp + 0x30]
shr rdx, 3
and ecx, 7
mov r9d, r8d
shr r8, 0x20
and edx, 0x3f
sarx eax, eax, ecx
movzx ecx, byte [rsp + rdx + 0x70]
andn eax, eax, ecx
mov rcx, r12
mov byte [rsp + rdx + 0x70], al
mov rdx, r13
call fcn.00510f10
mov rdx, qword [rsp + 0x28]
jmp 0x52587b
vmovups xmm0, xmmword [0x006bc580]
vmovups xmm1, xmmword [0x006bc590]
vmovups xmmword [rsp + 0x30], xmm0
vmovups xmmword [rsp + 0x40], xmm1
jmp 0x52583d
vmovups xmm2, xmmword [0x006bc4e0]
vmovups xmm3, xmmword [0x006bc4f0]
vmovups xmm4, xmmword [0x006bc500]
vmovups xmm5, xmmword [0x006bc510]
vmovups xmmword [rsp + 0x30], xmm2
vmovups xmmword [rsp + 0x40], xmm3
vmovups xmmword [rsp + 0x50], xmm4
vmovups xmmword [rsp + 0x60], xmm5
jmp 0x52583d
vmovups xmm4, xmmword [0x006bc520]
vmovups xmm5, xmmword [0x006bc530]
vmovups xmm0, xmmword [0x006bc540]
vmovups xmm1, xmmword [0x006bc550]
vmovups xmmword [rsp + 0x30], xmm4
vmovups xmmword [rsp + 0x40], xmm5
vmovups xmmword [rsp + 0x50], xmm0
vmovups xmmword [rsp + 0x60], xmm1
jmp 0x52583d
mov eax, 0x40
lea rcx, [r12 + rdx]
xor r9d, r9d
sub rax, rdx
cmp eax, 0x20
jae 0x525c70
test al, 0x10
jne 0x525d57
test al, 8
jne 0x525d21
test al, 4
jne 0x525d87
test eax, eax
je 0x525aba
mov byte [rcx], 0
mov r8, qword [rsp + 0x28]
test al, 2
je 0x525aba
mov edx, eax
mov word [rcx + rdx - 2], 0
mov r8, qword [rsp + 0x28]
jmp 0x525aba
mov eax, pe_nt_image_headers64
sub rax, rcx
add rcx, r12
cmp eax, 8
jae 0x525cf0
test al, 4
jne 0x525d3d
test eax, eax
je 0x525a4a
mov byte [rcx], 0
mov r8, qword [rsp + 0x28]
test al, 2
je 0x525a4a
mov edx, eax
mov word [rcx + rdx - 2], 0
mov r8, qword [rsp + 0x28]
jmp 0x525a4a
mov edx, eax
lea r8, [rcx + 8]
mov qword [rcx], 0
lea rdx, [rcx + rdx + 8]
and r8, 0xfffffffffffffff8
mov qword [rdx - 0x28], 0
mov qword [rdx - 0x20], 0
mov qword [rdx - 0x18], 0
mov qword [rdx - 0x10], 0
mov rdx, rcx
sub rdx, r8
add eax, edx
and eax, 0xffffffe0
cmp eax, 0x20
jb 0x525cd7
and eax, 0xffffffe0
xor ecx, ecx
mov edx, ecx
add ecx, 0x20
mov qword [r8 + rdx], r9
mov qword [r8 + rdx + 8], r9
mov qword [r8 + rdx + 0x10], r9
mov qword [r8 + rdx + 0x18], r9
cmp ecx, eax
jb 0x525cbb
mov r8, qword [rsp + 0x28]
jmp 0x525aba
lea rdi, [rcx + 8]
mov edx, eax
mov qword [rcx], 0
and rdi, 0xfffffffffffffff8
mov qword [rcx + rdx - 8], 0
sub rcx, rdi
add ecx, eax
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov r8, qword [rsp + 0x28]
jmp 0x525a4a
mov edx, eax
mov qword [rcx], 0
mov qword [rcx + rdx - 8], 0
mov r8, qword [rsp + 0x28]
jmp 0x525aba
mov edx, eax
mov dword [rcx], 0
mov dword [rcx + rdx - 4], 0
mov r8, qword [rsp + 0x28]
jmp 0x525a4a
mov edx, eax
mov qword [rcx], 0
mov qword [rcx + 8], 0
lea rax, [rcx + rdx + 0x10]
mov qword [rax - 0x20], 0
mov qword [rax - 0x18], 0
mov r8, qword [rsp + 0x28]
jmp 0x525aba
mov edx, eax
mov dword [rcx], 0
mov dword [rcx + rdx - 4], 0
mov r8, qword [rsp + 0x28]
jmp 0x525aba