Function at 0x55d720
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x38
mov eax, dword [0x9c48d0]
xor eax, esp
mov dword [esp + 0x34], eax
cmp dword [esi + 4], 0x20
jge 0x55d75b
mov eax, dword [ebx + 0x48]
push str.insufficient_data_for_font_deobfuscation
push 0x6a
push str..mupdf_sourcexpsxps_glyphs.c
push eax
call fcn.004b3370
add esp, 0x10
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.0065865c
add esp, 0x38
ret
mov ecx, dword [esi]
push 0x2f
push ecx
call fcn.0065aca0
add esp, 8
test eax, eax
jne 0x55d76e
mov eax, dword [esi]
push edi
xor edi, edi
mov dl, byte [eax]
test dl, dl
je 0x55d7a1
movsx ecx, dl
cmp ecx, 0x41
jl 0x55d784
cmp ecx, 0x46
jle 0x55d796
cmp ecx, 0x61
jl 0x55d78e
cmp ecx, 0x66
jle 0x55d796
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x55d79b
mov byte [esp + edi + 0x14], dl
inc edi
inc eax
cmp edi, 0x20
jl 0x55d771
mov byte [esp + edi + 0x14], 0
cmp edi, 0x20
je 0x55d7d3
mov edx, dword [ebx + 0x48]
push str.cannot_extract_GUID_from_obfuscated_font_part_name
push 0x7b
push str..mupdf_sourcexpsxps_glyphs.c
push edx
call fcn.004b3370
add esp, 0x10
pop edi
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.0065865c
add esp, 0x38
ret
xor edi, edi
movzx eax, byte [esp + edi*2 + 0x14]
lea ecx, [eax - 0x41]
cmp ecx, 5
ja 0x55d7e7
add eax, 0xffffffc9
jmp 0x55d804
lea edx, [eax - 0x61]
cmp edx, 5
ja 0x55d7f4
add eax, 0xffffffa9
jmp 0x55d804
lea ecx, [eax - 0x30]
mov eax, 9
cmp eax, ecx
sbb eax, eax
not eax
and eax, ecx
movzx ecx, byte [esp + edi*2 + 0x15]
lea edx, [ecx - 0x41]
cmp edx, 5
ja 0x55d816
add ecx, 0xffffffc9
jmp 0x55d833
lea edx, [ecx - 0x61]
cmp edx, 5
ja 0x55d823
add ecx, 0xffffffa9
jmp 0x55d833
lea edx, [ecx - 0x30]
mov ecx, 9
cmp ecx, edx
sbb ecx, ecx
not ecx
and ecx, edx
shl al, 4
add al, cl
mov byte [esp + edi + 4], al
movzx eax, byte [esp + edi*2 + 0x16]
lea edx, [eax - 0x41]
cmp edx, 5
ja 0x55d84e
add eax, 0xffffffc9
jmp 0x55d86b
lea ecx, [eax - 0x61]
cmp ecx, 5
ja 0x55d85b
add eax, 0xffffffa9
jmp 0x55d86b
lea ecx, [eax - 0x30]
mov edx, 9
cmp edx, ecx
sbb eax, eax
not eax
and eax, ecx
movzx ecx, byte [esp + edi*2 + 0x17]
lea edx, [ecx - 0x41]
cmp edx, 5
ja 0x55d87d
add ecx, 0xffffffc9
jmp 0x55d89a
lea edx, [ecx - 0x61]
cmp edx, 5
ja 0x55d88a
add ecx, 0xffffffa9
jmp 0x55d89a
lea edx, [ecx - 0x30]
mov ecx, 9
cmp ecx, edx
sbb ecx, ecx
not ecx
and ecx, edx
shl al, 4
add al, cl
mov byte [esp + edi + 5], al
movzx eax, byte [esp + edi*2 + 0x18]
lea edx, [eax - 0x41]
cmp edx, 5
ja 0x55d8b5
add eax, 0xffffffc9
jmp 0x55d8d2
lea ecx, [eax - 0x61]
cmp ecx, 5
ja 0x55d8c2
add eax, 0xffffffa9
jmp 0x55d8d2
lea ecx, [eax - 0x30]
mov edx, 9
cmp edx, ecx
sbb eax, eax
not eax
and eax, ecx
movzx ecx, byte [esp + edi*2 + 0x19]
lea edx, [ecx - 0x41]
cmp edx, 5
ja 0x55d8e4
add ecx, 0xffffffc9
jmp 0x55d901
lea edx, [ecx - 0x61]
cmp edx, 5
ja 0x55d8f1
add ecx, 0xffffffa9
jmp 0x55d901
lea edx, [ecx - 0x30]
mov ecx, 9
cmp ecx, edx
sbb ecx, ecx
not ecx
and ecx, edx
shl al, 4
add al, cl
mov byte [esp + edi + 6], al
movzx eax, byte [esp + edi*2 + 0x1a]
lea edx, [eax - 0x41]
cmp edx, 5
ja 0x55d91c
add eax, 0xffffffc9
jmp 0x55d939
lea ecx, [eax - 0x61]
cmp ecx, 5
ja 0x55d929
add eax, 0xffffffa9
jmp 0x55d939
lea ecx, [eax - 0x30]
mov edx, 9
cmp edx, ecx
sbb eax, eax
not eax
and eax, ecx
movzx ecx, byte [esp + edi*2 + 0x1b]
lea edx, [ecx - 0x41]
cmp edx, 5
ja 0x55d94b
add ecx, 0xffffffc9
jmp 0x55d968
lea edx, [ecx - 0x61]
cmp edx, 5
ja 0x55d958
add ecx, 0xffffffa9
jmp 0x55d968
lea edx, [ecx - 0x30]
mov ecx, 9
cmp ecx, edx
sbb ecx, ecx
not ecx
and ecx, edx
shl al, 4
add al, cl
mov byte [esp + edi + 7], al
add edi, 4
cmp edi, 0x10
jl 0x55d7d5
xor eax, eax
lea ecx, [esp + 0x12]
mov edi, dword [esi + 0xc]
mov dl, byte [ecx + 1]
xor byte [edi + eax], dl
mov edi, dword [esi + 0xc]
xor byte [edi + eax + 0x10], dl
mov edx, dword [esi + 0xc]
lea edi, [edi + eax + 0x10]
lea edi, [edx + eax + 1]
mov dl, byte [ecx]
xor byte [edi], dl
mov edi, dword [esi + 0xc]
xor byte [edi + eax + 0x11], dl
mov edx, dword [esi + 0xc]
lea edi, [edi + eax + 0x11]
lea edi, [edx + eax + 2]
mov dl, byte [ecx - 1]
xor byte [edi], dl
mov edi, dword [esi + 0xc]
xor byte [edi + eax + 0x12], dl
mov edx, dword [esi + 0xc]
lea edi, [edi + eax + 0x12]
lea edi, [edx + eax + 3]
mov dl, byte [ecx - 2]
xor byte [edi], dl
mov edi, dword [esi + 0xc]
xor byte [edi + eax + 0x13], dl
lea edi, [edi + eax + 0x13]
add eax, 4
sub ecx, 4
cmp eax, 0x10
jl 0x55d983
mov ecx, dword [esp + 0x38]
pop edi
xor ecx, esp
call fcn.0065865c
add esp, 0x38
ret