Wednesday, July 31, 2019

bulk build report

bulk build on sparc64-0.ports.openbsd.org
started on Wed Jul 24 00:56:01 MDT 2019
finished at Wed Jul 31 15:35:49 MDT 2019
lasted 08D07h39m
done with kern.version=OpenBSD 6.5-current (GENERIC.MP) #4: Mon Jul 29 06:32:51 MDT 2019

built packages:9533
Jul 29:5624
Jul 30:3361
Jul 31:547



critical path missing pkgs: http://build-failures.rhaalovely.net//sparc64/2019-07-24/summary.log

build failures: 115
http://build-failures.rhaalovely.net//sparc64/2019-07-24/audio/clementine.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/audio/gradio.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/cad/gnucap.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/cad/magic.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/cad/netgen.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/cad/qucs.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/chinese/libpinyin.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/comms/xastir.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/databases/pkglocatedb.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/angr/py-z3-solver.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/kf5/kemoticons.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/kf5/kimageformats.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/kf5/kirigami2.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/kf5/knotifications.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/kf5/kpeople.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/py-unicorn.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/devel/woboq_codebrowser.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/BasiliskII.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/citra.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/desmume.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/fs-uae.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/gambatte,-main.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/nestopia,-libretro.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/ppsspp.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/vbam.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/emulators/xnp2.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/burgerspace.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/cosmosmash.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/devilutionx.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/dxx-rebirth.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/godot.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/love.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/maelstrom.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/mvdsv.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/pokerth.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/quadrupleback.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/games/xevil.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/geo/spatialite/gis.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/aspect-crop.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/colord-gtk.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/dibuja.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/drawpile.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/glslang.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/makehuman.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/openimageio.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/pdf2djvu.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/spirv-tools.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/graphics/vulkan-loader.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/inputmethods/scim-fcitx.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/inputmethods/scim-hangul.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/inputmethods/scim-pinyin.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/inputmethods/scim-tables.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/lang/apl.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/lang/erlang/16.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/lang/erlang/17,-main.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/lang/erlang/18,-main.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/lang/erlang/19.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/lang/erlang/21.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/lang/janet.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/mail/kopano/core.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/mail/mu.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/math/kst.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/multimedia/mkvtoolnix,no_x11.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/multimedia/phonon-backend/gstreamer,qt5.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/multimedia/synfig.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/bitcoin.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/dleyna/renderer.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/dleyna/server.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/isc-bind,geoip.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/litecoin.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/mutella.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/pmacct,postgresql.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/telegram-purple.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/toxcore.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/net/wireshark,-main.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/productivity/gnucash.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/productivity/ledger.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/security/libfprint.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/security/sslscan,openssl.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/sysutils/random_run.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/sysutils/xxhash.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/telephony/iaxclient.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/telephony/pjsua,-main.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/www/goaccess.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/www/otter-browser.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/gnome/gedit.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/gnome/libbonobo.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/gnome/libgweather.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/gnome/photos.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/gnome/tracker-miners.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/gnome/zenity.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/gtk+4,-cloudprint.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/kde-applications/kmbox.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/kde-applications/libkcompactdisc.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/kde4/audiocd-kio.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/kde4/krfb.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/kde4/smokeqt.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/libdbus-c++.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/libhandy.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/about.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/config.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/notificationd.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/openssh-askpass.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/pavucontrol-qt.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/policykit.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/powermanagement.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/qtplugin.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/lxqt/sudo.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/mate/caja.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/ogre.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/p5-Tk-ProgressBar-Mac.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/qt5/docs,-html.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/qt5/qt3d.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/waimea.log
http://build-failures.rhaalovely.net//sparc64/2019-07-24/x11/xfce4/xfce4-cpugraph.log

sysupgrade (Was: Re: Kernel crash in OpenBSD 6.5)

Hi folks,

On 7/30/19 3:08 PM, Hrvoje Popovski wrote:
>
> try to update both boxes to latest snapshot at least because in snapshot
> you have excellent tool called sysupgrade ... you will love it :)
>
> with this tool you can upgrade os to latest snapshot without any problem
> over ssh :)
>
This is cool.

Due to space and speed restrictions (compact flash card) and to reduce
downtime I would like to avoid the games and the Xwindow "balast" on my
gateways. Does sysupgrade recognize the tar balls that are already
installed, or does it become a "sysinstall" in this case?

Sorry for asking, but the man page https://man.openbsd.org/sysupgrade
doesn't tell.


Thanx in advance
Harri

Re: How to debug hanging machines / proc: table is full

On Wed, Jul 31, 2019 at 04:20:12PM +0000, Visa Hankala wrote:
> On Wed, Jul 31, 2019 at 05:46:08PM +0200, Raimo Niskanen wrote:
> > I have enabled Witness, it went so-so. We'll see what it catches.
> >
> > I downloaded 6.5 amd64 src.tar.gz and sys.tar.gz, unpacked them,
> > applied all patches for stable 001-006 and built a kernel with:
> > include "arch/amd64/conf/GENERIC"
> > option MULTIPROCESSOR
> > option MP_LOCKDEBUG
> > option WITNESS
> >
> > Then I activated in /etc/sysctl.conf:
> > ddb.console=1
> > kern.witness.locktrace=1
> > kern.witness.watch=3
> >
> > For fun, I pressed Ctrl+Alt+Esc at the console, got a ddb> prompt and typed
> > "show witness". It printed lots of info, I scrolled down to the end, but
> > during the printout there was an UVM fault:
> >
> > Spin locks:
> > /usr/src/sys/....
> > :
> > bla bla bla
> > :
> > uvm_fault(0xffffffff81e03b50, 0xffff800022368360, 0, 1) -> e
> > kernel: page fault trap, code=0
> > Faulted in DDB: continuing...
>
> The output of "show witness" is unlikely to be useful in your case.
> It is more of a tool for debugging witness. You can ignore it.
> However, "show all locks" might display interesting information
> after a witness-related panic.

Ok, great!

It is just that an uvm_fault during show witness felt like a bad thing...

--

/ Raimo Niskanen, Erlang/OTP, Ericsson AB

Re: IPv6 NDP not completing

Interesting links, thanks. Looking into the second one, I noticed this commit:
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/netinet6/nd6_nbr.c.diff?r1=1.117&r2=1.118&f=h

It seems like OpenBSD should respond to NS addressed to both global or link-local addresses on the upstream interface.

I also set net.inet6.icmp6.nd6_debug=1, but haven't seen anything related in the logs.

On 7/31/19 8:23 PM, john slee wrote:
> Hi,
>
> I'm having very similar problems to this, I think. Syspatch'ed OpenBSD 6.5
> on an apu4c4, with my ISP-supplied termination device (cable modem,
> effectively) directly attached to an ethernet interface. No switch. IPv4
> works fine. DHCPv6 NA+PD seems to work OK — I get v6 NA & PD assignments —
> but I can't ping anything beyond my gateway. If I use the ISP-supplied
> router I have fully functional dualstack networking.
>
> I saw sthen@'s recent post on this topic with his configs included. I
> adjusted my configs (which were already pretty close) to reflect what he'd
> done, but no joy :-(.
>
> FWIW my ISP is Telstra in Australia. Looking around a bit I found a pfSense
> discussion wherein the suggestion was to make a config change to what I
> assume underneath the pfSense UI is FreeBSD's
> "net.inet6.icmp6.nd6_onlink_ns_rfc4861" sysctl:
>
> https://whirlpool.net.au/wiki/pfsense_ipv6_telstra
>
> But I also found this old discussion that suggested that OpenBSD's
> behaviour here — and lack of this particular knob — was a result of a nasty
> old CVE:
>
>
> https://misc.openbsd.narkive.com/3KdNDcEM/openbsd-ignoring-rfc-compliant-ipv6-neighbor-solicitation#post1
>
> My next discovery step is to boot Debian on my spare apu4c4 and see if it
> works there, capture some traffic, etc. I don't want to use that as a
> gateway, though.
>
> John
>
> On Tue, 30 Jul 2019 at 16:22, Kyle <aradian@tma-0.net> wrote:
>
>> Hi all,
>>
>> I'm trying to get IPv6 set up on a firewall box running 6.4. I'm using
>> dhcpcd to get an NA and several PDs, which appears to be working fine, but
>> no normal v6 traffic can be sent or received. tcpdump on the egress
>> interface (em3) shows lots of icmp6 neighbor solicits going back and forth,
>> but no responses from either side:
>>
>>
>> $ ifconfig em3
>> em3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>> lladdr 0c:c4:7a:ad:2a:e7
>> index 4 priority 0 llprio 3
>> groups: egress
>> media: Ethernet autoselect (1000baseT full-duplex)
>> status: active
>> inet6 fe80::8dfc:5795:8ab7:e2b%em3 prefixlen 64 scopeid 0x4
>> inet <omitted> netmask 0xffffe000 broadcast <omitted>
>> inet6 2605:a601:fe07:c900::1 prefixlen 128 pltime 64553 vltime
>> 86153
>>
>>
>> $ tcpdump -nlp -i em3 ip6
>> ... neighbor sol repeating many times ...
>> 22:46:53.876457 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
>> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
>> 22:47:01.876688 fe80::2d0:f6ff:feea:4ff0 > 2605:a601:fe07:c900::1: icmp6:
>> neighbor sol: who has 2605:a601:fe07:c900::1 [class 0xc0]
>> 22:47:01.876778 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
>> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
>> 22:47:01.877542 fe80::2d0:f6ff:feea:4ff0 > fe80::8dfc:5795:8ab7:e2b:
>> icmp6: neighbor sol: who has fe80::8dfc:5795:8ab7:e2b [class 0xc0]
>> 22:47:02.876594 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
>> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
>> 22:47:03.876603 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
>> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
>> 22:47:32.337233 fe80::8dfc:5795:8ab7:e2b.546 > ff02::1:2.547: dhcp6
>> release [hlim 1]
>> 22:47:32.515413 fe80::2d0:f6ff:feea:4ff0.547 >
>> fe80::8dfc:5795:8ab7:e2b.546: dhcp6 [class 0xc0]
>>
>>
>> I added "pass quick on em3 inet6" to the top of pf.conf to make sure the
>> responses aren't being filtered.
>>
>> The peer LL address is always marked incomplete:
>>
>> $ ndp -na | grep em3
>> 2605:a601:fe07:c900::1 0c:c4:7a:ad:2a:e7 em3 permanent R
>> l
>> fe80::2d0:f6ff:feea:4ff0%em3 00:d0:f6:ea:51:96 em3 expired I
>> R
>> fe80::8dfc:5795:8ab7:e2b%em3 0c:c4:7a:ad:2a:e7 em3 permanent R
>> l
>>
>>
>> Pinging any v6 address outside my network only results in one
>> fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6: neighbor sol: who has
>> fe80::2d0:f6ff:feea:4ff0
>>
>> per ping sent.
>>
>> Routes:
>>
>> $ route -n show -inet6 | grep em3
>> default fe80::2d0:f6ff:feea:4ff0%em3 UGS 0 53699 - 8 em3
>> 2605:a601:fe07:c900::1 0c:c4:7a:ad:2a:e7 UHLl 0
>> 1752 - 1 em3
>> fe80::%em3/64 fe80::8dfc:5795:8ab7:e2b%em3 UCn 1 1 - 4
>> em3
>> fe80::2d0:f6ff:feea:4ff0%em3 00:d0:f6:ea:51:96 UHLch 1
>> 720183 - 3 em3
>> fe80::8dfc:5795:8ab7:e2b%em3 0c:c4:7a:ad:2a:e7 UHLl 0
>> 110606 - 1 em3
>> ff01::%em3/32 fe80::8dfc:5795:8ab7:e2b%em3 Um 0 3 - 4
>> em3
>> ff02::%em3/32 fe80::8dfc:5795:8ab7:e2b%em3 Um 0 161322 - 4
>> em3
>>
>>
>> There is a managed switch between the firewall's egress and the ISP, but
>> it's not doing any packet filtering. I'm currently out of ideas; any
>> suggestions would be much appreciated.
>>
>>
>>

Re: hardware assisted ethernet filtering

On Wed, Jul 31, 2019 at 11:48:24PM +0100, Tom Smyth wrote:
> Hi all,
> I was just wondering is there an ethtool equivalent in OpenBSD
> in particular Im interested in trying to harness some of the features
> in the xl710 and more advanced intel Ethernet chipsets where they
> allow a (limited) number of filter rules to be applied to a given network
> interface,
> example to drop high packet rate udp floods / amplification attacks
> #drop NTP responses (good and bad) inbound on interface enp134s0f0
> ethtool --config-ntuple enp134s0f0 flow-type udp4 src-port 123 action -1
> #drop DNS responses (good and bad) inbound on interface enp134s0f0
> ethtool --config-ntuple enp134s0f0 flow-type udp4 src-port 53 action -1
>

Not hardware filter features, no. But you may be interested in the
bpf(4) "filter drop" feature extended recently by dlg@, and added to
tcpdump(8), it can be useful in cases where pf(4) cannot.

https://marc.info/?l=openbsd-cvs&m=155286777331151&w=2

https://man.openbsd.org/tcpdump#B

> the benefit of using the NICs ability to filter would be to reduce the
> effects
> of a high packet rate attack against the OpenBSD router
> what way would the openBSD devs think this should be done.
> extending ifconfig ?
> or a separate tool ?
>
> It would be nice that the tools commands would be more like pf and less
> like eth tools (cause the syntax of ethtools sucks a little here)
> some downside risks of the hardware filtering offload is that is not
> immediately obvious to someone analysing the firewall rules that there is
> a hardware filter in place... perhaps this could be mitigated by some sort
> of
>
> so it might be an idea to prepend a line comment to /etc.pf.conf to give
> the sysadmin a hint that there is a hardware filter in play before the
> firewall gets
> to see the packets...
>
> any interest ? ideas? alternative view points on it ...
> Thanks for your time
>
> Tom Smyth.
>

Re: IPv6 NDP not completing

Hi,

I'm having very similar problems to this, I think. Syspatch'ed OpenBSD 6.5
on an apu4c4, with my ISP-supplied termination device (cable modem,
effectively) directly attached to an ethernet interface. No switch. IPv4
works fine. DHCPv6 NA+PD seems to work OK — I get v6 NA & PD assignments —
but I can't ping anything beyond my gateway. If I use the ISP-supplied
router I have fully functional dualstack networking.

I saw sthen@'s recent post on this topic with his configs included. I
adjusted my configs (which were already pretty close) to reflect what he'd
done, but no joy :-(.

FWIW my ISP is Telstra in Australia. Looking around a bit I found a pfSense
discussion wherein the suggestion was to make a config change to what I
assume underneath the pfSense UI is FreeBSD's
"net.inet6.icmp6.nd6_onlink_ns_rfc4861" sysctl:

https://whirlpool.net.au/wiki/pfsense_ipv6_telstra

But I also found this old discussion that suggested that OpenBSD's
behaviour here — and lack of this particular knob — was a result of a nasty
old CVE:


https://misc.openbsd.narkive.com/3KdNDcEM/openbsd-ignoring-rfc-compliant-ipv6-neighbor-solicitation#post1

My next discovery step is to boot Debian on my spare apu4c4 and see if it
works there, capture some traffic, etc. I don't want to use that as a
gateway, though.

John

On Tue, 30 Jul 2019 at 16:22, Kyle <aradian@tma-0.net> wrote:

> Hi all,
>
> I'm trying to get IPv6 set up on a firewall box running 6.4. I'm using
> dhcpcd to get an NA and several PDs, which appears to be working fine, but
> no normal v6 traffic can be sent or received. tcpdump on the egress
> interface (em3) shows lots of icmp6 neighbor solicits going back and forth,
> but no responses from either side:
>
>
> $ ifconfig em3
> em3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> lladdr 0c:c4:7a:ad:2a:e7
> index 4 priority 0 llprio 3
> groups: egress
> media: Ethernet autoselect (1000baseT full-duplex)
> status: active
> inet6 fe80::8dfc:5795:8ab7:e2b%em3 prefixlen 64 scopeid 0x4
> inet <omitted> netmask 0xffffe000 broadcast <omitted>
> inet6 2605:a601:fe07:c900::1 prefixlen 128 pltime 64553 vltime
> 86153
>
>
> $ tcpdump -nlp -i em3 ip6
> ... neighbor sol repeating many times ...
> 22:46:53.876457 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
> 22:47:01.876688 fe80::2d0:f6ff:feea:4ff0 > 2605:a601:fe07:c900::1: icmp6:
> neighbor sol: who has 2605:a601:fe07:c900::1 [class 0xc0]
> 22:47:01.876778 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
> 22:47:01.877542 fe80::2d0:f6ff:feea:4ff0 > fe80::8dfc:5795:8ab7:e2b:
> icmp6: neighbor sol: who has fe80::8dfc:5795:8ab7:e2b [class 0xc0]
> 22:47:02.876594 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
> 22:47:03.876603 fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6:
> neighbor sol: who has fe80::2d0:f6ff:feea:4ff0
> 22:47:32.337233 fe80::8dfc:5795:8ab7:e2b.546 > ff02::1:2.547: dhcp6
> release [hlim 1]
> 22:47:32.515413 fe80::2d0:f6ff:feea:4ff0.547 >
> fe80::8dfc:5795:8ab7:e2b.546: dhcp6 [class 0xc0]
>
>
> I added "pass quick on em3 inet6" to the top of pf.conf to make sure the
> responses aren't being filtered.
>
> The peer LL address is always marked incomplete:
>
> $ ndp -na | grep em3
> 2605:a601:fe07:c900::1 0c:c4:7a:ad:2a:e7 em3 permanent R
> l
> fe80::2d0:f6ff:feea:4ff0%em3 00:d0:f6:ea:51:96 em3 expired I
> R
> fe80::8dfc:5795:8ab7:e2b%em3 0c:c4:7a:ad:2a:e7 em3 permanent R
> l
>
>
> Pinging any v6 address outside my network only results in one
> fe80::8dfc:5795:8ab7:e2b > ff02::1:ffea:4ff0: icmp6: neighbor sol: who has
> fe80::2d0:f6ff:feea:4ff0
>
> per ping sent.
>
> Routes:
>
> $ route -n show -inet6 | grep em3
> default fe80::2d0:f6ff:feea:4ff0%em3 UGS 0 53699 - 8 em3
> 2605:a601:fe07:c900::1 0c:c4:7a:ad:2a:e7 UHLl 0
> 1752 - 1 em3
> fe80::%em3/64 fe80::8dfc:5795:8ab7:e2b%em3 UCn 1 1 - 4
> em3
> fe80::2d0:f6ff:feea:4ff0%em3 00:d0:f6:ea:51:96 UHLch 1
> 720183 - 3 em3
> fe80::8dfc:5795:8ab7:e2b%em3 0c:c4:7a:ad:2a:e7 UHLl 0
> 110606 - 1 em3
> ff01::%em3/32 fe80::8dfc:5795:8ab7:e2b%em3 Um 0 3 - 4
> em3
> ff02::%em3/32 fe80::8dfc:5795:8ab7:e2b%em3 Um 0 161322 - 4
> em3
>
>
> There is a managed switch between the firewall's egress and the ISP, but
> it's not doing any packet filtering. I'm currently out of ideas; any
> suggestions would be much appreciated.
>
>
>

hardware assisted ethernet filtering

Hi all,
I was just wondering is there an ethtool equivalent in OpenBSD
in particular Im interested in trying to harness some of the features
in the xl710 and more advanced intel Ethernet chipsets where they
allow a (limited) number of filter rules to be applied to a given network
interface,
example to drop high packet rate udp floods / amplification attacks
#drop NTP responses (good and bad) inbound on interface enp134s0f0
ethtool --config-ntuple enp134s0f0 flow-type udp4 src-port 123 action -1
#drop DNS responses (good and bad) inbound on interface enp134s0f0
ethtool --config-ntuple enp134s0f0 flow-type udp4 src-port 53 action -1



the benefit of using the NICs ability to filter would be to reduce the
effects
of a high packet rate attack against the OpenBSD router
what way would the openBSD devs think this should be done.
extending ifconfig ?
or a separate tool ?

It would be nice that the tools commands would be more like pf and less
like eth tools (cause the syntax of ethtools sucks a little here)
some downside risks of the hardware filtering offload is that is not
immediately obvious to someone analysing the firewall rules that there is
a hardware filter in place... perhaps this could be mitigated by some sort
of

so it might be an idea to prepend a line comment to /etc.pf.conf to give
the sysadmin a hint that there is a hardware filter in play before the
firewall gets
to see the packets...

any interest ? ideas? alternative view points on it ...
Thanks for your time

Tom Smyth.

sparc64 bulk build report

awk: can't open file stats.log
source line number 1
date: seconds is invalid: +%F
awk: can't open file stats.log
source line number 1
awk: can't open file stats.log
source line number 1
bc: stdin:2: syntax error: newline unexpected
date: seconds is invalid: +%dD%Hh%Mm
bulk build on sparc64-0.ports.openbsd.org
date: option requires an argument -- r
usage: date [-aju] [-d dst] [-f pformat] [-r seconds] [-t minutes_west]
[-z output_zone] [+format] [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
started on
date: option requires an argument -- r
usage: date [-aju] [-d dst] [-f pformat] [-r seconds] [-t minutes_west]
[-z output_zone] [+format] [[[[[[cc]yy]mm]dd]HH]MM[.SS]]
finished at
lasted
done with kern.version=OpenBSD 6.5-current (GENERIC.MP) #4: Mon Jul 29 06:32:51 MDT 2019

built packagesls: /usr/ports/packages/sparc64/all: No such file or directory

mv: /usr/ports/packages/sparc64: No such file or directory


build failures: 115
http://build-failures.rhaalovely.net//sparc64//audio/clementine.log
cp: paths/audio/clementine.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//audio/gradio.log
cp: paths/audio/gradio.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//cad/gnucap.log
cp: paths/cad/gnucap.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//cad/magic.log
cp: paths/cad/magic.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//cad/netgen.log
cp: paths/cad/netgen.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//cad/qucs.log
cp: paths/cad/qucs.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//chinese/libpinyin.log
cp: paths/chinese/libpinyin.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//comms/xastir.log
cp: paths/comms/xastir.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//databases/pkglocatedb.log
cp: paths/databases/pkglocatedb.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/angr/py-z3-solver.log
cp: paths/devel/angr/py-z3-solver.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/kf5/kemoticons.log
cp: paths/devel/kf5/kemoticons.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/kf5/kimageformats.log
cp: paths/devel/kf5/kimageformats.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/kf5/kirigami2.log
cp: paths/devel/kf5/kirigami2.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/kf5/knotifications.log
cp: paths/devel/kf5/knotifications.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/kf5/kpeople.log
cp: paths/devel/kf5/kpeople.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/py-unicorn.log
cp: paths/devel/py-unicorn.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//devel/woboq_codebrowser.log
cp: paths/devel/woboq_codebrowser.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/BasiliskII.log
cp: paths/emulators/BasiliskII.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/citra.log
cp: paths/emulators/citra.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/desmume.log
cp: paths/emulators/desmume.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/fs-uae.log
cp: paths/emulators/fs-uae.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/gambatte,-main.log
cp: paths/emulators/gambatte,-main.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/nestopia,-libretro.log
cp: paths/emulators/nestopia,-libretro.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/ppsspp.log
cp: paths/emulators/ppsspp.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/vbam.log
cp: paths/emulators/vbam.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//emulators/xnp2.log
cp: paths/emulators/xnp2.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/burgerspace.log
cp: paths/games/burgerspace.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/cosmosmash.log
cp: paths/games/cosmosmash.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/devilutionx.log
cp: paths/games/devilutionx.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/dxx-rebirth.log
cp: paths/games/dxx-rebirth.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/godot.log
cp: paths/games/godot.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/love.log
cp: paths/games/love.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/maelstrom.log
cp: paths/games/maelstrom.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/mvdsv.log
cp: paths/games/mvdsv.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/pokerth.log
cp: paths/games/pokerth.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/quadrupleback.log
cp: paths/games/quadrupleback.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//games/xevil.log
cp: paths/games/xevil.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//geo/spatialite/gis.log
cp: paths/geo/spatialite/gis.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/aspect-crop.log
cp: paths/graphics/aspect-crop.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/colord-gtk.log
cp: paths/graphics/colord-gtk.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/dibuja.log
cp: paths/graphics/dibuja.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/drawpile.log
cp: paths/graphics/drawpile.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/glslang.log
cp: paths/graphics/glslang.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/makehuman.log
cp: paths/graphics/makehuman.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/openimageio.log
cp: paths/graphics/openimageio.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/pdf2djvu.log
cp: paths/graphics/pdf2djvu.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/spirv-tools.log
cp: paths/graphics/spirv-tools.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//graphics/vulkan-loader.log
cp: paths/graphics/vulkan-loader.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//inputmethods/scim-fcitx.log
cp: paths/inputmethods/scim-fcitx.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//inputmethods/scim-hangul.log
cp: paths/inputmethods/scim-hangul.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//inputmethods/scim-pinyin.log
cp: paths/inputmethods/scim-pinyin.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//inputmethods/scim-tables.log
cp: paths/inputmethods/scim-tables.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//lang/apl.log
cp: paths/lang/apl.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//lang/erlang/16.log
cp: paths/lang/erlang/16.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//lang/erlang/17,-main.log
cp: paths/lang/erlang/17,-main.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//lang/erlang/18,-main.log
cp: paths/lang/erlang/18,-main.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//lang/erlang/19.log
cp: paths/lang/erlang/19.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//lang/erlang/21.log
cp: paths/lang/erlang/21.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//lang/janet.log
cp: paths/lang/janet.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//mail/kopano/core.log
cp: paths/mail/kopano/core.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//mail/mu.log
cp: paths/mail/mu.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//math/kst.log
cp: paths/math/kst.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//multimedia/mkvtoolnix,no_x11.log
cp: paths/multimedia/mkvtoolnix,no_x11.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//multimedia/phonon-backend/gstreamer,qt5.log
cp: paths/multimedia/phonon-backend/gstreamer,qt5.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//multimedia/synfig.log
cp: paths/multimedia/synfig.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/bitcoin.log
cp: paths/net/bitcoin.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/dleyna/renderer.log
cp: paths/net/dleyna/renderer.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/dleyna/server.log
cp: paths/net/dleyna/server.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/isc-bind,geoip.log
cp: paths/net/isc-bind,geoip.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/litecoin.log
cp: paths/net/litecoin.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/mutella.log
cp: paths/net/mutella.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/pmacct,postgresql.log
cp: paths/net/pmacct,postgresql.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/telegram-purple.log
cp: paths/net/telegram-purple.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/toxcore.log
cp: paths/net/toxcore.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//net/wireshark,-main.log
cp: paths/net/wireshark,-main.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//productivity/gnucash.log
cp: paths/productivity/gnucash.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//productivity/ledger.log
cp: paths/productivity/ledger.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//security/libfprint.log
cp: paths/security/libfprint.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//security/sslscan,openssl.log
cp: paths/security/sslscan,openssl.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//sysutils/random_run.log
cp: paths/sysutils/random_run.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//sysutils/xxhash.log
cp: paths/sysutils/xxhash.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//telephony/iaxclient.log
cp: paths/telephony/iaxclient.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//telephony/pjsua,-main.log
cp: paths/telephony/pjsua,-main.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//www/goaccess.log
cp: paths/www/goaccess.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//www/otter-browser.log
cp: paths/www/otter-browser.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/gnome/gedit.log
cp: paths/x11/gnome/gedit.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/gnome/libbonobo.log
cp: paths/x11/gnome/libbonobo.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/gnome/libgweather.log
cp: paths/x11/gnome/libgweather.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/gnome/photos.log
cp: paths/x11/gnome/photos.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/gnome/tracker-miners.log
cp: paths/x11/gnome/tracker-miners.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/gnome/zenity.log
cp: paths/x11/gnome/zenity.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/gtk+4,-cloudprint.log
cp: paths/x11/gtk+4,-cloudprint.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/kde-applications/kmbox.log
cp: paths/x11/kde-applications/kmbox.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/kde-applications/libkcompactdisc.log
cp: paths/x11/kde-applications/libkcompactdisc.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/kde4/audiocd-kio.log
cp: paths/x11/kde4/audiocd-kio.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/kde4/krfb.log
cp: paths/x11/kde4/krfb.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/kde4/smokeqt.log
cp: paths/x11/kde4/smokeqt.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/libdbus-c++.log
cp: paths/x11/libdbus-c++.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/libhandy.log
cp: paths/x11/libhandy.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/about.log
cp: paths/x11/lxqt/about.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/config.log
cp: paths/x11/lxqt/config.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/notificationd.log
cp: paths/x11/lxqt/notificationd.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/openssh-askpass.log
cp: paths/x11/lxqt/openssh-askpass.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/pavucontrol-qt.log
cp: paths/x11/lxqt/pavucontrol-qt.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/policykit.log
cp: paths/x11/lxqt/policykit.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/powermanagement.log
cp: paths/x11/lxqt/powermanagement.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/qtplugin.log
cp: paths/x11/lxqt/qtplugin.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/lxqt/sudo.log
cp: paths/x11/lxqt/sudo.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/mate/caja.log
cp: paths/x11/mate/caja.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/ogre.log
cp: paths/x11/ogre.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/p5-Tk-ProgressBar-Mac.log
cp: paths/x11/p5-Tk-ProgressBar-Mac.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/qt5/docs,-html.log
cp: paths/x11/qt5/docs,-html.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/qt5/qt3d.log
cp: paths/x11/qt5/qt3d.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/waimea.log
cp: paths/x11/waimea.log: No such file or directory
http://build-failures.rhaalovely.net//sparc64//x11/xfce4/xfce4-cpugraph.log
cp: paths/x11/xfce4/xfce4-cpugraph.log: No such file or directory

[www] mail.html - adding few links

Index: mail.html
===================================================================
RCS file: /cvs/www/mail.html,v
retrieving revision 1.165
diff -u -p -r1.165 mail.html
--- mail.html 1 Jun 2019 23:12:48 -0000 1.165
+++ mail.html 31 Jul 2019 20:05:16 -0000
@@ -240,7 +240,7 @@ These private addresses are for reportin

<p>
These lists are focused on user issues and development on individual
-platforms.
+<a href=plat.html>platforms</a>.

<dl>
<dt><b>alpha@openbsd.org</b>
@@ -294,14 +294,15 @@ comments.

<dl>
<dt><b>source-changes@openbsd.org</b>
-<dd>Automated mail of CVS source tree changes in the src, xenocara and www
-repositories.
+<dd>Automated mail of CVS source tree changes in the <code>src</code>,
+<code>xenocara</code> and <code>www</code> repositories.
<br>
(<a href="https://marc.info/?l=openbsd-cvs">Archive</a>)
<p>

<dt><b>ports-changes@openbsd.org</b>
-<dd>Automated mail of CVS source tree changes in the ports repository.
+<dd>Automated mail of CVS source tree changes in the <code>ports</code>
+repository.
<br>
(<a href="https://marc.info/?l=openbsd-ports-cvs">Archive</a>)

@@ -409,7 +410,7 @@ This is handy for those who don't like t
<p>
The insomniac at <a href="https://www.benzedrine.ch/mailinglist.html">
benzedrine.ch</a> maintains the <b>pf</b> list for people using the
-OpenBSD packet filter.
+<a href=faq/pf/index.html>OpenBSD packet filter</a>.
To subscribe, send an email with the message body of "subscribe" to
<a href="mailto:pf-request@benzedrine.ch">pf-request@benzedrine.ch</a>.

Hi,

here is a small cosmetics update for the mail.html.

Cheers,
Alex

[Update] security/gpgme to v1.13.1 (with question)

Index: security/gpgme/Makefile
===================================================================
RCS file: /cvs/ports/security/gpgme/Makefile,v
retrieving revision 1.53
diff -u -p -u -r1.53 Makefile
--- security/gpgme/Makefile 12 Jul 2019 20:49:02 -0000 1.53
+++ security/gpgme/Makefile 28 Jul 2019 10:13:47 -0000
@@ -3,11 +3,10 @@
COMMENT-main = GnuPG Made Easy
COMMENT-qt = Qt bindings for GPGme

-VERSION = 1.12.0
+VERSION = 1.13.1
DISTNAME = gpgme-${VERSION}
PKGNAME-main = gpgme-${VERSION}
PKGNAME-qt = gpgme-qt-${VERSION}
-REVISION = 3

CATEGORIES = security devel

Index: security/gpgme/distinfo
===================================================================
RCS file: /cvs/ports/security/gpgme/distinfo,v
retrieving revision 1.15
diff -u -p -u -r1.15 distinfo
--- security/gpgme/distinfo 19 Feb 2019 16:04:43 -0000 1.15
+++ security/gpgme/distinfo 28 Jul 2019 10:13:47 -0000
@@ -1,2 +1,2 @@
-SHA256 (gpgme-1.12.0.tar.bz2) = tNyVHDdDpg4uEgp3iS6ehk+5NrLljnx36FgfTQUOjNg=
-SIZE (gpgme-1.12.0.tar.bz2) = 1658803
+SHA256 (gpgme-1.13.1.tar.bz2) = xOMLInaCN0wjzdx/25MkqZaU2QfnkkKiWk3u7bOTvkY=
+SIZE (gpgme-1.13.1.tar.bz2) = 1759616
Index: security/gpgme/patches/patch-lang_qt_tests_Makefile_in
===================================================================
RCS file: /cvs/ports/security/gpgme/patches/patch-lang_qt_tests_Makefile_in,v
retrieving revision 1.2
diff -u -p -u -r1.2 patch-lang_qt_tests_Makefile_in
--- security/gpgme/patches/patch-lang_qt_tests_Makefile_in 19 Feb 2019 16:04:43 -0000 1.2
+++ security/gpgme/patches/patch-lang_qt_tests_Makefile_in 28 Jul 2019 10:13:47 -0000
@@ -1,14 +1,14 @@
-$OpenBSD: patch-lang_qt_tests_Makefile_in,v 1.2 2019/02/19 16:04:43 sthen Exp $
+$OpenBSD$

Index: lang/qt/tests/Makefile.in
--- lang/qt/tests/Makefile.in.orig
+++ lang/qt/tests/Makefile.in
-@@ -500,7 +500,7 @@ moc_files = t-keylist.moc t-keylocate.moc t-ownertrust
+@@ -514,7 +514,7 @@ moc_files = t-keylist.moc t-keylocate.moc t-ownertrust
AM_LDFLAGS = -no-install
LDADD = ../../cpp/src/libgpgmepp.la ../src/libqgpgme.la \
../../../src/libgpgme.la @GPGME_QT_LIBS@ @GPG_ERROR_LIBS@ \
-- @GPGME_QTTEST_LIBS@ -lstdc++
-+ @GPGME_QTTEST_LIBS@
+- @GPGME_QTTEST_LIBS@ @LDADD_FOR_TESTS_KLUDGE@ -lstdc++
++ @GPGME_QTTEST_LIBS@ @LDADD_FOR_TESTS_KLUDGE@

AM_CPPFLAGS = -I$(top_srcdir)/lang/cpp/src -I$(top_builddir)/src \
@GPG_ERROR_CFLAGS@ @GPGME_QT_CFLAGS@ @GPG_ERROR_CFLAGS@ \
Index: security/gpgme/pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/security/gpgme/pkg/PLIST-main,v
retrieving revision 1.3
diff -u -p -u -r1.3 PLIST-main
--- security/gpgme/pkg/PLIST-main 19 Feb 2019 16:04:43 -0000 1.3
+++ security/gpgme/pkg/PLIST-main 28 Jul 2019 10:13:47 -0000
@@ -8,4 +8,6 @@ include/gpgme.h
lib/libgpgme.a
lib/libgpgme.la
@lib lib/libgpgme.so.${LIBgpgme_VERSION}
+lib/pkgconfig/gpgme-glib.pc
+lib/pkgconfig/gpgme.pc
share/aclocal/gpgme.m4
Hello,

This is an update for security/gpgme from v1.12.0 to 1.13.1.

Changes from 1.12.0 to 1.13.0 (https://dev.gnupg.org/T4376):
* Support GPGME_AUDITLOG_DIAG for gpgsm.
* New context flag "trust-model".
* Removed support for WindowsCE and Windows ME.
* Aligned the gpgrt-config code with our other libaries.
* Auto-check for all installed Python versions.
* Fixed generating card key in the C++ bindings.
* Fixed a segv due to bad parameters in genkey.
* Fixed crash if the plaintext is ignored in a CMS verify.
* Fixed memleak on Windows.
* Tweaked the Windows I/O code.
* Fixed random crashes on Windows due to closing an arbitrary handle.
* Fixed a segv on Windows.
* Fixed test suite problems related to dtags.
* Fixed bunch of python bugs.
* Several fixes to the Common Lisp bindings.
* Fixed minor bugs in gpgme-json.
* Require trace level 8 to dump all I/O data.
* The compiler must now support variadic macros.
* Interface changes relative to the 1.12.0 release:
gpgme_set_ctx_flag EXTENDED: New flag 'trust-model'.
cpp: Context::create NEW.
cpp: Key::isBad NEW.
cpp: Subkey::isBad NEW.
cpp: UserID::isBad NEW.
cpp: UserID::Signature::isBad NEW.
cpp: GenCardKeyInteractor::setAlgo NEW.

Changes from 1.13.0 to 1.13.1 (https://dev.gnupg.org/T4551):
* cpp: gpgme_set_global_flag is now wrapped.
* w32: Improved handling of unicode install paths.
* w32: The gpgme_io_spawn error message is now only shown once.
* Fixed a crash introduced in 1.13.0 when working with S/MIME.
* w32: Fixed format string errors introduced in 1.13.0 that could cause
crashes. * w32: Fixed an error in the new diagnostic gpgsm support
introduced in 1.13.0 that caused crashes in low fd scenarios.
* python: Fixed a DecryptionError Exception.
* python: No longer raises BadSignatures from decrypt(verify=True).
* Interface changes relative to the 1.13.0 release:
cpp: setGlobalFlag NEW.

I'm using the updated version for a few weeks already with GPA and mutt
(on amd64).

Question:
I did not increase the SHARED_LIBS counter. I think this is ok as I
understand from bsd.port.mk(5), that shared_libs are being increased by
global port tree updates. Correct?

However, I get this note when executing make update-plist:
ERROR: version mismatch for lib: gpgme (33.1 vs. 21.1)

How can I get this right?

Best Regards,
Stefan

Re: mupdf on arm

$ mupdf somefile.pdf
Bus error (core dumped)
$ gdb mupdf mupdf-x11.core
[...]
(gdb) bt
#0 0x07e332dc in fz_paint_glyph () from /usr/local/bin/mupdf
#1 0x00000000 in ?? ()
(gdb) disassemble
Dump of assembler code for function fz_paint_glyph:
0x07e31a44 <fz_paint_glyph+0>: stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
0x07e31a48 <fz_paint_glyph+4>: add r11, sp, #28 ; 0x1c
0x07e31a4c <fz_paint_glyph+8>: sub sp, sp, #4 ; 0x4
0x07e31a50 <fz_paint_glyph+12>: fstmdbd sp!, {d8-d15}
0x07e31a54 <fz_paint_glyph+16>: sub sp, sp, #264 ; 0x108
0x07e31a58 <fz_paint_glyph+20>: undefined
0x07e31a5c <fz_paint_glyph+24>: str r3, [sp, #244]
0x07e31a60 <fz_paint_glyph+28>: str r2, [sp, #256]
0x07e31a64 <fz_paint_glyph+32>: ldr r3, [r1, #44]
0x07e31a68 <fz_paint_glyph+36>: ldr r4, [r11, #20]
0x07e31a6c <fz_paint_glyph+40>: ldr r2, [r11, #12]
0x07e31a70 <fz_paint_glyph+44>: cmp r3, #0 ; 0x0
0x07e31a74 <fz_paint_glyph+48>: beq 0x7e31f2c <fz_paint_glyph+1256>
0x07e31a78 <fz_paint_glyph+52>: ldrb r6, [r1, #24]
0x07e31a7c <fz_paint_glyph+56>: ldrb lr, [r1, #26]
0x07e31a80 <fz_paint_glyph+60>: str r0, [sp, #260]
0x07e31a84 <fz_paint_glyph+64>: sub r8, r6, lr
0x07e31a88 <fz_paint_glyph+68>: ldrb r7, [r0, r8]
0x07e31a8c <fz_paint_glyph+72>: cmp r7, #0 ; 0x0
0x07e31a90 <fz_paint_glyph+76>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e31a94 <fz_paint_glyph+80>: ldr r10, [r11, #24]
0x07e31a98 <fz_paint_glyph+84>: mov r5, r2
0x07e31a9c <fz_paint_glyph+88>: mov r2, r4
0x07e31aa0 <fz_paint_glyph+92>: cmp r7, #255 ; 0xff
0x07e31aa4 <fz_paint_glyph+96>: bne 0x7e32298 <fz_paint_glyph+2132>
0x07e31aa8 <fz_paint_glyph+100>: cmp r10, #0 ; 0x0
0x07e31aac <fz_paint_glyph+104>: ldr r0, [r1, #28]
0x07e31ab0 <fz_paint_glyph+108>: ldrne r1, [r10]
0x07e31ab4 <fz_paint_glyph+112>: str r0, [sp, #220]
0x07e31ab8 <fz_paint_glyph+116>: cmpne r1, #0 ; 0x0
0x07e31abc <fz_paint_glyph+120>: bne 0x7e328a0 <fz_paint_glyph+3676>
0x07e31ac0 <fz_paint_glyph+124>: cmp r8, #4 ; 0x4
0x07e31ac4 <fz_paint_glyph+128>: beq 0x7e32f4c <fz_paint_glyph+5384>
0x07e31ac8 <fz_paint_glyph+132>: cmp r8, #3 ; 0x3
0x07e31acc <fz_paint_glyph+136>: beq 0x7e332bc <fz_paint_glyph+6264>
0x07e31ad0 <fz_paint_glyph+140>: cmp r8, #1 ; 0x1
0x07e31ad4 <fz_paint_glyph+144>: bne 0x7e338f0 <fz_paint_glyph+7852>
0x07e31ad8 <fz_paint_glyph+148>: cmp lr, #0 ; 0x0
0x07e31adc <fz_paint_glyph+152>: beq 0x7e35540 <fz_paint_glyph+15100>
0x07e31ae0 <fz_paint_glyph+156>: cmp r5, #0 ; 0x0
0x07e31ae4 <fz_paint_glyph+160>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e31ae8 <fz_paint_glyph+164>: ldr r0, [sp, #260]
0x07e31aec <fz_paint_glyph+168>: bicnv r2, r7, #95 ; 0x5f
0x07e31af0 <fz_paint_glyph+172>: mov r9, #1 ; 0x1
0x07e31af4 <fz_paint_glyph+176>: ldrh r8, [r0]
0x07e31af8 <fz_paint_glyph+180>: ldr r0, [sp, #244]
0x07e31afc <fz_paint_glyph+184>: add lr, r0, #32 ; 0x20
0x07e31b00 <fz_paint_glyph+188>: mcr 11, 5, r8, cr0, cr0, {5}
0x07e31b04 <fz_paint_glyph+192>: str lr, [sp, #224]
0x07e31b08 <fz_paint_glyph+196>: ldr r0, [lr, r2, lsl #2]
0x07e31b0c <fz_paint_glyph+200>: sub r5, r5, #1 ; 0x1
0x07e31b10 <fz_paint_glyph+204>: str r2, [sp, #248]
0x07e31b14 <fz_paint_glyph+208>: str r5, [sp, #252]
0x07e31b18 <fz_paint_glyph+212>: cmp r0, #0 ; 0x0
0x07e31b1c <fz_paint_glyph+216>: blt 0x7e31be8 <fz_paint_glyph+420>
0x07e31b20 <fz_paint_glyph+220>: ldr r1, [sp, #244]
0x07e31b24 <fz_paint_glyph+224>: ldr r2, [r11, #16]
0x07e31b28 <fz_paint_glyph+228>: add r0, r1, r0
0x07e31b2c <fz_paint_glyph+232>: ldr r4, [sp, #256]
0x07e31b30 <fz_paint_glyph+236>: add r7, r0, #32 ; 0x20
0x07e31b34 <fz_paint_glyph+240>: mov r1, #0 ; 0x0
0x07e31b38 <fz_paint_glyph+244>: cmp r2, #0 ; 0x0
0x07e31b3c <fz_paint_glyph+248>: beq 0x7e31bf0 <fz_paint_glyph+428>
0x07e31b40 <fz_paint_glyph+252>: ldr r5, [sp, #260]
0x07e31b44 <fz_paint_glyph+256>: mov r1, #0 ; 0x0
0x07e31b48 <fz_paint_glyph+260>: ldrb r6, [r7], #1
0x07e31b4c <fz_paint_glyph+264>: and r0, r6, #3 ; 0x3
0x07e31b50 <fz_paint_glyph+268>: cmp r0, #2 ; 0x2
0x07e31b54 <fz_paint_glyph+272>: beq 0x7e31b7c <fz_paint_glyph+312>
0x07e31b58 <fz_paint_glyph+276>: cmp r0, #1 ; 0x1
0x07e31b5c <fz_paint_glyph+280>: beq 0x7e31b94 <fz_paint_glyph+336>
0x07e31b60 <fz_paint_glyph+284>: cmp r0, #0 ; 0x0
0x07e31b64 <fz_paint_glyph+288>: bne 0x7e31bac <fz_paint_glyph+360>
0x07e31b68 <fz_paint_glyph+292>: mov r1, r6, lsr #2
0x07e31b6c <fz_paint_glyph+296>: mov r3, #0 ; 0x0
0x07e31b70 <fz_paint_glyph+300>: subs r2, r2, r3
0x07e31b74 <fz_paint_glyph+304>: bne 0x7e31b48 <fz_paint_glyph+260>
0x07e31b78 <fz_paint_glyph+308>: b 0x7e31bd8 <fz_paint_glyph+404>
0x07e31b7c <fz_paint_glyph+312>: orr r0, r9, r1, lsl #5
0x07e31b80 <fz_paint_glyph+316>: and r12, r6, #4 ; 0x4
0x07e31b84 <fz_paint_glyph+320>: add r3, r0, r6, lsr #3
0x07e31b88 <fz_paint_glyph+324>: cmp r3, r2
0x07e31b8c <fz_paint_glyph+328>: ble 0x7e31bc4 <fz_paint_glyph+384>
0x07e31b90 <fz_paint_glyph+332>: b 0x7e31c0c <fz_paint_glyph+456>
0x07e31b94 <fz_paint_glyph+336>: orr r0, r9, r1, lsl #6
0x07e31b98 <fz_paint_glyph+340>: mov r1, #0 ; 0x0
0x07e31b9c <fz_paint_glyph+344>: add r3, r0, r6, lsr #2
0x07e31ba0 <fz_paint_glyph+348>: cmp r3, r2
0x07e31ba4 <fz_paint_glyph+352>: ble 0x7e31bd0 <fz_paint_glyph+396>
0x07e31ba8 <fz_paint_glyph+356>: b 0x7e31c1c <fz_paint_glyph+472>
0x07e31bac <fz_paint_glyph+360>: orr r0, r9, r1, lsl #5
0x07e31bb0 <fz_paint_glyph+364>: and r12, r6, #4 ; 0x4
0x07e31bb4 <fz_paint_glyph+368>: add r3, r0, r6, lsr #3
0x07e31bb8 <fz_paint_glyph+372>: cmp r3, r2
0x07e31bbc <fz_paint_glyph+376>: bgt 0x7e31c30 <fz_paint_glyph+492>
0x07e31bc0 <fz_paint_glyph+380>: add r7, r7, r3
0x07e31bc4 <fz_paint_glyph+384>: mov r1, #0 ; 0x0
0x07e31bc8 <fz_paint_glyph+388>: cmp r12, #0 ; 0x0
0x07e31bcc <fz_paint_glyph+392>: bne 0x7e31c00 <fz_paint_glyph+444>
0x07e31bd0 <fz_paint_glyph+396>: subs r2, r2, r3
0x07e31bd4 <fz_paint_glyph+400>: bne 0x7e31b48 <fz_paint_glyph+260>
0x07e31bd8 <fz_paint_glyph+404>: mov r12, #0 ; 0x0
0x07e31bdc <fz_paint_glyph+408>: mov r6, r4
0x07e31be0 <fz_paint_glyph+412>: ldr r10, [r11, #8]
0x07e31be4 <fz_paint_glyph+416>: b 0x7e31c40 <fz_paint_glyph+508>
0x07e31be8 <fz_paint_glyph+420>: ldr r4, [sp, #256]
0x07e31bec <fz_paint_glyph+424>: b 0x7e31f08 <fz_paint_glyph+1220>
0x07e31bf0 <fz_paint_glyph+428>: mov r6, r4
0x07e31bf4 <fz_paint_glyph+432>: ldr r10, [r11, #8]
0x07e31bf8 <fz_paint_glyph+436>: mov r12, #0 ; 0x0
0x07e31bfc <fz_paint_glyph+440>: b 0x7e31c40 <fz_paint_glyph+508>
0x07e31c00 <fz_paint_glyph+444>: mov r6, r4
0x07e31c04 <fz_paint_glyph+448>: mov r10, #0 ; 0x0
0x07e31c08 <fz_paint_glyph+452>: b 0x7e31c40 <fz_paint_glyph+508>
0x07e31c0c <fz_paint_glyph+456>: sub r1, r3, r2
0x07e31c10 <fz_paint_glyph+460>: mov r3, r4
0x07e31c14 <fz_paint_glyph+464>: ldr r10, [r11, #8]
0x07e31c18 <fz_paint_glyph+468>: b 0x7e31c84 <fz_paint_glyph+576>
0x07e31c1c <fz_paint_glyph+472>: sub r1, r3, r2
0x07e31c20 <fz_paint_glyph+476>: mov r12, #0 ; 0x0
0x07e31c24 <fz_paint_glyph+480>: mov r6, r4
0x07e31c28 <fz_paint_glyph+484>: ldr r10, [r11, #8]
0x07e31c2c <fz_paint_glyph+488>: b 0x7e31cec <fz_paint_glyph+680>
0x07e31c30 <fz_paint_glyph+492>: sub r3, r3, r2
0x07e31c34 <fz_paint_glyph+496>: add r1, r7, r2
0x07e31c38 <fz_paint_glyph+500>: ldr r10, [r11, #8]
0x07e31c3c <fz_paint_glyph+504>: b 0x7e31d1c <fz_paint_glyph+728>
0x07e31c40 <fz_paint_glyph+508>: cmp r10, #1 ; 0x1
0x07e31c44 <fz_paint_glyph+512>: blt 0x7e31f08 <fz_paint_glyph+1220>
0x07e31c48 <fz_paint_glyph+516>: ldrb r2, [r7], #1
0x07e31c4c <fz_paint_glyph+520>: and r0, r2, #3 ; 0x3
0x07e31c50 <fz_paint_glyph+524>: cmp r0, #2 ; 0x2
0x07e31c54 <fz_paint_glyph+528>: beq 0x7e31c74 <fz_paint_glyph+560>
0x07e31c58 <fz_paint_glyph+532>: ldr r5, [sp, #260]
0x07e31c5c <fz_paint_glyph+536>: cmp r0, #1 ; 0x1
0x07e31c60 <fz_paint_glyph+540>: beq 0x7e31ce4 <fz_paint_glyph+672>
0x07e31c64 <fz_paint_glyph+544>: cmp r0, #0 ; 0x0
0x07e31c68 <fz_paint_glyph+548>: bne 0x7e31d04 <fz_paint_glyph+704>
0x07e31c6c <fz_paint_glyph+552>: mov r1, r2, lsr #2
0x07e31c70 <fz_paint_glyph+556>: b 0x7e31efc <fz_paint_glyph+1208>
0x07e31c74 <fz_paint_glyph+560>: orr r0, r9, r1, lsl #5
0x07e31c78 <fz_paint_glyph+564>: and r12, r2, #4 ; 0x4
0x07e31c7c <fz_paint_glyph+568>: add r1, r0, r2, lsr #3
0x07e31c80 <fz_paint_glyph+572>: mov r3, r6
0x07e31c84 <fz_paint_glyph+576>: cmp r1, r10
0x07e31c88 <fz_paint_glyph+580>: movgt r1, r10
0x07e31c8c <fz_paint_glyph+584>: cmp r1, #8 ; 0x8
0x07e31c90 <fz_paint_glyph+588>: bcs 0x7e31ca0 <fz_paint_glyph+604>
0x07e31c94 <fz_paint_glyph+592>: mov r2, r1
0x07e31c98 <fz_paint_glyph+596>: mov r6, r3
0x07e31c9c <fz_paint_glyph+600>: b 0x7e31ccc <fz_paint_glyph+648>
0x07e31ca0 <fz_paint_glyph+604>: bic r0, r1, #7 ; 0x7
0x07e31ca4 <fz_paint_glyph+608>: mov r5, r4
0x07e31ca8 <fz_paint_glyph+612>: sub r2, r1, r0
0x07e31cac <fz_paint_glyph+616>: add r6, r3, r0, lsl #1
0x07e31cb0 <fz_paint_glyph+620>: mov r4, r0
0x07e31cb4 <fz_paint_glyph+624>: strnvb r0, [r3], #-2637
0x07e31cb8 <fz_paint_glyph+628>: subs r4, r4, #8 ; 0x8
0x07e31cbc <fz_paint_glyph+632>: bne 0x7e31cb4 <fz_paint_glyph+624>
0x07e31cc0 <fz_paint_glyph+636>: cmp r1, r0
0x07e31cc4 <fz_paint_glyph+640>: mov r4, r5
0x07e31cc8 <fz_paint_glyph+644>: beq 0x7e31cd8 <fz_paint_glyph+660>
0x07e31ccc <fz_paint_glyph+648>: strh r8, [r6], #2
0x07e31cd0 <fz_paint_glyph+652>: subs r2, r2, #1 ; 0x1
0x07e31cd4 <fz_paint_glyph+656>: bne 0x7e31ccc <fz_paint_glyph+648>
0x07e31cd8 <fz_paint_glyph+660>: sub r10, r10, r1
0x07e31cdc <fz_paint_glyph+664>: mov r1, #0 ; 0x0
0x07e31ce0 <fz_paint_glyph+668>: b 0x7e31efc <fz_paint_glyph+1208>
0x07e31ce4 <fz_paint_glyph+672>: orr r0, r9, r1, lsl #6
0x07e31ce8 <fz_paint_glyph+676>: add r1, r0, r2, lsr #2
0x07e31cec <fz_paint_glyph+680>: cmp r1, r10
0x07e31cf0 <fz_paint_glyph+684>: movgt r1, r10
0x07e31cf4 <fz_paint_glyph+688>: sub r10, r10, r1
0x07e31cf8 <fz_paint_glyph+692>: add r6, r6, r1, lsl #1
0x07e31cfc <fz_paint_glyph+696>: mov r1, #0 ; 0x0
0x07e31d00 <fz_paint_glyph+700>: b 0x7e31efc <fz_paint_glyph+1208>
0x07e31d04 <fz_paint_glyph+704>: orr r0, r9, r1, lsl #5
0x07e31d08 <fz_paint_glyph+708>: and r12, r2, #4 ; 0x4
0x07e31d0c <fz_paint_glyph+712>: add r3, r0, r2, lsr #3
0x07e31d10 <fz_paint_glyph+716>: str r4, [sp, #256]
0x07e31d14 <fz_paint_glyph+720>: mov r1, r7
0x07e31d18 <fz_paint_glyph+724>: mov r4, r6
0x07e31d1c <fz_paint_glyph+728>: ldrb r2, [r5]
0x07e31d20 <fz_paint_glyph+732>: cmp r3, r10
0x07e31d24 <fz_paint_glyph+736>: mov r5, r3
0x07e31d28 <fz_paint_glyph+740>: movgt r5, r10
0x07e31d2c <fz_paint_glyph+744>: cmp r5, #16 ; 0x10
0x07e31d30 <fz_paint_glyph+748>: bcc 0x7e31e90 <fz_paint_glyph+1100>
0x07e31d34 <fz_paint_glyph+752>: cmp r10, r3
0x07e31d38 <fz_paint_glyph+756>: add r7, r4, #1 ; 0x1
0x07e31d3c <fz_paint_glyph+760>: movlt r3, r10
0x07e31d40 <fz_paint_glyph+764>: sub r0, r3, #1 ; 0x1
0x07e31d44 <fz_paint_glyph+768>: adds r0, r0, r0
0x07e31d48 <fz_paint_glyph+772>: mov r3, #0 ; 0x0
0x07e31d4c <fz_paint_glyph+776>: adc r3, r3, #0 ; 0x0
0x07e31d50 <fz_paint_glyph+780>: mvn r7, r7
0x07e31d54 <fz_paint_glyph+784>: cmp r0, r7
0x07e31d58 <fz_paint_glyph+788>: bhi 0x7e31e90 <fz_paint_glyph+1100>
0x07e31d5c <fz_paint_glyph+792>: cmp r3, #0 ; 0x0
0x07e31d60 <fz_paint_glyph+796>: bne 0x7e31e90 <fz_paint_glyph+1100>
0x07e31d64 <fz_paint_glyph+800>: mvn r7, r4
0x07e31d68 <fz_paint_glyph+804>: cmp r0, r7
0x07e31d6c <fz_paint_glyph+808>: bhi 0x7e31e90 <fz_paint_glyph+1100>
0x07e31d70 <fz_paint_glyph+812>: cmp r3, #0 ; 0x0
0x07e31d74 <fz_paint_glyph+816>: bne 0x7e31e90 <fz_paint_glyph+1100>
0x07e31d78 <fz_paint_glyph+820>: bic r3, r5, #15 ; 0xf
0x07e31d7c <fz_paint_glyph+824>: mcr 11, 5, r2, cr4, cr0, {4}
0x07e31d80 <fz_paint_glyph+828>: add r7, r1, r3
0x07e31d84 <fz_paint_glyph+832>: sub r9, r5, r3
0x07e31d88 <fz_paint_glyph+836>: add r6, r4, r3, lsl #1
0x07e31d8c <fz_paint_glyph+840>: mov r0, lr
0x07e31d90 <fz_paint_glyph+844>: mov lr, r3
0x07e31d94 <fz_paint_glyph+848>: strnvt r2, [r1], #-2573
0x07e31d98 <fz_paint_glyph+852>: subs lr, lr, #16 ; 0x10
0x07e31d9c <fz_paint_glyph+856>: bicnv r10, r8, #77824 ; 0x13000
0x07e31da0 <fz_paint_glyph+860>: strnvbt r6, [r4], #-783
0x07e31da4 <fz_paint_glyph+864>: bicnv r12, r8, #225280 ; 0x37000
0x07e31da8 <fz_paint_glyph+868>: orrnv r10, r8, #73728 ; 0x12000
0x07e31dac <fz_paint_glyph+872>: bicnv r6, r8, #221184 ; 0x36000
0x07e31db0 <fz_paint_glyph+876>: orrnvs r0, r0, #237568 ; 0x3a000
0x07e31db4 <fz_paint_glyph+880>: bicnvs lr, r0, #241664 ; 0x3b000
0x07e31db8 <fz_paint_glyph+884>: orrnvs r6, r4, #-1342177278 ; 0xb0000002
0x07e31dbc <fz_paint_glyph+888>: orrnvs r4, r4, #-1275068414 ; 0xb4000002
0x07e31dc0 <fz_paint_glyph+892>: movnvs r0, #20 ; 0x14
0x07e31dc4 <fz_paint_glyph+896>: mvnnvs lr, #-2147483617 ; 0x8000001f
0x07e31dc8 <fz_paint_glyph+900>: bicnvs r10, r8, #249856 ; 0x3d000
0x07e31dcc <fz_paint_glyph+904>: bicnvs r12, r8, #245760 ; 0x3c000
0x07e31dd0 <fz_paint_glyph+908>: rsbnv r12, r6, #1048576 ; 0x100000
0x07e31dd4 <fz_paint_glyph+912>: orrnv r6, r8, #229376 ; 0x38000
0x07e31dd8 <fz_paint_glyph+916>: rsbnv r10, r4, #1802240 ; 0x1b8000
0x07e31ddc <fz_paint_glyph+920>: orrnvs r4, r0, #90112 ; 0x16000
0x07e31de0 <fz_paint_glyph+924>: orrnvs r2, r8, #90112 ; 0x16000
0x07e31de4 <fz_paint_glyph+928>: tstnv r4, #-2147483620 ; 0x8000001c
0x07e31de8 <fz_paint_glyph+932>: orrnvs r4, r0, #106496 ; 0x1a000
0x07e31dec <fz_paint_glyph+936>: orrnvs r10, r0, #110592 ; 0x1b000
0x07e31df0 <fz_paint_glyph+940>: sbcnvs r11, r8, #3801088 ; 0x3a0000
0x07e31df4 <fz_paint_glyph+944>: sbcnvs r10, r8, #3932160 ; 0x3c0000
0x07e31df8 <fz_paint_glyph+948>: movnvs r4, #21 ; 0x15
0x07e31dfc <fz_paint_glyph+952>: movnvs r10, #-2147483626 ; 0x80000016
0x07e31e00 <fz_paint_glyph+956>: eornv r2, r8, #1114112 ; 0x110000
0x07e31e04 <fz_paint_glyph+960>: orrnvs r8, r0, #94208 ; 0x17000
0x07e31e08 <fz_paint_glyph+964>: orrnvs r6, r8, #94208 ; 0x17000
0x07e31e0c <fz_paint_glyph+968>: tstnv r8, #-2147483620 ; 0x8000001c
0x07e31e10 <fz_paint_glyph+972>: eornv r6, r8, #1212416 ; 0x128000
0x07e31e14 <fz_paint_glyph+976>: orrnv r8, r8, #233472 ; 0x39000
0x07e31e18 <fz_paint_glyph+980>: bicnvs r8, r4, #-1744830462 ; 0x98000002
0x07e31e1c <fz_paint_glyph+984>: orrnvs r12, r0, #98304 ; 0x18000
0x07e31e20 <fz_paint_glyph+988>: orrnvs lr, r8, #98304 ; 0x18000
0x07e31e24 <fz_paint_glyph+992>: tstnv r12, #-2147483620 ; 0x8000001c
0x07e31e28 <fz_paint_glyph+996>: eornv lr, r12, #1048576 ; 0x100000
0x07e31e2c <fz_paint_glyph+1000>: orrnvs r0, r0, #102400 ; 0x19000
0x07e31e30 <fz_paint_glyph+1004>: orrnvs r8, r8, #102400 ; 0x19000
0x07e31e34 <fz_paint_glyph+1008>: tstnv r0, #-2147483620 ; 0x8000001c
0x07e31e38 <fz_paint_glyph+1012>: eornv r8, r0, #1802240 ; 0x1b8000
0x07e31e3c <fz_paint_glyph+1016>: bicnvs lr, r4, #-1677721598 ; 0x9c000002
0x07e31e40 <fz_paint_glyph+1020>: orrnvs r0, r8, #225280 ; 0x37000
0x07e31e44 <fz_paint_glyph+1024>: eornv r0, lr, #3309568 ; 0x328000
0x07e31e48 <fz_paint_glyph+1028>: bicnvs r6, r8, #221184 ; 0x36000
0x07e31e4c <fz_paint_glyph+1032>: rsbnv r6, r8, #3211264 ; 0x310000
0x07e31e50 <fz_paint_glyph+1036>: sbcnvs r9, r8, #1572864 ; 0x180000
0x07e31e54 <fz_paint_glyph+1040>: sbcnvs pc, r8, #1441792 ; 0x160000
0x07e31e58 <fz_paint_glyph+1044>: sbcnvs r8, r8, #1966080 ; 0x1e0000
0x07e31e5c <fz_paint_glyph+1048>: sbcnvs lr, r8, #1179648 ; 0x120000
0x07e31e60 <fz_paint_glyph+1052>: sbcnvs sp, r8, #1048576 ; 0x100000
0x07e31e64 <fz_paint_glyph+1056>: sbcnvs r12, r8, #3538944 ; 0x360000
0x07e31e68 <fz_paint_glyph+1060>: mvnnvs r9, #-2147483646 ; 0x80000002
0x07e31e6c <fz_paint_glyph+1064>: mvnnvs r8, #-536870910 ; 0xe0000002
0x07e31e70 <fz_paint_glyph+1068>: mvnnvs r7, #-1610612734 ; 0xa0000002
0x07e31e74 <fz_paint_glyph+1072>: mvnnvs r6, #-1073741822 ; 0xc0000002
0x07e31e78 <fz_paint_glyph+1076>: strnvb r6, [r4], #-781
0x07e31e7c <fz_paint_glyph+1080>: bne 0x7e31d94 <fz_paint_glyph+848>
0x07e31e80 <fz_paint_glyph+1084>: cmp r5, r3
0x07e31e84 <fz_paint_glyph+1088>: mov lr, r0
0x07e31e88 <fz_paint_glyph+1092>: bne 0x7e31e9c <fz_paint_glyph+1112>
0x07e31e8c <fz_paint_glyph+1096>: b 0x7e31eec <fz_paint_glyph+1192>
0x07e31e90 <fz_paint_glyph+1100>: mov r9, r5
0x07e31e94 <fz_paint_glyph+1104>: mov r7, r1
0x07e31e98 <fz_paint_glyph+1108>: mov r6, r4
0x07e31e9c <fz_paint_glyph+1112>: mov lr, r5
0x07e31ea0 <fz_paint_glyph+1116>: ldrb r0, [r7], #1
0x07e31ea4 <fz_paint_glyph+1120>: subs r9, r9, #1 ; 0x1
0x07e31ea8 <fz_paint_glyph+1124>: ldrb r1, [r6]
0x07e31eac <fz_paint_glyph+1128>: ldrb r3, [r6, #1]
0x07e31eb0 <fz_paint_glyph+1132>: sub r4, r2, r1
0x07e31eb4 <fz_paint_glyph+1136>: add r0, r0, r0, lsr #7
0x07e31eb8 <fz_paint_glyph+1140>: eor r5, r3, #255 ; 0xff
0x07e31ebc <fz_paint_glyph+1144>: smulbb r4, r4, r0
0x07e31ec0 <fz_paint_glyph+1148>: smulbb r0, r5, r0
0x07e31ec4 <fz_paint_glyph+1152>: add r1, r4, r1, lsl #8
0x07e31ec8 <fz_paint_glyph+1156>: add r0, r0, r3, lsl #8
0x07e31ecc <fz_paint_glyph+1160>: mov r1, r1, lsr #8
0x07e31ed0 <fz_paint_glyph+1164>: mov r0, r0, lsr #8
0x07e31ed4 <fz_paint_glyph+1168>: strb r1, [r6]
0x07e31ed8 <fz_paint_glyph+1172>: strb r0, [r6, #1]
0x07e31edc <fz_paint_glyph+1176>: add r6, r6, #2 ; 0x2
0x07e31ee0 <fz_paint_glyph+1180>: bne 0x7e31ea0 <fz_paint_glyph+1116>
0x07e31ee4 <fz_paint_glyph+1184>: mov r5, lr
0x07e31ee8 <fz_paint_glyph+1188>: ldr lr, [sp, #224]
0x07e31eec <fz_paint_glyph+1192>: ldr r4, [sp, #256]
0x07e31ef0 <fz_paint_glyph+1196>: sub r10, r10, r5
0x07e31ef4 <fz_paint_glyph+1200>: mov r1, #0 ; 0x0
0x07e31ef8 <fz_paint_glyph+1204>: mov r9, #1 ; 0x1
0x07e31efc <fz_paint_glyph+1208>: cmp r12, #0 ; 0x0
0x07e31f00 <fz_paint_glyph+1212>: mov r12, #0 ; 0x0
0x07e31f04 <fz_paint_glyph+1216>: beq 0x7e31c40 <fz_paint_glyph+508>
0x07e31f08 <fz_paint_glyph+1220>: ldr r2, [sp, #248]
0x07e31f0c <fz_paint_glyph+1224>: ldr r5, [sp, #252]
0x07e31f10 <fz_paint_glyph+1228>: ldr r0, [sp, #220]
0x07e31f14 <fz_paint_glyph+1232>: add r2, r2, #1 ; 0x1
0x07e31f18 <fz_paint_glyph+1236>: cmp r5, #0 ; 0x0
0x07e31f1c <fz_paint_glyph+1240>: add r4, r4, r0
0x07e31f20 <fz_paint_glyph+1244>: str r4, [sp, #256]
0x07e31f24 <fz_paint_glyph+1248>: bne 0x7e31b08 <fz_paint_glyph+196>
0x07e31f28 <fz_paint_glyph+1252>: b 0x7e32288 <fz_paint_glyph+2116>
0x07e31f2c <fz_paint_glyph+1256>: cmp r2, #0 ; 0x0
0x07e31f30 <fz_paint_glyph+1260>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e31f34 <fz_paint_glyph+1264>: ldr r0, [sp, #244]
0x07e31f38 <fz_paint_glyph+1268>: orrnv r8, r7, #95 ; 0x5f
0x07e31f3c <fz_paint_glyph+1272>: ldr r12, [r1, #28]
0x07e31f40 <fz_paint_glyph+1276>: mov r7, r2
0x07e31f44 <fz_paint_glyph+1280>: add lr, r0, #32 ; 0x20
0x07e31f48 <fz_paint_glyph+1284>: mov r5, #1 ; 0x1
0x07e31f4c <fz_paint_glyph+1288>: str r12, [sp, #252]
0x07e31f50 <fz_paint_glyph+1292>: str lr, [sp, #260]
0x07e31f54 <fz_paint_glyph+1296>: ldr r0, [lr, r4, lsl #2]
0x07e31f58 <fz_paint_glyph+1300>: sub r7, r7, #1 ; 0x1
0x07e31f5c <fz_paint_glyph+1304>: cmp r0, #0 ; 0x0
0x07e31f60 <fz_paint_glyph+1308>: blt 0x7e3226c <fz_paint_glyph+2088>
0x07e31f64 <fz_paint_glyph+1312>: ldr r1, [sp, #244]
0x07e31f68 <fz_paint_glyph+1316>: add r0, r1, r0
0x07e31f6c <fz_paint_glyph+1320>: ldr r1, [r11, #16]
0x07e31f70 <fz_paint_glyph+1324>: add r8, r0, #32 ; 0x20
0x07e31f74 <fz_paint_glyph+1328>: mov r0, #0 ; 0x0
0x07e31f78 <fz_paint_glyph+1332>: cmp r1, #0 ; 0x0
0x07e31f7c <fz_paint_glyph+1336>: beq 0x7e32020 <fz_paint_glyph+1500>
0x07e31f80 <fz_paint_glyph+1340>: mov r0, #0 ; 0x0
0x07e31f84 <fz_paint_glyph+1344>: ldrb r3, [r8], #1
0x07e31f88 <fz_paint_glyph+1348>: and r2, r3, #3 ; 0x3
0x07e31f8c <fz_paint_glyph+1352>: cmp r2, #2 ; 0x2
0x07e31f90 <fz_paint_glyph+1356>: beq 0x7e31fb8 <fz_paint_glyph+1396>
0x07e31f94 <fz_paint_glyph+1360>: cmp r2, #1 ; 0x1
0x07e31f98 <fz_paint_glyph+1364>: beq 0x7e31fd0 <fz_paint_glyph+1420>
0x07e31f9c <fz_paint_glyph+1368>: cmp r2, #0 ; 0x0
0x07e31fa0 <fz_paint_glyph+1372>: bne 0x7e31fe8 <fz_paint_glyph+1444>
0x07e31fa4 <fz_paint_glyph+1376>: mov r0, r3, lsr #2
0x07e31fa8 <fz_paint_glyph+1380>: mov r2, #0 ; 0x0
0x07e31fac <fz_paint_glyph+1384>: subs r1, r1, r2
0x07e31fb0 <fz_paint_glyph+1388>: bne 0x7e31f84 <fz_paint_glyph+1344>
0x07e31fb4 <fz_paint_glyph+1392>: b 0x7e32014 <fz_paint_glyph+1488>
0x07e31fb8 <fz_paint_glyph+1396>: orr r0, r5, r0, lsl #5
0x07e31fbc <fz_paint_glyph+1400>: and r10, r3, #4 ; 0x4
0x07e31fc0 <fz_paint_glyph+1404>: add r2, r0, r3, lsr #3
0x07e31fc4 <fz_paint_glyph+1408>: cmp r2, r1
0x07e31fc8 <fz_paint_glyph+1412>: ble 0x7e32000 <fz_paint_glyph+1468>
0x07e31fcc <fz_paint_glyph+1416>: b 0x7e32038 <fz_paint_glyph+1524>
0x07e31fd0 <fz_paint_glyph+1420>: orr r0, r5, r0, lsl #6
0x07e31fd4 <fz_paint_glyph+1424>: add r2, r0, r3, lsr #2
0x07e31fd8 <fz_paint_glyph+1428>: mov r0, #0 ; 0x0
0x07e31fdc <fz_paint_glyph+1432>: cmp r2, r1
0x07e31fe0 <fz_paint_glyph+1436>: ble 0x7e3200c <fz_paint_glyph+1480>
0x07e31fe4 <fz_paint_glyph+1440>: b 0x7e32050 <fz_paint_glyph+1548>
0x07e31fe8 <fz_paint_glyph+1444>: orr r0, r5, r0, lsl #5
0x07e31fec <fz_paint_glyph+1448>: and r10, r3, #4 ; 0x4
0x07e31ff0 <fz_paint_glyph+1452>: add r2, r0, r3, lsr #3
0x07e31ff4 <fz_paint_glyph+1456>: cmp r2, r1
0x07e31ff8 <fz_paint_glyph+1460>: bgt 0x7e32064 <fz_paint_glyph+1568>
0x07e31ffc <fz_paint_glyph+1464>: add r8, r8, r2
0x07e32000 <fz_paint_glyph+1468>: mov r0, #0 ; 0x0
0x07e32004 <fz_paint_glyph+1472>: cmp r10, #0 ; 0x0
0x07e32008 <fz_paint_glyph+1476>: bne 0x7e3202c <fz_paint_glyph+1512>
0x07e3200c <fz_paint_glyph+1480>: subs r1, r1, r2
0x07e32010 <fz_paint_glyph+1484>: bne 0x7e31f84 <fz_paint_glyph+1344>
0x07e32014 <fz_paint_glyph+1488>: mov r10, #0 ; 0x0
0x07e32018 <fz_paint_glyph+1492>: ldr r9, [r11, #8]
0x07e3201c <fz_paint_glyph+1496>: b 0x7e32030 <fz_paint_glyph+1516>
0x07e32020 <fz_paint_glyph+1500>: ldr r9, [r11, #8]
0x07e32024 <fz_paint_glyph+1504>: mov r10, #0 ; 0x0
0x07e32028 <fz_paint_glyph+1508>: b 0x7e32030 <fz_paint_glyph+1516>
0x07e3202c <fz_paint_glyph+1512>: mov r9, #0 ; 0x0
0x07e32030 <fz_paint_glyph+1516>: ldr r6, [sp, #256]
0x07e32034 <fz_paint_glyph+1520>: b 0x7e32078 <fz_paint_glyph+1588>
0x07e32038 <fz_paint_glyph+1524>: ldr r6, [sp, #256]
0x07e3203c <fz_paint_glyph+1528>: str r4, [sp, #248]
0x07e32040 <fz_paint_glyph+1532>: sub r4, r2, r1
0x07e32044 <fz_paint_glyph+1536>: ldr r9, [r11, #8]
0x07e32048 <fz_paint_glyph+1540>: mov r2, r6
0x07e3204c <fz_paint_glyph+1544>: b 0x7e320c0 <fz_paint_glyph+1660>
0x07e32050 <fz_paint_glyph+1548>: sub r0, r2, r1
0x07e32054 <fz_paint_glyph+1552>: mov r10, #0 ; 0x0
0x07e32058 <fz_paint_glyph+1556>: ldr r9, [r11, #8]
0x07e3205c <fz_paint_glyph+1560>: ldr r6, [sp, #256]
0x07e32060 <fz_paint_glyph+1564>: b 0x7e32104 <fz_paint_glyph+1728>
0x07e32064 <fz_paint_glyph+1568>: sub r0, r2, r1
0x07e32068 <fz_paint_glyph+1572>: add r2, r8, r1
0x07e3206c <fz_paint_glyph+1576>: ldr r9, [r11, #8]
0x07e32070 <fz_paint_glyph+1580>: ldr r3, [sp, #256]
0x07e32074 <fz_paint_glyph+1584>: b 0x7e3212c <fz_paint_glyph+1768>
0x07e32078 <fz_paint_glyph+1588>: cmp r9, #1 ; 0x1
0x07e3207c <fz_paint_glyph+1592>: blt 0x7e3226c <fz_paint_glyph+2088>
0x07e32080 <fz_paint_glyph+1596>: ldrb r1, [r8], #1
0x07e32084 <fz_paint_glyph+1600>: and r2, r1, #3 ; 0x3
0x07e32088 <fz_paint_glyph+1604>: cmp r2, #2 ; 0x2
0x07e3208c <fz_paint_glyph+1608>: beq 0x7e320a8 <fz_paint_glyph+1636>
0x07e32090 <fz_paint_glyph+1612>: cmp r2, #1 ; 0x1
0x07e32094 <fz_paint_glyph+1616>: beq 0x7e320f8 <fz_paint_glyph+1716>
0x07e32098 <fz_paint_glyph+1620>: cmp r2, #0 ; 0x0
0x07e3209c <fz_paint_glyph+1624>: bne 0x7e32114 <fz_paint_glyph+1744>
0x07e320a0 <fz_paint_glyph+1628>: mov r0, r1, lsr #2
0x07e320a4 <fz_paint_glyph+1632>: b 0x7e32260 <fz_paint_glyph+2076>
0x07e320a8 <fz_paint_glyph+1636>: mov r3, #1 ; 0x1
0x07e320ac <fz_paint_glyph+1640>: ldr r2, [sp, #256]
0x07e320b0 <fz_paint_glyph+1644>: orr r0, r3, r0, lsl #5
0x07e320b4 <fz_paint_glyph+1648>: str r4, [sp, #248]
0x07e320b8 <fz_paint_glyph+1652>: add r4, r0, r1, lsr #3
0x07e320bc <fz_paint_glyph+1656>: and r10, r1, #4 ; 0x4
0x07e320c0 <fz_paint_glyph+1660>: cmp r4, r9
0x07e320c4 <fz_paint_glyph+1664>: str r2, [sp, #256]
0x07e320c8 <fz_paint_glyph+1668>: movgt r4, r9
0x07e320cc <fz_paint_glyph+1672>: mov r0, r6
0x07e320d0 <fz_paint_glyph+1676>: mov r1, #255 ; 0xff
0x07e320d4 <fz_paint_glyph+1680>: mov r2, r4
0x07e320d8 <fz_paint_glyph+1684>: bl 0x7f608d0 <$a>
0x07e320dc <fz_paint_glyph+1688>: sub r9, r9, r4
0x07e320e0 <fz_paint_glyph+1692>: add r6, r6, r4
0x07e320e4 <fz_paint_glyph+1696>: mov r0, #0 ; 0x0
0x07e320e8 <fz_paint_glyph+1700>: ldr r4, [sp, #248]
0x07e320ec <fz_paint_glyph+1704>: ldr r12, [sp, #252]
0x07e320f0 <fz_paint_glyph+1708>: ldr lr, [sp, #260]
0x07e320f4 <fz_paint_glyph+1712>: b 0x7e32260 <fz_paint_glyph+2076>
0x07e320f8 <fz_paint_glyph+1716>: mov r2, #1 ; 0x1
0x07e320fc <fz_paint_glyph+1720>: orr r0, r2, r0, lsl #6
0x07e32100 <fz_paint_glyph+1724>: add r0, r0, r1, lsr #2
0x07e32104 <fz_paint_glyph+1728>: cmp r0, r9
0x07e32108 <fz_paint_glyph+1732>: movgt r0, r9
0x07e3210c <fz_paint_glyph+1736>: add r6, r6, r0
0x07e32110 <fz_paint_glyph+1740>: b 0x7e32258 <fz_paint_glyph+2068>
0x07e32114 <fz_paint_glyph+1744>: mov r2, #1 ; 0x1
0x07e32118 <fz_paint_glyph+1748>: orr r0, r2, r0, lsl #5
0x07e3211c <fz_paint_glyph+1752>: add r0, r0, r1, lsr #3
0x07e32120 <fz_paint_glyph+1756>: and r10, r1, #4 ; 0x4
0x07e32124 <fz_paint_glyph+1760>: mov r2, r8
0x07e32128 <fz_paint_glyph+1764>: mov r3, r6
0x07e3212c <fz_paint_glyph+1768>: cmp r0, r9
0x07e32130 <fz_paint_glyph+1772>: movgt r0, r9
0x07e32134 <fz_paint_glyph+1776>: cmp r0, #16 ; 0x10
0x07e32138 <fz_paint_glyph+1780>: bcc 0x7e32220 <fz_paint_glyph+2012>
0x07e3213c <fz_paint_glyph+1784>: add r1, r2, r0
0x07e32140 <fz_paint_glyph+1788>: cmp r3, r1
0x07e32144 <fz_paint_glyph+1792>: addcc r1, r3, r0
0x07e32148 <fz_paint_glyph+1796>: cmpcc r2, r1
0x07e3214c <fz_paint_glyph+1800>: bcc 0x7e32220 <fz_paint_glyph+2012>
0x07e32150 <fz_paint_glyph+1804>: bic r5, r0, #15 ; 0xf
0x07e32154 <fz_paint_glyph+1808>: mov lr, r4
0x07e32158 <fz_paint_glyph+1812>: add r6, r3, r5
0x07e3215c <fz_paint_glyph+1816>: add r8, r2, r5
0x07e32160 <fz_paint_glyph+1820>: sub r1, r0, r5
0x07e32164 <fz_paint_glyph+1824>: mov r4, r5
0x07e32168 <fz_paint_glyph+1828>: strnvbt r0, [r3], #-2575
0x07e3216c <fz_paint_glyph+1832>: subs r4, r4, #16 ; 0x10
0x07e32170 <fz_paint_glyph+1836>: bicnv r6, r8, #200704 ; 0x31000
0x07e32174 <fz_paint_glyph+1840>: bicnv r4, r8, #196608 ; 0x30000
0x07e32178 <fz_paint_glyph+1844>: mvnnvs r0, #24 ; 0x18
0x07e3217c <fz_paint_glyph+1848>: bicnvs r2, r0, #225280 ; 0x37000
0x07e32180 <fz_paint_glyph+1852>: orrnvs r6, r8, #225280 ; 0x37000
0x07e32184 <fz_paint_glyph+1856>: bicnvs r8, r0, #221184 ; 0x36000
0x07e32188 <fz_paint_glyph+1860>: cmpnv r2, #54 ; 0x36
0x07e3218c <fz_paint_glyph+1864>: strnvbt r2, [r2], #-2573
0x07e32190 <fz_paint_glyph+1868>: bicnvs r10, r0, #217088 ; 0x35000
0x07e32194 <fz_paint_glyph+1872>: orrnv r0, r8, #208896 ; 0x33000
0x07e32198 <fz_paint_glyph+1876>: orrnv r2, r8, #204800 ; 0x32000
0x07e3219c <fz_paint_glyph+1880>: bicnvs r12, r0, #212992 ; 0x34000
0x07e321a0 <fz_paint_glyph+1884>: cmpnv r8, #54 ; 0x36
0x07e321a4 <fz_paint_glyph+1888>: orrnvs r4, r0, #69632 ; 0x11000
0x07e321a8 <fz_paint_glyph+1892>: orrnvs r0, r0, #65536 ; 0x10000
0x07e321ac <fz_paint_glyph+1896>: cmpnv r10, #54 ; 0x36
0x07e321b0 <fz_paint_glyph+1900>: cmpnv r12, #54 ; 0x36
0x07e321b4 <fz_paint_glyph+1904>: movnvs r4, #21 ; 0x15
0x07e321b8 <fz_paint_glyph+1908>: movnvs r0, #20 ; 0x14
0x07e321bc <fz_paint_glyph+1912>: bicnvs r6, r8, #221184 ; 0x36000
0x07e321c0 <fz_paint_glyph+1916>: eornv r6, r4, #1802240 ; 0x1b8000
0x07e321c4 <fz_paint_glyph+1920>: bicnvs lr, r0, #73728 ; 0x12000
0x07e321c8 <fz_paint_glyph+1924>: orrnvs r2, r0, #77824 ; 0x13000
0x07e321cc <fz_paint_glyph+1928>: orrnvs r4, r8, #217088 ; 0x35000
0x07e321d0 <fz_paint_glyph+1932>: rsbnv r6, r0, #1703936 ; 0x1a0000
0x07e321d4 <fz_paint_glyph+1936>: movnvs r2, #-2147483628 ; 0x80000014
0x07e321d8 <fz_paint_glyph+1940>: mvnnvs lr, #-2147483617 ; 0x8000001f
0x07e321dc <fz_paint_glyph+1944>: bicnvs r4, r8, #212992 ; 0x34000
0x07e321e0 <fz_paint_glyph+1948>: sbcnvs r9, r8, #1441792 ; 0x160000
0x07e321e4 <fz_paint_glyph+1952>: eornv r4, r2, #1736704 ; 0x1a8000
0x07e321e8 <fz_paint_glyph+1956>: rsbnv r4, lr, #3866624 ; 0x3b0000
0x07e321ec <fz_paint_glyph+1960>: sbcnvs r8, r8, #3538944 ; 0x360000
0x07e321f0 <fz_paint_glyph+1964>: sbcnvs r7, r8, #1310720 ; 0x140000
0x07e321f4 <fz_paint_glyph+1968>: sbcnvs r6, r8, #3407872 ; 0x340000
0x07e321f8 <fz_paint_glyph+1972>: mvnnvs r5, #-2147483646 ; 0x80000002
0x07e321fc <fz_paint_glyph+1976>: mvnnvs r4, #1610612738 ; 0x60000002
0x07e32200 <fz_paint_glyph+1980>: cmpnv r2, #61 ; 0x3d
0x07e32204 <fz_paint_glyph+1984>: strnvb r0, [r3], #-2573
0x07e32208 <fz_paint_glyph+1988>: bne 0x7e32168 <fz_paint_glyph+1828>
0x07e3220c <fz_paint_glyph+1992>: mov r4, lr
0x07e32210 <fz_paint_glyph+1996>: ldr lr, [sp, #260]
0x07e32214 <fz_paint_glyph+2000>: cmp r0, r5
0x07e32218 <fz_paint_glyph+2004>: bne 0x7e3222c <fz_paint_glyph+2024>
0x07e3221c <fz_paint_glyph+2008>: b 0x7e32258 <fz_paint_glyph+2068>
0x07e32220 <fz_paint_glyph+2012>: mov r1, r0
0x07e32224 <fz_paint_glyph+2016>: mov r8, r2
0x07e32228 <fz_paint_glyph+2020>: mov r6, r3
0x07e3222c <fz_paint_glyph+2024>: ldrb r3, [r6]
0x07e32230 <fz_paint_glyph+2028>: ldrb r2, [r8], #1
0x07e32234 <fz_paint_glyph+2032>: cmp r3, #0 ; 0x0
0x07e32238 <fz_paint_glyph+2036>: eorne r5, r3, #255 ; 0xff
0x07e3223c <fz_paint_glyph+2040>: addne r2, r2, r2, lsr #7
0x07e32240 <fz_paint_glyph+2044>: smulbbne r2, r2, r5
0x07e32244 <fz_paint_glyph+2048>: addne r2, r2, r3, lsl #8
0x07e32248 <fz_paint_glyph+2052>: movne r2, r2, lsr #8
0x07e3224c <fz_paint_glyph+2056>: subs r1, r1, #1 ; 0x1
0x07e32250 <fz_paint_glyph+2060>: strb r2, [r6], #1
0x07e32254 <fz_paint_glyph+2064>: bne 0x7e3222c <fz_paint_glyph+2024>
0x07e32258 <fz_paint_glyph+2068>: sub r9, r9, r0
0x07e3225c <fz_paint_glyph+2072>: mov r0, #0 ; 0x0
0x07e32260 <fz_paint_glyph+2076>: cmp r10, #0 ; 0x0
0x07e32264 <fz_paint_glyph+2080>: mov r10, #0 ; 0x0
0x07e32268 <fz_paint_glyph+2084>: beq 0x7e32078 <fz_paint_glyph+1588>
0x07e3226c <fz_paint_glyph+2088>: ldr r0, [sp, #256]
0x07e32270 <fz_paint_glyph+2092>: add r4, r4, #1 ; 0x1
0x07e32274 <fz_paint_glyph+2096>: cmp r7, #0 ; 0x0
0x07e32278 <fz_paint_glyph+2100>: mov r5, #1 ; 0x1
0x07e3227c <fz_paint_glyph+2104>: add r0, r0, r12
0x07e32280 <fz_paint_glyph+2108>: str r0, [sp, #256]
0x07e32284 <fz_paint_glyph+2112>: bne 0x7e31f54 <fz_paint_glyph+1296>
0x07e32288 <fz_paint_glyph+2116>: sub sp, r11, #96 ; 0x60
0x07e3228c <fz_paint_glyph+2120>: fldmiad sp!, {d8-d15}
0x07e32290 <fz_paint_glyph+2124>: add sp, sp, #4 ; 0x4
0x07e32294 <fz_paint_glyph+2128>: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
0x07e32298 <fz_paint_glyph+2132>: cmp r10, #0 ; 0x0
0x07e3229c <fz_paint_glyph+2136>: ldr r0, [r1, #28]
0x07e322a0 <fz_paint_glyph+2140>: ldrne r1, [r10]
0x07e322a4 <fz_paint_glyph+2144>: str r0, [sp, #220]
0x07e322a8 <fz_paint_glyph+2148>: cmpne r1, #0 ; 0x0
0x07e322ac <fz_paint_glyph+2152>: bne 0x7e32bf8 <fz_paint_glyph+4532>
0x07e322b0 <fz_paint_glyph+2156>: cmp r8, #4 ; 0x4
0x07e322b4 <fz_paint_glyph+2160>: beq 0x7e33d40 <fz_paint_glyph+8956>
0x07e322b8 <fz_paint_glyph+2164>: ldr r0, [sp, #260]
0x07e322bc <fz_paint_glyph+2168>: cmp r8, #3 ; 0x3
0x07e322c0 <fz_paint_glyph+2172>: beq 0x7e34188 <fz_paint_glyph+10052>
0x07e322c4 <fz_paint_glyph+2176>: cmp r8, #1 ; 0x1
0x07e322c8 <fz_paint_glyph+2180>: bne 0x7e34a90 <fz_paint_glyph+12364>
0x07e322cc <fz_paint_glyph+2184>: ldrb r1, [r0, #1]
0x07e322d0 <fz_paint_glyph+2188>: cmp lr, #0 ; 0x0
0x07e322d4 <fz_paint_glyph+2192>: add r9, r1, r1, lsr #7
0x07e322d8 <fz_paint_glyph+2196>: beq 0x7e35878 <fz_paint_glyph+15924>
0x07e322dc <fz_paint_glyph+2200>: cmp r5, #0 ; 0x0
0x07e322e0 <fz_paint_glyph+2204>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e322e4 <fz_paint_glyph+2208>: ldr r0, [sp, #244]
0x07e322e8 <fz_paint_glyph+2212>: bicnv r2, r7, #95 ; 0x5f
0x07e322ec <fz_paint_glyph+2216>: mcr 11, 5, r9, cr0, cr0, {4}
0x07e322f0 <fz_paint_glyph+2220>: mov r12, r2
0x07e322f4 <fz_paint_glyph+2224>: add r10, r0, #32 ; 0x20
0x07e322f8 <fz_paint_glyph+2228>: mov lr, #1 ; 0x1
0x07e322fc <fz_paint_glyph+2232>: str r10, [sp, #192]
0x07e32300 <fz_paint_glyph+2236>: ldr r0, [r10, r12, lsl #2]
0x07e32304 <fz_paint_glyph+2240>: sub r5, r5, #1 ; 0x1
0x07e32308 <fz_paint_glyph+2244>: str r5, [sp, #252]
0x07e3230c <fz_paint_glyph+2248>: cmp r0, #0 ; 0x0
0x07e32310 <fz_paint_glyph+2252>: blt 0x7e3287c <fz_paint_glyph+3640>
0x07e32314 <fz_paint_glyph+2256>: ldr r1, [sp, #244]
0x07e32318 <fz_paint_glyph+2260>: ldr r2, [r11, #16]
0x07e3231c <fz_paint_glyph+2264>: add r0, r1, r0
0x07e32320 <fz_paint_glyph+2268>: add r4, r0, #32 ; 0x20
0x07e32324 <fz_paint_glyph+2272>: mov r0, #0 ; 0x0
0x07e32328 <fz_paint_glyph+2276>: cmp r2, #0 ; 0x0
0x07e3232c <fz_paint_glyph+2280>: beq 0x7e323d4 <fz_paint_glyph+2448>
0x07e32330 <fz_paint_glyph+2284>: ldr r6, [sp, #260]
0x07e32334 <fz_paint_glyph+2288>: mov r0, #0 ; 0x0
0x07e32338 <fz_paint_glyph+2292>: ldrb r7, [r4], #1
0x07e3233c <fz_paint_glyph+2296>: and r3, r7, #3 ; 0x3
0x07e32340 <fz_paint_glyph+2300>: cmp r3, #2 ; 0x2
0x07e32344 <fz_paint_glyph+2304>: beq 0x7e3236c <fz_paint_glyph+2344>
0x07e32348 <fz_paint_glyph+2308>: cmp r3, #1 ; 0x1
0x07e3234c <fz_paint_glyph+2312>: beq 0x7e32384 <fz_paint_glyph+2368>
0x07e32350 <fz_paint_glyph+2316>: cmp r3, #0 ; 0x0
0x07e32354 <fz_paint_glyph+2320>: bne 0x7e3239c <fz_paint_glyph+2392>
0x07e32358 <fz_paint_glyph+2324>: mov r0, r7, lsr #2
0x07e3235c <fz_paint_glyph+2328>: mov r3, #0 ; 0x0
0x07e32360 <fz_paint_glyph+2332>: subs r2, r2, r3
0x07e32364 <fz_paint_glyph+2336>: bne 0x7e32338 <fz_paint_glyph+2292>
0x07e32368 <fz_paint_glyph+2340>: b 0x7e323c8 <fz_paint_glyph+2436>
0x07e3236c <fz_paint_glyph+2344>: orr r0, lr, r0, lsl #5
0x07e32370 <fz_paint_glyph+2348>: and r8, r7, #4 ; 0x4
0x07e32374 <fz_paint_glyph+2352>: add r3, r0, r7, lsr #3
0x07e32378 <fz_paint_glyph+2356>: cmp r3, r2
0x07e3237c <fz_paint_glyph+2360>: ble 0x7e323b4 <fz_paint_glyph+2416>
0x07e32380 <fz_paint_glyph+2364>: b 0x7e323f0 <fz_paint_glyph+2476>
0x07e32384 <fz_paint_glyph+2368>: orr r0, lr, r0, lsl #6
0x07e32388 <fz_paint_glyph+2372>: add r3, r0, r7, lsr #2
0x07e3238c <fz_paint_glyph+2376>: mov r0, #0 ; 0x0
0x07e32390 <fz_paint_glyph+2380>: cmp r3, r2
0x07e32394 <fz_paint_glyph+2384>: ble 0x7e323c0 <fz_paint_glyph+2428>
0x07e32398 <fz_paint_glyph+2388>: b 0x7e32400 <fz_paint_glyph+2492>
0x07e3239c <fz_paint_glyph+2392>: orr r0, lr, r0, lsl #5
0x07e323a0 <fz_paint_glyph+2396>: and r8, r7, #4 ; 0x4
0x07e323a4 <fz_paint_glyph+2400>: add r3, r0, r7, lsr #3
0x07e323a8 <fz_paint_glyph+2404>: cmp r3, r2
0x07e323ac <fz_paint_glyph+2408>: bgt 0x7e32414 <fz_paint_glyph+2512>
0x07e323b0 <fz_paint_glyph+2412>: add r4, r4, r3
0x07e323b4 <fz_paint_glyph+2416>: mov r0, #0 ; 0x0
0x07e323b8 <fz_paint_glyph+2420>: cmp r8, #0 ; 0x0
0x07e323bc <fz_paint_glyph+2424>: bne 0x7e323e4 <fz_paint_glyph+2464>
0x07e323c0 <fz_paint_glyph+2428>: subs r2, r2, r3
0x07e323c4 <fz_paint_glyph+2432>: bne 0x7e32338 <fz_paint_glyph+2292>
0x07e323c8 <fz_paint_glyph+2436>: mov r8, #0 ; 0x0
0x07e323cc <fz_paint_glyph+2440>: ldr r5, [sp, #256]
0x07e323d0 <fz_paint_glyph+2444>: b 0x7e323dc <fz_paint_glyph+2456>
0x07e323d4 <fz_paint_glyph+2448>: ldr r5, [sp, #256]
0x07e323d8 <fz_paint_glyph+2452>: mov r8, #0 ; 0x0
0x07e323dc <fz_paint_glyph+2456>: ldr r1, [r11, #8]
0x07e323e0 <fz_paint_glyph+2460>: b 0x7e32430 <fz_paint_glyph+2540>
0x07e323e4 <fz_paint_glyph+2464>: ldr r5, [sp, #256]
0x07e323e8 <fz_paint_glyph+2468>: mov r1, #0 ; 0x0
0x07e323ec <fz_paint_glyph+2472>: b 0x7e32430 <fz_paint_glyph+2540>
0x07e323f0 <fz_paint_glyph+2476>: sub r0, r3, r2
0x07e323f4 <fz_paint_glyph+2480>: ldr r3, [sp, #256]
0x07e323f8 <fz_paint_glyph+2484>: ldr r1, [r11, #8]
0x07e323fc <fz_paint_glyph+2488>: b 0x7e32474 <fz_paint_glyph+2608>
0x07e32400 <fz_paint_glyph+2492>: sub r0, r3, r2
0x07e32404 <fz_paint_glyph+2496>: mov r8, #0 ; 0x0
0x07e32408 <fz_paint_glyph+2500>: ldr r5, [sp, #256]
0x07e3240c <fz_paint_glyph+2504>: ldr r1, [r11, #8]
0x07e32410 <fz_paint_glyph+2508>: b 0x7e3261c <fz_paint_glyph+3032>
0x07e32414 <fz_paint_glyph+2512>: ldr r1, [sp, #256]
0x07e32418 <fz_paint_glyph+2516>: sub r7, r3, r2
0x07e3241c <fz_paint_glyph+2520>: add r0, r4, r2
0x07e32420 <fz_paint_glyph+2524>: ldr r2, [r11, #8]
0x07e32424 <fz_paint_glyph+2528>: mov lr, r1
0x07e32428 <fz_paint_glyph+2532>: mov r3, r2
0x07e3242c <fz_paint_glyph+2536>: b 0x7e32650 <fz_paint_glyph+3084>
0x07e32430 <fz_paint_glyph+2540>: cmp r1, #1 ; 0x1
0x07e32434 <fz_paint_glyph+2544>: blt 0x7e3287c <fz_paint_glyph+3640>
0x07e32438 <fz_paint_glyph+2548>: ldrb r2, [r4], #1
0x07e3243c <fz_paint_glyph+2552>: ldr r6, [sp, #260]
0x07e32440 <fz_paint_glyph+2556>: and r3, r2, #3 ; 0x3
0x07e32444 <fz_paint_glyph+2560>: cmp r3, #2 ; 0x2
0x07e32448 <fz_paint_glyph+2564>: beq 0x7e32464 <fz_paint_glyph+2592>
0x07e3244c <fz_paint_glyph+2568>: cmp r3, #1 ; 0x1
0x07e32450 <fz_paint_glyph+2572>: beq 0x7e32614 <fz_paint_glyph+3024>
0x07e32454 <fz_paint_glyph+2576>: cmp r3, #0 ; 0x0
0x07e32458 <fz_paint_glyph+2580>: bne 0x7e32634 <fz_paint_glyph+3056>
0x07e3245c <fz_paint_glyph+2584>: mov r0, r2, lsr #2
0x07e32460 <fz_paint_glyph+2588>: b 0x7e32870 <fz_paint_glyph+3628>
0x07e32464 <fz_paint_glyph+2592>: orr r0, lr, r0, lsl #5
0x07e32468 <fz_paint_glyph+2596>: and r8, r2, #4 ; 0x4
0x07e3246c <fz_paint_glyph+2600>: add r0, r0, r2, lsr #3
0x07e32470 <fz_paint_glyph+2604>: mov r3, r5
0x07e32474 <fz_paint_glyph+2608>: ldrb r2, [r6]
0x07e32478 <fz_paint_glyph+2612>: cmp r0, r1
0x07e3247c <fz_paint_glyph+2616>: mov lr, r0
0x07e32480 <fz_paint_glyph+2620>: str r1, [sp, #248]
0x07e32484 <fz_paint_glyph+2624>: movgt lr, r1
0x07e32488 <fz_paint_glyph+2628>: cmp lr, #16 ; 0x10
0x07e3248c <fz_paint_glyph+2632>: bcc 0x7e325bc <fz_paint_glyph+2936>
0x07e32490 <fz_paint_glyph+2636>: cmp r1, r0
0x07e32494 <fz_paint_glyph+2640>: add r6, r3, #1 ; 0x1
0x07e32498 <fz_paint_glyph+2644>: movlt r0, r1
0x07e3249c <fz_paint_glyph+2648>: sub r0, r0, #1 ; 0x1
0x07e324a0 <fz_paint_glyph+2652>: mvn r6, r6
0x07e324a4 <fz_paint_glyph+2656>: adds r7, r0, r0
0x07e324a8 <fz_paint_glyph+2660>: mov r0, #0 ; 0x0
0x07e324ac <fz_paint_glyph+2664>: adc r0, r0, #0 ; 0x0
0x07e324b0 <fz_paint_glyph+2668>: cmp r7, r6
0x07e324b4 <fz_paint_glyph+2672>: bhi 0x7e325bc <fz_paint_glyph+2936>
0x07e324b8 <fz_paint_glyph+2676>: cmp r0, #0 ; 0x0
0x07e324bc <fz_paint_glyph+2680>: bne 0x7e325bc <fz_paint_glyph+2936>
0x07e324c0 <fz_paint_glyph+2684>: mvn r6, r3
0x07e324c4 <fz_paint_glyph+2688>: cmp r7, r6
0x07e324c8 <fz_paint_glyph+2692>: bhi 0x7e325bc <fz_paint_glyph+2936>
0x07e324cc <fz_paint_glyph+2696>: cmp r0, #0 ; 0x0
0x07e324d0 <fz_paint_glyph+2700>: bne 0x7e325bc <fz_paint_glyph+2936>
0x07e324d4 <fz_paint_glyph+2704>: mov r1, r12
0x07e324d8 <fz_paint_glyph+2708>: bic r12, lr, #15 ; 0xf
0x07e324dc <fz_paint_glyph+2712>: mcr 11, 5, r2, cr4, cr0, {4}
0x07e324e0 <fz_paint_glyph+2716>: sub r0, lr, r12
0x07e324e4 <fz_paint_glyph+2720>: add r5, r3, r12, lsl #1
0x07e324e8 <fz_paint_glyph+2724>: mov r7, r12
0x07e324ec <fz_paint_glyph+2728>: strnvbt r10, [r3], #-783
0x07e324f0 <fz_paint_glyph+2732>: bicnv r8, r8, #249856 ; 0x3d000
0x07e324f4 <fz_paint_glyph+2736>: subs r7, r7, #16 ; 0x10
0x07e324f8 <fz_paint_glyph+2740>: bicnvs r6, r0, #233472 ; 0x39000
0x07e324fc <fz_paint_glyph+2744>: bicnvs lr, r0, #229376 ; 0x38000
0x07e32500 <fz_paint_glyph+2748>: tstnv r6, #-2147483588 ; 0x8000003c
0x07e32504 <fz_paint_glyph+2752>: bicnvs r6, r8, #233472 ; 0x39000
0x07e32508 <fz_paint_glyph+2756>: rsbnv r6, r0, #1572864 ; 0x180000
0x07e3250c <fz_paint_glyph+2760>: orrnv r0, r8, #237568 ; 0x3a000
0x07e32510 <fz_paint_glyph+2764>: cmpnv lr, #-2147483588 ; 0x8000003c
0x07e32514 <fz_paint_glyph+2768>: bicnvs r8, r8, #229376 ; 0x38000
0x07e32518 <fz_paint_glyph+2772>: rsbnv r8, lr, #3670016 ; 0x380000
0x07e3251c <fz_paint_glyph+2776>: orrnvs r2, r4, #2 ; 0x2
0x07e32520 <fz_paint_glyph+2780>: bicnvs lr, r8, #65536 ; 0x10000
0x07e32524 <fz_paint_glyph+2784>: rsbnv lr, r2, #1572864 ; 0x180000
0x07e32528 <fz_paint_glyph+2788>: orrnvs r2, r4, #67108866 ; 0x4000002
0x07e3252c <fz_paint_glyph+2792>: orrnvs r0, r8, #69632 ; 0x11000
0x07e32530 <fz_paint_glyph+2796>: eornv r0, r2, #1572864 ; 0x180000
0x07e32534 <fz_paint_glyph+2800>: orrnv r2, r8, #241664 ; 0x3b000
0x07e32538 <fz_paint_glyph+2804>: bicnv r10, r8, #245760 ; 0x3c000
0x07e3253c <fz_paint_glyph+2808>: sbcnvs r7, r8, #3538944 ; 0x360000
0x07e32540 <fz_paint_glyph+2812>: sbcnvs r6, r8, #3670016 ; 0x380000
0x07e32544 <fz_paint_glyph+2816>: orrnvs r4, r4, #134217730 ; 0x8000002
0x07e32548 <fz_paint_glyph+2820>: orrnvs r6, r8, #73728 ; 0x12000
0x07e3254c <fz_paint_glyph+2824>: eornv r6, r4, #1572864 ; 0x180000
0x07e32550 <fz_paint_glyph+2828>: orrnvs r4, r4, #201326594 ; 0xc000002
0x07e32554 <fz_paint_glyph+2832>: orrnvs r2, r8, #77824 ; 0x13000
0x07e32558 <fz_paint_glyph+2836>: eornv r2, r4, #1572864 ; 0x180000
0x07e3255c <fz_paint_glyph+2840>: orrnvs r4, r0, #241664 ; 0x3b000
0x07e32560 <fz_paint_glyph+2844>: bicnvs r12, r0, #237568 ; 0x3a000
0x07e32564 <fz_paint_glyph+2848>: orrnvs r8, r8, #241664 ; 0x3b000
0x07e32568 <fz_paint_glyph+2852>: tstnv r4, #-2147483620 ; 0x8000001c
0x07e3256c <fz_paint_glyph+2856>: cmpnv r12, #-2147483588 ; 0x8000003c
0x07e32570 <fz_paint_glyph+2860>: bicnvs r10, r8, #237568 ; 0x3a000
0x07e32574 <fz_paint_glyph+2864>: eornv r8, r4, #1572864 ; 0x180000
0x07e32578 <fz_paint_glyph+2868>: rsbnv r10, r12, #3670016 ; 0x380000
0x07e3257c <fz_paint_glyph+2872>: sbcnvs sp, r8, #1179648 ; 0x120000
0x07e32580 <fz_paint_glyph+2876>: addnvs r1, r8, #1048576 ; 0x100000
0x07e32584 <fz_paint_glyph+2880>: sbcnvs r12, r8, #1441792 ; 0x160000
0x07e32588 <fz_paint_glyph+2884>: addnvs r0, r8, #4063232 ; 0x3e0000
0x07e3258c <fz_paint_glyph+2888>: sbcnvs r9, r8, #1572864 ; 0x180000
0x07e32590 <fz_paint_glyph+2892>: sbcnvs r8, r8, #3801088 ; 0x3a0000
0x07e32594 <fz_paint_glyph+2896>: mvnnvs r11, #-1073741822 ; 0xc0000002
0x07e32598 <fz_paint_glyph+2900>: mvnnvs r10, #0 ; 0x0
0x07e3259c <fz_paint_glyph+2904>: mvnnvs sp, #1610612738 ; 0x60000002
0x07e325a0 <fz_paint_glyph+2908>: mvnnvs r12, #-2147483646 ; 0x80000002
0x07e325a4 <fz_paint_glyph+2912>: strnvb r10, [r3], #-781
0x07e325a8 <fz_paint_glyph+2916>: bne 0x7e324ec <fz_paint_glyph+2728>
0x07e325ac <fz_paint_glyph+2920>: cmp lr, r12
0x07e325b0 <fz_paint_glyph+2924>: mov r12, r1
0x07e325b4 <fz_paint_glyph+2928>: bne 0x7e325c4 <fz_paint_glyph+2944>
0x07e325b8 <fz_paint_glyph+2932>: b 0x7e32600 <fz_paint_glyph+3004>
0x07e325bc <fz_paint_glyph+2936>: mov r0, lr
0x07e325c0 <fz_paint_glyph+2940>: mov r5, r3
0x07e325c4 <fz_paint_glyph+2944>: ldrb r3, [r5]
0x07e325c8 <fz_paint_glyph+2948>: subs r0, r0, #1 ; 0x1
0x07e325cc <fz_paint_glyph+2952>: ldrb r7, [r5, #1]
0x07e325d0 <fz_paint_glyph+2956>: sub r6, r2, r3
0x07e325d4 <fz_paint_glyph+2960>: eor r1, r7, #255 ; 0xff
0x07e325d8 <fz_paint_glyph+2964>: smulbb r6, r6, r9
0x07e325dc <fz_paint_glyph+2968>: smulbb r1, r1, r9
0x07e325e0 <fz_paint_glyph+2972>: add r3, r6, r3, lsl #8
0x07e325e4 <fz_paint_glyph+2976>: add r1, r1, r7, lsl #8
0x07e325e8 <fz_paint_glyph+2980>: mov r3, r3, lsr #8
0x07e325ec <fz_paint_glyph+2984>: mov r1, r1, lsr #8
0x07e325f0 <fz_paint_glyph+2988>: strb r3, [r5]
0x07e325f4 <fz_paint_glyph+2992>: strb r1, [r5, #1]
0x07e325f8 <fz_paint_glyph+2996>: add r5, r5, #2 ; 0x2
0x07e325fc <fz_paint_glyph+3000>: bne 0x7e325c4 <fz_paint_glyph+2944>
0x07e32600 <fz_paint_glyph+3004>: ldr r1, [sp, #248]
0x07e32604 <fz_paint_glyph+3008>: mov r0, #0 ; 0x0
0x07e32608 <fz_paint_glyph+3012>: sub r1, r1, lr
0x07e3260c <fz_paint_glyph+3016>: mov lr, #1 ; 0x1
0x07e32610 <fz_paint_glyph+3020>: b 0x7e32870 <fz_paint_glyph+3628>
0x07e32614 <fz_paint_glyph+3024>: orr r0, lr, r0, lsl #6
0x07e32618 <fz_paint_glyph+3028>: add r0, r0, r2, lsr #2
0x07e3261c <fz_paint_glyph+3032>: cmp r0, r1
0x07e32620 <fz_paint_glyph+3036>: movgt r0, r1
0x07e32624 <fz_paint_glyph+3040>: sub r1, r1, r0
0x07e32628 <fz_paint_glyph+3044>: add r5, r5, r0, lsl #1
0x07e3262c <fz_paint_glyph+3048>: mov r0, #0 ; 0x0
0x07e32630 <fz_paint_glyph+3052>: b 0x7e32870 <fz_paint_glyph+3628>
0x07e32634 <fz_paint_glyph+3056>: orr r0, lr, r0, lsl #5
0x07e32638 <fz_paint_glyph+3060>: mov r3, r1
0x07e3263c <fz_paint_glyph+3064>: ldr r1, [sp, #256]
0x07e32640 <fz_paint_glyph+3068>: add r7, r0, r2, lsr #3
0x07e32644 <fz_paint_glyph+3072>: and r8, r2, #4 ; 0x4
0x07e32648 <fz_paint_glyph+3076>: mov r0, r4
0x07e3264c <fz_paint_glyph+3080>: mov lr, r5
0x07e32650 <fz_paint_glyph+3084>: str r1, [sp, #256]
0x07e32654 <fz_paint_glyph+3088>: cmp r7, r3
0x07e32658 <fz_paint_glyph+3092>: ldr r1, [sp, #260]
0x07e3265c <fz_paint_glyph+3096>: str r3, [sp, #248]
0x07e32660 <fz_paint_glyph+3100>: ldrb r10, [r1]
0x07e32664 <fz_paint_glyph+3104>: mov r1, r7
0x07e32668 <fz_paint_glyph+3108>: movgt r1, r3
0x07e3266c <fz_paint_glyph+3112>: cmp r1, #16 ; 0x10
0x07e32670 <fz_paint_glyph+3116>: mov r3, r1
0x07e32674 <fz_paint_glyph+3120>: str r1, [sp, #224]
0x07e32678 <fz_paint_glyph+3124>: bcc 0x7e32800 <fz_paint_glyph+3516>
0x07e3267c <fz_paint_glyph+3128>: ldr r1, [sp, #248]
0x07e32680 <fz_paint_glyph+3132>: add r6, lr, #1 ; 0x1
0x07e32684 <fz_paint_glyph+3136>: cmp r1, r7
0x07e32688 <fz_paint_glyph+3140>: mvn r6, r6
0x07e3268c <fz_paint_glyph+3144>: movlt r7, r1
0x07e32690 <fz_paint_glyph+3148>: sub r2, r7, #1 ; 0x1
0x07e32694 <fz_paint_glyph+3152>: adds r7, r2, r2
0x07e32698 <fz_paint_glyph+3156>: mov r1, #0 ; 0x0
0x07e3269c <fz_paint_glyph+3160>: adc r2, r1, #0 ; 0x0
0x07e326a0 <fz_paint_glyph+3164>: cmp r7, r6
0x07e326a4 <fz_paint_glyph+3168>: bhi 0x7e32800 <fz_paint_glyph+3516>
0x07e326a8 <fz_paint_glyph+3172>: cmp r2, #0 ; 0x0
0x07e326ac <fz_paint_glyph+3176>: bne 0x7e32800 <fz_paint_glyph+3516>
0x07e326b0 <fz_paint_glyph+3180>: mvn r6, lr
0x07e326b4 <fz_paint_glyph+3184>: cmp r7, r6
0x07e326b8 <fz_paint_glyph+3188>: bhi 0x7e32800 <fz_paint_glyph+3516>
0x07e326bc <fz_paint_glyph+3192>: cmp r2, #0 ; 0x0
0x07e326c0 <fz_paint_glyph+3196>: bne 0x7e32800 <fz_paint_glyph+3516>
0x07e326c4 <fz_paint_glyph+3200>: bic r6, r3, #15 ; 0xf
0x07e326c8 <fz_paint_glyph+3204>: mcr 11, 5, r10, cr4, cr0, {4}
0x07e326cc <fz_paint_glyph+3208>: add r4, r0, r6
0x07e326d0 <fz_paint_glyph+3212>: sub r2, r3, r6
0x07e326d4 <fz_paint_glyph+3216>: add r5, lr, r6, lsl #1
0x07e326d8 <fz_paint_glyph+3220>: mov r1, r12
0x07e326dc <fz_paint_glyph+3224>: mov r12, r6
0x07e326e0 <fz_paint_glyph+3228>: strnvt r0, [r0], #-2573
0x07e326e4 <fz_paint_glyph+3232>: subs r12, r12, #16 ; 0x10
0x07e326e8 <fz_paint_glyph+3236>: bicnv r12, r8, #69632 ; 0x11000
0x07e326ec <fz_paint_glyph+3240>: strnvbt r8, [lr], #-783
0x07e326f0 <fz_paint_glyph+3244>: orrnv r10, r8, #65536 ; 0x10000
0x07e326f4 <fz_paint_glyph+3248>: orrnv r4, r8, #241664 ; 0x3b000
0x07e326f8 <fz_paint_glyph+3252>: bicnvs r6, r0, #245760 ; 0x3c000
0x07e326fc <fz_paint_glyph+3256>: bicnvs r12, r0, #249856 ; 0x3d000
0x07e32700 <fz_paint_glyph+3260>: orrnvs r0, r0, #106496 ; 0x1a000
0x07e32704 <fz_paint_glyph+3264>: bicnvs lr, r0, #81920 ; 0x14000
0x07e32708 <fz_paint_glyph+3268>: mvnnvs r6, #-2147483619 ; 0x8000001d
0x07e3270c <fz_paint_glyph+3272>: mvnnvs r12, #31 ; 0x1f
0x07e32710 <fz_paint_glyph+3276>: orrnvs r10, r0, #110592 ; 0x1b000
0x07e32714 <fz_paint_glyph+3280>: movnvs r0, #20 ; 0x14
0x07e32718 <fz_paint_glyph+3284>: tstnv lr, #-2147483588 ; 0x8000003c
0x07e3271c <fz_paint_glyph+3288>: rsbnv r6, r6, #3932160 ; 0x3c0000
0x07e32720 <fz_paint_glyph+3292>: rsbnv r12, r12, #3932160 ; 0x3c0000
0x07e32724 <fz_paint_glyph+3296>: movnvs r10, #-2147483626 ; 0x80000016
0x07e32728 <fz_paint_glyph+3300>: mvnnvs lr, #118 ; 0x76
0x07e3272c <fz_paint_glyph+3304>: bicnvs r6, r8, #81920 ; 0x14000
0x07e32730 <fz_paint_glyph+3308>: eornv r0, r0, #1835008 ; 0x1c0000
0x07e32734 <fz_paint_glyph+3312>: rsbnv r6, r2, #1802240 ; 0x1b8000
0x07e32738 <fz_paint_glyph+3316>: orrnvs r2, r0, #86016 ; 0x15000
0x07e3273c <fz_paint_glyph+3320>: eornv r10, r10, #1835008 ; 0x1c0000
0x07e32740 <fz_paint_glyph+3324>: tstnv r2, #-2147483620 ; 0x8000001c
0x07e32744 <fz_paint_glyph+3328>: movnvs r2, #124 ; 0x7c
0x07e32748 <fz_paint_glyph+3332>: bicnvs r12, r8, #86016 ; 0x15000
0x07e3274c <fz_paint_glyph+3336>: movnvs r4, #80 ; 0x50
0x07e32750 <fz_paint_glyph+3340>: rsbnv r12, r6, #1081344 ; 0x108000
0x07e32754 <fz_paint_glyph+3344>: orrnv r6, r8, #229376 ; 0x38000
0x07e32758 <fz_paint_glyph+3348>: movnvs r10, #90 ; 0x5a
0x07e3275c <fz_paint_glyph+3352>: orrnvs r8, r4, #402653186 ; 0x18000002
0x07e32760 <fz_paint_glyph+3356>: orrnvs r0, r8, #90112 ; 0x16000
0x07e32764 <fz_paint_glyph+3360>: sbcnvs sp, r8, #3932160 ; 0x3c0000
0x07e32768 <fz_paint_glyph+3364>: eornv r0, r4, #1179648 ; 0x120000
0x07e3276c <fz_paint_glyph+3368>: orrnvs r8, r4, #469762050 ; 0x1c000002
0x07e32770 <fz_paint_glyph+3372>: orrnvs r6, r8, #94208 ; 0x17000
0x07e32774 <fz_paint_glyph+3376>: sbcnvs r12, r8, #3538944 ; 0x360000
0x07e32778 <fz_paint_glyph+3380>: eornv r6, r10, #1179648 ; 0x120000
0x07e3277c <fz_paint_glyph+3384>: orrnv r8, r8, #233472 ; 0x39000
0x07e32780 <fz_paint_glyph+3388>: bicnv r8, r8, #237568 ; 0x3a000
0x07e32784 <fz_paint_glyph+3392>: orrnvs r12, r4, #536870914 ; 0x20000002
0x07e32788 <fz_paint_glyph+3396>: orrnvs lr, r8, #98304 ; 0x18000
0x07e3278c <fz_paint_glyph+3400>: bicnvs r10, r0, #229376 ; 0x38000
0x07e32790 <fz_paint_glyph+3404>: eornv lr, lr, #3342336 ; 0x330000
0x07e32794 <fz_paint_glyph+3408>: bicnvs lr, r4, #603979778 ; 0x24000002
0x07e32798 <fz_paint_glyph+3412>: orrnvs r8, r8, #102400 ; 0x19000
0x07e3279c <fz_paint_glyph+3416>: cmpnv r10, #-2147483588 ; 0x8000003c
0x07e327a0 <fz_paint_glyph+3420>: eornv r8, r2, #1802240 ; 0x1b8000
0x07e327a4 <fz_paint_glyph+3424>: bicnvs lr, r0, #233472 ; 0x39000
0x07e327a8 <fz_paint_glyph+3428>: orrnvs r2, r8, #233472 ; 0x39000
0x07e327ac <fz_paint_glyph+3432>: bicnvs r8, r8, #229376 ; 0x38000
0x07e327b0 <fz_paint_glyph+3436>: cmpnv lr, #-2147483588 ; 0x8000003c
0x07e327b4 <fz_paint_glyph+3440>: rsbnv r8, r10, #3211264 ; 0x310000
0x07e327b8 <fz_paint_glyph+3444>: eornv r2, lr, #3309568 ; 0x328000
0x07e327bc <fz_paint_glyph+3448>: sbcnvs r11, r8, #1572864 ; 0x180000
0x07e327c0 <fz_paint_glyph+3452>: sbcnvs pc, r8, #1441792 ; 0x160000
0x07e327c4 <fz_paint_glyph+3456>: sbcnvs r10, r8, #1966080 ; 0x1e0000
0x07e327c8 <fz_paint_glyph+3460>: sbcnvs lr, r8, #1048576 ; 0x100000
0x07e327cc <fz_paint_glyph+3464>: sbcnvs r7, r8, #1179648 ; 0x120000
0x07e327d0 <fz_paint_glyph+3468>: sbcnvs r6, r8, #3670016 ; 0x380000
0x07e327d4 <fz_paint_glyph+3472>: mvnnvs r9, #-1610612734 ; 0xa0000002
0x07e327d8 <fz_paint_glyph+3476>: mvnnvs r8, #-536870910 ; 0xe0000002
0x07e327dc <fz_paint_glyph+3480>: mvnnvs r11, #-1073741822 ; 0xc0000002
0x07e327e0 <fz_paint_glyph+3484>: mvnnvs r10, #1610612738 ; 0x60000002
0x07e327e4 <fz_paint_glyph+3488>: strnvb r8, [lr], #-781
0x07e327e8 <fz_paint_glyph+3492>: bne 0x7e326e0 <fz_paint_glyph+3228>
0x07e327ec <fz_paint_glyph+3496>: cmp r3, r6
0x07e327f0 <fz_paint_glyph+3500>: mov r12, r1
0x07e327f4 <fz_paint_glyph+3504>: mov lr, #1 ; 0x1
0x07e327f8 <fz_paint_glyph+3508>: bne 0x7e32810 <fz_paint_glyph+3532>
0x07e327fc <fz_paint_glyph+3512>: b 0x7e32860 <fz_paint_glyph+3612>
0x07e32800 <fz_paint_glyph+3516>: mov r5, lr
0x07e32804 <fz_paint_glyph+3520>: mov r2, r3
0x07e32808 <fz_paint_glyph+3524>: mov r4, r0
0x07e3280c <fz_paint_glyph+3528>: mov lr, #1 ; 0x1
0x07e32810 <fz_paint_glyph+3532>: ldrb r0, [r4], #1
0x07e32814 <fz_paint_glyph+3536>: subs r2, r2, #1 ; 0x1
0x07e32818 <fz_paint_glyph+3540>: ldrb r7, [r5]
0x07e3281c <fz_paint_glyph+3544>: ldrb r6, [r5, #1]
0x07e32820 <fz_paint_glyph+3548>: add r0, r0, r0, lsr #7
0x07e32824 <fz_paint_glyph+3552>: sub r1, r10, r7
0x07e32828 <fz_paint_glyph+3556>: eor r3, r6, #255 ; 0xff
0x07e3282c <fz_paint_glyph+3560>: smulbb r0, r0, r9
0x07e32830 <fz_paint_glyph+3564>: mov r0, r0, lsr #8
0x07e32834 <fz_paint_glyph+3568>: smulbb r1, r0, r1
0x07e32838 <fz_paint_glyph+3572>: smulbb r0, r3, r0
0x07e3283c <fz_paint_glyph+3576>: add r1, r1, r7, lsl #8
0x07e32840 <fz_paint_glyph+3580>: add r0, r0, r6, lsl #8
0x07e32844 <fz_paint_glyph+3584>: mov r1, r1, lsr #8
0x07e32848 <fz_paint_glyph+3588>: mov r0, r0, lsr #8
0x07e3284c <fz_paint_glyph+3592>: strb r1, [r5]
0x07e32850 <fz_paint_glyph+3596>: strb r0, [r5, #1]
0x07e32854 <fz_paint_glyph+3600>: add r5, r5, #2 ; 0x2
0x07e32858 <fz_paint_glyph+3604>: bne 0x7e32810 <fz_paint_glyph+3532>
0x07e3285c <fz_paint_glyph+3608>: ldr r3, [sp, #224]
0x07e32860 <fz_paint_glyph+3612>: ldr r1, [sp, #248]
0x07e32864 <fz_paint_glyph+3616>: mov r0, #0 ; 0x0
0x07e32868 <fz_paint_glyph+3620>: ldr r10, [sp, #192]
0x07e3286c <fz_paint_glyph+3624>: sub r1, r1, r3
0x07e32870 <fz_paint_glyph+3628>: cmp r8, #0 ; 0x0
0x07e32874 <fz_paint_glyph+3632>: mov r8, #0 ; 0x0
0x07e32878 <fz_paint_glyph+3636>: beq 0x7e32430 <fz_paint_glyph+2540>
0x07e3287c <fz_paint_glyph+3640>: ldr r5, [sp, #252]
0x07e32880 <fz_paint_glyph+3644>: add r12, r12, #1 ; 0x1
0x07e32884 <fz_paint_glyph+3648>: ldr r0, [sp, #220]
0x07e32888 <fz_paint_glyph+3652>: ldr r1, [sp, #256]
0x07e3288c <fz_paint_glyph+3656>: cmp r5, #0 ; 0x0
0x07e32890 <fz_paint_glyph+3660>: add r1, r1, r0
0x07e32894 <fz_paint_glyph+3664>: str r1, [sp, #256]
0x07e32898 <fz_paint_glyph+3668>: bne 0x7e32300 <fz_paint_glyph+2236>
0x07e3289c <fz_paint_glyph+3672>: b 0x7e32288 <fz_paint_glyph+2116>
0x07e328a0 <fz_paint_glyph+3676>: cmp lr, #0 ; 0x0
0x07e328a4 <fz_paint_glyph+3680>: beq 0x7e34f44 <fz_paint_glyph+13568>
0x07e328a8 <fz_paint_glyph+3684>: cmp r5, #0 ; 0x0
0x07e328ac <fz_paint_glyph+3688>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e328b0 <fz_paint_glyph+3692>: add r0, r8, #1 ; 0x1
0x07e328b4 <fz_paint_glyph+3696>: str r0, [sp, #144]
0x07e328b8 <fz_paint_glyph+3700>: ldr r0, [sp, #244]
0x07e328bc <fz_paint_glyph+3704>: add r1, r6, #1 ; 0x1
0x07e328c0 <fz_paint_glyph+3708>: sub r1, r1, lr
0x07e328c4 <fz_paint_glyph+3712>: mov r12, r5
0x07e328c8 <fz_paint_glyph+3716>: add r3, r0, #32 ; 0x20
0x07e328cc <fz_paint_glyph+3720>: mov r4, r2
0x07e328d0 <fz_paint_glyph+3724>: mov r5, #1 ; 0x1
0x07e328d4 <fz_paint_glyph+3728>: str r3, [sp, #176]
0x07e328d8 <fz_paint_glyph+3732>: ldr r0, [r3, r4, lsl #2]
0x07e328dc <fz_paint_glyph+3736>: sub r12, r12, #1 ; 0x1
0x07e328e0 <fz_paint_glyph+3740>: cmp r0, #0 ; 0x0
0x07e328e4 <fz_paint_glyph+3744>: blt 0x7e32bd8 <fz_paint_glyph+4500>
0x07e328e8 <fz_paint_glyph+3748>: ldr r2, [sp, #244]
0x07e328ec <fz_paint_glyph+3752>: ldr r7, [r11, #16]
0x07e328f0 <fz_paint_glyph+3756>: add r0, r2, r0
0x07e328f4 <fz_paint_glyph+3760>: mov r2, #0 ; 0x0
0x07e328f8 <fz_paint_glyph+3764>: add r9, r0, #32 ; 0x20
0x07e328fc <fz_paint_glyph+3768>: cmp r7, #0 ; 0x0
0x07e32900 <fz_paint_glyph+3772>: beq 0x7e329a8 <fz_paint_glyph+3940>
0x07e32904 <fz_paint_glyph+3776>: mov r2, #0 ; 0x0
0x07e32908 <fz_paint_glyph+3780>: ldrb r0, [r9], #1
0x07e3290c <fz_paint_glyph+3784>: and r6, r0, #3 ; 0x3
0x07e32910 <fz_paint_glyph+3788>: cmp r6, #2 ; 0x2
0x07e32914 <fz_paint_glyph+3792>: beq 0x7e3293c <fz_paint_glyph+3832>
0x07e32918 <fz_paint_glyph+3796>: cmp r6, #1 ; 0x1
0x07e3291c <fz_paint_glyph+3800>: beq 0x7e32954 <fz_paint_glyph+3856>
0x07e32920 <fz_paint_glyph+3804>: cmp r6, #0 ; 0x0
0x07e32924 <fz_paint_glyph+3808>: bne 0x7e3296c <fz_paint_glyph+3880>
0x07e32928 <fz_paint_glyph+3812>: mov r2, r0, lsr #2
0x07e3292c <fz_paint_glyph+3816>: mov r6, #0 ; 0x0
0x07e32930 <fz_paint_glyph+3820>: subs r7, r7, r6
0x07e32934 <fz_paint_glyph+3824>: bne 0x7e32908 <fz_paint_glyph+3780>
0x07e32938 <fz_paint_glyph+3828>: b 0x7e32998 <fz_paint_glyph+3924>
0x07e3293c <fz_paint_glyph+3832>: orr r6, r5, r2, lsl #5
0x07e32940 <fz_paint_glyph+3836>: add r6, r6, r0, lsr #3
0x07e32944 <fz_paint_glyph+3840>: and r0, r0, #4 ; 0x4
0x07e32948 <fz_paint_glyph+3844>: cmp r6, r7
0x07e3294c <fz_paint_glyph+3848>: ble 0x7e32984 <fz_paint_glyph+3904>
0x07e32950 <fz_paint_glyph+3852>: b 0x7e329c8 <fz_paint_glyph+3972>
0x07e32954 <fz_paint_glyph+3856>: orr r6, r5, r2, lsl #6
0x07e32958 <fz_paint_glyph+3860>: mov r2, #0 ; 0x0
0x07e3295c <fz_paint_glyph+3864>: add r6, r6, r0, lsr #2
0x07e32960 <fz_paint_glyph+3868>: cmp r6, r7
0x07e32964 <fz_paint_glyph+3872>: ble 0x7e32990 <fz_paint_glyph+3916>
0x07e32968 <fz_paint_glyph+3876>: b 0x7e329e4 <fz_paint_glyph+4000>
0x07e3296c <fz_paint_glyph+3880>: orr r6, r5, r2, lsl #5
0x07e32970 <fz_paint_glyph+3884>: add r6, r6, r0, lsr #3
0x07e32974 <fz_paint_glyph+3888>: and r0, r0, #4 ; 0x4
0x07e32978 <fz_paint_glyph+3892>: cmp r6, r7
0x07e3297c <fz_paint_glyph+3896>: bgt 0x7e329fc <fz_paint_glyph+4024>
0x07e32980 <fz_paint_glyph+3900>: add r9, r9, r6
0x07e32984 <fz_paint_glyph+3904>: mov r2, #0 ; 0x0
0x07e32988 <fz_paint_glyph+3908>: cmp r0, #0 ; 0x0
0x07e3298c <fz_paint_glyph+3912>: bne 0x7e329bc <fz_paint_glyph+3960>
0x07e32990 <fz_paint_glyph+3916>: subs r7, r7, r6
0x07e32994 <fz_paint_glyph+3920>: bne 0x7e32908 <fz_paint_glyph+3780>
0x07e32998 <fz_paint_glyph+3924>: ldr r0, [r11, #8]
0x07e3299c <fz_paint_glyph+3928>: mov r7, r0
0x07e329a0 <fz_paint_glyph+3932>: mov r0, #0 ; 0x0
0x07e329a4 <fz_paint_glyph+3936>: b 0x7e329c0 <fz_paint_glyph+3964>
0x07e329a8 <fz_paint_glyph+3940>: ldr r0, [r11, #8]
0x07e329ac <fz_paint_glyph+3944>: ldr lr, [sp, #256]
0x07e329b0 <fz_paint_glyph+3948>: mov r7, r0
0x07e329b4 <fz_paint_glyph+3952>: mov r0, #0 ; 0x0
0x07e329b8 <fz_paint_glyph+3956>: b 0x7e32a1c <fz_paint_glyph+4056>
0x07e329bc <fz_paint_glyph+3960>: mov r7, #0 ; 0x0
0x07e329c0 <fz_paint_glyph+3964>: ldr lr, [sp, #256]
0x07e329c4 <fz_paint_glyph+3968>: b 0x7e32a1c <fz_paint_glyph+4056>
0x07e329c8 <fz_paint_glyph+3972>: str r0, [sp, #192]
0x07e329cc <fz_paint_glyph+3976>: str r12, [sp, #252]
0x07e329d0 <fz_paint_glyph+3980>: sub r12, r6, r7
0x07e329d4 <fz_paint_glyph+3984>: str r4, [sp, #248]
0x07e329d8 <fz_paint_glyph+3988>: ldr r0, [r11, #8]
0x07e329dc <fz_paint_glyph+3992>: ldr lr, [sp, #256]
0x07e329e0 <fz_paint_glyph+3996>: b 0x7e32a74 <fz_paint_glyph+4144>
0x07e329e4 <fz_paint_glyph+4000>: ldr r2, [r11, #8]
0x07e329e8 <fz_paint_glyph+4004>: sub r0, r6, r7
0x07e329ec <fz_paint_glyph+4008>: mov r6, #0 ; 0x0
0x07e329f0 <fz_paint_glyph+4012>: ldr lr, [sp, #256]
0x07e329f4 <fz_paint_glyph+4016>: mov r7, r2
0x07e329f8 <fz_paint_glyph+4020>: b 0x7e32ae0 <fz_paint_glyph+4252>
0x07e329fc <fz_paint_glyph+4024>: str r0, [sp, #192]
0x07e32a00 <fz_paint_glyph+4028>: sub r6, r6, r7
0x07e32a04 <fz_paint_glyph+4032>: str r12, [sp, #252]
0x07e32a08 <fz_paint_glyph+4036>: add r9, r9, r7
0x07e32a0c <fz_paint_glyph+4040>: str r4, [sp, #248]
0x07e32a10 <fz_paint_glyph+4044>: ldr r0, [r11, #8]
0x07e32a14 <fz_paint_glyph+4048>: ldr lr, [sp, #256]
0x07e32a18 <fz_paint_glyph+4052>: b 0x7e32b18 <fz_paint_glyph+4308>
0x07e32a1c <fz_paint_glyph+4056>: cmp r7, #1 ; 0x1
0x07e32a20 <fz_paint_glyph+4060>: blt 0x7e32bd8 <fz_paint_glyph+4500>
0x07e32a24 <fz_paint_glyph+4064>: mov r6, r0
0x07e32a28 <fz_paint_glyph+4068>: ldrb r0, [r9], #1
0x07e32a2c <fz_paint_glyph+4072>: str r7, [sp, #224]
0x07e32a30 <fz_paint_glyph+4076>: and r7, r0, #3 ; 0x3
0x07e32a34 <fz_paint_glyph+4080>: cmp r7, #2 ; 0x2
0x07e32a38 <fz_paint_glyph+4084>: beq 0x7e32a58 <fz_paint_glyph+4116>
0x07e32a3c <fz_paint_glyph+4088>: cmp r7, #1 ; 0x1
0x07e32a40 <fz_paint_glyph+4092>: beq 0x7e32ad4 <fz_paint_glyph+4240>
0x07e32a44 <fz_paint_glyph+4096>: cmp r7, #0 ; 0x0
0x07e32a48 <fz_paint_glyph+4100>: bne 0x7e32afc <fz_paint_glyph+4280>
0x07e32a4c <fz_paint_glyph+4104>: mov r2, r0, lsr #2
0x07e32a50 <fz_paint_glyph+4108>: ldr r7, [sp, #224]
0x07e32a54 <fz_paint_glyph+4112>: b 0x7e32bcc <fz_paint_glyph+4488>
0x07e32a58 <fz_paint_glyph+4116>: orr r7, r5, r2, lsl #5
0x07e32a5c <fz_paint_glyph+4120>: str r12, [sp, #252]
0x07e32a60 <fz_paint_glyph+4124>: add r12, r7, r0, lsr #3
0x07e32a64 <fz_paint_glyph+4128>: and r0, r0, #4 ; 0x4
0x07e32a68 <fz_paint_glyph+4132>: str r0, [sp, #192]
0x07e32a6c <fz_paint_glyph+4136>: ldr r0, [sp, #224]
0x07e32a70 <fz_paint_glyph+4140>: str r4, [sp, #248]
0x07e32a74 <fz_paint_glyph+4144>: cmp r12, r0
0x07e32a78 <fz_paint_glyph+4148>: str r0, [sp, #224]
0x07e32a7c <fz_paint_glyph+4152>: movgt r12, r0
0x07e32a80 <fz_paint_glyph+4156>: mov r6, r12
0x07e32a84 <fz_paint_glyph+4160>: ldr r3, [sp, #260]
0x07e32a88 <fz_paint_glyph+4164>: mov r0, lr
0x07e32a8c <fz_paint_glyph+4168>: mov r7, #0 ; 0x0
0x07e32a90 <fz_paint_glyph+4172>: mov r4, r7, asr #5
0x07e32a94 <fz_paint_glyph+4176>: and r2, r7, #31 ; 0x1f
0x07e32a98 <fz_paint_glyph+4180>: ldr r4, [r10, r4, lsl #2]
0x07e32a9c <fz_paint_glyph+4184>: tst r4, r5, lsl r2
0x07e32aa0 <fz_paint_glyph+4188>: bne 0x7e32aac <fz_paint_glyph+4200>
0x07e32aa4 <fz_paint_glyph+4192>: ldrb r2, [r3, r7]
0x07e32aa8 <fz_paint_glyph+4196>: strb r2, [r0, r7]
0x07e32aac <fz_paint_glyph+4200>: add r7, r7, #1 ; 0x1
0x07e32ab0 <fz_paint_glyph+4204>: cmp r1, r7
0x07e32ab4 <fz_paint_glyph+4208>: bne 0x7e32a90 <fz_paint_glyph+4172>
0x07e32ab8 <fz_paint_glyph+4212>: add lr, r0, r7
0x07e32abc <fz_paint_glyph+4216>: subs r6, r6, #1 ; 0x1
0x07e32ac0 <fz_paint_glyph+4220>: bne 0x7e32a84 <fz_paint_glyph+4160>
0x07e32ac4 <fz_paint_glyph+4224>: add lr, r0, r7
0x07e32ac8 <fz_paint_glyph+4228>: ldr r7, [sp, #224]
0x07e32acc <fz_paint_glyph+4232>: sub r7, r7, r12
0x07e32ad0 <fz_paint_glyph+4236>: b 0x7e32bb8 <fz_paint_glyph+4468>
0x07e32ad4 <fz_paint_glyph+4240>: orr r7, r5, r2, lsl #6
0x07e32ad8 <fz_paint_glyph+4244>: add r0, r7, r0, lsr #2
0x07e32adc <fz_paint_glyph+4248>: ldr r7, [sp, #224]
0x07e32ae0 <fz_paint_glyph+4252>: ldr r2, [sp, #144]
0x07e32ae4 <fz_paint_glyph+4256>: cmp r0, r7
0x07e32ae8 <fz_paint_glyph+4260>: movgt r0, r7
0x07e32aec <fz_paint_glyph+4264>: sub r7, r7, r0
0x07e32af0 <fz_paint_glyph+4268>: mla lr, r0, r2, lr
0x07e32af4 <fz_paint_glyph+4272>: mov r2, #0 ; 0x0
0x07e32af8 <fz_paint_glyph+4276>: b 0x7e32bcc <fz_paint_glyph+4488>
0x07e32afc <fz_paint_glyph+4280>: orr r2, r5, r2, lsl #5
0x07e32b00 <fz_paint_glyph+4284>: str r12, [sp, #252]
0x07e32b04 <fz_paint_glyph+4288>: add r6, r2, r0, lsr #3
0x07e32b08 <fz_paint_glyph+4292>: and r0, r0, #4 ; 0x4
0x07e32b0c <fz_paint_glyph+4296>: str r0, [sp, #192]
0x07e32b10 <fz_paint_glyph+4300>: ldr r0, [sp, #224]
0x07e32b14 <fz_paint_glyph+4304>: str r4, [sp, #248]
0x07e32b18 <fz_paint_glyph+4308>: cmp r6, r0
0x07e32b1c <fz_paint_glyph+4312>: str r0, [sp, #224]
0x07e32b20 <fz_paint_glyph+4316>: movgt r6, r0
0x07e32b24 <fz_paint_glyph+4320>: str r6, [sp, #160]
0x07e32b28 <fz_paint_glyph+4324>: ldrb r0, [r9]
0x07e32b2c <fz_paint_glyph+4328>: mov r7, lr
0x07e32b30 <fz_paint_glyph+4332>: ldr r3, [sp, #260]
0x07e32b34 <fz_paint_glyph+4336>: mov r12, #0 ; 0x0
0x07e32b38 <fz_paint_glyph+4340>: add r0, r0, r0, lsr #7
0x07e32b3c <fz_paint_glyph+4344>: mov r2, r12, asr #5
0x07e32b40 <fz_paint_glyph+4348>: and r4, r12, #31 ; 0x1f
0x07e32b44 <fz_paint_glyph+4352>: ldr r2, [r10, r2, lsl #2]
0x07e32b48 <fz_paint_glyph+4356>: tst r2, r5, lsl r4
0x07e32b4c <fz_paint_glyph+4360>: bne 0x7e32b6c <fz_paint_glyph+4392>
0x07e32b50 <fz_paint_glyph+4364>: ldrb r2, [r7, r12]
0x07e32b54 <fz_paint_glyph+4368>: ldrb r4, [r3, r12]
0x07e32b58 <fz_paint_glyph+4372>: sub r4, r4, r2
0x07e32b5c <fz_paint_glyph+4376>: smulbb r4, r4, r0
0x07e32b60 <fz_paint_glyph+4380>: add r2, r4, r2, lsl #8
0x07e32b64 <fz_paint_glyph+4384>: mov r2, r2, lsr #8
0x07e32b68 <fz_paint_glyph+4388>: strb r2, [r7, r12]
0x07e32b6c <fz_paint_glyph+4392>: add r12, r12, #1 ; 0x1
0x07e32b70 <fz_paint_glyph+4396>: cmp r8, r12
0x07e32b74 <fz_paint_glyph+4400>: bne 0x7e32b3c <fz_paint_glyph+4344>
0x07e32b78 <fz_paint_glyph+4404>: mov lr, r7
0x07e32b7c <fz_paint_glyph+4408>: subs r6, r6, #1 ; 0x1
0x07e32b80 <fz_paint_glyph+4412>: ldrb r2, [lr, r12]!
0x07e32b84 <fz_paint_glyph+4416>: add r9, r9, #1 ; 0x1
0x07e32b88 <fz_paint_glyph+4420>: eor r4, r2, #255 ; 0xff
0x07e32b8c <fz_paint_glyph+4424>: smulbb r0, r4, r0
0x07e32b90 <fz_paint_glyph+4428>: add r0, r0, r2, lsl #8
0x07e32b94 <fz_paint_glyph+4432>: mov r0, r0, lsr #8
0x07e32b98 <fz_paint_glyph+4436>: strb r0, [lr], #1
0x07e32b9c <fz_paint_glyph+4440>: bne 0x7e32b28 <fz_paint_glyph+4324>
0x07e32ba0 <fz_paint_glyph+4444>: ldr r2, [sp, #224]
0x07e32ba4 <fz_paint_glyph+4448>: ldr r0, [sp, #160]
0x07e32ba8 <fz_paint_glyph+4452>: sub r2, r2, r0
0x07e32bac <fz_paint_glyph+4456>: add r0, r7, r12
0x07e32bb0 <fz_paint_glyph+4460>: add lr, r0, #1 ; 0x1
0x07e32bb4 <fz_paint_glyph+4464>: mov r7, r2
0x07e32bb8 <fz_paint_glyph+4468>: ldr r4, [sp, #248]
0x07e32bbc <fz_paint_glyph+4472>: mov r2, #0 ; 0x0
0x07e32bc0 <fz_paint_glyph+4476>: ldr r12, [sp, #252]
0x07e32bc4 <fz_paint_glyph+4480>: ldr r3, [sp, #176]
0x07e32bc8 <fz_paint_glyph+4484>: ldr r6, [sp, #192]
0x07e32bcc <fz_paint_glyph+4488>: cmp r6, #0 ; 0x0
0x07e32bd0 <fz_paint_glyph+4492>: mov r0, #0 ; 0x0
0x07e32bd4 <fz_paint_glyph+4496>: beq 0x7e32a1c <fz_paint_glyph+4056>
0x07e32bd8 <fz_paint_glyph+4500>: add r4, r4, #1 ; 0x1
0x07e32bdc <fz_paint_glyph+4504>: ldr r0, [sp, #256]
0x07e32be0 <fz_paint_glyph+4508>: ldr r2, [sp, #220]
0x07e32be4 <fz_paint_glyph+4512>: cmp r12, #0 ; 0x0
0x07e32be8 <fz_paint_glyph+4516>: add r0, r0, r2
0x07e32bec <fz_paint_glyph+4520>: str r0, [sp, #256]
0x07e32bf0 <fz_paint_glyph+4524>: bne 0x7e328d8 <fz_paint_glyph+3732>
0x07e32bf4 <fz_paint_glyph+4528>: b 0x7e32288 <fz_paint_glyph+2116>
0x07e32bf8 <fz_paint_glyph+4532>: cmp lr, #0 ; 0x0
0x07e32bfc <fz_paint_glyph+4536>: beq 0x7e35210 <fz_paint_glyph+14284>
0x07e32c00 <fz_paint_glyph+4540>: cmp r5, #0 ; 0x0
0x07e32c04 <fz_paint_glyph+4544>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e32c08 <fz_paint_glyph+4548>: add r1, r8, #1 ; 0x1
0x07e32c0c <fz_paint_glyph+4552>: str r1, [sp, #160]
0x07e32c10 <fz_paint_glyph+4556>: ldr r1, [sp, #244]
0x07e32c14 <fz_paint_glyph+4560>: add r0, r7, r7, lsr #7
0x07e32c18 <fz_paint_glyph+4564>: mov r12, r5
0x07e32c1c <fz_paint_glyph+4568>: mov r4, r2
0x07e32c20 <fz_paint_glyph+4572>: add lr, r1, #32 ; 0x20
0x07e32c24 <fz_paint_glyph+4576>: mov r5, #1 ; 0x1
0x07e32c28 <fz_paint_glyph+4580>: str lr, [sp, #192]
0x07e32c2c <fz_paint_glyph+4584>: ldr r1, [lr, r4, lsl #2]
0x07e32c30 <fz_paint_glyph+4588>: sub r12, r12, #1 ; 0x1
0x07e32c34 <fz_paint_glyph+4592>: str r4, [sp, #248]
0x07e32c38 <fz_paint_glyph+4596>: str r12, [sp, #252]
0x07e32c3c <fz_paint_glyph+4600>: cmp r1, #0 ; 0x0
0x07e32c40 <fz_paint_glyph+4604>: blt 0x7e32f24 <fz_paint_glyph+5344>
0x07e32c44 <fz_paint_glyph+4608>: ldr r2, [sp, #244]
0x07e32c48 <fz_paint_glyph+4612>: ldr r7, [r11, #16]
0x07e32c4c <fz_paint_glyph+4616>: add r1, r2, r1
0x07e32c50 <fz_paint_glyph+4620>: mov r2, #0 ; 0x0
0x07e32c54 <fz_paint_glyph+4624>: add r9, r1, #32 ; 0x20
0x07e32c58 <fz_paint_glyph+4628>: cmp r7, #0 ; 0x0
0x07e32c5c <fz_paint_glyph+4632>: beq 0x7e32d04 <fz_paint_glyph+4800>
0x07e32c60 <fz_paint_glyph+4636>: mov r2, #0 ; 0x0
0x07e32c64 <fz_paint_glyph+4640>: ldrb r1, [r9], #1
0x07e32c68 <fz_paint_glyph+4644>: and r6, r1, #3 ; 0x3
0x07e32c6c <fz_paint_glyph+4648>: cmp r6, #2 ; 0x2
0x07e32c70 <fz_paint_glyph+4652>: beq 0x7e32c98 <fz_paint_glyph+4692>
0x07e32c74 <fz_paint_glyph+4656>: cmp r6, #1 ; 0x1
0x07e32c78 <fz_paint_glyph+4660>: beq 0x7e32cb0 <fz_paint_glyph+4716>
0x07e32c7c <fz_paint_glyph+4664>: cmp r6, #0 ; 0x0
0x07e32c80 <fz_paint_glyph+4668>: bne 0x7e32cc8 <fz_paint_glyph+4740>
0x07e32c84 <fz_paint_glyph+4672>: mov r2, r1, lsr #2
0x07e32c88 <fz_paint_glyph+4676>: mov r6, #0 ; 0x0
0x07e32c8c <fz_paint_glyph+4680>: subs r7, r7, r6
0x07e32c90 <fz_paint_glyph+4684>: bne 0x7e32c64 <fz_paint_glyph+4640>
0x07e32c94 <fz_paint_glyph+4688>: b 0x7e32cf4 <fz_paint_glyph+4784>
0x07e32c98 <fz_paint_glyph+4692>: orr r2, r5, r2, lsl #5
0x07e32c9c <fz_paint_glyph+4696>: and r3, r1, #4 ; 0x4
0x07e32ca0 <fz_paint_glyph+4700>: add r6, r2, r1, lsr #3
0x07e32ca4 <fz_paint_glyph+4704>: cmp r6, r7
0x07e32ca8 <fz_paint_glyph+4708>: ble 0x7e32ce0 <fz_paint_glyph+4764>
0x07e32cac <fz_paint_glyph+4712>: b 0x7e32d24 <fz_paint_glyph+4832>
0x07e32cb0 <fz_paint_glyph+4716>: orr r2, r5, r2, lsl #6
0x07e32cb4 <fz_paint_glyph+4720>: add r6, r2, r1, lsr #2
0x07e32cb8 <fz_paint_glyph+4724>: mov r2, #0 ; 0x0
0x07e32cbc <fz_paint_glyph+4728>: cmp r6, r7
0x07e32cc0 <fz_paint_glyph+4732>: ble 0x7e32cec <fz_paint_glyph+4776>
0x07e32cc4 <fz_paint_glyph+4736>: b 0x7e32d3c <fz_paint_glyph+4856>
0x07e32cc8 <fz_paint_glyph+4740>: orr r2, r5, r2, lsl #5
0x07e32ccc <fz_paint_glyph+4744>: and r3, r1, #4 ; 0x4
0x07e32cd0 <fz_paint_glyph+4748>: add r6, r2, r1, lsr #3
0x07e32cd4 <fz_paint_glyph+4752>: cmp r6, r7
0x07e32cd8 <fz_paint_glyph+4756>: bgt 0x7e32d54 <fz_paint_glyph+4880>
0x07e32cdc <fz_paint_glyph+4760>: add r9, r9, r6
0x07e32ce0 <fz_paint_glyph+4764>: mov r2, #0 ; 0x0
0x07e32ce4 <fz_paint_glyph+4768>: cmp r3, #0 ; 0x0
0x07e32ce8 <fz_paint_glyph+4772>: bne 0x7e32d18 <fz_paint_glyph+4820>
0x07e32cec <fz_paint_glyph+4776>: subs r7, r7, r6
0x07e32cf0 <fz_paint_glyph+4780>: bne 0x7e32c64 <fz_paint_glyph+4640>
0x07e32cf4 <fz_paint_glyph+4784>: ldr r1, [r11, #8]
0x07e32cf8 <fz_paint_glyph+4788>: mov r3, #0 ; 0x0
0x07e32cfc <fz_paint_glyph+4792>: mov r4, r1
0x07e32d00 <fz_paint_glyph+4796>: b 0x7e32d1c <fz_paint_glyph+4824>
0x07e32d04 <fz_paint_glyph+4800>: ldr r1, [r11, #8]
0x07e32d08 <fz_paint_glyph+4804>: mov r3, #0 ; 0x0
0x07e32d0c <fz_paint_glyph+4808>: ldr r12, [sp, #256]
0x07e32d10 <fz_paint_glyph+4812>: mov r4, r1
0x07e32d14 <fz_paint_glyph+4816>: b 0x7e32d70 <fz_paint_glyph+4908>
0x07e32d18 <fz_paint_glyph+4820>: mov r4, #0 ; 0x0
0x07e32d1c <fz_paint_glyph+4824>: ldr r12, [sp, #256]
0x07e32d20 <fz_paint_glyph+4828>: b 0x7e32d70 <fz_paint_glyph+4908>
0x07e32d24 <fz_paint_glyph+4832>: ldr r1, [r11, #8]
0x07e32d28 <fz_paint_glyph+4836>: str r3, [sp, #224]
0x07e32d2c <fz_paint_glyph+4840>: sub r3, r6, r7
0x07e32d30 <fz_paint_glyph+4844>: ldr r12, [sp, #256]
0x07e32d34 <fz_paint_glyph+4848>: mov r4, r1
0x07e32d38 <fz_paint_glyph+4852>: b 0x7e32db0 <fz_paint_glyph+4972>
0x07e32d3c <fz_paint_glyph+4856>: ldr r2, [r11, #8]
0x07e32d40 <fz_paint_glyph+4860>: sub r1, r6, r7
0x07e32d44 <fz_paint_glyph+4864>: mov r3, #0 ; 0x0
0x07e32d48 <fz_paint_glyph+4868>: ldr r12, [sp, #256]
0x07e32d4c <fz_paint_glyph+4872>: mov r4, r2
0x07e32d50 <fz_paint_glyph+4876>: b 0x7e32e44 <fz_paint_glyph+5120>
0x07e32d54 <fz_paint_glyph+4880>: ldr r1, [r11, #8]
0x07e32d58 <fz_paint_glyph+4884>: add r9, r9, r7
0x07e32d5c <fz_paint_glyph+4888>: str r3, [sp, #224]
0x07e32d60 <fz_paint_glyph+4892>: sub r3, r6, r7
0x07e32d64 <fz_paint_glyph+4896>: ldr r12, [sp, #256]
0x07e32d68 <fz_paint_glyph+4900>: mov r4, r1
0x07e32d6c <fz_paint_glyph+4904>: b 0x7e32e6c <fz_paint_glyph+5160>
0x07e32d70 <fz_paint_glyph+4908>: cmp r4, #1 ; 0x1
0x07e32d74 <fz_paint_glyph+4912>: blt 0x7e32f24 <fz_paint_glyph+5344>
0x07e32d78 <fz_paint_glyph+4916>: ldrb r1, [r9], #1
0x07e32d7c <fz_paint_glyph+4920>: and r7, r1, #3 ; 0x3
0x07e32d80 <fz_paint_glyph+4924>: cmp r7, #2 ; 0x2
0x07e32d84 <fz_paint_glyph+4928>: beq 0x7e32da0 <fz_paint_glyph+4956>
0x07e32d88 <fz_paint_glyph+4932>: cmp r7, #1 ; 0x1
0x07e32d8c <fz_paint_glyph+4936>: beq 0x7e32e3c <fz_paint_glyph+5112>
0x07e32d90 <fz_paint_glyph+4940>: cmp r7, #0 ; 0x0
0x07e32d94 <fz_paint_glyph+4944>: bne 0x7e32e5c <fz_paint_glyph+5144>
0x07e32d98 <fz_paint_glyph+4948>: mov r2, r1, lsr #2
0x07e32d9c <fz_paint_glyph+4952>: b 0x7e32f18 <fz_paint_glyph+5332>
0x07e32da0 <fz_paint_glyph+4956>: orr r7, r5, r2, lsl #5
0x07e32da4 <fz_paint_glyph+4960>: add r3, r7, r1, lsr #3
0x07e32da8 <fz_paint_glyph+4964>: and r1, r1, #4 ; 0x4
0x07e32dac <fz_paint_glyph+4968>: str r1, [sp, #224]
0x07e32db0 <fz_paint_glyph+4972>: cmp r3, r4
0x07e32db4 <fz_paint_glyph+4976>: mov lr, r4
0x07e32db8 <fz_paint_glyph+4980>: movgt r3, r4
0x07e32dbc <fz_paint_glyph+4984>: mov r7, r3
0x07e32dc0 <fz_paint_glyph+4988>: mov r1, r12
0x07e32dc4 <fz_paint_glyph+4992>: mov r6, #0 ; 0x0
0x07e32dc8 <fz_paint_glyph+4996>: mov r2, r6, asr #5
0x07e32dcc <fz_paint_glyph+5000>: and r4, r6, #31 ; 0x1f
0x07e32dd0 <fz_paint_glyph+5004>: ldr r2, [r10, r2, lsl #2]
0x07e32dd4 <fz_paint_glyph+5008>: tst r2, r5, lsl r4
0x07e32dd8 <fz_paint_glyph+5012>: bne 0x7e32dfc <fz_paint_glyph+5048>
0x07e32ddc <fz_paint_glyph+5016>: ldr r4, [sp, #260]
0x07e32de0 <fz_paint_glyph+5020>: ldrb r2, [r1, r6]
0x07e32de4 <fz_paint_glyph+5024>: ldrb r4, [r4, r6]
0x07e32de8 <fz_paint_glyph+5028>: sub r4, r4, r2
0x07e32dec <fz_paint_glyph+5032>: smulbb r4, r4, r0
0x07e32df0 <fz_paint_glyph+5036>: add r2, r4, r2, lsl #8
0x07e32df4 <fz_paint_glyph+5040>: mov r2, r2, lsr #8
0x07e32df8 <fz_paint_glyph+5044>: strb r2, [r1, r6]
0x07e32dfc <fz_paint_glyph+5048>: add r6, r6, #1 ; 0x1
0x07e32e00 <fz_paint_glyph+5052>: cmp r8, r6
0x07e32e04 <fz_paint_glyph+5056>: bne 0x7e32dc8 <fz_paint_glyph+4996>
0x07e32e08 <fz_paint_glyph+5060>: mov r12, r1
0x07e32e0c <fz_paint_glyph+5064>: subs r7, r7, #1 ; 0x1
0x07e32e10 <fz_paint_glyph+5068>: ldrb r2, [r12, r6]!
0x07e32e14 <fz_paint_glyph+5072>: eor r4, r2, #255 ; 0xff
0x07e32e18 <fz_paint_glyph+5076>: smulbb r4, r4, r0
0x07e32e1c <fz_paint_glyph+5080>: add r2, r4, r2, lsl #8
0x07e32e20 <fz_paint_glyph+5084>: mov r2, r2, lsr #8
0x07e32e24 <fz_paint_glyph+5088>: strb r2, [r12], #1
0x07e32e28 <fz_paint_glyph+5092>: bne 0x7e32dc0 <fz_paint_glyph+4988>
0x07e32e2c <fz_paint_glyph+5096>: mov r4, lr
0x07e32e30 <fz_paint_glyph+5100>: add r1, r1, r6
0x07e32e34 <fz_paint_glyph+5104>: sub r4, lr, r3
0x07e32e38 <fz_paint_glyph+5108>: b 0x7e32f08 <fz_paint_glyph+5316>
0x07e32e3c <fz_paint_glyph+5112>: orr r7, r5, r2, lsl #6
0x07e32e40 <fz_paint_glyph+5116>: add r1, r7, r1, lsr #2
0x07e32e44 <fz_paint_glyph+5120>: ldr r2, [sp, #160]
0x07e32e48 <fz_paint_glyph+5124>: cmp r1, r4
0x07e32e4c <fz_paint_glyph+5128>: movgt r1, r4
0x07e32e50 <fz_paint_glyph+5132>: sub r4, r4, r1
0x07e32e54 <fz_paint_glyph+5136>: mla r12, r1, r2, r12
0x07e32e58 <fz_paint_glyph+5140>: b 0x7e32f14 <fz_paint_glyph+5328>
0x07e32e5c <fz_paint_glyph+5144>: orr r2, r5, r2, lsl #5
0x07e32e60 <fz_paint_glyph+5148>: add r3, r2, r1, lsr #3
0x07e32e64 <fz_paint_glyph+5152>: and r1, r1, #4 ; 0x4
0x07e32e68 <fz_paint_glyph+5156>: str r1, [sp, #224]
0x07e32e6c <fz_paint_glyph+5160>: cmp r3, r4
0x07e32e70 <fz_paint_glyph+5164>: str r4, [sp, #176]
0x07e32e74 <fz_paint_glyph+5168>: movgt r3, r4
0x07e32e78 <fz_paint_glyph+5172>: mov r6, r3
0x07e32e7c <fz_paint_glyph+5176>: ldrb r1, [r9]
0x07e32e80 <fz_paint_glyph+5180>: mov r7, r12
0x07e32e84 <fz_paint_glyph+5184>: add r1, r1, r1, lsr #7
0x07e32e88 <fz_paint_glyph+5188>: smulbb r1, r1, r0
0x07e32e8c <fz_paint_glyph+5192>: mov lr, r1, lsr #8
0x07e32e90 <fz_paint_glyph+5196>: mov r1, #0 ; 0x0
0x07e32e94 <fz_paint_glyph+5200>: mov r2, r1, asr #5
0x07e32e98 <fz_paint_glyph+5204>: and r4, r1, #31 ; 0x1f
0x07e32e9c <fz_paint_glyph+5208>: ldr r2, [r10, r2, lsl #2]
0x07e32ea0 <fz_paint_glyph+5212>: tst r2, r5, lsl r4
0x07e32ea4 <fz_paint_glyph+5216>: bne 0x7e32ec8 <fz_paint_glyph+5252>
0x07e32ea8 <fz_paint_glyph+5220>: ldr r4, [sp, #260]
0x07e32eac <fz_paint_glyph+5224>: ldrb r2, [r7, r1]
0x07e32eb0 <fz_paint_glyph+5228>: ldrb r4, [r4, r1]
0x07e32eb4 <fz_paint_glyph+5232>: sub r4, r4, r2
0x07e32eb8 <fz_paint_glyph+5236>: smulbb r4, r4, lr
0x07e32ebc <fz_paint_glyph+5240>: add r2, r4, r2, lsl #8
0x07e32ec0 <fz_paint_glyph+5244>: mov r2, r2, lsr #8
0x07e32ec4 <fz_paint_glyph+5248>: strb r2, [r7, r1]
0x07e32ec8 <fz_paint_glyph+5252>: add r1, r1, #1 ; 0x1
0x07e32ecc <fz_paint_glyph+5256>: cmp r8, r1
0x07e32ed0 <fz_paint_glyph+5260>: bne 0x7e32e94 <fz_paint_glyph+5200>
0x07e32ed4 <fz_paint_glyph+5264>: mov r12, r7
0x07e32ed8 <fz_paint_glyph+5268>: subs r6, r6, #1 ; 0x1
0x07e32edc <fz_paint_glyph+5272>: ldrb r2, [r12, r1]!
0x07e32ee0 <fz_paint_glyph+5276>: add r9, r9, #1 ; 0x1
0x07e32ee4 <fz_paint_glyph+5280>: eor r4, r2, #255 ; 0xff
0x07e32ee8 <fz_paint_glyph+5284>: smulbb r4, r4, lr
0x07e32eec <fz_paint_glyph+5288>: add r2, r4, r2, lsl #8
0x07e32ef0 <fz_paint_glyph+5292>: mov r2, r2, lsr #8
0x07e32ef4 <fz_paint_glyph+5296>: strb r2, [r12], #1
0x07e32ef8 <fz_paint_glyph+5300>: bne 0x7e32e7c <fz_paint_glyph+5176>
0x07e32efc <fz_paint_glyph+5304>: ldr r4, [sp, #176]
0x07e32f00 <fz_paint_glyph+5308>: add r1, r7, r1
0x07e32f04 <fz_paint_glyph+5312>: sub r4, r4, r3
0x07e32f08 <fz_paint_glyph+5316>: ldr lr, [sp, #192]
0x07e32f0c <fz_paint_glyph+5320>: add r12, r1, #1 ; 0x1
0x07e32f10 <fz_paint_glyph+5324>: ldr r3, [sp, #224]
0x07e32f14 <fz_paint_glyph+5328>: mov r2, #0 ; 0x0
0x07e32f18 <fz_paint_glyph+5332>: cmp r3, #0 ; 0x0
0x07e32f1c <fz_paint_glyph+5336>: mov r3, #0 ; 0x0
0x07e32f20 <fz_paint_glyph+5340>: beq 0x7e32d70 <fz_paint_glyph+4908>
0x07e32f24 <fz_paint_glyph+5344>: ldr r4, [sp, #248]
0x07e32f28 <fz_paint_glyph+5348>: ldr r12, [sp, #252]
0x07e32f2c <fz_paint_glyph+5352>: add r4, r4, #1 ; 0x1
0x07e32f30 <fz_paint_glyph+5356>: ldr r1, [sp, #220]
0x07e32f34 <fz_paint_glyph+5360>: ldr r2, [sp, #256]
0x07e32f38 <fz_paint_glyph+5364>: cmp r12, #0 ; 0x0
0x07e32f3c <fz_paint_glyph+5368>: add r2, r2, r1
0x07e32f40 <fz_paint_glyph+5372>: str r2, [sp, #256]
0x07e32f44 <fz_paint_glyph+5376>: bne 0x7e32c2c <fz_paint_glyph+4584>
0x07e32f48 <fz_paint_glyph+5380>: b 0x7e32288 <fz_paint_glyph+2116>
0x07e32f4c <fz_paint_glyph+5384>: cmp lr, #0 ; 0x0
0x07e32f50 <fz_paint_glyph+5388>: beq 0x7e35c94 <fz_paint_glyph+16976>
0x07e32f54 <fz_paint_glyph+5392>: cmp r5, #0 ; 0x0
0x07e32f58 <fz_paint_glyph+5396>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e32f5c <fz_paint_glyph+5400>: ldr r0, [sp, #244]
0x07e32f60 <fz_paint_glyph+5404>: mov r12, r2
0x07e32f64 <fz_paint_glyph+5408>: mov r10, #1 ; 0x1
0x07e32f68 <fz_paint_glyph+5412>: add r9, r0, #32 ; 0x20
0x07e32f6c <fz_paint_glyph+5416>: str r9, [sp, #144]
0x07e32f70 <fz_paint_glyph+5420>: ldr r0, [r9, r12, lsl #2]
0x07e32f74 <fz_paint_glyph+5424>: sub r5, r5, #1 ; 0x1
0x07e32f78 <fz_paint_glyph+5428>: str r5, [sp, #252]
0x07e32f7c <fz_paint_glyph+5432>: cmp r0, #0 ; 0x0
0x07e32f80 <fz_paint_glyph+5436>: blt 0x7e33298 <fz_paint_glyph+6228>
0x07e32f84 <fz_paint_glyph+5440>: ldr r1, [sp, #244]
0x07e32f88 <fz_paint_glyph+5444>: mov r4, #0 ; 0x0
0x07e32f8c <fz_paint_glyph+5448>: ldr r7, [r11, #16]
0x07e32f90 <fz_paint_glyph+5452>: add r0, r1, r0
0x07e32f94 <fz_paint_glyph+5456>: add r2, r0, #32 ; 0x20
0x07e32f98 <fz_paint_glyph+5460>: cmp r7, #0 ; 0x0
0x07e32f9c <fz_paint_glyph+5464>: beq 0x7e33038 <fz_paint_glyph+5620>
0x07e32fa0 <fz_paint_glyph+5468>: ldr r3, [sp, #260]
0x07e32fa4 <fz_paint_glyph+5472>: mov r4, #0 ; 0x0
0x07e32fa8 <fz_paint_glyph+5476>: ldrb r1, [r2], #1
0x07e32fac <fz_paint_glyph+5480>: and r0, r1, #3 ; 0x3
0x07e32fb0 <fz_paint_glyph+5484>: cmp r0, #2 ; 0x2
0x07e32fb4 <fz_paint_glyph+5488>: beq 0x7e32fdc <fz_paint_glyph+5528>
0x07e32fb8 <fz_paint_glyph+5492>: cmp r0, #1 ; 0x1
0x07e32fbc <fz_paint_glyph+5496>: beq 0x7e32ff4 <fz_paint_glyph+5552>
0x07e32fc0 <fz_paint_glyph+5500>: cmp r0, #0 ; 0x0
0x07e32fc4 <fz_paint_glyph+5504>: bne 0x7e3300c <fz_paint_glyph+5576>
0x07e32fc8 <fz_paint_glyph+5508>: mov r4, r1, lsr #2
0x07e32fcc <fz_paint_glyph+5512>: mov r0, #0 ; 0x0
0x07e32fd0 <fz_paint_glyph+5516>: subs r7, r7, r0
0x07e32fd4 <fz_paint_glyph+5520>: bne 0x7e32fa8 <fz_paint_glyph+5476>
0x07e32fd8 <fz_paint_glyph+5524>: b 0x7e33038 <fz_paint_glyph+5620>
0x07e32fdc <fz_paint_glyph+5528>: orr r0, r10, r4, lsl #5
0x07e32fe0 <fz_paint_glyph+5532>: and lr, r1, #4 ; 0x4
0x07e32fe4 <fz_paint_glyph+5536>: add r0, r0, r1, lsr #3
0x07e32fe8 <fz_paint_glyph+5540>: cmp r0, r7
0x07e32fec <fz_paint_glyph+5544>: ble 0x7e33024 <fz_paint_glyph+5600>
0x07e32ff0 <fz_paint_glyph+5548>: b 0x7e33058 <fz_paint_glyph+5652>
0x07e32ff4 <fz_paint_glyph+5552>: orr r0, r10, r4, lsl #6
0x07e32ff8 <fz_paint_glyph+5556>: mov r4, #0 ; 0x0
0x07e32ffc <fz_paint_glyph+5560>: add r0, r0, r1, lsr #2
0x07e33000 <fz_paint_glyph+5564>: cmp r0, r7
0x07e33004 <fz_paint_glyph+5568>: ble 0x7e33030 <fz_paint_glyph+5612>
0x07e33008 <fz_paint_glyph+5572>: b 0x7e3306c <fz_paint_glyph+5672>
0x07e3300c <fz_paint_glyph+5576>: orr r0, r10, r4, lsl #5
0x07e33010 <fz_paint_glyph+5580>: and lr, r1, #4 ; 0x4
0x07e33014 <fz_paint_glyph+5584>: add r0, r0, r1, lsr #3
0x07e33018 <fz_paint_glyph+5588>: cmp r0, r7
0x07e3301c <fz_paint_glyph+5592>: bgt 0x7e33084 <fz_paint_glyph+5696>
0x07e33020 <fz_paint_glyph+5596>: add r2, r2, r0
0x07e33024 <fz_paint_glyph+5600>: mov r4, #0 ; 0x0
0x07e33028 <fz_paint_glyph+5604>: cmp lr, #0 ; 0x0
0x07e3302c <fz_paint_glyph+5608>: bne 0x7e3304c <fz_paint_glyph+5640>
0x07e33030 <fz_paint_glyph+5612>: subs r7, r7, r0
0x07e33034 <fz_paint_glyph+5616>: bne 0x7e32fa8 <fz_paint_glyph+5476>
0x07e33038 <fz_paint_glyph+5620>: ldr r0, [r11, #8]
0x07e3303c <fz_paint_glyph+5624>: mov lr, #0 ; 0x0
0x07e33040 <fz_paint_glyph+5628>: ldr r7, [sp, #256]
0x07e33044 <fz_paint_glyph+5632>: mov r6, r0
0x07e33048 <fz_paint_glyph+5636>: b 0x7e330a4 <fz_paint_glyph+5728>
0x07e3304c <fz_paint_glyph+5640>: ldr r7, [sp, #256]
0x07e33050 <fz_paint_glyph+5644>: mov r6, #0 ; 0x0
0x07e33054 <fz_paint_glyph+5648>: b 0x7e330a4 <fz_paint_glyph+5728>
0x07e33058 <fz_paint_glyph+5652>: sub r8, r0, r7
0x07e3305c <fz_paint_glyph+5656>: str r12, [sp, #248]
0x07e33060 <fz_paint_glyph+5660>: ldr r7, [sp, #256]
0x07e33064 <fz_paint_glyph+5664>: ldr r9, [r11, #8]
0x07e33068 <fz_paint_glyph+5668>: b 0x7e330e8 <fz_paint_glyph+5796>
0x07e3306c <fz_paint_glyph+5672>: ldr r1, [r11, #8]
0x07e33070 <fz_paint_glyph+5676>: sub r0, r0, r7
0x07e33074 <fz_paint_glyph+5680>: mov lr, #0 ; 0x0
0x07e33078 <fz_paint_glyph+5684>: ldr r7, [sp, #256]
0x07e3307c <fz_paint_glyph+5688>: mov r6, r1
0x07e33080 <fz_paint_glyph+5692>: b 0x7e33160 <fz_paint_glyph+5916>
0x07e33084 <fz_paint_glyph+5696>: sub r1, r0, r7
0x07e33088 <fz_paint_glyph+5700>: ldr r0, [r11, #8]
0x07e3308c <fz_paint_glyph+5704>: add r2, r2, r7
0x07e33090 <fz_paint_glyph+5708>: str lr, [sp, #112]
0x07e33094 <fz_paint_glyph+5712>: str r12, [sp, #248]
0x07e33098 <fz_paint_glyph+5716>: ldr r7, [sp, #256]
0x07e3309c <fz_paint_glyph+5720>: mov r6, r0
0x07e330a0 <fz_paint_glyph+5724>: b 0x7e33194 <fz_paint_glyph+5968>
0x07e330a4 <fz_paint_glyph+5728>: cmp r6, #1 ; 0x1
0x07e330a8 <fz_paint_glyph+5732>: blt 0x7e33298 <fz_paint_glyph+6228>
0x07e330ac <fz_paint_glyph+5736>: ldrb r0, [r2], #1
0x07e330b0 <fz_paint_glyph+5740>: and r1, r0, #3 ; 0x3
0x07e330b4 <fz_paint_glyph+5744>: cmp r1, #2 ; 0x2
0x07e330b8 <fz_paint_glyph+5748>: beq 0x7e330d4 <fz_paint_glyph+5776>
0x07e330bc <fz_paint_glyph+5752>: cmp r1, #1 ; 0x1
0x07e330c0 <fz_paint_glyph+5756>: beq 0x7e33158 <fz_paint_glyph+5908>
0x07e330c4 <fz_paint_glyph+5760>: cmp r1, #0 ; 0x0
0x07e330c8 <fz_paint_glyph+5764>: bne 0x7e3317c <fz_paint_glyph+5944>
0x07e330cc <fz_paint_glyph+5768>: mov r4, r0, lsr #2
0x07e330d0 <fz_paint_glyph+5772>: b 0x7e3328c <fz_paint_glyph+6216>
0x07e330d4 <fz_paint_glyph+5776>: orr r1, r10, r4, lsl #5
0x07e330d8 <fz_paint_glyph+5780>: and lr, r0, #4 ; 0x4
0x07e330dc <fz_paint_glyph+5784>: add r8, r1, r0, lsr #3
0x07e330e0 <fz_paint_glyph+5788>: mov r9, r6
0x07e330e4 <fz_paint_glyph+5792>: str r12, [sp, #248]
0x07e330e8 <fz_paint_glyph+5796>: ldr r3, [sp, #260]
0x07e330ec <fz_paint_glyph+5800>: cmp r8, r9
0x07e330f0 <fz_paint_glyph+5804>: mvn r12, r8
0x07e330f4 <fz_paint_glyph+5808>: movgt r8, r9
0x07e330f8 <fz_paint_glyph+5812>: str r9, [sp, #160]
0x07e330fc <fz_paint_glyph+5816>: ldrb r0, [r3]
0x07e33100 <fz_paint_glyph+5820>: ldrb r1, [r3, #1]
0x07e33104 <fz_paint_glyph+5824>: ldrb r5, [r3, #2]
0x07e33108 <fz_paint_glyph+5828>: ldrb r6, [r3, #3]
0x07e3310c <fz_paint_glyph+5832>: ldrb r4, [r3, #4]
0x07e33110 <fz_paint_glyph+5836>: mvn r3, r9
0x07e33114 <fz_paint_glyph+5840>: cmp r3, r12
0x07e33118 <fz_paint_glyph+5844>: ldr r9, [sp, #144]
0x07e3311c <fz_paint_glyph+5848>: movgt r12, r3
0x07e33120 <fz_paint_glyph+5852>: add r3, r12, #1 ; 0x1
0x07e33124 <fz_paint_glyph+5856>: ldr r12, [sp, #248]
0x07e33128 <fz_paint_glyph+5860>: strb r4, [r7, #4]
0x07e3312c <fz_paint_glyph+5864>: adds r3, r3, #1 ; 0x1
0x07e33130 <fz_paint_glyph+5868>: strb r6, [r7, #3]
0x07e33134 <fz_paint_glyph+5872>: strb r5, [r7, #2]
0x07e33138 <fz_paint_glyph+5876>: strb r1, [r7, #1]
0x07e3313c <fz_paint_glyph+5880>: strb r0, [r7]
0x07e33140 <fz_paint_glyph+5884>: add r7, r7, #5 ; 0x5
0x07e33144 <fz_paint_glyph+5888>: bne 0x7e33128 <fz_paint_glyph+5860>
0x07e33148 <fz_paint_glyph+5892>: ldr r6, [sp, #160]
0x07e3314c <fz_paint_glyph+5896>: mov r4, #0 ; 0x0
0x07e33150 <fz_paint_glyph+5900>: sub r6, r6, r8
0x07e33154 <fz_paint_glyph+5904>: b 0x7e3328c <fz_paint_glyph+6216>
0x07e33158 <fz_paint_glyph+5908>: orr r1, r10, r4, lsl #6
0x07e3315c <fz_paint_glyph+5912>: add r0, r1, r0, lsr #2
0x07e33160 <fz_paint_glyph+5916>: cmp r0, r6
0x07e33164 <fz_paint_glyph+5920>: mov r4, #0 ; 0x0
0x07e33168 <fz_paint_glyph+5924>: movgt r0, r6
0x07e3316c <fz_paint_glyph+5928>: sub r6, r6, r0
0x07e33170 <fz_paint_glyph+5932>: add r0, r0, r0, lsl #2
0x07e33174 <fz_paint_glyph+5936>: add r7, r7, r0
0x07e33178 <fz_paint_glyph+5940>: b 0x7e3328c <fz_paint_glyph+6216>
0x07e3317c <fz_paint_glyph+5944>: orr r1, r10, r4, lsl #5
0x07e33180 <fz_paint_glyph+5948>: ldr r3, [sp, #260]
0x07e33184 <fz_paint_glyph+5952>: add r1, r1, r0, lsr #3
0x07e33188 <fz_paint_glyph+5956>: and r0, r0, #4 ; 0x4
0x07e3318c <fz_paint_glyph+5960>: str r12, [sp, #248]
0x07e33190 <fz_paint_glyph+5964>: str r0, [sp, #112]
0x07e33194 <fz_paint_glyph+5968>: ldrb r0, [r3]
0x07e33198 <fz_paint_glyph+5972>: cmp r1, r6
0x07e3319c <fz_paint_glyph+5976>: str r0, [sp, #224]
0x07e331a0 <fz_paint_glyph+5980>: mvn r5, r1
0x07e331a4 <fz_paint_glyph+5984>: ldrb r0, [r3, #1]
0x07e331a8 <fz_paint_glyph+5988>: movgt r1, r6
0x07e331ac <fz_paint_glyph+5992>: str r0, [sp, #192]
0x07e331b0 <fz_paint_glyph+5996>: ldrb r0, [r3, #2]
0x07e331b4 <fz_paint_glyph+6000>: ldrb r12, [r3, #3]
0x07e331b8 <fz_paint_glyph+6004>: mvn r3, r6
0x07e331bc <fz_paint_glyph+6008>: cmp r3, r5
0x07e331c0 <fz_paint_glyph+6012>: str r0, [sp, #176]
0x07e331c4 <fz_paint_glyph+6016>: movgt r5, r3
0x07e331c8 <fz_paint_glyph+6020>: str r6, [sp, #160]
0x07e331cc <fz_paint_glyph+6024>: add r5, r5, #1 ; 0x1
0x07e331d0 <fz_paint_glyph+6028>: str r1, [sp, #128]
0x07e331d4 <fz_paint_glyph+6032>: ldrb r3, [r2], #1
0x07e331d8 <fz_paint_glyph+6036>: adds r5, r5, #1 ; 0x1
0x07e331dc <fz_paint_glyph+6040>: ldrb r0, [r7]
0x07e331e0 <fz_paint_glyph+6044>: ldr r1, [sp, #224]
0x07e331e4 <fz_paint_glyph+6048>: add r3, r3, r3, lsr #7
0x07e331e8 <fz_paint_glyph+6052>: ldrb lr, [r7, #1]
0x07e331ec <fz_paint_glyph+6056>: sub r10, r1, r0
0x07e331f0 <fz_paint_glyph+6060>: ldrb r9, [r7, #3]
0x07e331f4 <fz_paint_glyph+6064>: ldrb r8, [r7, #2]
0x07e331f8 <fz_paint_glyph+6068>: smulbb r6, r10, r3
0x07e331fc <fz_paint_glyph+6072>: ldr r4, [sp, #176]
0x07e33200 <fz_paint_glyph+6076>: sub r1, r12, r9
0x07e33204 <fz_paint_glyph+6080>: sub r4, r4, r8
0x07e33208 <fz_paint_glyph+6084>: smulbb r1, r1, r3
0x07e3320c <fz_paint_glyph+6088>: add r0, r6, r0, lsl #8
0x07e33210 <fz_paint_glyph+6092>: mov r0, r0, lsr #8
0x07e33214 <fz_paint_glyph+6096>: strb r0, [r7]
0x07e33218 <fz_paint_glyph+6100>: add r1, r1, r9, lsl #8
0x07e3321c <fz_paint_glyph+6104>: ldr r0, [sp, #192]
0x07e33220 <fz_paint_glyph+6108>: mov r1, r1, lsr #8
0x07e33224 <fz_paint_glyph+6112>: sub r0, r0, lr
0x07e33228 <fz_paint_glyph+6116>: smulbb r0, r0, r3
0x07e3322c <fz_paint_glyph+6120>: add r0, r0, lr, lsl #8
0x07e33230 <fz_paint_glyph+6124>: mov r0, r0, lsr #8
0x07e33234 <fz_paint_glyph+6128>: strb r0, [r7, #1]
0x07e33238 <fz_paint_glyph+6132>: ldrb r0, [r7, #4]
0x07e3323c <fz_paint_glyph+6136>: eor r6, r0, #255 ; 0xff
0x07e33240 <fz_paint_glyph+6140>: smulbb r6, r6, r3
0x07e33244 <fz_paint_glyph+6144>: smulbb r3, r4, r3
0x07e33248 <fz_paint_glyph+6148>: add r0, r6, r0, lsl #8
0x07e3324c <fz_paint_glyph+6152>: add r3, r3, r8, lsl #8
0x07e33250 <fz_paint_glyph+6156>: mov r0, r0, lsr #8
0x07e33254 <fz_paint_glyph+6160>: mov r3, r3, lsr #8
0x07e33258 <fz_paint_glyph+6164>: strb r3, [r7, #2]
0x07e3325c <fz_paint_glyph+6168>: strb r1, [r7, #3]
0x07e33260 <fz_paint_glyph+6172>: strb r0, [r7, #4]
0x07e33264 <fz_paint_glyph+6176>: add r7, r7, #5 ; 0x5
0x07e33268 <fz_paint_glyph+6180>: bne 0x7e331d4 <fz_paint_glyph+6032>
0x07e3326c <fz_paint_glyph+6184>: ldr r6, [sp, #160]
0x07e33270 <fz_paint_glyph+6188>: mov r4, #0 ; 0x0
0x07e33274 <fz_paint_glyph+6192>: ldr r0, [sp, #128]
0x07e33278 <fz_paint_glyph+6196>: mov r10, #1 ; 0x1
0x07e3327c <fz_paint_glyph+6200>: ldr r12, [sp, #248]
0x07e33280 <fz_paint_glyph+6204>: ldr r9, [sp, #144]
0x07e33284 <fz_paint_glyph+6208>: sub r6, r6, r0
0x07e33288 <fz_paint_glyph+6212>: ldr lr, [sp, #112]
0x07e3328c <fz_paint_glyph+6216>: cmp lr, #0 ; 0x0
0x07e33290 <fz_paint_glyph+6220>: mov lr, #0 ; 0x0
0x07e33294 <fz_paint_glyph+6224>: beq 0x7e330a4 <fz_paint_glyph+5728>
0x07e33298 <fz_paint_glyph+6228>: ldr r5, [sp, #252]
0x07e3329c <fz_paint_glyph+6232>: add r12, r12, #1 ; 0x1
0x07e332a0 <fz_paint_glyph+6236>: ldr r0, [sp, #256]
0x07e332a4 <fz_paint_glyph+6240>: ldr r1, [sp, #220]
0x07e332a8 <fz_paint_glyph+6244>: cmp r5, #0 ; 0x0
0x07e332ac <fz_paint_glyph+6248>: add r0, r0, r1
0x07e332b0 <fz_paint_glyph+6252>: str r0, [sp, #256]
0x07e332b4 <fz_paint_glyph+6256>: bne 0x7e32f70 <fz_paint_glyph+5420>
0x07e332b8 <fz_paint_glyph+6260>: b 0x7e32288 <fz_paint_glyph+2116>
0x07e332bc <fz_paint_glyph+6264>: cmp lr, #0 ; 0x0
0x07e332c0 <fz_paint_glyph+6268>: beq 0x7e362bc <fz_paint_glyph+18552>
0x07e332c4 <fz_paint_glyph+6272>: cmp r5, #0 ; 0x0
0x07e332c8 <fz_paint_glyph+6276>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e332cc <fz_paint_glyph+6280>: ldr r0, [sp, #260]
0x07e332d0 <fz_paint_glyph+6284>: add lr, sp, #48 ; 0x30
0x07e332d4 <fz_paint_glyph+6288>: mov r12, r2
0x07e332d8 <fz_paint_glyph+6292>: mov r6, #1 ; 0x1
0x07e332dc <fz_paint_glyph+6296>: ldr r9, [r0]
0x07e332e0 <fz_paint_glyph+6300>: ldr r0, [sp, #244]
0x07e332e4 <fz_paint_glyph+6304>: str r9, [sp, #72]
0x07e332e8 <fz_paint_glyph+6308>: mcr 11, 5, r9, cr0, cr0, {4}
0x07e332ec <fz_paint_glyph+6312>: add r8, r0, #32 ; 0x20
0x07e332f0 <fz_paint_glyph+6316>: str r8, [sp, #76]
0x07e332f4 <fz_paint_glyph+6320>: strnvb r0, [lr], #-2799
0x07e332f8 <fz_paint_glyph+6324>: ldr r0, [r8, r12, lsl #2]
0x07e332fc <fz_paint_glyph+6328>: mov lr, r12
0x07e33300 <fz_paint_glyph+6332>: sub r5, r5, #1 ; 0x1
0x07e33304 <fz_paint_glyph+6336>: str r5, [sp, #252]
0x07e33308 <fz_paint_glyph+6340>: cmp r0, #0 ; 0x0
0x07e3330c <fz_paint_glyph+6344>: blt 0x7e333d4 <fz_paint_glyph+6544>
0x07e33310 <fz_paint_glyph+6348>: ldr r1, [sp, #244]
0x07e33314 <fz_paint_glyph+6352>: ldr r2, [r11, #16]
0x07e33318 <fz_paint_glyph+6356>: add r0, r1, r0
0x07e3331c <fz_paint_glyph+6360>: ldr r10, [sp, #256]
0x07e33320 <fz_paint_glyph+6364>: add r12, r0, #32 ; 0x20
0x07e33324 <fz_paint_glyph+6368>: mov r1, #0 ; 0x0
0x07e33328 <fz_paint_glyph+6372>: cmp r2, #0 ; 0x0
0x07e3332c <fz_paint_glyph+6376>: beq 0x7e333dc <fz_paint_glyph+6552>
0x07e33330 <fz_paint_glyph+6380>: mov r1, #0 ; 0x0
0x07e33334 <fz_paint_glyph+6384>: ldrb r7, [r12], #1
0x07e33338 <fz_paint_glyph+6388>: and r0, r7, #3 ; 0x3
0x07e3333c <fz_paint_glyph+6392>: cmp r0, #2 ; 0x2
0x07e33340 <fz_paint_glyph+6396>: beq 0x7e33368 <fz_paint_glyph+6436>
0x07e33344 <fz_paint_glyph+6400>: cmp r0, #1 ; 0x1
0x07e33348 <fz_paint_glyph+6404>: beq 0x7e33380 <fz_paint_glyph+6460>
0x07e3334c <fz_paint_glyph+6408>: cmp r0, #0 ; 0x0
0x07e33350 <fz_paint_glyph+6412>: bne 0x7e33398 <fz_paint_glyph+6484>
0x07e33354 <fz_paint_glyph+6416>: mov r1, r7, lsr #2
0x07e33358 <fz_paint_glyph+6420>: mov r3, #0 ; 0x0
0x07e3335c <fz_paint_glyph+6424>: subs r2, r2, r3
0x07e33360 <fz_paint_glyph+6428>: bne 0x7e33334 <fz_paint_glyph+6384>
0x07e33364 <fz_paint_glyph+6432>: b 0x7e333c4 <fz_paint_glyph+6528>
0x07e33368 <fz_paint_glyph+6436>: orr r0, r6, r1, lsl #5
0x07e3336c <fz_paint_glyph+6440>: and r4, r7, #4 ; 0x4
0x07e33370 <fz_paint_glyph+6444>: add r3, r0, r7, lsr #3
0x07e33374 <fz_paint_glyph+6448>: cmp r3, r2
0x07e33378 <fz_paint_glyph+6452>: ble 0x7e333b0 <fz_paint_glyph+6508>
0x07e3337c <fz_paint_glyph+6456>: b 0x7e333fc <fz_paint_glyph+6584>
0x07e33380 <fz_paint_glyph+6460>: orr r0, r6, r1, lsl #6
0x07e33384 <fz_paint_glyph+6464>: mov r1, #0 ; 0x0
0x07e33388 <fz_paint_glyph+6468>: add r3, r0, r7, lsr #2
0x07e3338c <fz_paint_glyph+6472>: cmp r3, r2
0x07e33390 <fz_paint_glyph+6476>: ble 0x7e333bc <fz_paint_glyph+6520>
0x07e33394 <fz_paint_glyph+6480>: b 0x7e33410 <fz_paint_glyph+6604>
0x07e33398 <fz_paint_glyph+6484>: orr r0, r6, r1, lsl #5
0x07e3339c <fz_paint_glyph+6488>: and r4, r7, #4 ; 0x4
0x07e333a0 <fz_paint_glyph+6492>: add r3, r0, r7, lsr #3
0x07e333a4 <fz_paint_glyph+6496>: cmp r3, r2
0x07e333a8 <fz_paint_glyph+6500>: bgt 0x7e33428 <fz_paint_glyph+6628>
0x07e333ac <fz_paint_glyph+6504>: add r12, r12, r3
0x07e333b0 <fz_paint_glyph+6508>: mov r1, #0 ; 0x0
0x07e333b4 <fz_paint_glyph+6512>: cmp r4, #0 ; 0x0
0x07e333b8 <fz_paint_glyph+6516>: bne 0x7e333f0 <fz_paint_glyph+6572>
0x07e333bc <fz_paint_glyph+6520>: subs r2, r2, r3
0x07e333c0 <fz_paint_glyph+6524>: bne 0x7e33334 <fz_paint_glyph+6384>
0x07e333c4 <fz_paint_glyph+6528>: ldr r0, [r11, #8]
0x07e333c8 <fz_paint_glyph+6532>: mov r4, #0 ; 0x0
0x07e333cc <fz_paint_glyph+6536>: mov r5, r10
0x07e333d0 <fz_paint_glyph+6540>: b 0x7e333e8 <fz_paint_glyph+6564>
0x07e333d4 <fz_paint_glyph+6544>: ldr r10, [sp, #256]
0x07e333d8 <fz_paint_glyph+6548>: b 0x7e338cc <fz_paint_glyph+7816>
0x07e333dc <fz_paint_glyph+6552>: ldr r0, [r11, #8]
0x07e333e0 <fz_paint_glyph+6556>: mov r5, r10
0x07e333e4 <fz_paint_glyph+6560>: mov r4, #0 ; 0x0
0x07e333e8 <fz_paint_glyph+6564>: mov r7, r0
0x07e333ec <fz_paint_glyph+6568>: b 0x7e33448 <fz_paint_glyph+6660>
0x07e333f0 <fz_paint_glyph+6572>: mov r5, r10
0x07e333f4 <fz_paint_glyph+6576>: mov r7, #0 ; 0x0
0x07e333f8 <fz_paint_glyph+6580>: b 0x7e33448 <fz_paint_glyph+6660>
0x07e333fc <fz_paint_glyph+6584>: ldr r0, [r11, #8]
0x07e33400 <fz_paint_glyph+6588>: sub r1, r3, r2
0x07e33404 <fz_paint_glyph+6592>: mov r3, r10
0x07e33408 <fz_paint_glyph+6596>: mov r7, r0
0x07e3340c <fz_paint_glyph+6600>: b 0x7e33488 <fz_paint_glyph+6724>
0x07e33410 <fz_paint_glyph+6604>: ldr r0, [r11, #8]
0x07e33414 <fz_paint_glyph+6608>: sub r1, r3, r2
0x07e33418 <fz_paint_glyph+6612>: mov r4, #0 ; 0x0
0x07e3341c <fz_paint_glyph+6616>: mov r5, r10
0x07e33420 <fz_paint_glyph+6620>: mov r7, r0
0x07e33424 <fz_paint_glyph+6624>: b 0x7e334ec <fz_paint_glyph+6824>
0x07e33428 <fz_paint_glyph+6628>: ldr r0, [r11, #8]
0x07e3342c <fz_paint_glyph+6632>: sub r6, r3, r2
0x07e33430 <fz_paint_glyph+6636>: str lr, [sp, #248]
0x07e33434 <fz_paint_glyph+6640>: add r1, r12, r2
0x07e33438 <fz_paint_glyph+6644>: str r4, [sp, #128]
0x07e3343c <fz_paint_glyph+6648>: mov lr, r10
0x07e33440 <fz_paint_glyph+6652>: mov r3, r0
0x07e33444 <fz_paint_glyph+6656>: b 0x7e33528 <fz_paint_glyph+6884>
0x07e33448 <fz_paint_glyph+6660>: cmp r7, #1 ; 0x1
0x07e3344c <fz_paint_glyph+6664>: blt 0x7e338cc <fz_paint_glyph+7816>
0x07e33450 <fz_paint_glyph+6668>: ldrb r2, [r12], #1
0x07e33454 <fz_paint_glyph+6672>: and r0, r2, #3 ; 0x3
0x07e33458 <fz_paint_glyph+6676>: cmp r0, #2 ; 0x2
0x07e3345c <fz_paint_glyph+6680>: beq 0x7e33478 <fz_paint_glyph+6708>
0x07e33460 <fz_paint_glyph+6684>: cmp r0, #1 ; 0x1
0x07e33464 <fz_paint_glyph+6688>: beq 0x7e334e4 <fz_paint_glyph+6816>
0x07e33468 <fz_paint_glyph+6692>: cmp r0, #0 ; 0x0
0x07e3346c <fz_paint_glyph+6696>: bne 0x7e33504 <fz_paint_glyph+6848>
0x07e33470 <fz_paint_glyph+6700>: mov r1, r2, lsr #2
0x07e33474 <fz_paint_glyph+6704>: b 0x7e338c0 <fz_paint_glyph+7804>
0x07e33478 <fz_paint_glyph+6708>: orr r0, r6, r1, lsl #5
0x07e3347c <fz_paint_glyph+6712>: and r4, r2, #4 ; 0x4
0x07e33480 <fz_paint_glyph+6716>: add r1, r0, r2, lsr #3
0x07e33484 <fz_paint_glyph+6720>: mov r3, r5
0x07e33488 <fz_paint_glyph+6724>: cmp r1, r7
0x07e3348c <fz_paint_glyph+6728>: movgt r1, r7
0x07e33490 <fz_paint_glyph+6732>: cmp r1, #4 ; 0x4
0x07e33494 <fz_paint_glyph+6736>: bcs 0x7e334a4 <fz_paint_glyph+6752>
0x07e33498 <fz_paint_glyph+6740>: mov r2, r1
0x07e3349c <fz_paint_glyph+6744>: mov r5, r3
0x07e334a0 <fz_paint_glyph+6748>: b 0x7e334cc <fz_paint_glyph+6792>
0x07e334a4 <fz_paint_glyph+6752>: bic r0, r1, #3 ; 0x3
0x07e334a8 <fz_paint_glyph+6756>: sub r2, r1, r0
0x07e334ac <fz_paint_glyph+6760>: add r5, r3, r0, lsl #2
0x07e334b0 <fz_paint_glyph+6764>: mov r6, r0
0x07e334b4 <fz_paint_glyph+6768>: strnvb r0, [r3], #-2701
0x07e334b8 <fz_paint_glyph+6772>: subs r6, r6, #4 ; 0x4
0x07e334bc <fz_paint_glyph+6776>: bne 0x7e334b4 <fz_paint_glyph+6768>
0x07e334c0 <fz_paint_glyph+6780>: cmp r1, r0
0x07e334c4 <fz_paint_glyph+6784>: mov r6, #1 ; 0x1
0x07e334c8 <fz_paint_glyph+6788>: beq 0x7e334d8 <fz_paint_glyph+6804>
0x07e334cc <fz_paint_glyph+6792>: str r9, [r5], #4
0x07e334d0 <fz_paint_glyph+6796>: subs r2, r2, #1 ; 0x1
0x07e334d4 <fz_paint_glyph+6800>: bne 0x7e334cc <fz_paint_glyph+6792>
0x07e334d8 <fz_paint_glyph+6804>: sub r7, r7, r1
0x07e334dc <fz_paint_glyph+6808>: mov r1, #0 ; 0x0
0x07e334e0 <fz_paint_glyph+6812>: b 0x7e338c0 <fz_paint_glyph+7804>
0x07e334e4 <fz_paint_glyph+6816>: orr r0, r6, r1, lsl #6
0x07e334e8 <fz_paint_glyph+6820>: add r1, r0, r2, lsr #2
0x07e334ec <fz_paint_glyph+6824>: cmp r1, r7
0x07e334f0 <fz_paint_glyph+6828>: movgt r1, r7
0x07e334f4 <fz_paint_glyph+6832>: sub r7, r7, r1
0x07e334f8 <fz_paint_glyph+6836>: add r5, r5, r1, lsl #2
0x07e334fc <fz_paint_glyph+6840>: mov r1, #0 ; 0x0
0x07e33500 <fz_paint_glyph+6844>: b 0x7e338c0 <fz_paint_glyph+7804>
0x07e33504 <fz_paint_glyph+6848>: orr r0, r6, r1, lsl #5
0x07e33508 <fz_paint_glyph+6852>: str lr, [sp, #248]
0x07e3350c <fz_paint_glyph+6856>: add r6, r0, r2, lsr #3
0x07e33510 <fz_paint_glyph+6860>: mov r3, r7
0x07e33514 <fz_paint_glyph+6864>: mov r1, r12
0x07e33518 <fz_paint_glyph+6868>: mov lr, r5
0x07e3351c <fz_paint_glyph+6872>: and r0, r2, #4 ; 0x4
0x07e33520 <fz_paint_glyph+6876>: str r10, [sp, #256]
0x07e33524 <fz_paint_glyph+6880>: str r0, [sp, #128]
0x07e33528 <fz_paint_glyph+6884>: ldr r0, [sp, #260]
0x07e3352c <fz_paint_glyph+6888>: cmp r6, r3
0x07e33530 <fz_paint_glyph+6892>: str r3, [sp, #144]
0x07e33534 <fz_paint_glyph+6896>: ldrb r12, [r0]
0x07e33538 <fz_paint_glyph+6900>: ldrb r7, [r0, #1]
0x07e3353c <fz_paint_glyph+6904>: ldrb r10, [r0, #2]
0x07e33540 <fz_paint_glyph+6908>: mov r0, r6
0x07e33544 <fz_paint_glyph+6912>: movgt r0, r3
0x07e33548 <fz_paint_glyph+6916>: cmp r0, #16 ; 0x10
0x07e3354c <fz_paint_glyph+6920>: mov r3, r0
0x07e33550 <fz_paint_glyph+6924>: str r12, [sp, #96]
0x07e33554 <fz_paint_glyph+6928>: str r7, [sp, #80]
0x07e33558 <fz_paint_glyph+6932>: str r0, [sp, #112]
0x07e3355c <fz_paint_glyph+6936>: bcc 0x7e33808 <fz_paint_glyph+7620>
0x07e33560 <fz_paint_glyph+6940>: ldr r0, [sp, #144]
0x07e33564 <fz_paint_glyph+6944>: mov r2, #4 ; 0x4
0x07e33568 <fz_paint_glyph+6948>: cmp r0, r6
0x07e3356c <fz_paint_glyph+6952>: movlt r6, r0
0x07e33570 <fz_paint_glyph+6956>: sub r0, r6, #1 ; 0x1
0x07e33574 <fz_paint_glyph+6960>: umull r5, r4, r0, r2
0x07e33578 <fz_paint_glyph+6964>: add r0, lr, #3 ; 0x3
0x07e3357c <fz_paint_glyph+6968>: mvn r0, r0
0x07e33580 <fz_paint_glyph+6972>: cmp r4, #0 ; 0x0
0x07e33584 <fz_paint_glyph+6976>: tstne r0, #1 ; 0x1
0x07e33588 <fz_paint_glyph+6980>: cmp r5, r0
0x07e3358c <fz_paint_glyph+6984>: bhi 0x7e33808 <fz_paint_glyph+7620>
0x07e33590 <fz_paint_glyph+6988>: cmp r4, #0 ; 0x0
0x07e33594 <fz_paint_glyph+6992>: bne 0x7e33808 <fz_paint_glyph+7620>
0x07e33598 <fz_paint_glyph+6996>: add r0, lr, #2 ; 0x2
0x07e3359c <fz_paint_glyph+7000>: mvn r0, r0
0x07e335a0 <fz_paint_glyph+7004>: cmp r5, r0
0x07e335a4 <fz_paint_glyph+7008>: bhi 0x7e33808 <fz_paint_glyph+7620>
0x07e335a8 <fz_paint_glyph+7012>: cmp r4, #0 ; 0x0
0x07e335ac <fz_paint_glyph+7016>: bne 0x7e33808 <fz_paint_glyph+7620>
0x07e335b0 <fz_paint_glyph+7020>: add r0, lr, #1 ; 0x1
0x07e335b4 <fz_paint_glyph+7024>: mvn r0, r0
0x07e335b8 <fz_paint_glyph+7028>: cmp r5, r0
0x07e335bc <fz_paint_glyph+7032>: bhi 0x7e33808 <fz_paint_glyph+7620>
0x07e335c0 <fz_paint_glyph+7036>: cmp r4, #0 ; 0x0
0x07e335c4 <fz_paint_glyph+7040>: bne 0x7e33808 <fz_paint_glyph+7620>
0x07e335c8 <fz_paint_glyph+7044>: mvn r0, lr
0x07e335cc <fz_paint_glyph+7048>: cmp r5, r0
0x07e335d0 <fz_paint_glyph+7052>: bhi 0x7e33808 <fz_paint_glyph+7620>
0x07e335d4 <fz_paint_glyph+7056>: cmp r4, #0 ; 0x0
0x07e335d8 <fz_paint_glyph+7060>: bne 0x7e33808 <fz_paint_glyph+7620>
0x07e335dc <fz_paint_glyph+7064>: mcr 11, 5, r10, cr0, cr0, {4}
0x07e335e0 <fz_paint_glyph+7068>: add r0, sp, #192 ; 0xc0
0x07e335e4 <fz_paint_glyph+7072>: bic r4, r3, #15 ; 0xf
0x07e335e8 <fz_paint_glyph+7076>: mov r2, r9
0x07e335ec <fz_paint_glyph+7080>: strnvb r0, [r0], #-2799
0x07e335f0 <fz_paint_glyph+7084>: add r0, sp, #176 ; 0xb0
0x07e335f4 <fz_paint_glyph+7088>: sub r8, r3, r4
0x07e335f8 <fz_paint_glyph+7092>: add r5, lr, r4, lsl #2
0x07e335fc <fz_paint_glyph+7096>: mcr 11, 5, r7, cr0, cr0, {4}
0x07e33600 <fz_paint_glyph+7100>: mov r9, r4
0x07e33604 <fz_paint_glyph+7104>: strnvb r0, [r0], #-2799
0x07e33608 <fz_paint_glyph+7108>: add r0, sp, #160 ; 0xa0
0x07e3360c <fz_paint_glyph+7112>: mcr 11, 5, r12, cr0, cr0, {4}
0x07e33610 <fz_paint_glyph+7116>: add r12, r1, r4
0x07e33614 <fz_paint_glyph+7120>: strnvb r0, [r0], #-2799
0x07e33618 <fz_paint_glyph+7124>: mov r0, lr
0x07e3361c <fz_paint_glyph+7128>: subs r9, r9, #16 ; 0x10
0x07e33620 <fz_paint_glyph+7132>: strnvt r0, [r0], #-269
0x07e33624 <fz_paint_glyph+7136>: strnvbt r0, [r1], #-2573
0x07e33628 <fz_paint_glyph+7140>: bicnv r4, r8, #196608 ; 0x30000
0x07e3362c <fz_paint_glyph+7144>: strnvt r1, [r0], #-271
0x07e33630 <fz_paint_glyph+7148>: bicnv r2, r8, #73728 ; 0x12000
0x07e33634 <fz_paint_glyph+7152>: add r0, sp, #176 ; 0xb0
0x07e33638 <fz_paint_glyph+7156>: bicnv r0, r8, #200704 ; 0x31000
0x07e3363c <fz_paint_glyph+7160>: bicnvs lr, r0, #212992 ; 0x34000
0x07e33640 <fz_paint_glyph+7164>: strnvbt r6, [r0], #-2799
0x07e33644 <fz_paint_glyph+7168>: orrnvs r8, r0, #217088 ; 0x35000
0x07e33648 <fz_paint_glyph+7172>: add r0, sp, #224 ; 0xe0
0x07e3364c <fz_paint_glyph+7176>: bicnvs r10, r6, #-2013265918 ; 0x88000002
0x07e33650 <fz_paint_glyph+7180>: bicnvs r12, r8, #204800 ; 0x32000
0x07e33654 <fz_paint_glyph+7184>: mvnnvs lr, #-2147483617 ; 0x8000001f
0x07e33658 <fz_paint_glyph+7188>: movnvs r8, #22 ; 0x16
0x07e3365c <fz_paint_glyph+7192>: orrnvs r10, r0, #200704 ; 0x31000
0x07e33660 <fz_paint_glyph+7196>: orrnvs lr, r0, #196608 ; 0x30000
0x07e33664 <fz_paint_glyph+7200>: rsbnv r0, r4, #5 ; 0x5
0x07e33668 <fz_paint_glyph+7204>: bicnv r0, r8, #81920 ; 0x14000
0x07e3366c <fz_paint_glyph+7208>: rsbnv r12, r10, #3899392 ; 0x3b8000
0x07e33670 <fz_paint_glyph+7212>: bicnvs r10, r6, #-1946157054 ; 0x8c000002
0x07e33674 <fz_paint_glyph+7216>: bicnvs r2, r8, #208896 ; 0x33000
0x07e33678 <fz_paint_glyph+7220>: rsbnv r2, r10, #3276800 ; 0x320000
0x07e3367c <fz_paint_glyph+7224>: movnvs r10, #-2147483626 ; 0x80000016
0x07e33680 <fz_paint_glyph+7228>: movnvs lr, #-2147483625 ; 0x80000017
0x07e33684 <fz_paint_glyph+7232>: sbcnvs r3, r8, #3276800 ; 0x320000
0x07e33688 <fz_paint_glyph+7236>: sbcnvs r2, r8, #3932160 ; 0x3c0000
0x07e3368c <fz_paint_glyph+7240>: strnvb r2, [r0], #-2799
0x07e33690 <fz_paint_glyph+7244>: bicnv r2, r8, #77824 ; 0x13000
0x07e33694 <fz_paint_glyph+7248>: add r0, sp, #192 ; 0xc0
0x07e33698 <fz_paint_glyph+7252>: bicnvs r4, r6, #-1946157054 ; 0x8c000002
0x07e3369c <fz_paint_glyph+7256>: bicnvs r12, r8, #208896 ; 0x33000
0x07e336a0 <fz_paint_glyph+7260>: rsbnv r12, r4, #3309568 ; 0x328000
0x07e336a4 <fz_paint_glyph+7264>: bicnvs r4, r6, #-2013265918 ; 0x88000002
0x07e336a8 <fz_paint_glyph+7268>: strnvbt r6, [r0], #-2799
0x07e336ac <fz_paint_glyph+7272>: bicnvs r2, r8, #204800 ; 0x32000
0x07e336b0 <fz_paint_glyph+7276>: add r0, sp, #160 ; 0xa0
0x07e336b4 <fz_paint_glyph+7280>: rsbnv r2, r4, #3375104 ; 0x338000
0x07e336b8 <fz_paint_glyph+7284>: sbcnvs sp, r8, #3932160 ; 0x3c0000
0x07e336bc <fz_paint_glyph+7288>: bicnvs r4, r8, #200704 ; 0x31000
0x07e336c0 <fz_paint_glyph+7292>: sbcnvs r12, r8, #3276800 ; 0x320000
0x07e336c4 <fz_paint_glyph+7296>: bicnvs r2, r6, #-2080374782 ; 0x84000002
0x07e336c8 <fz_paint_glyph+7300>: rsbnv r4, r2, #3276800 ; 0x320000
0x07e336cc <fz_paint_glyph+7304>: bicnvs r2, r6, #-2147483646 ; 0x80000002
0x07e336d0 <fz_paint_glyph+7308>: bicnvs r0, r8, #196608 ; 0x30000
0x07e336d4 <fz_paint_glyph+7312>: rsbnv r0, r2, #3899392 ; 0x3b8000
0x07e336d8 <fz_paint_glyph+7316>: bicnv r2, r8, #86016 ; 0x15000
0x07e336dc <fz_paint_glyph+7320>: addnvs sp, r8, #3407872 ; 0x340000
0x07e336e0 <fz_paint_glyph+7324>: bicnvs r4, r8, #208896 ; 0x33000
0x07e336e4 <fz_paint_glyph+7328>: addnvs r12, r8, #3145728 ; 0x300000
0x07e336e8 <fz_paint_glyph+7332>: rsbnv r0, r5, #1073741829 ; 0x40000005
0x07e336ec <fz_paint_glyph+7336>: bicnvs r0, r6, #-1946157054 ; 0x8c000002
0x07e336f0 <fz_paint_glyph+7340>: rsbnv r4, r0, #3309568 ; 0x328000
0x07e336f4 <fz_paint_glyph+7344>: bicnv r0, r7, #95 ; 0x5f
0x07e336f8 <fz_paint_glyph+7348>: sbcnvs r11, r8, #3407872 ; 0x340000
0x07e336fc <fz_paint_glyph+7352>: bicnvs r4, r6, #-2013265918 ; 0x88000002
0x07e33700 <fz_paint_glyph+7356>: bicnvs r2, r8, #204800 ; 0x32000
0x07e33704 <fz_paint_glyph+7360>: rsbnv r2, r4, #3375104 ; 0x338000
0x07e33708 <fz_paint_glyph+7364>: rsbnv r4, r6, #-2147483627 ; 0x80000015
0x07e3370c <fz_paint_glyph+7368>: bicnv r6, r8, #212992 ; 0x34000
0x07e33710 <fz_paint_glyph+7372>: sbcnvs r10, r8, #3276800 ; 0x320000
0x07e33714 <fz_paint_glyph+7376>: bicnvs r2, r0, #225280 ; 0x37000
0x07e33718 <fz_paint_glyph+7380>: bicnvs r8, r8, #225280 ; 0x37000
0x07e3371c <fz_paint_glyph+7384>: cmpnv r2, #60 ; 0x3c
0x07e33720 <fz_paint_glyph+7388>: rsbnv r8, r2, #3276800 ; 0x320000
0x07e33724 <fz_paint_glyph+7392>: sbcnvs r3, r8, #3670016 ; 0x380000
0x07e33728 <fz_paint_glyph+7396>: bicnvs r8, r0, #221184 ; 0x36000
0x07e3372c <fz_paint_glyph+7400>: bicnvs r6, r8, #221184 ; 0x36000
0x07e33730 <fz_paint_glyph+7404>: cmpnv r8, #60 ; 0x3c
0x07e33734 <fz_paint_glyph+7408>: rsbnv r6, r8, #3899392 ; 0x3b8000
0x07e33738 <fz_paint_glyph+7412>: sbcnvs r2, r8, #3538944 ; 0x360000
0x07e3373c <fz_paint_glyph+7416>: bicnv r6, r8, #217088 ; 0x35000
0x07e33740 <fz_paint_glyph+7420>: bicnvs r4, r0, #225280 ; 0x37000
0x07e33744 <fz_paint_glyph+7424>: bicnvs r8, r8, #225280 ; 0x37000
0x07e33748 <fz_paint_glyph+7428>: cmpnv r4, #60 ; 0x3c
0x07e3374c <fz_paint_glyph+7432>: rsbnv r8, r4, #3309568 ; 0x328000
0x07e33750 <fz_paint_glyph+7436>: sbcnvs r5, r8, #3670016 ; 0x380000
0x07e33754 <fz_paint_glyph+7440>: bicnvs r8, r0, #221184 ; 0x36000
0x07e33758 <fz_paint_glyph+7444>: bicnvs r6, r8, #221184 ; 0x36000
0x07e3375c <fz_paint_glyph+7448>: cmpnv r8, #60 ; 0x3c
0x07e33760 <fz_paint_glyph+7452>: rsbnv r6, r8, #3375104 ; 0x338000
0x07e33764 <fz_paint_glyph+7456>: sbcnvs r4, r8, #3538944 ; 0x360000
0x07e33768 <fz_paint_glyph+7460>: rsbnv r6, r0, #20 ; 0x14
0x07e3376c <fz_paint_glyph+7464>: strnvt r4, [r0], #-2799
0x07e33770 <fz_paint_glyph+7468>: add r0, sp, #224 ; 0xe0
0x07e33774 <fz_paint_glyph+7472>: strnvbt r0, [r0], #-2799
0x07e33778 <fz_paint_glyph+7476>: bicnv r8, r8, #221184 ; 0x36000
0x07e3377c <fz_paint_glyph+7480>: bicnv r6, r8, #225280 ; 0x37000
0x07e33780 <fz_paint_glyph+7484>: orrnvs r0, r4, #-1610612736 ; 0xa0000000
0x07e33784 <fz_paint_glyph+7488>: orrnvs r2, r8, #229376 ; 0x38000
0x07e33788 <fz_paint_glyph+7492>: eornv r2, r0, #1802240 ; 0x1b8000
0x07e3378c <fz_paint_glyph+7496>: bicnvs lr, r4, #-1543503872 ; 0xa4000000
0x07e33790 <fz_paint_glyph+7500>: bicnvs r8, r8, #233472 ; 0x39000
0x07e33794 <fz_paint_glyph+7504>: rsbnv r8, lr, #3276800 ; 0x320000
0x07e33798 <fz_paint_glyph+7508>: bicnvs lr, r4, #-1744830464 ; 0x98000000
0x07e3379c <fz_paint_glyph+7512>: orrnvs r0, r8, #221184 ; 0x36000
0x07e337a0 <fz_paint_glyph+7516>: eornv r0, lr, #3375104 ; 0x338000
0x07e337a4 <fz_paint_glyph+7520>: bicnvs lr, r4, #-1677721600 ; 0x9c000000
0x07e337a8 <fz_paint_glyph+7524>: bicnvs r6, r8, #225280 ; 0x37000
0x07e337ac <fz_paint_glyph+7528>: rsbnv r6, lr, #3309568 ; 0x328000
0x07e337b0 <fz_paint_glyph+7532>: sbcnvs r9, r8, #3670016 ; 0x380000
0x07e337b4 <fz_paint_glyph+7536>: sbcnvs r8, r8, #1179648 ; 0x120000
0x07e337b8 <fz_paint_glyph+7540>: sbcnvs r7, r8, #3538944 ; 0x360000
0x07e337bc <fz_paint_glyph+7544>: sbcnvs r6, r8, #1048576 ; 0x100000
0x07e337c0 <fz_paint_glyph+7548>: movnvs r7, #1073741826 ; 0x40000002
0x07e337c4 <fz_paint_glyph+7552>: movnvs r6, #536870914 ; 0x20000002
0x07e337c8 <fz_paint_glyph+7556>: movnvs r5, #-1610612734 ; 0xa0000002
0x07e337cc <fz_paint_glyph+7560>: movnvs r4, #-1073741824 ; 0xc0000000
0x07e337d0 <fz_paint_glyph+7564>: movnvs r3, #-1073741822 ; 0xc0000002
0x07e337d4 <fz_paint_glyph+7568>: movnvs r2, #2 ; 0x2
0x07e337d8 <fz_paint_glyph+7572>: movnvs r1, #1610612738 ; 0x60000002
0x07e337dc <fz_paint_glyph+7576>: movnvs r0, #-2147483646 ; 0x80000002
0x07e337e0 <fz_paint_glyph+7580>: strnv r0, [lr], #-269
0x07e337e4 <fz_paint_glyph+7584>: strnv r1, [lr], #-269
0x07e337e8 <fz_paint_glyph+7588>: bne 0x7e33618 <fz_paint_glyph+7124>
0x07e337ec <fz_paint_glyph+7592>: add r0, sp, #48 ; 0x30
0x07e337f0 <fz_paint_glyph+7596>: ldr lr, [sp, #248]
0x07e337f4 <fz_paint_glyph+7600>: strnvbt r0, [r0], #-2799
0x07e337f8 <fz_paint_glyph+7604>: cmp r3, r4
0x07e337fc <fz_paint_glyph+7608>: mov r9, r2
0x07e33800 <fz_paint_glyph+7612>: bne 0x7e33818 <fz_paint_glyph+7636>
0x07e33804 <fz_paint_glyph+7616>: b 0x7e338a4 <fz_paint_glyph+7776>
0x07e33808 <fz_paint_glyph+7620>: mov r5, lr
0x07e3380c <fz_paint_glyph+7624>: mov r8, r3
0x07e33810 <fz_paint_glyph+7628>: mov r12, r1
0x07e33814 <fz_paint_glyph+7632>: ldr lr, [sp, #248]
0x07e33818 <fz_paint_glyph+7636>: str lr, [sp, #248]
0x07e3381c <fz_paint_glyph+7640>: ldr r9, [sp, #96]
0x07e33820 <fz_paint_glyph+7644>: ldr lr, [sp, #80]
0x07e33824 <fz_paint_glyph+7648>: ldrb r0, [r12], #1
0x07e33828 <fz_paint_glyph+7652>: subs r8, r8, #1 ; 0x1
0x07e3382c <fz_paint_glyph+7656>: ldrb r6, [r5]
0x07e33830 <fz_paint_glyph+7660>: ldrb r1, [r5, #1]
0x07e33834 <fz_paint_glyph+7664>: sub r7, r9, r6
0x07e33838 <fz_paint_glyph+7668>: add r0, r0, r0, lsr #7
0x07e3383c <fz_paint_glyph+7672>: ldrb r2, [r5, #2]
0x07e33840 <fz_paint_glyph+7676>: sub r4, lr, r1
0x07e33844 <fz_paint_glyph+7680>: smulbb r7, r7, r0
0x07e33848 <fz_paint_glyph+7684>: ldrb r3, [r5, #3]
0x07e3384c <fz_paint_glyph+7688>: add r7, r7, r6, lsl #8
0x07e33850 <fz_paint_glyph+7692>: sub r6, r10, r2
0x07e33854 <fz_paint_glyph+7696>: mov r7, r7, lsr #8
0x07e33858 <fz_paint_glyph+7700>: smulbb r6, r6, r0
0x07e3385c <fz_paint_glyph+7704>: strb r7, [r5]
0x07e33860 <fz_paint_glyph+7708>: eor r7, r3, #255 ; 0xff
0x07e33864 <fz_paint_glyph+7712>: smulbb r7, r7, r0
0x07e33868 <fz_paint_glyph+7716>: smulbb r0, r4, r0
0x07e3386c <fz_paint_glyph+7720>: add r0, r0, r1, lsl #8
0x07e33870 <fz_paint_glyph+7724>: mov r0, r0, lsr #8
0x07e33874 <fz_paint_glyph+7728>: strb r0, [r5, #1]
0x07e33878 <fz_paint_glyph+7732>: add r0, r6, r2, lsl #8
0x07e3387c <fz_paint_glyph+7736>: mov r0, r0, lsr #8
0x07e33880 <fz_paint_glyph+7740>: strb r0, [r5, #2]
0x07e33884 <fz_paint_glyph+7744>: add r0, r7, r3, lsl #8
0x07e33888 <fz_paint_glyph+7748>: mov r0, r0, lsr #8
0x07e3388c <fz_paint_glyph+7752>: strb r0, [r5, #3]
0x07e33890 <fz_paint_glyph+7756>: add r5, r5, #4 ; 0x4
0x07e33894 <fz_paint_glyph+7760>: bne 0x7e33824 <fz_paint_glyph+7648>
0x07e33898 <fz_paint_glyph+7764>: ldr r3, [sp, #112]
0x07e3389c <fz_paint_glyph+7768>: ldr r9, [sp, #72]
0x07e338a0 <fz_paint_glyph+7772>: ldr lr, [sp, #248]
0x07e338a4 <fz_paint_glyph+7776>: ldr r7, [sp, #144]
0x07e338a8 <fz_paint_glyph+7780>: mov r1, #0 ; 0x0
0x07e338ac <fz_paint_glyph+7784>: ldr r10, [sp, #256]
0x07e338b0 <fz_paint_glyph+7788>: mov r6, #1 ; 0x1
0x07e338b4 <fz_paint_glyph+7792>: ldr r8, [sp, #76]
0x07e338b8 <fz_paint_glyph+7796>: sub r7, r7, r3
0x07e338bc <fz_paint_glyph+7800>: ldr r4, [sp, #128]
0x07e338c0 <fz_paint_glyph+7804>: cmp r4, #0 ; 0x0
0x07e338c4 <fz_paint_glyph+7808>: mov r4, #0 ; 0x0
0x07e338c8 <fz_paint_glyph+7812>: beq 0x7e33448 <fz_paint_glyph+6660>
0x07e338cc <fz_paint_glyph+7816>: add lr, lr, #1 ; 0x1
0x07e338d0 <fz_paint_glyph+7820>: ldr r5, [sp, #252]
0x07e338d4 <fz_paint_glyph+7824>: ldr r0, [sp, #220]
0x07e338d8 <fz_paint_glyph+7828>: cmp r5, #0 ; 0x0
0x07e338dc <fz_paint_glyph+7832>: mov r12, lr
0x07e338e0 <fz_paint_glyph+7836>: add r10, r10, r0
0x07e338e4 <fz_paint_glyph+7840>: str r10, [sp, #256]
0x07e338e8 <fz_paint_glyph+7844>: bne 0x7e332f8 <fz_paint_glyph+6324>
0x07e338ec <fz_paint_glyph+7848>: b 0x7e32288 <fz_paint_glyph+2116>
0x07e338f0 <fz_paint_glyph+7852>: cmp lr, #0 ; 0x0
0x07e338f4 <fz_paint_glyph+7856>: beq 0x7e3689c <fz_paint_glyph+20056>
0x07e338f8 <fz_paint_glyph+7860>: cmp r5, #0 ; 0x0
0x07e338fc <fz_paint_glyph+7864>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e33900 <fz_paint_glyph+7868>: add r0, r8, #1 ; 0x1
0x07e33904 <fz_paint_glyph+7872>: bic r9, r8, #15 ; 0xf
0x07e33908 <fz_paint_glyph+7876>: str r0, [sp, #96]
0x07e3390c <fz_paint_glyph+7880>: sub r0, r9, #1 ; 0x1
0x07e33910 <fz_paint_glyph+7884>: add r1, r6, #1 ; 0x1
0x07e33914 <fz_paint_glyph+7888>: str r0, [sp, #176]
0x07e33918 <fz_paint_glyph+7892>: sub r0, r1, lr
0x07e3391c <fz_paint_glyph+7896>: str r0, [sp, #224]
0x07e33920 <fz_paint_glyph+7900>: bic r0, r0, #15 ; 0xf
0x07e33924 <fz_paint_glyph+7904>: str r0, [sp, #192]
0x07e33928 <fz_paint_glyph+7908>: ldr r0, [sp, #244]
0x07e3392c <fz_paint_glyph+7912>: mov r7, r5
0x07e33930 <fz_paint_glyph+7916>: mov r4, #1 ; 0x1
0x07e33934 <fz_paint_glyph+7920>: add r6, r0, #32 ; 0x20
0x07e33938 <fz_paint_glyph+7924>: str r6, [sp, #160]
0x07e3393c <fz_paint_glyph+7928>: ldr r0, [r6, r2, lsl #2]
0x07e33940 <fz_paint_glyph+7932>: sub r7, r7, #1 ; 0x1
0x07e33944 <fz_paint_glyph+7936>: cmp r0, #0 ; 0x0
0x07e33948 <fz_paint_glyph+7940>: blt 0x7e33d20 <fz_paint_glyph+8924>
0x07e3394c <fz_paint_glyph+7944>: ldr r1, [sp, #244]
0x07e33950 <fz_paint_glyph+7948>: ldr r10, [sp, #256]
0x07e33954 <fz_paint_glyph+7952>: add r0, r1, r0
0x07e33958 <fz_paint_glyph+7956>: mov r1, #0 ; 0x0
0x07e3395c <fz_paint_glyph+7960>: add r3, r0, #32 ; 0x20
0x07e33960 <fz_paint_glyph+7964>: ldr r0, [r11, #16]
0x07e33964 <fz_paint_glyph+7968>: cmp r0, #0 ; 0x0
0x07e33968 <fz_paint_glyph+7972>: beq 0x7e33a10 <fz_paint_glyph+8140>
0x07e3396c <fz_paint_glyph+7976>: ldr lr, [sp, #260]
0x07e33970 <fz_paint_glyph+7980>: mov r1, #0 ; 0x0
0x07e33974 <fz_paint_glyph+7984>: ldrb r5, [r3], #1
0x07e33978 <fz_paint_glyph+7988>: and r6, r5, #3 ; 0x3
0x07e3397c <fz_paint_glyph+7992>: cmp r6, #2 ; 0x2
0x07e33980 <fz_paint_glyph+7996>: beq 0x7e339a8 <fz_paint_glyph+8036>
0x07e33984 <fz_paint_glyph+8000>: cmp r6, #1 ; 0x1
0x07e33988 <fz_paint_glyph+8004>: beq 0x7e339c0 <fz_paint_glyph+8060>
0x07e3398c <fz_paint_glyph+8008>: cmp r6, #0 ; 0x0
0x07e33990 <fz_paint_glyph+8012>: bne 0x7e339d8 <fz_paint_glyph+8084>
0x07e33994 <fz_paint_glyph+8016>: mov r1, r5, lsr #2
0x07e33998 <fz_paint_glyph+8020>: mov r6, #0 ; 0x0
0x07e3399c <fz_paint_glyph+8024>: subs r0, r0, r6
0x07e339a0 <fz_paint_glyph+8028>: bne 0x7e33974 <fz_paint_glyph+7984>
0x07e339a4 <fz_paint_glyph+8032>: b 0x7e33a04 <fz_paint_glyph+8128>
0x07e339a8 <fz_paint_glyph+8036>: orr r1, r4, r1, lsl #5
0x07e339ac <fz_paint_glyph+8040>: add r6, r1, r5, lsr #3
0x07e339b0 <fz_paint_glyph+8044>: and r5, r5, #4 ; 0x4
0x07e339b4 <fz_paint_glyph+8048>: cmp r6, r0
0x07e339b8 <fz_paint_glyph+8052>: ble 0x7e339f0 <fz_paint_glyph+8108>
0x07e339bc <fz_paint_glyph+8056>: b 0x7e33a2c <fz_paint_glyph+8168>
0x07e339c0 <fz_paint_glyph+8060>: orr r1, r4, r1, lsl #6
0x07e339c4 <fz_paint_glyph+8064>: add r6, r1, r5, lsr #2
0x07e339c8 <fz_paint_glyph+8068>: mov r1, #0 ; 0x0
0x07e339cc <fz_paint_glyph+8072>: cmp r6, r0
0x07e339d0 <fz_paint_glyph+8076>: ble 0x7e339fc <fz_paint_glyph+8120>
0x07e339d4 <fz_paint_glyph+8080>: b 0x7e33a48 <fz_paint_glyph+8196>
0x07e339d8 <fz_paint_glyph+8084>: orr r1, r4, r1, lsl #5
0x07e339dc <fz_paint_glyph+8088>: add r6, r1, r5, lsr #3
0x07e339e0 <fz_paint_glyph+8092>: and r5, r5, #4 ; 0x4
0x07e339e4 <fz_paint_glyph+8096>: cmp r6, r0
0x07e339e8 <fz_paint_glyph+8100>: bgt 0x7e33a64 <fz_paint_glyph+8224>
0x07e339ec <fz_paint_glyph+8104>: add r3, r3, r6
0x07e339f0 <fz_paint_glyph+8108>: mov r1, #0 ; 0x0
0x07e339f4 <fz_paint_glyph+8112>: cmp r5, #0 ; 0x0
0x07e339f8 <fz_paint_glyph+8116>: bne 0x7e33a1c <fz_paint_glyph+8152>
0x07e339fc <fz_paint_glyph+8120>: subs r0, r0, r6
0x07e33a00 <fz_paint_glyph+8124>: bne 0x7e33974 <fz_paint_glyph+7984>
0x07e33a04 <fz_paint_glyph+8128>: mov r5, #0 ; 0x0
0x07e33a08 <fz_paint_glyph+8132>: ldr r0, [r11, #8]
0x07e33a0c <fz_paint_glyph+8136>: b 0x7e33a20 <fz_paint_glyph+8156>
0x07e33a10 <fz_paint_glyph+8140>: ldr r0, [r11, #8]
0x07e33a14 <fz_paint_glyph+8144>: mov r5, #0 ; 0x0
0x07e33a18 <fz_paint_glyph+8148>: b 0x7e33a88 <fz_paint_glyph+8260>
0x07e33a1c <fz_paint_glyph+8152>: mov r0, #0 ; 0x0
0x07e33a20 <fz_paint_glyph+8156>: ldr r10, [sp, #256]
0x07e33a24 <fz_paint_glyph+8160>: ldr r6, [sp, #160]
0x07e33a28 <fz_paint_glyph+8164>: b 0x7e33a88 <fz_paint_glyph+8260>
0x07e33a2c <fz_paint_glyph+8168>: str r7, [sp, #252]
0x07e33a30 <fz_paint_glyph+8172>: sub r7, r6, r0
0x07e33a34 <fz_paint_glyph+8176>: str r5, [sp, #144]
0x07e33a38 <fz_paint_glyph+8180>: str r2, [sp, #248]
0x07e33a3c <fz_paint_glyph+8184>: ldr r0, [r11, #8]
0x07e33a40 <fz_paint_glyph+8188>: ldr r10, [sp, #256]
0x07e33a44 <fz_paint_glyph+8192>: b 0x7e33ae4 <fz_paint_glyph+8352>
0x07e33a48 <fz_paint_glyph+8196>: ldr r1, [r11, #8]
0x07e33a4c <fz_paint_glyph+8200>: sub lr, r6, r0
0x07e33a50 <fz_paint_glyph+8204>: mov r5, #0 ; 0x0
0x07e33a54 <fz_paint_glyph+8208>: ldr r10, [sp, #256]
0x07e33a58 <fz_paint_glyph+8212>: ldr r6, [sp, #160]
0x07e33a5c <fz_paint_glyph+8216>: mov r0, r1
0x07e33a60 <fz_paint_glyph+8220>: b 0x7e33b80 <fz_paint_glyph+8508>
0x07e33a64 <fz_paint_glyph+8224>: ldr r4, [sp, #256]
0x07e33a68 <fz_paint_glyph+8228>: sub r1, r6, r0
0x07e33a6c <fz_paint_glyph+8232>: add r3, r3, r0
0x07e33a70 <fz_paint_glyph+8236>: str r5, [sp, #144]
0x07e33a74 <fz_paint_glyph+8240>: str r7, [sp, #252]
0x07e33a78 <fz_paint_glyph+8244>: str r2, [sp, #248]
0x07e33a7c <fz_paint_glyph+8248>: mov r10, r4
0x07e33a80 <fz_paint_glyph+8252>: ldr r0, [r11, #8]
0x07e33a84 <fz_paint_glyph+8256>: b 0x7e33bbc <fz_paint_glyph+8568>
0x07e33a88 <fz_paint_glyph+8260>: cmp r0, #1 ; 0x1
0x07e33a8c <fz_paint_glyph+8264>: blt 0x7e33d20 <fz_paint_glyph+8924>
0x07e33a90 <fz_paint_glyph+8268>: ldrb r12, [r3], #1
0x07e33a94 <fz_paint_glyph+8272>: str r0, [sp, #128]
0x07e33a98 <fz_paint_glyph+8276>: and r0, r12, #3 ; 0x3
0x07e33a9c <fz_paint_glyph+8280>: cmp r0, #2 ; 0x2
0x07e33aa0 <fz_paint_glyph+8284>: beq 0x7e33ac4 <fz_paint_glyph+8320>
0x07e33aa4 <fz_paint_glyph+8288>: ldr lr, [sp, #260]
0x07e33aa8 <fz_paint_glyph+8292>: cmp r0, #1 ; 0x1
0x07e33aac <fz_paint_glyph+8296>: beq 0x7e33b74 <fz_paint_glyph+8496>
0x07e33ab0 <fz_paint_glyph+8300>: cmp r0, #0 ; 0x0
0x07e33ab4 <fz_paint_glyph+8304>: bne 0x7e33b9c <fz_paint_glyph+8536>
0x07e33ab8 <fz_paint_glyph+8308>: mov r1, r12, lsr #2
0x07e33abc <fz_paint_glyph+8312>: ldr r0, [sp, #128]
0x07e33ac0 <fz_paint_glyph+8316>: b 0x7e33d14 <fz_paint_glyph+8912>
0x07e33ac4 <fz_paint_glyph+8320>: orr r0, r4, r1, lsl #5
0x07e33ac8 <fz_paint_glyph+8324>: str r7, [sp, #252]
0x07e33acc <fz_paint_glyph+8328>: add r7, r0, r12, lsr #3
0x07e33ad0 <fz_paint_glyph+8332>: and r0, r12, #4 ; 0x4
0x07e33ad4 <fz_paint_glyph+8336>: str r0, [sp, #144]
0x07e33ad8 <fz_paint_glyph+8340>: ldr lr, [sp, #260]
0x07e33adc <fz_paint_glyph+8344>: ldr r0, [sp, #128]
0x07e33ae0 <fz_paint_glyph+8348>: str r2, [sp, #248]
0x07e33ae4 <fz_paint_glyph+8352>: cmp r7, r0
0x07e33ae8 <fz_paint_glyph+8356>: mov r2, r0
0x07e33aec <fz_paint_glyph+8360>: movgt r7, r0
0x07e33af0 <fz_paint_glyph+8364>: mov r1, r7
0x07e33af4 <fz_paint_glyph+8368>: ldr r4, [sp, #224]
0x07e33af8 <fz_paint_glyph+8372>: mov r0, #0 ; 0x0
0x07e33afc <fz_paint_glyph+8376>: cmp r4, #16 ; 0x10
0x07e33b00 <fz_paint_glyph+8380>: bcs 0x7e33b0c <fz_paint_glyph+8392>
0x07e33b04 <fz_paint_glyph+8384>: mov r6, r10
0x07e33b08 <fz_paint_glyph+8388>: b 0x7e33b40 <fz_paint_glyph+8444>
0x07e33b0c <fz_paint_glyph+8392>: ldr r0, [sp, #192]
0x07e33b10 <fz_paint_glyph+8396>: mov r5, lr
0x07e33b14 <fz_paint_glyph+8400>: add r6, r10, r0
0x07e33b18 <fz_paint_glyph+8404>: strnvbt r0, [r5], #-2573
0x07e33b1c <fz_paint_glyph+8408>: subs r0, r0, #16 ; 0x10
0x07e33b20 <fz_paint_glyph+8412>: strnvb r0, [r10], #-2573
0x07e33b24 <fz_paint_glyph+8416>: bne 0x7e33b18 <fz_paint_glyph+8404>
0x07e33b28 <fz_paint_glyph+8420>: ldr r4, [sp, #192]
0x07e33b2c <fz_paint_glyph+8424>: mov r10, r6
0x07e33b30 <fz_paint_glyph+8428>: ldr r0, [sp, #224]
0x07e33b34 <fz_paint_glyph+8432>: cmp r0, r4
0x07e33b38 <fz_paint_glyph+8436>: mov r0, r4
0x07e33b3c <fz_paint_glyph+8440>: beq 0x7e33b60 <fz_paint_glyph+8476>
0x07e33b40 <fz_paint_glyph+8444>: ldr r4, [sp, #224]
0x07e33b44 <fz_paint_glyph+8448>: add r5, lr, r0
0x07e33b48 <fz_paint_glyph+8452>: mov r10, r6
0x07e33b4c <fz_paint_glyph+8456>: sub r0, r4, r0
0x07e33b50 <fz_paint_glyph+8460>: ldrb r6, [r5], #1
0x07e33b54 <fz_paint_glyph+8464>: subs r0, r0, #1 ; 0x1
0x07e33b58 <fz_paint_glyph+8468>: strb r6, [r10], #1
0x07e33b5c <fz_paint_glyph+8472>: bne 0x7e33b50 <fz_paint_glyph+8460>
0x07e33b60 <fz_paint_glyph+8476>: subs r1, r1, #1 ; 0x1
0x07e33b64 <fz_paint_glyph+8480>: bne 0x7e33af4 <fz_paint_glyph+8368>
0x07e33b68 <fz_paint_glyph+8484>: mov r0, r2
0x07e33b6c <fz_paint_glyph+8488>: sub r0, r2, r7
0x07e33b70 <fz_paint_glyph+8492>: b 0x7e33cfc <fz_paint_glyph+8888>
0x07e33b74 <fz_paint_glyph+8496>: orr r0, r4, r1, lsl #6
0x07e33b78 <fz_paint_glyph+8500>: add lr, r0, r12, lsr #2
0x07e33b7c <fz_paint_glyph+8504>: ldr r0, [sp, #128]
0x07e33b80 <fz_paint_glyph+8508>: ldr r1, [sp, #96]
0x07e33b84 <fz_paint_glyph+8512>: cmp lr, r0
0x07e33b88 <fz_paint_glyph+8516>: movgt lr, r0
0x07e33b8c <fz_paint_glyph+8520>: sub r0, r0, lr
0x07e33b90 <fz_paint_glyph+8524>: mla r10, lr, r1, r10
0x07e33b94 <fz_paint_glyph+8528>: mov r1, #0 ; 0x0
0x07e33b98 <fz_paint_glyph+8532>: b 0x7e33d14 <fz_paint_glyph+8912>
0x07e33b9c <fz_paint_glyph+8536>: orr r0, r4, r1, lsl #5
0x07e33ba0 <fz_paint_glyph+8540>: ldr r4, [sp, #256]
0x07e33ba4 <fz_paint_glyph+8544>: add r1, r0, r12, lsr #3
0x07e33ba8 <fz_paint_glyph+8548>: and r0, r12, #4 ; 0x4
0x07e33bac <fz_paint_glyph+8552>: str r0, [sp, #144]
0x07e33bb0 <fz_paint_glyph+8556>: ldr r0, [sp, #128]
0x07e33bb4 <fz_paint_glyph+8560>: str r7, [sp, #252]
0x07e33bb8 <fz_paint_glyph+8564>: str r2, [sp, #248]
0x07e33bbc <fz_paint_glyph+8568>: cmp r1, r0
0x07e33bc0 <fz_paint_glyph+8572>: str r0, [sp, #128]
0x07e33bc4 <fz_paint_glyph+8576>: movgt r1, r0
0x07e33bc8 <fz_paint_glyph+8580>: mov r7, r4
0x07e33bcc <fz_paint_glyph+8584>: str r1, [sp, #112]
0x07e33bd0 <fz_paint_glyph+8588>: str r4, [sp, #256]
0x07e33bd4 <fz_paint_glyph+8592>: ldrb r0, [r3]
0x07e33bd8 <fz_paint_glyph+8596>: mov r5, #0 ; 0x0
0x07e33bdc <fz_paint_glyph+8600>: cmp r8, #16 ; 0x10
0x07e33be0 <fz_paint_glyph+8604>: add r12, r0, r0, lsr #7
0x07e33be4 <fz_paint_glyph+8608>: bcs 0x7e33bf0 <fz_paint_glyph+8620>
0x07e33be8 <fz_paint_glyph+8612>: mov r0, r10
0x07e33bec <fz_paint_glyph+8616>: b 0x7e33c98 <fz_paint_glyph+8788>
0x07e33bf0 <fz_paint_glyph+8620>: mcr 11, 5, r12, cr0, cr0, {4}
0x07e33bf4 <fz_paint_glyph+8624>: add r0, r10, r9
0x07e33bf8 <fz_paint_glyph+8628>: mov r6, lr
0x07e33bfc <fz_paint_glyph+8632>: mov r2, r9
0x07e33c00 <fz_paint_glyph+8636>: mov lr, r9
0x07e33c04 <fz_paint_glyph+8640>: mov r9, r10
0x07e33c08 <fz_paint_glyph+8644>: strnvbt r2, [r9], #-2575
0x07e33c0c <fz_paint_glyph+8648>: subs lr, lr, #16 ; 0x10
0x07e33c10 <fz_paint_glyph+8652>: strnvbt r4, [r6], #-2573
0x07e33c14 <fz_paint_glyph+8656>: bicnv r6, r8, #208896 ; 0x33000
0x07e33c18 <fz_paint_glyph+8660>: bicnv r2, r8, #204800 ; 0x32000
0x07e33c1c <fz_paint_glyph+8664>: bicnv r8, r8, #217088 ; 0x35000
0x07e33c20 <fz_paint_glyph+8668>: bicnv r4, r8, #212992 ; 0x34000
0x07e33c24 <fz_paint_glyph+8672>: bicnvs r12, r8, #221184 ; 0x36000
0x07e33c28 <fz_paint_glyph+8676>: bicnvs r10, r9, #1879048202 ; 0x7000000a
0x07e33c2c <fz_paint_glyph+8680>: bicnvs r8, r8, #1610612746 ; 0x6000000a
0x07e33c30 <fz_paint_glyph+8684>: bicnvs r6, r8, #225280 ; 0x37000
0x07e33c34 <fz_paint_glyph+8688>: bicnvs lr, r5, #805306378 ; 0x3000000a
0x07e33c38 <fz_paint_glyph+8692>: rsbnv r6, r10, #3670016 ; 0x380000
0x07e33c3c <fz_paint_glyph+8696>: bicnvs r10, r8, #208896 ; 0x33000
0x07e33c40 <fz_paint_glyph+8700>: bicnvs r4, r4, #536870922 ; 0x2000000a
0x07e33c44 <fz_paint_glyph+8704>: bicnvs r2, r8, #204800 ; 0x32000
0x07e33c48 <fz_paint_glyph+8708>: rsbnv r12, r8, #3670016 ; 0x380000
0x07e33c4c <fz_paint_glyph+8712>: rsbnv r10, lr, #3670016 ; 0x380000
0x07e33c50 <fz_paint_glyph+8716>: rsbnv r2, r4, #3670016 ; 0x380000
0x07e33c54 <fz_paint_glyph+8720>: sbcnvs r5, r8, #3538944 ; 0x360000
0x07e33c58 <fz_paint_glyph+8724>: sbcnvs r7, r8, #3801088 ; 0x3a0000
0x07e33c5c <fz_paint_glyph+8728>: sbcnvs r4, r8, #3932160 ; 0x3c0000
0x07e33c60 <fz_paint_glyph+8732>: sbcnvs r6, r8, #3276800 ; 0x320000
0x07e33c64 <fz_paint_glyph+8736>: mvnnvs r3, #1073741826 ; 0x40000002
0x07e33c68 <fz_paint_glyph+8740>: mvnnvs r2, #1610612738 ; 0x60000002
0x07e33c6c <fz_paint_glyph+8744>: strnvb r2, [r9], #-2573
0x07e33c70 <fz_paint_glyph+8748>: bne 0x7e33c08 <fz_paint_glyph+8644>
0x07e33c74 <fz_paint_glyph+8752>: mov r9, r2
0x07e33c78 <fz_paint_glyph+8756>: cmp r8, r2
0x07e33c7c <fz_paint_glyph+8760>: bne 0x7e33c90 <fz_paint_glyph+8780>
0x07e33c80 <fz_paint_glyph+8764>: ldr r2, [sp, #176]
0x07e33c84 <fz_paint_glyph+8768>: ldr lr, [sp, #260]
0x07e33c88 <fz_paint_glyph+8772>: add r6, r10, r2
0x07e33c8c <fz_paint_glyph+8776>: b 0x7e33cc8 <fz_paint_glyph+8836>
0x07e33c90 <fz_paint_glyph+8780>: ldr lr, [sp, #260]
0x07e33c94 <fz_paint_glyph+8784>: mov r5, r9
0x07e33c98 <fz_paint_glyph+8788>: add r6, lr, r5
0x07e33c9c <fz_paint_glyph+8792>: sub r5, r8, r5
0x07e33ca0 <fz_paint_glyph+8796>: ldrb r2, [r0]
0x07e33ca4 <fz_paint_glyph+8800>: subs r5, r5, #1 ; 0x1
0x07e33ca8 <fz_paint_glyph+8804>: ldrb r4, [r6], #1
0x07e33cac <fz_paint_glyph+8808>: sub r4, r4, r2
0x07e33cb0 <fz_paint_glyph+8812>: smulbb r4, r4, r12
0x07e33cb4 <fz_paint_glyph+8816>: add r2, r4, r2, lsl #8
0x07e33cb8 <fz_paint_glyph+8820>: mov r2, r2, lsr #8
0x07e33cbc <fz_paint_glyph+8824>: strb r2, [r0], #1
0x07e33cc0 <fz_paint_glyph+8828>: bne 0x7e33ca0 <fz_paint_glyph+8796>
0x07e33cc4 <fz_paint_glyph+8832>: sub r6, r0, #1 ; 0x1
0x07e33cc8 <fz_paint_glyph+8836>: ldrb r2, [r0]
0x07e33ccc <fz_paint_glyph+8840>: subs r1, r1, #1 ; 0x1
0x07e33cd0 <fz_paint_glyph+8844>: add r10, r6, #2 ; 0x2
0x07e33cd4 <fz_paint_glyph+8848>: add r3, r3, #1 ; 0x1
0x07e33cd8 <fz_paint_glyph+8852>: eor r5, r2, #255 ; 0xff
0x07e33cdc <fz_paint_glyph+8856>: smulbb r5, r5, r12
0x07e33ce0 <fz_paint_glyph+8860>: add r2, r5, r2, lsl #8
0x07e33ce4 <fz_paint_glyph+8864>: mov r2, r2, lsr #8
0x07e33ce8 <fz_paint_glyph+8868>: strb r2, [r0]
0x07e33cec <fz_paint_glyph+8872>: bne 0x7e33bd4 <fz_paint_glyph+8592>
0x07e33cf0 <fz_paint_glyph+8876>: ldr r0, [sp, #128]
0x07e33cf4 <fz_paint_glyph+8880>: ldr r1, [sp, #112]
0x07e33cf8 <fz_paint_glyph+8884>: sub r0, r0, r1
0x07e33cfc <fz_paint_glyph+8888>: ldr r2, [sp, #248]
0x07e33d00 <fz_paint_glyph+8892>: mov r1, #0 ; 0x0
0x07e33d04 <fz_paint_glyph+8896>: ldr r7, [sp, #252]
0x07e33d08 <fz_paint_glyph+8900>: mov r4, #1 ; 0x1
0x07e33d0c <fz_paint_glyph+8904>: ldr r6, [sp, #160]
0x07e33d10 <fz_paint_glyph+8908>: ldr r5, [sp, #144]
0x07e33d14 <fz_paint_glyph+8912>: cmp r5, #0 ; 0x0
0x07e33d18 <fz_paint_glyph+8916>: mov r5, #0 ; 0x0
0x07e33d1c <fz_paint_glyph+8920>: beq 0x7e33a88 <fz_paint_glyph+8260>
0x07e33d20 <fz_paint_glyph+8924>: add r2, r2, #1 ; 0x1
0x07e33d24 <fz_paint_glyph+8928>: ldr r0, [sp, #220]
0x07e33d28 <fz_paint_glyph+8932>: ldr r1, [sp, #256]
0x07e33d2c <fz_paint_glyph+8936>: cmp r7, #0 ; 0x0
0x07e33d30 <fz_paint_glyph+8940>: add r1, r1, r0
0x07e33d34 <fz_paint_glyph+8944>: str r1, [sp, #256]
0x07e33d38 <fz_paint_glyph+8948>: bne 0x7e3393c <fz_paint_glyph+7928>
0x07e33d3c <fz_paint_glyph+8952>: b 0x7e32288 <fz_paint_glyph+2116>
0x07e33d40 <fz_paint_glyph+8956>: ldr r0, [sp, #260]
0x07e33d44 <fz_paint_glyph+8960>: cmp lr, #0 ; 0x0
0x07e33d48 <fz_paint_glyph+8964>: ldrb r1, [r0, #4]
0x07e33d4c <fz_paint_glyph+8968>: add r9, r1, r1, lsr #7
0x07e33d50 <fz_paint_glyph+8972>: str r9, [sp, #224]
0x07e33d54 <fz_paint_glyph+8976>: beq 0x7e36c3c <fz_paint_glyph+20984>
0x07e33d58 <fz_paint_glyph+8980>: cmp r5, #0 ; 0x0
0x07e33d5c <fz_paint_glyph+8984>: beq 0x7e32288 <fz_paint_glyph+2116>
0x07e33d60 <fz_paint_glyph+8988>: ldr r0, [sp, #244]
0x07e33d64 <fz_paint_glyph+8992>: mov r3, r2
0x07e33d68 <fz_paint_glyph+8996>: mov r7, r5
0x07e33d6c <fz_paint_glyph+9000>: mov lr, #1 ; 0x1
0x07e33d70 <fz_paint_glyph+9004>: add r10, r0, #32 ; 0x20
0x07e33d74 <fz_paint_glyph+9008>: str r10, [sp, #112]
0x07e33d78 <fz_paint_glyph+9012>: ldr r0, [r10, r3, lsl #2]
0x07e33d7c <fz_paint_glyph+9016>: sub r7, r7, #1 ; 0x1
0x07e33d80 <fz_paint_glyph+9020>: cmp r0, #0 ; 0x0
0x07e33d84 <fz_paint_glyph+9024>: blt 0x7e33e5c <fz_paint_glyph+9240>
0x07e33d88 <fz_paint_glyph+9028>: ldr r1, [sp, #244]
0x07e33d8c <fz_paint_glyph+9032>: ldr r5, [r11, #16]
0x07e33d90 <fz_paint_glyph+9036>: add r0, r1, r0
0x07e33d94 <fz_paint_glyph+9040>: ldr r6, [sp, #256]
0x07e33d98 <fz_paint_glyph+9044>: add r8, r0, #32 ; 0x20
0x07e33d9c <fz_paint_glyph+9048>: mov r0, #0 ; 0x0
0x07e33da0 <fz_paint_glyph+9052>: cmp r5, #0 ; 0x0
0x07e33da4 <fz_paint_glyph+9056>: beq 0x7e33e64 <fz_paint_glyph+9248>
0x07e33da8 <fz_paint_glyph+9060>: ldr r12, [sp, #260]
0x07e33dac <fz_paint_glyph+9064>: mov r0, #0 ; 0x0
0x07e33db0 <fz_paint_glyph+9068>: str r6, [sp, #256]
0x07e33db4 <fz_paint_glyph+9072>: ldrb r4, [r8], #1
0x07e33db8 <fz_paint_glyph+9076>: and r2, r4, #3 ; 0x3
0x07e33dbc <fz_paint_glyph+9080>: cmp r2, #2 ; 0x2
0x07e33dc0 <fz_paint_glyph+9084>: beq 0x7e33de0 <fz_paint_glyph+9116>
0x07e33dc4 <fz_paint_glyph+9088>: cmp r2, #1 ; 0x1
0x07e33dc8 <fz_paint_glyph+9092>: beq 0x7e33df8 <fz_paint_glyph+9140>
0x07e33dcc <fz_paint_glyph+9096>: cmp r2, #0 ; 0x0
0x07e33dd0 <fz_paint_glyph+9100>: bne 0x7e33e1c <fz_paint_glyph+9176>
0x07e33dd4 <fz_paint_glyph+9104>: mov r0, r4, lsr #2
0x07e33dd8 <fz_paint_glyph+9108>: mov r2, #0 ; 0x0
0x07e33ddc <fz_paint_glyph+9112>: b 0x7e33e0c <fz_paint_glyph+9160>
0x07e33de0 <fz_paint_glyph+9116>: orr r0, lr, r0, lsl #5
0x07e33de4 <fz_paint_glyph+9120>: add r2, r0, r4, lsr #3
0x07e33de8 <fz_paint_glyph+9124>: and r4, r4, #4 ; 0x4
0x07e33dec <fz_paint_glyph+9128>: cmp r2, r5
0x07e33df0 <fz_paint_glyph+9132>: ble 0x7e33e34 <fz_paint_glyph+9200>
0x07e33df4 <fz_paint_glyph+9136>: b 0x7e33e84 <fz_paint_glyph+9280>
0x07e33df8 <fz_paint_glyph+9140>: orr r0, lr, r0, lsl #6
0x07e33dfc <fz_paint_glyph+9144>: add r2, r0, r4, lsr #2
0x07e33e00 <fz_paint_glyph+9148>: mov r0, #0 ; 0x0
0x07e33e04 <fz_paint_glyph+9152>: cmp r2, r5
0x07e33e08 <fz_paint_glyph+9156>: bgt 0x7e33ea4 <fz_paint_glyph+9312>
0x07e33e0c <fz_paint_glyph+9160>: ldr r6, [sp, #256]
0x07e33e10 <fz_paint_glyph+9164>: subs r5, r5, r2
0x07e33e14 <fz_paint_glyph+9168>: bne 0x7e33db4 <fz_paint_glyph+9072>
0x07e33e18 <fz_paint_glyph+9172>: b 0x7e33e4c <fz_paint_glyph+9224>
0x07e33e1c <fz_paint_glyph+9176>: orr r0, lr, r0, lsl #5
0x07e33e20 <fz_paint_glyph+9180>: add r2, r0, r4, lsr #3
0x07e33e24 <fz_paint_glyph+9184>: and r4, r4, #4 ; 0x4
0x07e33e28 <fz_paint_glyph+9188>: cmp r2, r5
0x07e33e2c <fz_paint_glyph+9192>: bgt 0x7e33ec0 <fz_paint_glyph+9340>
0x07e33e30 <fz_paint_glyph+9196>: add r8, r8, r2
0x07e33e34 <fz_paint_glyph+9200>: ldr r6, [sp, #256]
0x07e33e38 <fz_paint_glyph+9204>: mov r0, #0 ; 0x0
0x07e33e3c <fz_paint_glyph+9208>: cmp r4, #0 ; 0x0
0x07e33e40 <fz_paint_glyph+9212>: bne 0x7e33e78 <fz_paint_glyph+9268>
0x07e33e44 <fz_paint_glyph+9216>: subs r5, r5, r2
0x07e33e48 <fz_paint_glyph+9220>: bne 0x7e33db4 <fz_paint_glyph+9072>
0x07e33e4c <fz_paint_glyph+9224>: ldr r1, [r11, #8]
0x07e33e50 <fz_paint_glyph+9228>: mov r4, #0 ; 0x0
0x07e33e54 <fz_paint_glyph+9232>: mov r5, r6
0x07e33e58 <fz_paint_glyph+9236>: b 0x7e33e70 <fz_paint_glyph+9260>
0x07e33e5c <fz_paint_glyph+9240>: ldr r6, [sp, #256]
0x07e33e60 <fz_paint_glyph+9244>: b 0x7e3416c <fz_paint_glyph+10024>
0x07e33e64 <fz_paint_glyph+9248>: ldr r1, [r11, #8]
0x07e33e68 <fz_paint_glyph+9252>: mov r5, r6
0x07e33e6c <fz_paint_glyph+9256>: mov r4, #0 ; 0x0
0x07e33e70 <fz_paint_glyph+9260>: mov r2, r1
0x07e33e74 <fz_paint_glyph+9264>: b 0x7e33ee0 <fz_paint_glyph+9372>
0x07e33e78 <fz_paint_glyph+9268>: mov r5, r6
0x07e33e7c <fz_paint_glyph+9272>: mov r2, #0 ; 0x0
0x07e33e80 <fz_paint_glyph+9276>: b 0x7e33ee0 <fz_paint_glyph+9372>
0x07e33e84 <fz_paint_glyph+9280>: ldr r0, [r11, #8]
0x07e33e88 <fz_paint_glyph+9284>: str r3, [sp, #248]
0x07e33e8c <fz_paint_glyph+9288>: sub r3, r2, r5
0x07e33e90 <fz_paint_glyph+9292>: str r4, [sp, #128]
0x07e33e94 <fz_paint_glyph+9296>: str r7, [sp, #252]
0x07e33e98 <fz_paint_glyph+9300>: mov r2, r0
0x07e33e9c <fz_paint_glyph+9304>: ldr r5, [sp, #256]
0x07e33ea0 <fz_paint_glyph+9308>: b 0x7e33f34 <fz_paint_glyph+9456>
0x07e33ea4 <fz_paint_glyph+9312>: ldr r6, [sp, #256]
0x07e33ea8 <fz_paint_glyph+9316>: sub r0, r2, r5
0x07e33eac <fz_paint_glyph+9320>: ldr r1, [r11, #8]
0x07e33eb0 <fz_paint_glyph+9324>: mov r4, #0 ; 0x0
0x07e33eb4 <fz_paint_glyph+9328>: mov r5, r6
0x07e33eb8 <fz_paint_glyph+9332>: mov r2, r1
0x07e33ebc <fz_paint_glyph+9336>: b 0x7e34024 <fz_paint_glyph+9696>
0x07e33ec0 <fz_paint_glyph+9340>: str r4, [sp, #128]
0x07e33ec4 <fz_paint_glyph+9344>: sub r4, r2, r5
0x07e33ec8 <fz_paint_glyph+9348>: add r8, r8, r5
0x07e33ecc <fz_paint_glyph+9352>: str r7, [sp, #252]
0x07e33ed0 <fz_paint_glyph+9356>: str r3, [sp, #248]
0x07e33ed4 <fz_paint_glyph+9360>: ldr r5, [sp, #256]
0x07e33ed8 <fz_paint_glyph+9364>: ldr r0, [r11, #8]
0x07e33edc <fz_paint_glyph+9368>: b 0x7e3405c <fz_paint_glyph+9752>
0x07e33ee0 <fz_paint_glyph+9372>: cmp r2, #1 ; 0x1
0x07e33ee4 <fz_paint_glyph+9376>: blt 0x7e3416c <fz_paint_glyph+10024>
0x07e33ee8 <fz_paint_glyph+9380>: ldrb r1, [r8], #1
0x07e33eec <fz_paint_glyph+9384>: ldr r12, [sp, #260]
0x07e33ef0 <fz_paint_glyph+9388>: str r6, [sp, #256]
0x07e33ef4 <fz_paint_glyph+9392>: and r6, r1, #3 ; 0x3
0x07e33ef8 <fz_paint_glyph+9396>: cmp r6, #2 ; 0x2
0x07e33efc <fz_paint_glyph+9400>: beq 0x7e33f1c <fz_paint_glyph+9432>
0x07e33f00 <fz_paint_glyph+9404>: cmp r6, #1 ; 0x1
0x07e33f04 <fz_paint_glyph+9408>: beq 0x7e34018 <fz_paint_glyph+9684>
0x07e33f08 <fz_paint_glyph+9412>: cmp r6, #0 ; 0x0
0x07e33f0c <fz_paint_glyph+9416>: bne 0x7e34040 <fz_paint_glyph+9724>
0x07e33f10 <fz_paint_glyph+9420>: mov r0, r1, lsr #2
0x07e33f14 <fz_paint_glyph+9424>: ldr r6, [sp, #256]
0x07e33f18 <fz_paint_glyph+9428>: b 0x7e34160 <fz_paint_glyph+10012>
0x07e33f1c <fz_paint_glyph+9432>: orr r0, lr, r0, lsl #5
0x07e33f20 <fz_paint_glyph+9436>: str r3, [sp, #248]
0x07e33f24 <fz_paint_glyph+9440>: add r3, r0, r1, lsr #3
0x07e33f28 <fz_paint_glyph+9444>: and r0, r1, #4 ; 0x4
0x07e33f2c <fz_paint_glyph+9448>: str r7, [sp, #252]
0x07e33f30 <fz_paint_glyph+9452>: str r0, [sp, #128]
0x07e33f34 <fz_paint_glyph+9456>: cmp r3, r2
0x07e33f38 <fz_paint_glyph+9460>: ldrb r0, [r12]
0x07e33f3c <fz_paint_glyph+9464>: mvn r1, r3
0x07e33f40 <fz_paint_glyph+9468>: movgt r3, r2
0x07e33f44 <fz_paint_glyph+9472>: mvn r7, r2
0x07e33f48 <fz_paint_glyph+9476>: cmp r7, r1
0x07e33f4c <fz_paint_glyph+9480>: ldrb lr, [r12, #3]
0x07e33f50 <fz_paint_glyph+9484>: movgt r1, r7
0x07e33f54 <fz_paint_glyph+9488>: str r0, [sp, #192]
0x07e33f58 <fz_paint_glyph+9492>: add r7, r1, #1 ; 0x1
0x07e33f5c <fz_paint_glyph+9496>: ldrb r0, [r12, #1]
0x07e33f60 <fz_paint_glyph+9500>: str r0, [sp, #176]
0x07e33f64 <fz_paint_glyph+9504>: ldrb r0, [r12, #2]
0x07e33f68 <fz_paint_glyph+9508>: str r0, [sp, #160]
0x07e33f6c <fz_paint_glyph+9512>: str r2, [sp, #144]
0x07e33f70 <fz_paint_glyph+9516>: str r3, [sp, #96]
0x07e33f74 <fz_paint_glyph+9520>: ldrb r1, [r5]
0x07e33f78 <fz_paint_glyph+9524>: adds r7, r7, #1 ; 0x1
0x07e33f7c <fz_paint_glyph+9528>: ldr r0, [sp, #192]
0x07e33f80 <fz_paint_glyph+9532>: ldrb r6, [r5, #3]
0x07e33f84 <fz_paint_glyph+9536>: sub r10, r0, r1
0x07e33f88 <fz_paint_glyph+9540>: ldrb r2, [r5, #1]
0x07e33f8c <fz_paint_glyph+9544>: ldrb r4, [r5, #2]
0x07e33f90 <fz_paint_glyph+9548>: sub r3, lr, r6
0x07e33f94 <fz_paint_glyph+9552>: smulbb r0, r10, r9
0x07e33f98 <fz_paint_glyph+9556>: smulbb r12, r3, r9
0x07e33f9c <fz_paint_glyph+9560>: ldr r3, [sp, #176]
0x07e33fa0 <fz_paint_glyph+9564>: add r0, r0, r1, lsl #8
0x07e33fa4 <fz_paint_glyph+9568>: ldrb r1, [r5, #4]
0x07e33fa8 <fz_paint_glyph+9572>: mov r0, r0, lsr #8
0x07e33fac <fz_paint_glyph+9576>: strb r0, [r5]
0x07e33fb0 <fz_paint_glyph+9580>: eor r0, r1, #255 ; 0xff
0x07e33fb4 <fz_paint_glyph+9584>: smulbb r10, r0, r9
0x07e33fb8 <fz_paint_glyph+9588>: ldr r0, [sp, #160]
0x07e33fbc <fz_paint_glyph+9592>: sub r0, r0, r4
0x07e33fc0 <fz_paint_glyph+9596>: smulbb r0, r0, r9
0x07e33fc4 <fz_paint_glyph+9600>: sub r9, r3, r2
0x07e33fc8 <fz_paint_glyph+9604>: ldr r3, [sp, #224]
0x07e33fcc <fz_paint_glyph+9608>: smulbb r3, r9, r3
0x07e33fd0 <fz_paint_glyph+9612>: add r0, r0, r4, lsl #8
0x07e33fd4 <fz_paint_glyph+9616>: ldr r9, [sp, #224]
0x07e33fd8 <fz_paint_glyph+9620>: mov r0, r0, lsr #8
0x07e33fdc <fz_paint_glyph+9624>: add r2, r3, r2, lsl #8
0x07e33fe0 <fz_paint_glyph+9628>: mov r2, r2, lsr #8
0x07e33fe4 <fz_paint_glyph+9632>: strb r2, [r5, #1]
0x07e33fe8 <fz_paint_glyph+9636>: strb r0, [r5, #2]
0x07e33fec <fz_paint_glyph+9640>: add r0, r12, r6, lsl #8
0x07e33ff0 <fz_paint_glyph+9644>: mov r0, r0, lsr #8
0x07e33ff4 <fz_paint_glyph+9648>: strb r0, [r5, #3]
0x07e33ff8 <fz_paint_glyph+9652>: add r0, r10, r1, lsl #8
0x07e33ffc <fz_paint_glyph+9656>: mov r0, r0, lsr #8
0x07e34000 <fz_paint_glyph+9660>: strb r0, [r5, #4]
0x07e34004 <fz_paint_glyph+9664>: add r5, r5, #5 ; 0x5
0x07e34008 <fz_paint_glyph+9668>: bne 0x7e33f74 <fz_paint_glyph+9520>
0x07e3400c <fz_paint_glyph+9672>: ldr r2, [sp, #144]
0x07e34010 <fz_paint_glyph+9676>: ldr r0, [sp, #96]
0x07e34014 <fz_paint_glyph+9680>: b 0x7e34140 <fz_paint_glyph+9980>
0x07e34018 <fz_paint_glyph+9684>: orr r0, lr, r0, lsl #6
0x07e3401c <fz_paint_glyph+9688>: ldr r6, [sp, #256]
0x07e34020 <fz_paint_glyph+9692>: add r0, r0, r1, lsr #2
0x07e34024 <fz_paint_glyph+9696>: cmp r0, r2
0x07e34028 <fz_paint_glyph+9700>: movgt r0, r2
0x07e3402c <fz_paint_glyph+9704>: sub r2, r2, r0
0x07e34030 <fz_paint_glyph+9708>: add r0, r0, r0, lsl #2
0x07e34034 <fz_paint_glyph+9712>: add r5, r5, r0
0x07e34038 <fz_paint_glyph+9716>: mov r0, #0 ; 0x0
0x07e3403c <fz_paint_glyph+9720>: b 0x7e34160 <fz_paint_glyph+10012>
0x07e34040 <fz_paint_glyph+9724>: orr r0, lr, r0, lsl #5
0x07e34044 <fz_paint_glyph+9728>: str r7, [sp, #252]
0x07e34048 <fz_paint_glyph+9732>: add r4, r0, r1, lsr #3
0x07e3404c <fz_paint_glyph+9736>: and r0, r1, #4 ; 0x4
0x07e34050 <fz_paint_glyph+9740>: str r0, [sp, #128]
0x07e34054 <fz_paint_glyph+9744>: mov r0, r2
0x07e34058 <fz_paint_glyph+9748>: str r3, [sp, #248]
0x07e3405c <fz_paint_glyph+9752>: cmp r4, r0
0x07e34060 <fz_paint_glyph+9756>: mvn r7, r4
0x07e34064 <fz_paint_glyph+9760>: movgt r4, r0
0x07e34068 <fz_paint_glyph+9764>: mvn r3, r0
0x07e3406c <fz_paint_glyph+9768>: cmp r3, r7
0x07e34070 <fz_paint_glyph+9772>: ldrb r10, [r12, #2]
0x07e34074 <fz_paint_glyph+9776>: movgt r7, r3
0x07e34078 <fz_paint_glyph+9780>: ldrb lr, [r12, #3]
0x07e3407c <fz_paint_glyph+9784>: ldr r9, [sp, #224]
0x07e34080 <fz_paint_glyph+9788>: add r7, r7, #1 ; 0x1
0x07e34084 <fz_paint_glyph+9792>: ldrb r1, [r12]
0x07e34088 <fz_paint_glyph+9796>: str r1, [sp, #192]
0x07e3408c <fz_paint_glyph+9800>: ldrb r1, [r12, #1]
0x07e34090 <fz_paint_glyph+9804>: str r1, [sp, #176]
0x07e34094 <fz_paint_glyph+9808>: str r0, [sp, #144]
0x07e34098 <fz_paint_glyph+9812>: str r4, [sp, #160]
0x07e3409c <fz_paint_glyph+9816>: ldrb r3, [r8], #1
0x07e340a0 <fz_paint_glyph+9820>: adds r7, r7, #1 ; 0x1
0x07e340a4 <fz_paint_glyph+9824>: ldrb r1, [r5]
0x07e340a8 <fz_paint_glyph+9828>: ldr r6, [sp, #192]
0x07e340ac <fz_paint_glyph+9832>: add r3, r3, r3, lsr #7
0x07e340b0 <fz_paint_glyph+9836>: ldrb r4, [r5, #3]
0x07e340b4 <fz_paint_glyph+9840>: sub r12, r6, r1
0x07e340b8 <fz_paint_glyph+9844>: ldrb r2, [r5, #1]
0x07e340bc <fz_paint_glyph+9848>: smulbb r3, r3, r9
0x07e340c0 <fz_paint_glyph+9852>: ldrb r0, [r5, #2]
0x07e340c4 <fz_paint_glyph+9856>: mov r3, r3, lsr #8
0x07e340c8 <fz_paint_glyph+9860>: smulbb r6, r3, r12
0x07e340cc <fz_paint_glyph+9864>: add r1, r6, r1, lsl #8
0x07e340d0 <fz_paint_glyph+9868>: sub r6, r10, r0
0x07e340d4 <fz_paint_glyph+9872>: mov r1, r1, lsr #8
0x07e340d8 <fz_paint_glyph+9876>: smulbb r6, r6, r3
0x07e340dc <fz_paint_glyph+9880>: strb r1, [r5]
0x07e340e0 <fz_paint_glyph+9884>: sub r1, lr, r4
0x07e340e4 <fz_paint_glyph+9888>: smulbb r12, r1, r3
0x07e340e8 <fz_paint_glyph+9892>: ldr r1, [sp, #176]
0x07e340ec <fz_paint_glyph+9896>: add r0, r6, r0, lsl #8
0x07e340f0 <fz_paint_glyph+9900>: sub r1, r1, r2
0x07e340f4 <fz_paint_glyph+9904>: mov r0, r0, lsr #8
0x07e340f8 <fz_paint_glyph+9908>: smulbb r1, r1, r3
0x07e340fc <fz_paint_glyph+9912>: add r1, r1, r2, lsl #8
0x07e34100 <fz_paint_glyph+9916>: mov r1, r1, lsr #8
0x07e34104 <fz_paint_glyph+9920>: strb r1, [r5, #1]
0x07e34108 <fz_paint_glyph+9924>: ldrb r1, [r5, #4]
0x07e3410c <fz_paint_glyph+9928>: strb r0, [r5, #2]
0x07e34110 <fz_paint_glyph+9932>: add r0, r12, r4, lsl #8
0x07e34114 <fz_paint_glyph+9936>: eor r2, r1, #255 ; 0xff
0x07e34118 <fz_paint_glyph+9940>: mov r0, r0, lsr #8
0x07e3411c <fz_paint_glyph+9944>: smulbb r2, r2, r3
0x07e34120 <fz_paint_glyph+9948>: strb r0, [r5, #3]
0x07e34124 <fz_paint_glyph+9952>: add r0, r2, r1, lsl #8
0x07e34128 <fz_paint_glyph+9956>: mov r0, r0, lsr #8
0x07e3412c <fz_paint_glyph+9960>: strb r0, [r5, #4]
0x07e34130 <fz_paint_glyph+9964>: add r5, r5, #5 ; 0x5
0x07e34134 <fz_paint_glyph+9968>: bne 0x7e3409c <fz_paint_glyph+9816>
0x07e34138 <fz_paint_glyph+9972>: ldr r2, [sp, #144]
0x07e3413c <fz_paint_glyph+9976>: ldr r0, [sp, #160]
0x07e34140 <fz_paint_glyph+9980>: ldr r6, [sp, #256]
0x07e34144 <fz_paint_glyph+9984>: sub r2, r2, r0
0x07e34148 <fz_paint_glyph+9988>: ldr r3, [sp, #248]
0x07e3414c <fz_paint_glyph+9992>: mov r0, #0 ; 0x0
0x07e34150 <fz_paint_glyph+9996>: ldr r7, [sp, #252]
Quit
r0 0xbfff4d0f -1073787633
r1 0x54456440 1413833792
r2 0x0 0
r3 0x528a6100 1384800512
r4 0x0 0
r5 0x1d 29
r6 0x1 1
r7 0xff 255
r8 0x3 3
r9 0x10 16
r10 0x0 0
r11 0xbfff4bc8 -1073787960
r12 0x0 0
sp 0xbfff4a60 -1073788320
lr 0xbfff4a90 -1073788272
pc 0x7e332dc 132330204
fps 0x20000010 536870928
cpsr 0x20000010 536870928
In the attachment are the bt, the disas sembly of the function of interest
until the bus error, and the state of the registers. I'm completely new to
llvm, and I'm trying to build my cabin here, so I can't be of any help
(I'm not familiar with the restrictions you are imposing here), altough I
bet the problem is in their memory management: source/fitz/memory.c.

Good luck!
adr.