Function at 0x1400532cc
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x14016a040]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov qword [rsp + 0x60], r8
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
jne 0x140053313
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x140053313
call qword [sym.imp.KERNEL32.dll_DebugBreak]
test rbx, rbx
je 0x140053593
cmp qword [rbx + 0x120], 0
mov qword [rsp + 0x30], rbx
je 0x140053593
lea rax, str.enginePdf
cmp qword [rbx + 8], rax
jne 0x140053344
mov rcx, rbx
mov rax, rbx
jmp 0x140053348
xor ecx, ecx
xor eax, eax
cmp qword [rcx + 0x120], 0
jne 0x140053356
xor al, al
jmp 0x14005335c
mov al, byte [rax + 0x200]
test al, al
je 0x140053593
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x28]
mov r15d, 1
mov qword [rsp + 0x50], rax
test rdi, rdi
je 0x14005338d
cmp byte [rdi], 0
je 0x14005338d
xor al, al
jmp 0x140053390
mov al, r15b
test al, al
lea rcx, [rsp + 0x70]
mov eax, 2
lea rdx, [0x14013c180]
cmovne rdi, qword [rbx + 0x40]
mov qword [rsp + 0x38], rdi
mov rdi, qword [rbx + 0xf0]
mov qword [rsp + 0x40], rdi
lea r8d, [rax + 0x7e]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rdx + 0x70]
add rdx, r8
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmmword [rcx - 0x10], xmm1
sub rax, r15
jne 0x1400533bd
movups xmm0, xmmword [rdx]
mov rax, qword [rdx + 0x40]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm1
mov qword [rcx + 0x40], rax
mov eax, dword [rdx + 0x48]
mov dword [rcx + 0x48], eax
mov rcx, rdi
mov rdx, qword [rbx + 0x120]
call qword [sym.imp.libmupdf.dll_pdf_can_be_saved_incrementally]
mov edx, dword [rbp - 0x74]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x7c], r15d
mov dword [rbp - 0x80], r15d
mov dword [rbp - 0x7c], r15d
mov rax, qword [rbx + 0x120]
cmp dword [rax + 0x10214], 0
mov byte [rsp + 0x20], 0
cmovne edx, r15d
mov dword [rbp - 0x74], edx
call qword [sym.imp.libmupdf.dll_fz_var_imp]
mov rcx, rdi
call qword [sym.imp.libmupdf.dll_fz_push_try]
mov rcx, rax
mov rdx, rsp
call fcn.14012a8a0
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
test eax, eax
jne 0x140053527
mov rcx, rbx
call qword [sym.imp.libmupdf.dll_fz_do_try]
test eax, eax
je 0x140053527
mov rdx, qword [rsi + 0x120]
lea r9, [rsp + 0x70]
mov r8, rdi
mov rcx, rbx
call qword [sym.imp.libmupdf.dll_pdf_save_document]
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x20], r15b
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rax, qword [rsp + 0x48]
lea rcx, str.Saved_annotations_to__s_in___.2f_ms__incremental:__d_n
sub rax, qword [rsp + 0x50]
xorps xmm2, xmm2
mov r9d, dword [rsp + 0x70]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x58]
mov rdx, rdi
cvtsi2sd xmm2, rax
divsd xmm2, xmm0
mulsd xmm2, qword [0x140156958]
movq r8, xmm2
call fcn.1400b3458
mov rcx, rbx
call qword [sym.imp.libmupdf.dll_fz_do_catch]
test eax, eax
je 0x14005357e
mov rcx, rbx
call qword [sym.imp.libmupdf.dll_fz_report_error]
mov rcx, rbx
call qword [sym.imp.libmupdf.dll_fz_caught_message]
mov rdx, rdi
lea rcx, str.Saving__s_failed_with:__s_n
mov r8, rax
mov rbx, rax
call fcn.1400b3458
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
test rax, rax
je 0x14005357e
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
jne 0x140053579
mov rcx, rbx
call rax
jmp 0x14005357e
mov rdx, rbx
call rax
mov al, byte [rsp + 0x20]
test al, al
je 0x140053595
mov byte [rsi + 0x200], 0
mov al, byte [rsp + 0x20]
jmp 0x140053595
xor al, al
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1400f44c0
add rsp, 0x1d0
pop r15
pop rdi
pop rsi
pop rbx
pop rbp
ret