Function at 0x52ae40
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 0x52b1e0
cmp ecx, 0x200
je 0x52b1a0
cmp ecx, 0xe0
je 0x52b170
vmovups xmm2, xmmword [0x006f1020]
vmovups xmm3, xmmword [0x006f1030]
vmovups xmmword [rsp + 0x30], xmm2
vmovups xmmword [rsp + 0x40], xmm3
lea rcx, [rsp + 0x20]
call fcn.0052a5c0
mov eax, dword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
sub eax, 0x180
test eax, 0xffffff7f
je 0x52afa0
mov rax, r8
mov rdx, r8
and eax, 0x1ff
jne 0x52b100
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.00516570
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 0x52b090
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.0051b530
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 0x52b280
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.0051b530
mov r9, qword [rsp + 0x28]
jmp 0x52afbb
dec rax
lea r12, [rsp + 0x70]
shr rax, 3
lea rdx, [rax + 1]
cmp rax, 0x3f
jne 0x52b220
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.00516570
mov rdx, qword [rsp + 0x28]
jmp 0x52aedb
vmovups xmm0, xmmword [0x006f1040]
vmovups xmm1, xmmword [0x006f1050]
vmovups xmmword [rsp + 0x30], xmm0
vmovups xmmword [rsp + 0x40], xmm1
jmp 0x52ae9d
vmovups xmm2, xmmword [0x006f0fa0]
vmovups xmm3, xmmword [0x006f0fb0]
vmovups xmm4, xmmword [0x006f0fc0]
vmovups xmm5, xmmword [0x006f0fd0]
vmovups xmmword [rsp + 0x30], xmm2
vmovups xmmword [rsp + 0x40], xmm3
vmovups xmmword [rsp + 0x50], xmm4
vmovups xmmword [rsp + 0x60], xmm5
jmp 0x52ae9d
vmovups xmm4, xmmword [0x006f0fe0]
vmovups xmm5, xmmword [0x006f0ff0]
vmovups xmm0, xmmword [0x006f1000]
vmovups xmm1, xmmword [0x006f1010]
vmovups xmmword [rsp + 0x30], xmm4
vmovups xmmword [rsp + 0x40], xmm5
vmovups xmmword [rsp + 0x50], xmm0
vmovups xmmword [rsp + 0x60], xmm1
jmp 0x52ae9d
mov eax, 0x40
lea rcx, [r12 + rdx]
xor r9d, r9d
sub rax, rdx
cmp eax, 0x20
jae 0x52b2d0
test al, 0x10
jne 0x52b3b7
test al, 8
jne 0x52b381
test al, 4
jne 0x52b3e7
test eax, eax
je 0x52b11a
mov byte [rcx], 0
mov r8, qword [rsp + 0x28]
test al, 2
je 0x52b11a
mov edx, eax
mov word [rcx + rdx - 2], 0
mov r8, qword [rsp + 0x28]
jmp 0x52b11a
mov eax, pe_nt_image_headers64
sub rax, rcx
add rcx, r12
cmp eax, 8
jae 0x52b350
test al, 4
jne 0x52b39d
test eax, eax
je 0x52b0aa
mov byte [rcx], 0
mov r8, qword [rsp + 0x28]
test al, 2
je 0x52b0aa
mov edx, eax
mov word [rcx + rdx - 2], 0
mov r8, qword [rsp + 0x28]
jmp 0x52b0aa
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 0x52b337
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 0x52b31b
mov r8, qword [rsp + 0x28]
jmp 0x52b11a
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 0x52b0aa
mov edx, eax
mov qword [rcx], 0
mov qword [rcx + rdx - 8], 0
mov r8, qword [rsp + 0x28]
jmp 0x52b11a
mov edx, eax
mov dword [rcx], 0
mov dword [rcx + rdx - 4], 0
mov r8, qword [rsp + 0x28]
jmp 0x52b0aa
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 0x52b11a
mov edx, eax
mov dword [rcx], 0
mov dword [rcx + rdx - 4], 0
mov r8, qword [rsp + 0x28]
jmp 0x52b11a