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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2488
call fcn.0065b730
mov eax, dword [0x9c48d0]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x201c], ebx
mov dword [ebp - 0x2018], ebx
mov dword [ebp - 0x203c], ebx
push edi
mov edi, dword [eax + 0x48]
mov dword [ebp - 0x2050], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2028], esi
mov dword [ebp - 0x204c], ecx
mov dword [ebp - 0x2020], edi
call fcn.004b3520
test eax, eax
je 0x51d1d3
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, ecx
shl edx, 4
add edx, ecx
lea eax, [eax + edx*4 + 8]
push ebx
push eax
call fcn.0065e2c0
mov edi, dword [ebp - 0x2020]
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov esi, edx
shl esi, 4
add esi, edx
add esp, 8
mov dword [ecx + esi*4 + 4], eax
cmp eax, ebx
jne 0x51d1cd
push edi
call fcn.0051b6d0
mov ebx, dword [ebp - 0x2028]
add esp, 4
mov dword [ebp - 0x2018], eax
test ebx, ebx
je 0x51ba10
cmp byte [ebx + 4], 0x72
jne 0x51b9e4
push ebx
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51ba10
cmp byte [ebx + 4], 0x64
jne 0x51ba10
push 0
push str.FontDescriptor
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51ba10
mov ecx, dword [ebx + 0x18]
mov esi, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x2034], esi
jmp 0x51ba20
mov dword [ebp - 0x2034], 0
mov esi, dword [ebp - 0x2034]
mov eax, dword [edi + 0xc]
call fcn.004b3520
test eax, eax
je 0x51bb00
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, ecx
shl edx, 4
add edx, ecx
lea eax, [eax + edx*4 + 8]
push 0
push eax
call fcn.0065e2c0
mov edi, dword [ebp - 0x2020]
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov esi, edx
shl esi, 4
add esi, edx
add esp, 8
mov dword [ecx + esi*4 + 4], eax
mov esi, dword [ebp - 0x2034]
test eax, eax
jne 0x51bb00
test esi, esi
je 0x51bae2
mov ebx, dword [ebp - 0x2028]
test ebx, ebx
je 0x51bab4
cmp byte [ebx + 4], 0x72
jne 0x51ba8e
push ebx
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51bab4
cmp byte [ebx + 4], 0x64
jne 0x51bab4
push 0
push str.Encoding
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51bab4
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x51bab6
xor eax, eax
mov ecx, dword [ebp - 0x2050]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x204c]
setne dl
push edx
mov edx, dword [ebp - 0x2018]
push 0
push eax
push 0
push esi
push ecx
push edx
call fcn.0051ed00
add esp, 0x1c
jmp 0x51bafa
mov eax, dword [ebp - 0x2018]
mov ebx, dword [ebp - 0x204c]
push 0
push eax
push edi
call fcn.0051adb0
add esp, 0xc
mov esi, dword [ebp - 0x2034]
mov edx, dword [ebp - 0x2020]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
mov edi, dword [ebp - 0x2028]
mov ebx, ecx
shl ebx, 4
add ebx, ecx
mov ebx, dword [eax + ebx*4 + 4]
dec ecx
mov dword [eax], ecx
cmp ebx, 1
jle 0x51bbfb
mov ecx, dword [ebp - 0x2018]
test byte [ecx + 0x10], 4
jne 0x51bb3c
mov ecx, dword [edx + 0xc]
call fcn.004b34d0
mov ecx, dword [ebp - 0x2028]
mov eax, ecx
call fcn.004ba220
push eax
mov eax, ecx
call fcn.004ba200
mov edx, dword [ebp - 0x204c]
mov esi, dword [ebp - 0x2020]
push eax
push edx
push str.using_bullet_substitute_font_for__s___d__d_R_
push 0x1fa
push str..mupdf_sourcepdfpdf_font.c
push esi
call fcn.004b3370
mov edi, dword [ebp - 0x2018]
add esp, 0x1c
xor ebx, ebx
test edi, edi
je 0x51bbc0
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push ebx
push ecx
call edx
mov eax, dword [edi]
add esp, 8
test eax, eax
js 0x51bba2
dec eax
mov dword [edi], eax
jne 0x51bba2
mov ebx, 1
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push 0
push ecx
call edx
add esp, 8
test ebx, ebx
je 0x51bbc0
mov eax, dword [edi + 4]
push edi
push esi
call eax
add esp, 8
push esi
mov dword [ebp - 0x2018], 0
call fcn.0051b7a0
mov dword [ebp - 0x2018], eax
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x24]
add esp, 4
mov dword [ebp - 0x2024], eax
call fcn.0051ab80
mov edi, dword [ebp - 0x2028]
mov esi, dword [ebp - 0x2020]
jmp 0x51cded
test esi, esi
je 0x51bec9
cmp byte [esi + 4], 0x72
mov ebx, esi
jne 0x51bc16
push esi
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51bc3c
cmp byte [ebx + 4], 0x64
jne 0x51bc3c
push 0
push str.FontName
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51bc3c
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + eax*8 + 4]
jmp 0x51bc3e
xor eax, eax
test eax, eax
je 0x51bec9
cmp byte [eax + 4], 0x72
jne 0x51bc55
push eax
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51bec9
xor ecx, ecx
cmp byte [eax + 4], 0x73
sete cl
mov eax, ecx
test eax, eax
je 0x51bec9
mov ebx, edi
test edi, edi
je 0x51bc87
cmp byte [edi + 4], 0x72
jne 0x51bc87
push edi
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51bcb7
cmp byte [ebx + 4], 0x64
jne 0x51bcb7
push 0
push str.ToUnicode
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51bcad
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + eax*8 + 4]
jmp 0x51bcaf
xor eax, eax
test eax, eax
jne 0x51bec9
push str.Encoding
mov eax, edi
call fcn.004bbb90
add esp, 4
test eax, eax
je 0x51bce8
cmp byte [eax + 4], 0x72
jne 0x51bcd9
push eax
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51bce8
cmp byte [eax + 4], 0x6e
jne 0x51bce8
add eax, 0x10
jmp 0x51bced
mov eax, 0x925010
mov ecx, str.WinAnsiEncoding
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x51bd12
test dl, dl
je 0x51bd0e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x51bd12
add eax, 2
add ecx, 2
test dl, dl
jne 0x51bcf2
xor eax, eax
jmp 0x51bd17
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x51bec9
push str.Flags
mov eax, esi
call fcn.004bbb90
add esp, 4
call fcn.004ba100
cmp eax, 4
jne 0x51bec9
mov esi, dword [ebp - 0x204c]
mov ecx, 0x995360
mov dword [ebp - 0x2080], ecx
mov dword [ebp - 0x207c], str.SimSun_Regular
mov dword [ebp - 0x2078], 0x995378
mov dword [ebp - 0x2074], str.SimHei_Regular
mov dword [ebp - 0x2070], 0x995390
mov dword [ebp - 0x206c], str.SimKai_Regular
mov dword [ebp - 0x2068], 0x9953ac
mov dword [ebp - 0x2064], str.SimFang_Regular
mov dword [ebp - 0x2060], 0x9953c8
mov dword [ebp - 0x205c], str.SimLi_Regular
mov dword [ebp - 0x2058], 0
xor ebx, ebx
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x51bdd5
test dl, dl
je 0x51bdd1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x51bdd5
add eax, 2
add ecx, 2
test dl, dl
jne 0x51bdb5
xor eax, eax
jmp 0x51bdda
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x51bdec
mov ecx, dword [ebp + ebx*4 - 0x2078]
add ebx, 2
test ecx, ecx
jne 0x51bdb3
cmp dword [ebp + ebx*4 - 0x2080], 0
je 0x51bec9
mov eax, dword [ebp - 0x2020]
push str.workaround_for_S22PDF_lying_about_chinese_font_encodings
push 0x217
push str..mupdf_sourcepdfpdf_font.c
push eax
call fcn.004b3370
mov esi, dword [ebp - 0x2018]
mov edi, dword [ebp - 0x2020]
call fcn.004b41c0
push edi
mov dword [ebp - 0x2018], 0
call fcn.0051b6d0
mov ecx, dword [ebp + ebx*4 - 0x207c]
mov edx, dword [ebp - 0x2034]
add esp, 0x14
push 1
push 0
push ecx
mov ecx, dword [ebp - 0x2050]
push str.Adobe_GB1
push edx
push ecx
push eax
mov dword [ebp - 0x2018], eax
call fcn.0051ed00
add esp, 0x1c
push 0x99541c
push edi
call fcn.0055ad10
mov edx, dword [ebp - 0x2018]
push 0x995428
push edi
mov dword [edx + 0x2c], eax
call fcn.0055ad10
mov ecx, dword [ebp - 0x2018]
push 0x995428
push edi
mov dword [ecx + 0x3c], eax
call fcn.0055ad10
mov edx, dword [ebp - 0x2018]
mov edi, dword [ebp - 0x2028]
mov esi, dword [ebp - 0x2020]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x2018]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x24]
add esp, 0x18
mov dword [ebp - 0x2024], edx
jmp 0x51cded
mov eax, dword [ebp - 0x2018]
mov ecx, dword [eax + 0xc]
mov esi, dword [ecx + 0x24]
mov eax, esi
mov dword [ebp - 0x2024], esi
call fcn.0051ab80
mov edx, dword [ebp - 0x2018]
mov ecx, eax
mov eax, dword [edx + 0x10]
and eax, 4
mov dword [ebp - 0x202c], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x2030], ecx
test eax, eax
jle 0x51bf0a
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
jmp 0x51bf0c
xor edx, edx
test eax, eax
jle 0x51bf78
mov ebx, dword [esi + 0x28]
mov edi, eax
jmp 0x51bf26
mov ecx, dword [ebp - 0x2030]
mov eax, dword [ebx]
cmp ecx, 1
jne 0x51bf36
cmp word [eax + 8], 7
jne 0x51bf36
mov edx, eax
cmp ecx, 2
jne 0x51bf72
movzx ecx, word [eax + 8]
cmp ecx, 1
jne 0x51bf4d
cmp word [eax + 0xa], 0
jne 0x51bf4d
mov edx, eax
cmp ecx, 3
jne 0x51bf5b
cmp word [eax + 0xa], 1
jne 0x51bf5b
mov edx, eax
cmp dword [ebp - 0x202c], 0
je 0x51bf72
cmp ecx, 3
jne 0x51bf72
cmp word [eax + 0xa], 0
jne 0x51bf72
mov edx, eax
add ebx, 4
dec edi
jne 0x51bf20
test edx, edx
je 0x51bfd0
push edx
push esi
call fcn.0060c010
add esp, 8
test eax, eax
je 0x51bfee
cmp dword [str.no_error], 0
mov ecx, 0x894840
je 0x51bfa5
cmp dword [ecx], eax
je 0x51bfcb
add ecx, 8
cmp dword [ecx + 4], 0
jne 0x51bf98
mov ecx, str.Unknown_error
mov eax, dword [ebp - 0x2020]
push ecx
push str.freetype_could_not_set_cmap:__s
push 0x24b
push str..mupdf_sourcepdfpdf_font.c
push eax
call fcn.004b3370
add esp, 0x14
jmp 0x51bfee
mov ecx, dword [ecx + 4]
jmp 0x51bfaa
mov ecx, dword [ebp - 0x2020]
push str.freetype_could_not_find_any_cmaps
push 0x24e
push str..mupdf_sourcepdfpdf_font.c
push ecx
call fcn.004b3370
add esp, 0x10
mov edi, dword [ebp - 0x2020]
mov ebx, 0x200
mov eax, edi
call fcn.004d1410
test eax, eax
jne 0x51c01f
push 2
push 0x100
push str.malloc_of_array___d_x__d_bytes__failed
push 1
push 0x57
push str..mupdf_source_fitzmemory.c
push edi
call fcn.004b35a0
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2018]
add dword [eax + 8], ebx
xor edx, edx
mov ecx, 0x100
xor eax, eax
lea edi, [ebp - 0x2484]
rep stosd dword es:[edi], eax
nop
mov ecx, dword [ebp - 0x201c]
xor eax, eax
mov word [edx + ecx], ax
add edx, 2
cmp edx, ebx
jl 0x51c040
mov esi, dword [ebp - 0x2028]
mov ebx, esi
test esi, esi
je 0x51c070
cmp byte [esi + 4], 0x72
jne 0x51c070
push esi
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51c0ea
cmp byte [ebx + 4], 0x64
jne 0x51c0ea
push 0
push str.Encoding
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51c0e6
mov edx, dword [ebx + 0x18]
mov edi, dword [edx + eax*8 + 4]
mov dword [ebp - 0x2048], edi
test edi, edi
je 0x51c0f4
mov bl, 0x72
mov eax, edi
cmp byte [edi + 4], bl
jne 0x51c0b0
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c13e
xor ecx, ecx
cmp byte [eax + 4], 0x6e
sete cl
mov eax, ecx
test eax, eax
je 0x51c13e
mov eax, edi
cmp byte [edi + 4], bl
jne 0x51c0d7
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c12a
cmp byte [eax + 4], 0x6e
jne 0x51c12a
add eax, 0x10
jmp 0x51c12f
xor edi, edi
jmp 0x51c094
mov dword [ebp - 0x2048], 0
mov edx, dword [ebp - 0x2018]
cmp dword [edx + 0x78], 0
jne 0x51c3e5
cmp dword [ebp - 0x202c], 0
jne 0x51c3e5
lea eax, [ebp - 0x2484]
push eax
mov eax, str.StandardEncoding
call fcn.0051fd90
add esp, 4
jmp 0x51c3e5
mov eax, 0x925010
lea edx, [ebp - 0x2484]
push edx
call fcn.0051fd90
add esp, 4
mov eax, edi
cmp byte [edi + 4], bl
jne 0x51c14e
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c3df
xor ecx, ecx
cmp byte [eax + 4], 0x64
sete cl
mov eax, ecx
test eax, eax
je 0x51c3df
mov esi, dword [ebp - 0x2048]
mov bl, 0x72
mov edi, esi
cmp byte [esi + 4], bl
jne 0x51c183
push esi
call fcn.004c74c0
add esp, 4
mov edi, eax
test edi, edi
je 0x51c1ad
cmp byte [edi + 4], 0x64
jne 0x51c1ad
push 0
push str.BaseEncoding
mov ebx, edi
call fcn.004bb9f0
add esp, 8
mov bl, 0x72
test eax, eax
js 0x51c1ad
mov edx, dword [edi + 0x18]
mov edi, dword [edx + eax*8 + 4]
jmp 0x51c1af
xor edi, edi
mov eax, edi
test edi, edi
je 0x51c1c3
cmp byte [edi + 4], bl
jne 0x51c1c3
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c20e
xor ecx, ecx
cmp byte [eax + 4], 0x6e
sete cl
mov eax, ecx
test eax, eax
je 0x51c20e
mov eax, edi
test edi, edi
je 0x51c1ea
cmp byte [edi + 4], bl
jne 0x51c1ea
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c200
cmp byte [eax + 4], 0x6e
jne 0x51c200
lea edx, [ebp - 0x2484]
add eax, 0x10
push edx
jmp 0x51c22f
lea edx, [ebp - 0x2484]
mov eax, 0x925010
push edx
jmp 0x51c22f
mov eax, dword [ebp - 0x2018]
cmp dword [eax + 0x78], 0
jne 0x51c237
cmp dword [ebp - 0x202c], 0
jne 0x51c237
lea ecx, [ebp - 0x2484]
push ecx
mov eax, str.StandardEncoding
call fcn.0051fd90
add esp, 4
mov edi, esi
cmp byte [esi + 4], bl
jne 0x51c249
push esi
call fcn.004c74c0
add esp, 4
mov edi, eax
test edi, edi
je 0x51c271
cmp byte [edi + 4], 0x64
jne 0x51c271
push 0
push str.Differences
mov ebx, edi
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51c271
mov edx, dword [edi + 0x18]
mov esi, dword [edx + eax*8 + 4]
jmp 0x51c273
xor esi, esi
push esi
mov dword [ebp - 0x2054], esi
call fcn.004ba060
add esp, 4
test eax, eax
je 0x51c3df
xor ebx, ebx
mov eax, esi
cmp esi, ebx
je 0x51c2a1
cmp byte [esi + 4], 0x72
jne 0x51c2a1
push esi
call fcn.004c74c0
add esp, 4
cmp eax, ebx
je 0x51c2b6
cmp byte [eax + 4], 0x61
jne 0x51c2b6
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x2040], eax
jmp 0x51c2bc
mov dword [ebp - 0x2040], ebx
xor esi, esi
cmp dword [ebp - 0x2040], ebx
jle 0x51c3df
lea ebx, [ebx]
mov eax, dword [ebp - 0x2054]
test eax, eax
je 0x51c304
cmp byte [eax + 4], 0x72
jne 0x51c2e9
push eax
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c304
cmp byte [eax + 4], 0x61
jne 0x51c304
test esi, esi
js 0x51c304
cmp esi, dword [eax + 0x10]
jge 0x51c304
mov ecx, dword [eax + 0x18]
mov edi, dword [ecx + esi*4]
jmp 0x51c306
xor edi, edi
mov eax, edi
test edi, edi
je 0x51c31b
cmp byte [edi + 4], 0x72
jne 0x51c31b
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c36d
xor edx, edx
cmp byte [eax + 4], 0x69
sete dl
mov eax, edx
test eax, eax
je 0x51c36d
mov eax, edi
test edi, edi
je 0x51c343
cmp byte [edi + 4], 0x72
jne 0x51c343
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c36b
mov cl, byte [eax + 4]
cmp cl, 0x69
jne 0x51c354
mov ebx, dword [eax + 0x10]
jmp 0x51c36d
cmp cl, 0x66
jne 0x51c36b
fld dword [eax + 0x10]
fadd qword [0x9ad788]
call fcn.0065d070
mov ebx, eax
jmp 0x51c36d
xor ebx, ebx
mov eax, edi
test edi, edi
je 0x51c382
cmp byte [edi + 4], 0x72
jne 0x51c382
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c3d2
xor ecx, ecx
cmp byte [eax + 4], 0x6e
sete cl
mov eax, ecx
test eax, eax
je 0x51c3d2
test ebx, ebx
js 0x51c3d2
cmp ebx, 0x100
jae 0x51c3d2
mov eax, edi
test edi, edi
je 0x51c3b6
cmp byte [edi + 4], 0x72
jne 0x51c3b6
push edi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c3c5
cmp byte [eax + 4], 0x6e
jne 0x51c3c5
add eax, 0x10
jmp 0x51c3ca
mov eax, 0x925010
mov dword [ebp + ebx*4 - 0x2484], eax
inc ebx
inc esi
cmp esi, dword [ebp - 0x2040]
jl 0x51c2d0
mov esi, dword [ebp - 0x2028]
mov ebx, dword [ebp - 0x2024]
xor edi, edi
lea ecx, [ecx]
push edi
push ebx
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c428
lea ecx, [edi + 0xf000]
push ecx
push ebx
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c428
cmp edi, 0x22ef
jne 0x51c428
push 0x2026
push ebx
call fcn.0060a2e0
add esp, 8
mov edx, dword [ebp - 0x201c]
mov word [edx + edi*2], ax
inc edi
cmp edi, 0x100
jl 0x51c3f0
mov eax, dword [ebp - 0x2020]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 2
push ecx
call edx
add esp, 8
mov edi, 1
mov dword [ebp - 0x203c], edi
mov ebx, esi
test esi, esi
je 0x51c473
cmp byte [esi + 4], 0x72
jne 0x51c473
push esi
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51c499
cmp byte [ebx + 4], 0x64
jne 0x51c499
push 0
push str.Subtype
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51c499
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x51c49b
xor eax, eax
test eax, eax
je 0x51c4bd
cmp byte [eax + 4], 0x72
jne 0x51c4ae
push eax
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c4bd
cmp byte [eax + 4], 0x6e
jne 0x51c4bd
add eax, 0x10
jmp 0x51c4c2
mov eax, 0x925010
mov edx, str.Type1
mov ecx, eax
mov esi, 2
mov edi, edi
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x51c4ee
test bl, bl
je 0x51c4ea
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x51c4ee
add ecx, esi
add edx, esi
test bl, bl
jne 0x51c4d0
xor ecx, ecx
jmp 0x51c4f3
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x51c502
mov dword [ebp - 0x2030], edi
jmp 0x51c5ed
mov edx, str.MMType1
mov ecx, eax
lea esp, [esp]
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x51c52e
test bl, bl
je 0x51c52a
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x51c52e
add ecx, esi
add edx, esi
test bl, bl
jne 0x51c510
xor ecx, ecx
jmp 0x51c533
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x51c542
mov dword [ebp - 0x2030], edi
jmp 0x51c5ed
mov edx, str.TrueType
mov ecx, eax
lea esp, [esp]
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x51c56e
test bl, bl
je 0x51c56a
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x51c56e
add ecx, esi
add edx, esi
test bl, bl
jne 0x51c550
xor ecx, ecx
jmp 0x51c573
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x51c740
mov edx, str.CIDFontType0
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x51c5a0
test bl, bl
je 0x51c59c
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x51c5a0
add ecx, esi
add edx, esi
test bl, bl
jne 0x51c582
xor ecx, ecx
jmp 0x51c5a5
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x51c5b1
mov dword [ebp - 0x2030], edi
jmp 0x51c5ed
mov ecx, str.CIDFontType2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x51c5d4
test dl, dl
je 0x51c5d0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x51c5d4
add eax, esi
add ecx, esi
test dl, dl
jne 0x51c5b6
xor eax, eax
jmp 0x51c5d9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x51c740
cmp dword [ebp - 0x2030], edi
jne 0x51c700
xor ebx, ebx
lea esi, [ebp - 0x2484]
mov edi, dword [esi]
test edi, edi
je 0x51c6e4
mov edx, dword [ebp - 0x2024]
push edi
push edx
call fcn.0060a350
mov ecx, dword [ebp - 0x201c]
mov word [ebx + ecx], ax
mov edx, dword [ebp - 0x201c]
add esp, 8
cmp word [ebx + edx], 0
jne 0x51c6e4
push edi
call fcn.0051fea0
add esp, 4
mov dword [ebp - 0x2038], eax
xor edx, edx
mov edi, 0x179
lea eax, [edi + edx]
sar eax, 1
movzx ecx, word [eax*4 + 0x87abe8]
cmp dword [ebp - 0x2038], ecx
jge 0x51c65a
lea edi, [eax - 1]
jmp 0x51c663
jle 0x51c72c
lea edx, [eax + 1]
cmp edx, edi
jle 0x51c640
mov edi, 0x9f55ec
cmp dword [edi], 0
je 0x51c6a2
mov eax, dword [edi]
mov ecx, dword [ebp - 0x2024]
push eax
push ecx
call fcn.0060a350
mov edx, dword [ebp - 0x201c]
mov word [ebx + edx], ax
mov eax, dword [ebp - 0x201c]
add esp, 8
cmp word [ebx + eax], 0
jne 0x51c6a2
add edi, 4
cmp dword [edi], 0
jne 0x51c671
mov ecx, dword [ebp - 0x201c]
cmp word [ebx + ecx], 0
jne 0x51c6e4
mov edx, dword [ebp - 0x2038]
push edx
lea eax, [ebp - 0x14]
push str.uni_04X
push eax
call fcn.0065cd4e
mov edx, dword [ebp - 0x2024]
add esp, 0xc
lea ecx, [ebp - 0x14]
push ecx
push edx
call fcn.0060a350
mov ecx, dword [ebp - 0x201c]
add esp, 8
mov word [ebx + ecx], ax
add ebx, 2
add esi, 4
cmp ebx, 0x200
jl 0x51c5f5
mov edi, 1
mov esi, 2
cmp dword [ebp - 0x2030], esi
je 0x51c746
mov ebx, dword [ebp - 0x2024]
mov eax, ebx
call fcn.0051ab80
cmp eax, esi
jne 0x51cb33
test dword [ebx + 8], 0x200
jne 0x51cb33
jmp 0x51c74c
movzx edi, word [eax*4 + 0x87abea]
lea edi, [edi*4 + 0x9e5bb0]
jmp 0x51c66c
mov dword [ebp - 0x2030], esi
mov ebx, dword [ebp - 0x2024]
mov eax, dword [ebp - 0x202c]
test eax, eax
jne 0x51ca2f
cmp dword [ebx + 0x5c], eax
je 0x51c85f
mov edx, dword [ebx + 0x5c]
cmp word [edx + 8], 3
jne 0x51c85f
xor esi, esi
jmp 0x51c780
mov ebx, dword [ebp + esi*4 - 0x2484]
test ebx, ebx
je 0x51c84d
push ebx
call fcn.0051fea0
mov edi, eax
add esp, 4
test edi, edi
jne 0x51c7b0
mov edi, dword [ebp - 0x2024]
push ebx
push edi
call fcn.0060a350
add esp, 8
jmp 0x51c7f4
mov ebx, dword [ebp - 0x2024]
push edi
push ebx
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c7ee
lea edx, [edi + 0xf000]
push edx
push ebx
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c7ee
cmp edi, 0x22ef
jne 0x51c7ee
push 0x2026
push ebx
call fcn.0060a2e0
add esp, 8
mov edi, dword [ebp - 0x2024]
mov ecx, dword [ebp - 0x201c]
mov word [ecx + esi*2], ax
mov edx, dword [ebp - 0x201c]
cmp word [edx + esi*2], 0
jne 0x51c84d
push esi
push edi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c843
lea eax, [esi + 0xf000]
push eax
push edi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c843
cmp esi, 0x22ef
jne 0x51c843
push 0x2026
push edi
call fcn.0060a2e0
add esp, 8
mov ecx, dword [ebp - 0x201c]
mov word [ecx + esi*2], ax
inc esi
cmp esi, 0x100
jl 0x51c780
jmp 0x51cb33
test eax, eax
jne 0x51ca2f
cmp dword [ebx + 0x5c], eax
je 0x51ca45
mov edx, dword [ebx + 0x5c]
cmp word [edx + 8], di
jne 0x51ca2f
mov esi, dword [ebp - 0x2048]
mov eax, esi
test esi, esi
je 0x51c898
cmp byte [esi + 4], 0x72
jne 0x51c898
push esi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c928
xor ecx, ecx
cmp byte [eax + 4], 0x6e
sete cl
mov eax, ecx
test eax, eax
je 0x51c928
mov eax, esi
test esi, esi
je 0x51c8c4
cmp byte [esi + 4], 0x72
jne 0x51c8c4
push esi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51c8d3
cmp byte [eax + 4], 0x6e
jne 0x51c8d3
add eax, 0x10
jmp 0x51c8d8
mov eax, 0x925010
mov ecx, str.MacExpertEncoding
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x51c900
test dl, dl
je 0x51c8fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x51c900
add eax, 2
add ecx, 2
test dl, dl
jne 0x51c8e0
xor eax, eax
jmp 0x51c905
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x51c928
test dword [ebx + 8], 0x200
je 0x51cb33
mov ecx, 0x100
lea edi, [ebp - 0x2484]
rep stosd dword es:[edi], eax
jmp 0x51cb33
xor eax, eax
mov dword [ebp - 0x2044], eax
mov ebx, dword [ebp + eax*4 - 0x2484]
test ebx, ebx
je 0x51ca12
mov esi, ebx
call fcn.0051ad60
mov edi, eax
test edi, edi
jg 0x51c967
mov edx, dword [ebp - 0x2024]
mov edi, dword [ebp - 0x2044]
push ebx
push edx
lea esi, [edi + edi]
call fcn.0060a350
add esp, 8
jmp 0x51c9b3
mov esi, dword [ebp - 0x2024]
push edi
push esi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c9a5
lea edx, [edi + 0xf000]
push edx
push esi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51c9a5
cmp edi, 0x22ef
jne 0x51c9a5
push 0x2026
push esi
call fcn.0060a2e0
add esp, 8
mov esi, dword [ebp - 0x2044]
mov edi, dword [ebp - 0x2044]
add esi, esi
mov ecx, dword [ebp - 0x201c]
mov word [esi + ecx], ax
mov edx, dword [ebp - 0x201c]
cmp word [esi + edx], 0
jne 0x51ca12
mov ebx, dword [ebp - 0x2024]
push edi
push ebx
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51ca08
lea eax, [edi + 0xf000]
push eax
push ebx
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51ca08
cmp edi, 0x22ef
jne 0x51ca08
push 0x2026
push ebx
call fcn.0060a2e0
add esp, 8
mov ecx, dword [ebp - 0x201c]
mov word [esi + ecx], ax
mov eax, dword [ebp - 0x2044]
inc eax
mov dword [ebp - 0x2044], eax
cmp eax, 0x100
jl 0x51c930
jmp 0x51cb33
cmp dword [ebx + 0x5c], 0
je 0x51ca45
mov edx, dword [ebx + 0x5c]
cmp dword [edx + 4], 0x73796d62
je 0x51cb33
mov esi, dword [ebp - 0x2024]
xor edi, edi
mov ebx, dword [ebp + edi*4 - 0x2484]
test ebx, ebx
je 0x51cb26
push ebx
push esi
call fcn.0060a350
mov ecx, dword [ebp - 0x201c]
mov word [ecx + edi*2], ax
mov edx, dword [ebp - 0x201c]
add esp, 8
cmp word [edx + edi*2], 0
jne 0x51cabf
push edi
push esi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51cab5
lea eax, [edi + 0xf000]
push eax
push esi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51cab5
cmp edi, 0x22ef
jne 0x51cab5
push 0x2026
push esi
call fcn.0060a2e0
add esp, 8
mov ecx, dword [ebp - 0x201c]
mov word [ecx + edi*2], ax
mov edx, dword [ebp - 0x201c]
cmp word [edx + edi*2], 0
jne 0x51cb26
cmp dword [ebp - 0x202c], 0
je 0x51cb26
push ebx
call fcn.0051fea0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x51cb26
push ebx
push esi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51cb1c
lea eax, [ebx + 0xf000]
push eax
push esi
call fcn.0060a2e0
add esp, 8
test eax, eax
jne 0x51cb1c
cmp ebx, 0x22ef
jne 0x51cb1c
push 0x2026
push esi
call fcn.0060a2e0
add esp, 8
mov ecx, dword [ebp - 0x201c]
mov word [ecx + edi*2], ax
inc edi
cmp edi, 0x100
jl 0x51ca4d
xor edi, edi
lea ebx, [ebp - 0x2014]
xor esi, esi
lea ecx, [ecx]
mov edx, dword [ebp - 0x201c]
movzx eax, word [edi + edx]
test ax, ax
je 0x51cbf1
cmp dword [ebp + esi - 0x2484], 0
jne 0x51cbf1
mov ecx, dword [ebp - 0x2024]
test dword [ecx + 8], 0x200
je 0x51cbe4
push 0x20
push ebx
push eax
mov eax, ecx
push eax
call fcn.0060a3c0
add esp, 0x10
test eax, eax
je 0x51cbd1
cmp dword [str.no_error], 0
mov ecx, 0x894840
je 0x51cba2
cmp dword [ecx], eax
je 0x51cbdf
add ecx, 8
cmp dword [ecx + 4], 0
jne 0x51cb95
mov ecx, str.Unknown_error
mov eax, dword [ebp - 0x2020]
push ecx
mov ecx, dword [ebp - 0x201c]
movzx edx, word [edi + ecx]
push edx
push str.freetype_get_glyph_name__gid__d_:__s
push 0x2fe
push str..mupdf_sourcepdfpdf_font.c
push eax
call fcn.004b3370
add esp, 0x18
cmp byte [ebx], 0
je 0x51cbf1
mov dword [ebp + esi - 0x2484], ebx
jmp 0x51cbf1
mov ecx, dword [ecx + 4]
jmp 0x51cba7
mov ecx, dword [esi + 0x878670]
mov dword [ebp + esi - 0x2484], ecx
add edi, 2
add ebx, 0x20
add esi, 4
cmp edi, 0x200
jl 0x51cb40
cmp dword [ebp - 0x2030], 1
jne 0x51cc60
cmp dword [ebp - 0x202c], 0
je 0x51cc60
xor ebx, ebx
xor edi, edi
lea esp, [esp]
mov edx, dword [ebp - 0x201c]
cmp word [ebx + edx], 0
je 0x51cc52
mov eax, dword [ebp + edi - 0x2484]
test eax, eax
je 0x51cc52
push eax
call fcn.0051fea0
add esp, 4
test eax, eax
jne 0x51cc52
mov eax, dword [edi + 0x877a70]
mov dword [ebp + edi - 0x2484], eax
add ebx, 2
add edi, 4
cmp ebx, 0x200
jl 0x51cc20
mov esi, dword [ebp - 0x2020]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push 2
push ecx
call edx
push 1
push 0
push esi
mov dword [ebp - 0x203c], 0
call fcn.0055ab50
mov ecx, dword [ebp - 0x2018]
mov dword [ecx + 0x2c], eax
mov ebx, dword [ebp - 0x2018]
mov edi, dword [ebx + 0x2c]
add esp, 0x14
test edi, edi
jne 0x51cca4
xor eax, eax
jmp 0x51ccdb
cmp dword [edi], 0
jge 0x51ccad
xor eax, eax
jmp 0x51ccdb
mov edx, dword [edi + 0x48]
push edx
push esi
call fcn.0055a630
mov edx, dword [edi + 0x238]
mov ecx, dword [edi + 0x244]
mov edi, dword [edi + 0x250]
lea ecx, [edx + ecx*2]
lea ecx, [ecx + ecx*2]
lea edx, [eax + ecx*2]
lea eax, [edi + edi*4]
add esp, 8
lea eax, [edx + eax*8]
add dword [ebx + 8], eax
mov ecx, dword [ebp - 0x2018]
mov dword [ecx + 0x34], 0x100
mov eax, dword [ebp - 0x2018]
mov edx, dword [ebp - 0x201c]
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0xc]
call fcn.004b3520
test eax, eax
je 0x51cda6
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov edx, ecx
shl edx, 4
add edx, ecx
lea eax, [eax + edx*4 + 8]
push 0
push eax
call fcn.0065e2c0
mov esi, dword [ebp - 0x2020]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov edi, edx
shl edi, 4
add edi, edx
add esp, 8
mov dword [ecx + edi*4 + 4], eax
test eax, eax
jne 0x51cda6
mov ebx, dword [ebp - 0x2028]
test ebx, ebx
je 0x51cd84
cmp byte [ebx + 4], 0x72
jne 0x51cd5e
push ebx
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51cd84
cmp byte [ebx + 4], 0x64
jne 0x51cd84
push 0
push str.ToUnicode
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51cd84
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x51cd86
xor eax, eax
mov ecx, dword [ebp - 0x2018]
push 0
lea edx, [ebp - 0x2484]
push edx
push ecx
mov ecx, dword [ebp - 0x2050]
mov edx, eax
call fcn.0055a1e0
add esp, 0xc
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov edi, dword [ebp - 0x2028]
mov edx, ecx
shl edx, 4
add edx, ecx
mov edx, dword [eax + edx*4 + 4]
dec ecx
mov dword [eax], ecx
cmp edx, 1
jle 0x51cded
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x4404], 2
jne 0x51cdd5
call fcn.004b34d0
push str.cannot_load_ToUnicode_CMap
push 0x320
push str..mupdf_sourcepdfpdf_font.c
push esi
call fcn.004b3370
add esp, 0x10
mov ebx, dword [ebp - 0x2018]
fld dword [ebx + 0x28]
call fcn.0065d070
mov dword [ebx + 0x58], eax
mov ebx, edi
test edi, edi
je 0x51ce15
cmp byte [edi + 4], 0x72
jne 0x51ce15
push edi
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51d0c6
cmp byte [ebx + 4], 0x64
jne 0x51d0c6
push 0
push str.Widths
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51ce43
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x51ce45
xor eax, eax
mov dword [ebp - 0x2038], eax
test eax, eax
je 0x51d0c6
mov ebx, edi
test edi, edi
je 0x51ce6a
cmp byte [edi + 4], 0x72
jne 0x51ce6a
push edi
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51ce90
cmp byte [ebx + 4], 0x64
jne 0x51ce90
push 0
push str.FirstChar
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51ce90
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + eax*8 + 4]
jmp 0x51ce92
xor eax, eax
test eax, eax
je 0x51ced3
cmp byte [eax + 4], 0x72
jne 0x51cea5
push eax
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51ced3
mov cl, byte [eax + 4]
cmp cl, 0x69
jne 0x51ceb6
mov esi, dword [eax + 0x10]
jmp 0x51ced5
cmp cl, 0x66
jne 0x51ced3
fld dword [eax + 0x10]
fadd qword [0x9ad788]
call fcn.0065d070
mov esi, eax
mov dword [ebp - 0x202c], eax
jmp 0x51cedb
xor esi, esi
mov dword [ebp - 0x202c], esi
mov ebx, dword [ebp - 0x2028]
test ebx, ebx
je 0x51cf1c
cmp byte [ebx + 4], 0x72
jne 0x51cef6
push ebx
call fcn.004c74c0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x51cf1c
cmp byte [ebx + 4], 0x64
jne 0x51cf1c
push 0
push str.LastChar
call fcn.004bb9f0
add esp, 8
test eax, eax
js 0x51cf1c
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x51cf1e
xor eax, eax
test eax, eax
je 0x51cf57
cmp byte [eax + 4], 0x72
jne 0x51cf31
push eax
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51cf57
mov cl, byte [eax + 4]
cmp cl, 0x69
jne 0x51cf42
mov eax, dword [eax + 0x10]
jmp 0x51cf59
cmp cl, 0x66
jne 0x51cf57
fld dword [eax + 0x10]
fadd qword [0x9ad788]
call fcn.0065d070
jmp 0x51cf59
xor eax, eax
test esi, esi
js 0x51cf68
cmp eax, 0xff
jg 0x51cf68
cmp esi, eax
jle 0x51cf72
xor eax, eax
xor esi, esi
mov dword [ebp - 0x202c], esi
sub eax, esi
inc eax
xor edi, edi
mov dword [ebp - 0x2040], eax
test eax, eax
jle 0x51d198
mov esi, dword [ebp - 0x2038]
cmp byte [esi + 4], 0x72
mov eax, esi
jne 0x51cf9c
push esi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51cfb7
cmp byte [eax + 4], 0x61
jne 0x51cfb7
test edi, edi
js 0x51cfb7
cmp edi, dword [eax + 0x10]
jge 0x51cfb7
mov edx, dword [eax + 0x18]
mov eax, dword [edx + edi*4]
jmp 0x51cfb9
xor eax, eax
test eax, eax
je 0x51cfd0
cmp byte [eax + 4], 0x72
jne 0x51cfcc
push eax
call fcn.004c74c0
add esp, 4
test eax, eax
jne 0x51cfd4
xor ebx, ebx
jmp 0x51cffe
mov cl, byte [eax + 4]
cmp cl, 0x69
jne 0x51cfe1
mov ebx, dword [eax + 0x10]
jmp 0x51cff6
cmp cl, 0x66
jne 0x51cfd0
fld dword [eax + 0x10]
fadd qword [0x9ad788]
call fcn.0065d070
mov ebx, eax
test ebx, ebx
jne 0x51d095
cmp byte [esi + 4], 0x72
mov eax, esi
jne 0x51d00f
push esi
call fcn.004c74c0
add esp, 4
test eax, eax
je 0x51d01e
cmp byte [eax + 4], 0x61
jne 0x51d01e
mov eax, dword [eax + 0x10]
jmp 0x51d020
xor eax, eax
cmp edi, eax
jl 0x51d095
mov ecx, dword [ebp - 0x2028]
mov ebx, dword [ebp - 0x202c]
mov eax, ecx
add ebx, edi
call fcn.004ba220
push eax
mov eax, ecx
call fcn.004ba200
mov esi, dword [ebp - 0x2020]
push eax
push ebx
push str.font_width_missing_for_glyph__d___d__d_R_
push 0x33a
push str..mupdf_sourcepdfpdf_font.c
push esi
call fcn.004b3370
mov ecx, dword [ebp - 0x2024]
add esp, 0x1c
push 0x48
push 0x48
push 0x3e8
push 0x3e8
push ecx
call fcn.0060a1d0
add esp, 0x14
push esi
mov esi, dword [ebp - 0x2018]
mov eax, ebx
call fcn.0051ace0
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x202c]
mov esi, dword [ebp - 0x2018]
add eax, edi
push ebx
push eax
push eax
mov eax, dword [ebp - 0x2020]
call fcn.00557bd0
inc edi
add esp, 0xc
cmp edi, dword [ebp - 0x2040]
jl 0x51cf85
jmp 0x51d198
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 2
push ecx
call edx
mov eax, dword [ebp - 0x2024]
push 0x48
push 0x48
push 0x3e8
push 0x3e8
push eax
mov dword [ebp - 0x203c], 1
call fcn.0060a1d0
add esp, 0x1c
test eax, eax
je 0x51d13f
cmp dword [str.no_error], 0
mov ecx, 0x894840
je 0x51d121
lea esp, [esp]
cmp dword [ecx], eax
je 0x51d2b6
add ecx, 8
cmp dword [ecx + 4], 0
jne 0x51d110
mov ecx, str.Unknown_error
push ecx
push str.freetype_set_character_size:__s
push 0x347
push str..mupdf_sourcepdfpdf_font.c
push esi
call fcn.004b3370
add esp, 0x14
xor edi, edi
mov ecx, dword [ebp - 0x2020]
mov esi, dword [ebp - 0x2018]
push ecx
mov eax, edi
call fcn.0051ace0
mov esi, dword [ebp - 0x2018]
add esp, 4
push eax
mov eax, dword [ebp - 0x2020]
push edi
push edi
call fcn.00557bd0
inc edi
add esp, 0xc
cmp edi, 0x100
jl 0x51d141
mov edx, dword [ebp - 0x2020]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push 2
push ecx
call edx
add esp, 8
mov dword [ebp - 0x203c], 0
mov edi, dword [ebp - 0x2018]
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x51d1c5
mov ecx, dword [edi + 0x4c]
push 0x557dc0
push 8
push ecx
push eax
call fcn.00658b10
mov edx, dword [edi + 0x50]
add edx, edx
add edx, edx
add edx, edx
add esp, 0x10
add dword [edi + 8], edx
mov edi, dword [ebp - 0x2020]
xor ebx, ebx
mov esi, dword [ebp - 0x2028]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, ecx
shl edx, 4
add edx, ecx
mov edx, dword [eax + edx*4 + 4]
dec ecx
mov dword [eax], ecx
cmp edx, 1
jle 0x51d2ee
cmp dword [ebp - 0x203c], ebx
je 0x51d207
mov eax, dword [edi + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push 2
push ecx
call edx
add esp, 8
mov eax, dword [ebp - 0x2018]
cmp eax, ebx
je 0x51d250
mov edi, dword [ebp - 0x201c]
cmp edi, dword [eax + 0x38]
je 0x51d250
mov ebx, dword [ebp - 0x2020]
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 0
push ecx
call edx
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [eax + 0xc]
push edi
push ecx
call edx
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push 0
push ecx
call edx
mov eax, dword [ebp - 0x2018]
add esp, 0x18
xor ebx, ebx
mov edi, eax
test eax, eax
je 0x51d2a7
mov eax, dword [ebp - 0x2020]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push ebx
push ecx
call edx
mov eax, dword [edi]
add esp, 8
test eax, eax
js 0x51d27d
dec eax
mov dword [edi], eax
jne 0x51d27d
mov ebx, 1
mov eax, dword [ebp - 0x2020]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push 0
push ecx
call edx
add esp, 8
test ebx, ebx
je 0x51d2a7
mov eax, dword [ebp - 0x2020]
mov ecx, dword [edi + 4]
push edi
push eax
call ecx
add esp, 8
test esi, esi
je 0x51d2be
cmp byte [esi + 4], 0x72
jne 0x51d2be
mov ecx, dword [esi + 0x14]
jmp 0x51d2c0
mov ecx, dword [ecx + 4]
jmp 0x51d126
xor ecx, ecx
test esi, esi
je 0x51d2cf
cmp byte [esi + 4], 0x72
jne 0x51d2cf
mov eax, dword [esi + 0x10]
jmp 0x51d2d1
xor eax, eax
mov edx, dword [ebp - 0x2020]
push ecx
push eax
push str.cannot_load_simple_font___d__d_R_
push 0x359
push str..mupdf_sourcepdfpdf_font.c
push edx
call fcn.004b3660
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x2018]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0065865c
mov esp, ebp
pop ebp
ret