Function at 0x180099550
Capabilities:
Create thread

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb38]
sub rsp, 0xc38
mov rax, qword [0x1801d7768]
xor rax, rsp
mov qword [rbp + 0xb20], rax
mov r14, r9
mov r13, r8
mov rdi, rdx
mov r12, rcx
mov r15, qword [rbp + 0xba0]
lea rcx, [rbp - 0x50]
call sym.PDFWriter.dll_public:_void___cdecl_ObjectsContext::constructor_void____ptr64
nop
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_void___cdecl_PDFHummus::DocumentContext::constructor_void____ptr64
nop
lea rcx, [rbp + 0x4e0]
call sym.PDFWriter.dll_public:_void___cdecl_InputFile::constructor_void____ptr64
nop
lea rcx, [rbp + 0x510]
call sym.PDFWriter.dll_public:_void___cdecl_InputFile::constructor_void____ptr64
nop
lea rcx, [rbp + 0x540]
call sym.PDFWriter.dll_public:_void___cdecl_PDFParser::constructor_void____ptr64
nop
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_void___cdecl_PDFHummus::DocumentContext::SetObjectsContext_class_ObjectsContext____ptr64____ptr64
mov byte [rbp + 0xb0c], 0
xor edx, edx
mov qword [rbp + 0xb10], rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rdx
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x180099600
mov rdi, qword [rdi]
cmp rsi, 0x10
jae 0x180099615
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x38], xmm0
mov ebx, 0xf
jmp 0x18009968c
mov rbx, rsi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180099669
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180099aaa
mov rcx, rax
call fcn.1800d16c8
mov rcx, rax
test rax, rax
je 0x180099aa4
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180099678
test rcx, rcx
je 0x180099675
call fcn.1800d16c8
jmp 0x180099678
mov rax, rdx
mov qword [rsp + 0x38], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.1800d3990
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rbx
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
movdqa xmm0, xmmword [0x180112ec0]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
lea rdx, [rsp + 0x38]
cmp rbx, 0x10
cmovae rdx, qword [rsp + 0x38]
mov r8, rsi
lea rcx, [rbp - 0x70]
call sym.PDFWriter.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x18009970a
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180099705
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180099aa4
call fcn.1800d1704
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
lea r8, [rbp - 0x70]
mov rdx, r12
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_class_PDFDocumentCopyingContext____ptr64___cdecl_PDFHummus::DocumentContext::CreatePDFCopyingContext_class_IByteReaderWithPosition____ptr64__struct_PDFParsingOptions_const____ptr64____ptr64
mov rsi, rax
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x18009976f
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009976a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180099aa4
call fcn.1800d1704
movdqa xmm0, xmmword [0x180112ec0]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
test rsi, rsi
jne 0x18009978d
lea ebx, [rsi - 1]
jmp 0x18009984b
mov edi, dword [rbp + 0xba8]
test edi, edi
jne 0x1800997b3
mov rcx, rsi
call sym.PDFWriter.dll_public:_class_PDFParser____ptr64___cdecl_PDFDocumentCopyingContext::GetSourceDocumentParser_void____ptr64
mov rcx, rax
call sym.PDFWriter.dll_public:_double___cdecl_PDFParser::GetPDFLevel_void____ptr64
mulsd xmm0, qword [0x180110220]
cvttsd2si edi, xmm0
mov rbx, qword [r14 + 0x28]
call sym.PDFWriter.dll_public:_static_class_Trace____ptr64___cdecl_Trace::DefaultTrace_void_
mov rcx, rax
movzx r8d, byte [r14]
test rbx, rbx
je 0x1800997d2
mov rdx, rbx
call sym.PDFWriter.dll_public:_void___cdecl_Trace::SetLogSettings_class_IByteWriter____ptr64__bool____ptr64
jmp 0x1800997e0
movzx r9d, byte [r14 + 1]
lea rdx, [r14 + 8]
call sym.PDFWriter.dll_public:_void___cdecl_Trace::SetLogSettings_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__bool__bool____ptr64
movzx edx, byte [r15]
lea rcx, [rbp - 0x50]
call sym.PDFWriter.dll_public:_void___cdecl_ObjectsContext::SetCompressStreams_bool____ptr64
movzx edx, byte [r15 + 1]
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_void___cdecl_PDFHummus::DocumentContext::SetEmbedFonts_bool____ptr64
lea rdx, [r15 + 8]
mov ebx, 0xe
cmp byte [rdx], 0
je 0x1800998c9
mov r8d, edi
test edi, edi
cmove r8d, ebx
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_void___cdecl_PDFHummus::DocumentContext::SetupEncryption_struct_EncryptionOptions_const____ptr64__enum_EPDFVersion____ptr64
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_bool___cdecl_PDFHummus::DocumentContext::SupportsEncryption_void____ptr64
test al, al
jne 0x1800998c9
mov ebx, 0xffffffff
mov rcx, rsi
call sym.PDFWriter.dll_public:_void___cdecl_PDFDocumentCopyingContext::destructor_void____ptr64
mov edx, 0x90
mov rcx, rsi
call fcn.1800d1704
nop
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
mov r9, qword [rbp + 0xb10]
lea r8, [0x180005140]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rbp + 0x540]
call sym.PDFWriter.dll_public_virtual:_void___cdecl_PDFParser::destructor_void____ptr64
lea rcx, [rbp + 0x510]
call sym.PDFWriter.dll_public:_void___cdecl_InputFile::destructor_void____ptr64
lea rcx, [rbp + 0x4e0]
call sym.PDFWriter.dll_public:_void___cdecl_OutputFile::destructor_void____ptr64
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_void___cdecl_PDFHummus::DocumentContext::destructor_void____ptr64
lea rcx, [rbp - 0x50]
call sym.PDFWriter.dll_public:_void___cdecl_ObjectsContext::destructor_void____ptr64
mov eax, ebx
mov rcx, qword [rbp + 0xb20]
xor rcx, rsp
call fcn.1800d1ba0
add rsp, 0xc38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, r13
lea rcx, [rbp - 0x50]
call sym.PDFWriter.dll_public:_void___cdecl_ObjectsContext::SetOutputStream_class_IByteWriterWithPosition____ptr64____ptr64
mov byte [rbp + 0xb0c], 0
test edi, edi
cmove edi, ebx
mov edx, edi
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_PDFHummus::DocumentContext::WriteHeader_enum_EPDFVersion____ptr64
mov ebx, eax
test eax, eax
jne 0x180099835
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], 4
mov dword [rsp + 0x60], 0x746f6f52
mov byte [rsp + 0x64], bl
mov rcx, rsi
call sym.PDFWriter.dll_public:_class_PDFParser____ptr64___cdecl_PDFDocumentCopyingContext::GetSourceDocumentParser_void____ptr64
mov rcx, rax
call sym.PDFWriter.dll_public:_class_PDFDictionary____ptr64___cdecl_PDFParser::GetTrailer_void____ptr64
mov rcx, rax
lea rdx, [rsp + 0x60]
call sym.PDFWriter.dll_public:_class_PDFObject____ptr64___cdecl_PDFDictionary::QueryDirectObject_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64
mov rdi, rax
test rax, rax
je 0x180099958
mov rcx, rax
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_CFFPrimitiveReader::GetInternalState_void____ptr64
cmp eax, 9
je 0x18009995a
mov rcx, rdi
call sym.PDFWriter.dll_public:_void___cdecl_RefCountObject::Release_void____ptr64
xor edi, edi
mov qword [rbp - 0x78], rdi
lea rax, vtable.PDFObjectCastPtr_class_PDFIndirectObjectReference_.0
mov qword [rbp - 0x80], rax
test rdi, rdi
jne 0x180099976
lea ebx, [rdi - 1]
jmp 0x180099835
mov r8d, dword [rdi + 0x28]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call sym.PDFWriter.dll_public:_struct_std::pair_enum_PDFHummus::EStatusCode__unsigned_long_int____cdecl_PDFDocumentCopyingContext::CopyObject_unsigned_long_int____ptr64
cmp dword [rsp + 0x58], 0
je 0x1800999a1
mov ebx, 0xffffffff
mov rcx, rdi
call sym.PDFWriter.dll_public:_void___cdecl_RefCountObject::Release_void____ptr64
nop
jmp 0x180099835
mov rcx, rsi
call sym.PDFWriter.dll_public:_void___cdecl_PDFDocumentCopyingContext::destructor_void____ptr64
mov edx, 0x90
mov rcx, rsi
call fcn.1800d1704
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], 0
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_class_FreeTypeFaceWrapper____ptr64___cdecl_PDFUsedFont::GetFreeTypeFont_void____ptr64
mov rcx, rax
lea rdx, [rsp + 0x30]
call sym.PDFWriter.dll_public:_void___cdecl_TrailerInformation::SetRoot_struct_ObjectReference_const____ptr64____ptr64
lea rcx, [rbp + 0x20]
cmp byte [rbp + 0xb0c], 0
je 0x1800999fe
mov r8d, dword [rbp + 0xb08]
lea rdx, [rbp + 0x540]
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_PDFHummus::DocumentContext::FinalizeModifiedPDF_class_PDFParser____ptr64__enum_EPDFVersion____ptr64
jmp 0x180099a03
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_PDFHummus::DocumentContext::FinalizeNewPDF_void____ptr64
test eax, eax
je 0x180099a1d
call sym.PDFWriter.dll_public:_static_class_Trace____ptr64___cdecl_Trace::DefaultTrace_void_
mov rcx, rax
lea rdx, str.PDFWriter::EndPDF__Could_not_end_PDF
call sym.PDFWriter.dll_public:_void___cdecl_Trace::TraceToLog_char_const____ptr64____ptr64
jmp 0x180099a5f
lea rcx, [rbp + 0x4e0]
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_OutputFile::CloseFile_void____ptr64
test eax, eax
je 0x180099a43
call sym.PDFWriter.dll_public:_static_class_Trace____ptr64___cdecl_Trace::DefaultTrace_void_
mov rcx, rax
lea rdx, str.PDFWriter::EndPDF__Could_not_close_output_file
call sym.PDFWriter.dll_public:_void___cdecl_Trace::TraceToLog_char_const____ptr64____ptr64
jmp 0x180099a5f
lea rcx, [rbp + 0x540]
call sym.PDFWriter.dll_public:_void___cdecl_PDFParser::ResetParser_void____ptr64
lea rcx, [rbp + 0x510]
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_InputFile::CloseFile_void____ptr64
test eax, eax
je 0x180099a83
lea rcx, [rbp + 0x4e0]
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_OutputFile::CloseFile_void____ptr64
lea rcx, [rbp + 0x540]
call sym.PDFWriter.dll_public:_void___cdecl_PDFParser::ResetParser_void____ptr64
lea rcx, [rbp + 0x510]
call sym.PDFWriter.dll_public:_enum_PDFHummus::EStatusCode___cdecl_InputFile::CloseFile_void____ptr64
lea rcx, [rbp - 0x50]
call sym.PDFWriter.dll_public:_void___cdecl_ObjectsContext::Cleanup_void____ptr64
lea rcx, [rbp + 0x20]
call sym.PDFWriter.dll_public:_void___cdecl_PDFHummus::DocumentContext::Cleanup_void____ptr64
nop
mov rcx, rdi
call sym.PDFWriter.dll_public:_void___cdecl_RefCountObject::Release_void____ptr64
nop
jmp 0x18009984b
call fcn.1800d83ac
int3
call sym.PDFWriter.dll_void___cdecl_std::_Throw_bad_array_new_length_void_
int3