
/root/llvm-ghidra-experiment/build/Oz_debug/libraries.so:	file format elf64-x86-64

Disassembly of section .text:

0000000000001a40 <deregister_tm_clones>:
    1a40: 48 8d 3d c1 32 00 00         	leaq	0x32c1(%rip), %rdi      # 0x4d08 <_GLOBAL_OFFSET_TABLE_>
    1a47: 48 8d 05 ba 32 00 00         	leaq	0x32ba(%rip), %rax      # 0x4d08 <_GLOBAL_OFFSET_TABLE_>
    1a4e: 48 39 f8                     	cmpq	%rdi, %rax
    1a51: 74 15                        	je	0x1a68 <deregister_tm_clones+0x28>
    1a53: 48 8b 05 8e 22 00 00         	movq	0x228e(%rip), %rax      # 0x3ce8 <malloc+0x3ce8>
    1a5a: 48 85 c0                     	testq	%rax, %rax
    1a5d: 74 09                        	je	0x1a68 <deregister_tm_clones+0x28>
    1a5f: ff e0                        	jmpq	*%rax
    1a61: 0f 1f 80 00 00 00 00         	nopl	(%rax)
    1a68: c3                           	retq
    1a69: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001a70 <register_tm_clones>:
    1a70: 48 8d 3d 91 32 00 00         	leaq	0x3291(%rip), %rdi      # 0x4d08 <_GLOBAL_OFFSET_TABLE_>
    1a77: 48 8d 35 8a 32 00 00         	leaq	0x328a(%rip), %rsi      # 0x4d08 <_GLOBAL_OFFSET_TABLE_>
    1a7e: 48 29 fe                     	subq	%rdi, %rsi
    1a81: 48 89 f0                     	movq	%rsi, %rax
    1a84: 48 c1 ee 3f                  	shrq	$0x3f, %rsi
    1a88: 48 c1 f8 03                  	sarq	$0x3, %rax
    1a8c: 48 01 c6                     	addq	%rax, %rsi
    1a8f: 48 d1 fe                     	sarq	%rsi
    1a92: 74 14                        	je	0x1aa8 <register_tm_clones+0x38>
    1a94: 48 8b 05 55 22 00 00         	movq	0x2255(%rip), %rax      # 0x3cf0 <malloc+0x3cf0>
    1a9b: 48 85 c0                     	testq	%rax, %rax
    1a9e: 74 08                        	je	0x1aa8 <register_tm_clones+0x38>
    1aa0: ff e0                        	jmpq	*%rax
    1aa2: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    1aa8: c3                           	retq
    1aa9: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001ab0 <__do_global_dtors_aux>:
    1ab0: f3 0f 1e fa                  	endbr64
    1ab4: 80 3d 6d 32 00 00 00         	cmpb	$0x0, 0x326d(%rip)      # 0x4d28 <completed.0>
    1abb: 75 33                        	jne	0x1af0 <__do_global_dtors_aux+0x40>
    1abd: 55                           	pushq	%rbp
    1abe: 48 83 3d 32 22 00 00 00      	cmpq	$0x0, 0x2232(%rip)      # 0x3cf8 <malloc+0x3cf8>
    1ac6: 48 89 e5                     	movq	%rsp, %rbp
    1ac9: 74 0d                        	je	0x1ad8 <__do_global_dtors_aux+0x28>
    1acb: 48 8b 3d 2e 32 00 00         	movq	0x322e(%rip), %rdi      # 0x4d00 <__dso_handle>
    1ad2: ff 15 20 22 00 00            	callq	*0x2220(%rip)           # 0x3cf8 <malloc+0x3cf8>
    1ad8: e8 63 ff ff ff               	callq	0x1a40 <deregister_tm_clones>
    1add: c6 05 44 32 00 00 01         	movb	$0x1, 0x3244(%rip)      # 0x4d28 <completed.0>
    1ae4: 5d                           	popq	%rbp
    1ae5: c3                           	retq
    1ae6: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    1af0: c3                           	retq
    1af1: 0f 1f 40 00                  	nopl	(%rax)
    1af5: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)

0000000000001b00 <frame_dummy>:
    1b00: f3 0f 1e fa                  	endbr64
    1b04: e9 67 ff ff ff               	jmp	0x1a70 <register_tm_clones>
    1b09: cc                           	int3
    1b0a: cc                           	int3
    1b0b: cc                           	int3

0000000000001b0c <jsmn_parse>:
    1b0c: 55                           	pushq	%rbp
    1b0d: 41 57                        	pushq	%r15
    1b0f: 41 56                        	pushq	%r14
    1b11: 41 55                        	pushq	%r13
    1b13: 41 54                        	pushq	%r12
    1b15: 53                           	pushq	%rbx
    1b16: 44 8b 3f                     	movl	(%rdi), %r15d
    1b19: 44 8b 4f 04                  	movl	0x4(%rdi), %r9d
    1b1d: 41 ba 08 00 00 00            	movl	$0x8, %r10d
    1b23: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    1b28: bd ff ff ff ff               	movl	$0xffffffff, %ebp       # imm = 0xFFFFFFFF
    1b2d: 49 bc 00 26 00 00 01 10 00 00	movabsq	$0x100100002600, %r12   # imm = 0x100100002600
    1b37: 4c 8d 2d e2 ea ff ff         	leaq	-0x151e(%rip), %r13     # 0x620 <malloc+0x620>
    1b3e: c4 c1 79 6e c2               	vmovd	%r10d, %xmm0
    1b43: 41 ba 04 00 00 00            	movl	$0x4, %r10d
    1b49: c4 c1 79 6e ca               	vmovd	%r10d, %xmm1
    1b4e: 45 89 fa                     	movl	%r15d, %r10d
    1b51: 4c 39 d2                     	cmpq	%r10, %rdx
    1b54: 0f 86 53 04 00 00            	jbe	0x1fad <jsmn_parse+0x4a1>
    1b5a: 46 8a 14 16                  	movb	(%rsi,%r10), %r10b
    1b5e: 45 0f b6 da                  	movzbl	%r10b, %r11d
    1b62: 45 8d 73 e0                  	leal	-0x20(%r11), %r14d
    1b66: 41 83 fe 1a                  	cmpl	$0x1a, %r14d
    1b6a: 0f 87 16 01 00 00            	ja	0x1c86 <jsmn_parse+0x17a>
    1b70: 4f 63 54 b5 00               	movslq	(%r13,%r14,4), %r10
    1b75: 4d 01 ea                     	addq	%r13, %r10
    1b78: 41 ff e2                     	jmpq	*%r10
    1b7b: 45 8d 57 01                  	leal	0x1(%r15), %r10d
    1b7f: 45 89 d6                     	movl	%r10d, %r14d
    1b82: 44 89 54 24 fc               	movl	%r10d, -0x4(%rsp)
    1b87: 44 89 37                     	movl	%r14d, (%rdi)
    1b8a: 45 89 f3                     	movl	%r14d, %r11d
    1b8d: 4c 39 da                     	cmpq	%r11, %rdx
    1b90: 0f 86 fb 03 00 00            	jbe	0x1f91 <jsmn_parse+0x485>
    1b96: 42 0f b6 2c 1e               	movzbl	(%rsi,%r11), %ebp
    1b9b: 83 fd 5c                     	cmpl	$0x5c, %ebp
    1b9e: 74 19                        	je	0x1bb9 <jsmn_parse+0xad>
    1ba0: 85 ed                        	testl	%ebp, %ebp
    1ba2: 0f 84 e9 03 00 00            	je	0x1f91 <jsmn_parse+0x485>
    1ba8: 45 89 f3                     	movl	%r14d, %r11d
    1bab: 83 fd 22                     	cmpl	$0x22, %ebp
    1bae: 0f 84 8f 03 00 00            	je	0x1f43 <jsmn_parse+0x437>
    1bb4: e9 af 00 00 00               	jmp	0x1c68 <jsmn_parse+0x15c>
    1bb9: 45 8d 5e 01                  	leal	0x1(%r14), %r11d
    1bbd: 4c 39 da                     	cmpq	%r11, %rdx
    1bc0: 0f 86 89 00 00 00            	jbe	0x1c4f <jsmn_parse+0x143>
    1bc6: 44 89 1f                     	movl	%r11d, (%rdi)
    1bc9: 42 0f b6 2c 1e               	movzbl	(%rsi,%r11), %ebp
    1bce: 8d 5d d1                     	leal	-0x2f(%rbp), %ebx
    1bd1: 83 fb 37                     	cmpl	$0x37, %ebx
    1bd4: 76 7e                        	jbe	0x1c54 <jsmn_parse+0x148>
    1bd6: 8d 5d 92                     	leal	-0x6e(%rbp), %ebx
    1bd9: 83 fb 07                     	cmpl	$0x7, %ebx
    1bdc: 0f 87 91 00 00 00            	ja	0x1c73 <jsmn_parse+0x167>
    1be2: 48 8d 2d a3 ea ff ff         	leaq	-0x155d(%rip), %rbp     # 0x68c <malloc+0x68c>
    1be9: 48 63 5c 9d 00               	movslq	(%rbp,%rbx,4), %rbx
    1bee: 48 01 eb                     	addq	%rbp, %rbx
    1bf1: ff e3                        	jmpq	*%rbx
    1bf3: 41 83 c6 02                  	addl	$0x2, %r14d
    1bf7: bd 04 00 00 00               	movl	$0x4, %ebp
    1bfc: 45 89 f3                     	movl	%r14d, %r11d
    1bff: 44 89 37                     	movl	%r14d, (%rdi)
    1c02: 83 ed 01                     	subl	$0x1, %ebp
    1c05: 72 77                        	jb	0x1c7e <jsmn_parse+0x172>
    1c07: 45 89 de                     	movl	%r11d, %r14d
    1c0a: 4c 39 f2                     	cmpq	%r14, %rdx
    1c0d: 76 6f                        	jbe	0x1c7e <jsmn_parse+0x172>
    1c0f: 46 8a 34 36                  	movb	(%rsi,%r14), %r14b
    1c13: 45 84 f6                     	testb	%r14b, %r14b
    1c16: 74 66                        	je	0x1c7e <jsmn_parse+0x172>
    1c18: 41 8d 5e d0                  	leal	-0x30(%r14), %ebx
    1c1c: 80 fb 0a                     	cmpb	$0xa, %bl
    1c1f: 72 26                        	jb	0x1c47 <jsmn_parse+0x13b>
    1c21: 45 0f b6 f6                  	movzbl	%r14b, %r14d
    1c25: 41 83 c6 bf                  	addl	$-0x41, %r14d
    1c29: 41 83 fe 25                  	cmpl	$0x25, %r14d
    1c2d: 0f 87 63 03 00 00            	ja	0x1f96 <jsmn_parse+0x48a>
    1c33: 48 bb 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbx     # imm = 0x3F0000003F
    1c3d: 4c 0f a3 f3                  	btq	%r14, %rbx
    1c41: 0f 83 4f 03 00 00            	jae	0x1f96 <jsmn_parse+0x48a>
    1c47: 41 ff c3                     	incl	%r11d
    1c4a: 44 89 1f                     	movl	%r11d, (%rdi)
    1c4d: eb b3                        	jmp	0x1c02 <jsmn_parse+0xf6>
    1c4f: 45 89 f3                     	movl	%r14d, %r11d
    1c52: eb 14                        	jmp	0x1c68 <jsmn_parse+0x15c>
    1c54: 49 ba 01 00 00 00 00 20 88 00	movabsq	$0x88200000000001, %r10 # imm = 0x88200000000001
    1c5e: 49 0f a3 da                  	btq	%rbx, %r10
    1c62: 0f 83 6e ff ff ff            	jae	0x1bd6 <jsmn_parse+0xca>
    1c68: 41 ff c3                     	incl	%r11d
    1c6b: 45 89 de                     	movl	%r11d, %r14d
    1c6e: e9 14 ff ff ff               	jmp	0x1b87 <jsmn_parse+0x7b>
    1c73: 83 fd 22                     	cmpl	$0x22, %ebp
    1c76: 0f 85 1a 03 00 00            	jne	0x1f96 <jsmn_parse+0x48a>
    1c7c: eb ea                        	jmp	0x1c68 <jsmn_parse+0x15c>
    1c7e: 41 ff cb                     	decl	%r11d
    1c81: 44 89 1f                     	movl	%r11d, (%rdi)
    1c84: eb e2                        	jmp	0x1c68 <jsmn_parse+0x15c>
    1c86: 45 8d 73 a5                  	leal	-0x5b(%r11), %r14d
    1c8a: 41 83 fe 22                  	cmpl	$0x22, %r14d
    1c8e: 0f 87 a9 00 00 00            	ja	0x1d3d <jsmn_parse+0x231>
    1c94: bb 00 08 08 02               	movl	$0x2080800, %ebx        # imm = 0x2080800
    1c99: 4c 0f a3 f3                  	btq	%r14, %rbx
    1c9d: 72 75                        	jb	0x1d14 <jsmn_parse+0x208>
    1c9f: 48 bb 01 00 00 00 01 00 00 00	movabsq	$0x100000001, %rbx      # imm = 0x100000001
    1ca9: 4c 0f a3 f3                  	btq	%r14, %rbx
    1cad: 0f 82 6f 01 00 00            	jb	0x1e22 <jsmn_parse+0x316>
    1cb3: 48 bb 04 00 00 00 04 00 00 00	movabsq	$0x400000004, %rbx      # imm = 0x400000004
    1cbd: 4c 0f a3 f3                  	btq	%r14, %rbx
    1cc1: 73 7a                        	jae	0x1d3d <jsmn_parse+0x231>
    1cc3: 48 85 c9                     	testq	%rcx, %rcx
    1cc6: 0f 84 c5 01 00 00            	je	0x1e91 <jsmn_parse+0x385>
    1ccc: 44 8b 5f 04                  	movl	0x4(%rdi), %r11d
    1cd0: 89 eb                        	movl	%ebp, %ebx
    1cd2: 31 ed                        	xorl	%ebp, %ebp
    1cd4: 41 80 fa 7d                  	cmpb	$0x7d, %r10b
    1cd8: 40 0f 95 c5                  	setne	%bpl
    1cdc: ff c5                        	incl	%ebp
    1cde: 4d 8d 53 ff                  	leaq	-0x1(%r11), %r10
    1ce2: 45 85 d2                     	testl	%r10d, %r10d
    1ce5: 0f 88 10 02 00 00            	js	0x1efb <jsmn_parse+0x3ef>
    1ceb: 45 89 d6                     	movl	%r10d, %r14d
    1cee: 41 81 e6 ff ff ff 7f         	andl	$0x7fffffff, %r14d      # imm = 0x7FFFFFFF
    1cf5: 49 c1 e6 04                  	shlq	$0x4, %r14
    1cf9: 42 83 7c 31 04 ff            	cmpl	$-0x1, 0x4(%rcx,%r14)
    1cff: 74 0e                        	je	0x1d0f <jsmn_parse+0x203>
    1d01: 49 01 ce                     	addq	%rcx, %r14
    1d04: 41 83 7e 08 ff               	cmpl	$-0x1, 0x8(%r14)
    1d09: 0f 84 f2 01 00 00            	je	0x1f01 <jsmn_parse+0x3f5>
    1d0f: 4d 89 d3                     	movq	%r10, %r11
    1d12: eb ca                        	jmp	0x1cde <jsmn_parse+0x1d2>
    1d14: 48 85 c9                     	testq	%rcx, %rcx
    1d17: 74 4f                        	je	0x1d68 <jsmn_parse+0x25c>
    1d19: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1d1d: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1d21: 74 45                        	je	0x1d68 <jsmn_parse+0x25c>
    1d23: 49 c1 e2 04                  	shlq	$0x4, %r10
    1d27: 46 8b 1c 11                  	movl	(%rcx,%r10), %r11d
    1d2b: 41 83 fb 04                  	cmpl	$0x4, %r11d
    1d2f: 74 29                        	je	0x1d5a <jsmn_parse+0x24e>
    1d31: 41 83 fb 01                  	cmpl	$0x1, %r11d
    1d35: 0f 84 5e 02 00 00            	je	0x1f99 <jsmn_parse+0x48d>
    1d3b: eb 2b                        	jmp	0x1d68 <jsmn_parse+0x25c>
    1d3d: 45 8d 53 f7                  	leal	-0x9(%r11), %r10d
    1d41: 41 83 fa 02                  	cmpl	$0x2, %r10d
    1d45: 0f 82 46 01 00 00            	jb	0x1e91 <jsmn_parse+0x385>
    1d4b: 41 83 fb 0d                  	cmpl	$0xd, %r11d
    1d4f: 0f 85 53 02 00 00            	jne	0x1fa8 <jsmn_parse+0x49c>
    1d55: e9 37 01 00 00               	jmp	0x1e91 <jsmn_parse+0x385>
    1d5a: 49 01 ca                     	addq	%rcx, %r10
    1d5d: 41 83 7a 0c 00               	cmpl	$0x0, 0xc(%r10)
    1d62: 0f 85 31 02 00 00            	jne	0x1f99 <jsmn_parse+0x48d>
    1d68: 45 89 fa                     	movl	%r15d, %r10d
    1d6b: 45 89 d3                     	movl	%r10d, %r11d
    1d6e: 4c 39 da                     	cmpq	%r11, %rdx
    1d71: 0f 86 1a 02 00 00            	jbe	0x1f91 <jsmn_parse+0x485>
    1d77: 46 0f b6 1c 1e               	movzbl	(%rsi,%r11), %r11d
    1d7c: 49 83 fb 2c                  	cmpq	$0x2c, %r11
    1d80: 77 0f                        	ja	0x1d91 <jsmn_parse+0x285>
    1d82: 4d 0f a3 dc                  	btq	%r11, %r12
    1d86: 72 2b                        	jb	0x1db3 <jsmn_parse+0x2a7>
    1d88: 4d 85 db                     	testq	%r11, %r11
    1d8b: 0f 84 00 02 00 00            	je	0x1f91 <jsmn_parse+0x485>
    1d91: 41 83 fb 5d                  	cmpl	$0x5d, %r11d
    1d95: 74 1c                        	je	0x1db3 <jsmn_parse+0x2a7>
    1d97: 41 83 fb 7d                  	cmpl	$0x7d, %r11d
    1d9b: 74 16                        	je	0x1db3 <jsmn_parse+0x2a7>
    1d9d: 41 80 c3 81                  	addb	$-0x7f, %r11b
    1da1: 41 80 fb a1                  	cmpb	$-0x5f, %r11b
    1da5: 0f 82 eb 01 00 00            	jb	0x1f96 <jsmn_parse+0x48a>
    1dab: 41 ff c2                     	incl	%r10d
    1dae: 44 89 17                     	movl	%r10d, (%rdi)
    1db1: eb b8                        	jmp	0x1d6b <jsmn_parse+0x25f>
    1db3: 48 85 c9                     	testq	%rcx, %rcx
    1db6: 74 3f                        	je	0x1df7 <jsmn_parse+0x2eb>
    1db8: 44 8b 57 04                  	movl	0x4(%rdi), %r10d
    1dbc: 45 39 d0                     	cmpl	%r10d, %r8d
    1dbf: 0f 86 df 01 00 00            	jbe	0x1fa4 <jsmn_parse+0x498>
    1dc5: 45 8d 5a 01                  	leal	0x1(%r10), %r11d
    1dc9: 49 c1 e2 04                  	shlq	$0x4, %r10
    1dcd: c4 c1 79 6e d7               	vmovd	%r15d, %xmm2
    1dd2: 44 89 5f 04                  	movl	%r11d, 0x4(%rdi)
    1dd6: 4a 83 4c 11 04 ff            	orq	$-0x1, 0x4(%rcx,%r10)
    1ddc: 42 83 64 11 0c 00            	andl	$0x0, 0xc(%rcx,%r10)
    1de2: c5 f9 62 d2                  	vpunpckldq	%xmm2, %xmm0, %xmm2 # xmm2 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
    1de6: c5 f9 6e 1f                  	vmovd	(%rdi), %xmm3
    1dea: c5 e9 6c d3                  	vpunpcklqdq	%xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
    1dee: c4 a1 7a 7f 14 11            	vmovdqu	%xmm2, (%rcx,%r10)
    1df4: 44 8b 17                     	movl	(%rdi), %r10d
    1df7: 48 85 c9                     	testq	%rcx, %rcx
    1dfa: 41 0f 94 c3                  	sete	%r11b
    1dfe: 41 ff ca                     	decl	%r10d
    1e01: 44 89 17                     	movl	%r10d, (%rdi)
    1e04: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1e08: 41 ff c1                     	incl	%r9d
    1e0b: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1e0f: 0f 94 c3                     	sete	%bl
    1e12: 44 08 db                     	orb	%r11b, %bl
    1e15: 75 7a                        	jne	0x1e91 <jsmn_parse+0x385>
    1e17: 49 c1 e2 04                  	shlq	$0x4, %r10
    1e1b: 42 ff 44 11 0c               	incl	0xc(%rcx,%r10)
    1e20: eb 6f                        	jmp	0x1e91 <jsmn_parse+0x385>
    1e22: 41 ff c1                     	incl	%r9d
    1e25: 48 85 c9                     	testq	%rcx, %rcx
    1e28: 74 67                        	je	0x1e91 <jsmn_parse+0x385>
    1e2a: 44 8b 5f 04                  	movl	0x4(%rdi), %r11d
    1e2e: 45 39 d8                     	cmpl	%r11d, %r8d
    1e31: 0f 86 b0 01 00 00            	jbe	0x1fe7 <jsmn_parse+0x4db>
    1e37: 41 8d 5b 01                  	leal	0x1(%r11), %ebx
    1e3b: 49 c1 e3 04                  	shlq	$0x4, %r11
    1e3f: 89 5f 04                     	movl	%ebx, 0x4(%rdi)
    1e42: 4a 83 4c 19 04 ff            	orq	$-0x1, 0x4(%rcx,%r11)
    1e48: 42 83 64 19 0c 00            	andl	$0x0, 0xc(%rcx,%r11)
    1e4e: 4c 63 77 08                  	movslq	0x8(%rdi), %r14
    1e52: 49 83 fe ff                  	cmpq	$-0x1, %r14
    1e56: 74 16                        	je	0x1e6e <jsmn_parse+0x362>
    1e58: 49 c1 e6 04                  	shlq	$0x4, %r14
    1e5c: 42 83 3c 31 01               	cmpl	$0x1, (%rcx,%r14)
    1e61: 0f 84 32 01 00 00            	je	0x1f99 <jsmn_parse+0x48d>
    1e67: 49 01 ce                     	addq	%rcx, %r14
    1e6a: 41 ff 46 0c                  	incl	0xc(%r14)
    1e6e: 49 01 cb                     	addq	%rcx, %r11
    1e71: 31 db                        	xorl	%ebx, %ebx
    1e73: 41 80 fa 7b                  	cmpb	$0x7b, %r10b
    1e77: 0f 95 c3                     	setne	%bl
    1e7a: ff c3                        	incl	%ebx
    1e7c: 41 89 1b                     	movl	%ebx, (%r11)
    1e7f: 44 8b 17                     	movl	(%rdi), %r10d
    1e82: 45 89 53 04                  	movl	%r10d, 0x4(%r11)
    1e86: 44 8b 57 04                  	movl	0x4(%rdi), %r10d
    1e8a: 41 ff ca                     	decl	%r10d
    1e8d: 44 89 57 08                  	movl	%r10d, 0x8(%rdi)
    1e91: 44 8b 3f                     	movl	(%rdi), %r15d
    1e94: 41 ff c7                     	incl	%r15d
    1e97: 44 89 3f                     	movl	%r15d, (%rdi)
    1e9a: e9 af fc ff ff               	jmp	0x1b4e <jsmn_parse+0x42>
    1e9f: 48 85 c9                     	testq	%rcx, %rcx
    1ea2: 74 ed                        	je	0x1e91 <jsmn_parse+0x385>
    1ea4: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1ea8: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1eac: 74 e3                        	je	0x1e91 <jsmn_parse+0x385>
    1eae: 49 c1 e2 04                  	shlq	$0x4, %r10
    1eb2: 46 8b 14 11                  	movl	(%rcx,%r10), %r10d
    1eb6: 41 ff ca                     	decl	%r10d
    1eb9: 41 83 fa 02                  	cmpl	$0x2, %r10d
    1ebd: 72 d2                        	jb	0x1e91 <jsmn_parse+0x385>
    1ebf: 44 8b 57 04                  	movl	0x4(%rdi), %r10d
    1ec3: 49 ff ca                     	decq	%r10
    1ec6: 45 85 d2                     	testl	%r10d, %r10d
    1ec9: 78 c6                        	js	0x1e91 <jsmn_parse+0x385>
    1ecb: 45 89 d3                     	movl	%r10d, %r11d
    1ece: 41 81 e3 ff ff ff 7f         	andl	$0x7fffffff, %r11d      # imm = 0x7FFFFFFF
    1ed5: 49 c1 e3 04                  	shlq	$0x4, %r11
    1ed9: 42 8b 1c 19                  	movl	(%rcx,%r11), %ebx
    1edd: ff cb                        	decl	%ebx
    1edf: 83 fb 01                     	cmpl	$0x1, %ebx
    1ee2: 77 df                        	ja	0x1ec3 <jsmn_parse+0x3b7>
    1ee4: 49 01 cb                     	addq	%rcx, %r11
    1ee7: 41 83 7b 04 ff               	cmpl	$-0x1, 0x4(%r11)
    1eec: 74 d5                        	je	0x1ec3 <jsmn_parse+0x3b7>
    1eee: 41 83 7b 08 ff               	cmpl	$-0x1, 0x8(%r11)
    1ef3: 75 ce                        	jne	0x1ec3 <jsmn_parse+0x3b7>
    1ef5: 44 89 57 08                  	movl	%r10d, 0x8(%rdi)
    1ef9: eb 96                        	jmp	0x1e91 <jsmn_parse+0x385>
    1efb: 45 8d 53 ff                  	leal	-0x1(%r11), %r10d
    1eff: eb 14                        	jmp	0x1f15 <jsmn_parse+0x409>
    1f01: 41 39 2e                     	cmpl	%ebp, (%r14)
    1f04: 0f 85 8f 00 00 00            	jne	0x1f99 <jsmn_parse+0x48d>
    1f0a: 83 4f 08 ff                  	orl	$-0x1, 0x8(%rdi)
    1f0e: 41 ff c7                     	incl	%r15d
    1f11: 45 89 7e 08                  	movl	%r15d, 0x8(%r14)
    1f15: 45 85 db                     	testl	%r11d, %r11d
    1f18: 74 7f                        	je	0x1f99 <jsmn_parse+0x48d>
    1f1a: 89 dd                        	movl	%ebx, %ebp
    1f1c: 45 85 d2                     	testl	%r10d, %r10d
    1f1f: 0f 88 6c ff ff ff            	js	0x1e91 <jsmn_parse+0x385>
    1f25: 45 89 d3                     	movl	%r10d, %r11d
    1f28: 49 c1 e3 04                  	shlq	$0x4, %r11
    1f2c: 42 83 7c 19 04 ff            	cmpl	$-0x1, 0x4(%rcx,%r11)
    1f32: 74 0a                        	je	0x1f3e <jsmn_parse+0x432>
    1f34: 49 01 cb                     	addq	%rcx, %r11
    1f37: 41 83 7b 08 ff               	cmpl	$-0x1, 0x8(%r11)
    1f3c: 74 b7                        	je	0x1ef5 <jsmn_parse+0x3e9>
    1f3e: 41 ff ca                     	decl	%r10d
    1f41: eb d9                        	jmp	0x1f1c <jsmn_parse+0x410>
    1f43: bd ff ff ff ff               	movl	$0xffffffff, %ebp       # imm = 0xFFFFFFFF
    1f48: 48 85 c9                     	testq	%rcx, %rcx
    1f4b: 74 38                        	je	0x1f85 <jsmn_parse+0x479>
    1f4d: 44 8b 5f 04                  	movl	0x4(%rdi), %r11d
    1f51: 45 39 d8                     	cmpl	%r11d, %r8d
    1f54: 76 4e                        	jbe	0x1fa4 <jsmn_parse+0x498>
    1f56: 41 8d 5b 01                  	leal	0x1(%r11), %ebx
    1f5a: 49 c1 e3 04                  	shlq	$0x4, %r11
    1f5e: c5 f9 6e 54 24 fc            	vmovd	-0x4(%rsp), %xmm2
    1f64: 89 5f 04                     	movl	%ebx, 0x4(%rdi)
    1f67: 4a 83 4c 19 04 ff            	orq	$-0x1, 0x4(%rcx,%r11)
    1f6d: 42 83 64 19 0c 00            	andl	$0x0, 0xc(%rcx,%r11)
    1f73: c5 f9 6e 1f                  	vmovd	(%rdi), %xmm3
    1f77: c5 f1 62 d2                  	vpunpckldq	%xmm2, %xmm1, %xmm2 # xmm2 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
    1f7b: c5 e9 6c d3                  	vpunpcklqdq	%xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
    1f7f: c4 a1 7a 7f 14 19            	vmovdqu	%xmm2, (%rcx,%r11)
    1f85: 48 85 c9                     	testq	%rcx, %rcx
    1f88: 41 0f 94 c3                  	sete	%r11b
    1f8c: e9 73 fe ff ff               	jmp	0x1e04 <jsmn_parse+0x2f8>
    1f91: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    1f96: 44 89 3f                     	movl	%r15d, (%rdi)
    1f99: 5b                           	popq	%rbx
    1f9a: 41 5c                        	popq	%r12
    1f9c: 41 5d                        	popq	%r13
    1f9e: 41 5e                        	popq	%r14
    1fa0: 41 5f                        	popq	%r15
    1fa2: 5d                           	popq	%rbp
    1fa3: c3                           	retq
    1fa4: 89 e8                        	movl	%ebp, %eax
    1fa6: eb ee                        	jmp	0x1f96 <jsmn_parse+0x48a>
    1fa8: 45 85 db                     	testl	%r11d, %r11d
    1fab: 75 ec                        	jne	0x1f99 <jsmn_parse+0x48d>
    1fad: 48 85 c9                     	testq	%rcx, %rcx
    1fb0: 74 30                        	je	0x1fe2 <jsmn_parse+0x4d6>
    1fb2: 8b 57 04                     	movl	0x4(%rdi), %edx
    1fb5: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    1fba: 48 ff ca                     	decq	%rdx
    1fbd: 85 d2                        	testl	%edx, %edx
    1fbf: 78 21                        	js	0x1fe2 <jsmn_parse+0x4d6>
    1fc1: 89 d6                        	movl	%edx, %esi
    1fc3: 81 e6 ff ff ff 7f            	andl	$0x7fffffff, %esi       # imm = 0x7FFFFFFF
    1fc9: 48 c1 e6 04                  	shlq	$0x4, %rsi
    1fcd: 83 7c 31 04 ff               	cmpl	$-0x1, 0x4(%rcx,%rsi)
    1fd2: 74 09                        	je	0x1fdd <jsmn_parse+0x4d1>
    1fd4: 48 01 ce                     	addq	%rcx, %rsi
    1fd7: 83 7e 08 ff                  	cmpl	$-0x1, 0x8(%rsi)
    1fdb: 74 bc                        	je	0x1f99 <jsmn_parse+0x48d>
    1fdd: 48 ff ca                     	decq	%rdx
    1fe0: eb db                        	jmp	0x1fbd <jsmn_parse+0x4b1>
    1fe2: 44 89 c8                     	movl	%r9d, %eax
    1fe5: eb b2                        	jmp	0x1f99 <jsmn_parse+0x48d>
    1fe7: 89 e8                        	movl	%ebp, %eax
    1fe9: eb ae                        	jmp	0x1f99 <jsmn_parse+0x48d>

0000000000001feb <jsmn_init>:
    1feb: 48 83 27 00                  	andq	$0x0, (%rdi)
    1fef: 83 4f 08 ff                  	orl	$-0x1, 0x8(%rdi)
    1ff3: c3                           	retq

0000000000001ff4 <qoi_encode>:
    1ff4: 55                           	pushq	%rbp
    1ff5: 41 57                        	pushq	%r15
    1ff7: 41 56                        	pushq	%r14
    1ff9: 41 55                        	pushq	%r13
    1ffb: 41 54                        	pushq	%r12
    1ffd: 53                           	pushq	%rbx
    1ffe: 48 81 ec 58 01 00 00         	subq	$0x158, %rsp            # imm = 0x158
    2005: 45 31 f6                     	xorl	%r14d, %r14d
    2008: 48 85 f6                     	testq	%rsi, %rsi
    200b: 74 36                        	je	0x2043 <qoi_encode+0x4f>
    200d: 49 89 ff                     	movq	%rdi, %r15
    2010: 48 85 ff                     	testq	%rdi, %rdi
    2013: 74 2e                        	je	0x2043 <qoi_encode+0x4f>
    2015: 48 89 d1                     	movq	%rdx, %rcx
    2018: 48 85 d2                     	testq	%rdx, %rdx
    201b: 74 26                        	je	0x2043 <qoi_encode+0x4f>
    201d: 44 8b 26                     	movl	(%rsi), %r12d
    2020: 45 85 e4                     	testl	%r12d, %r12d
    2023: 74 1b                        	je	0x2040 <qoi_encode+0x4c>
    2025: 8b 6e 04                     	movl	0x4(%rsi), %ebp
    2028: 85 ed                        	testl	%ebp, %ebp
    202a: 74 14                        	je	0x2040 <qoi_encode+0x4c>
    202c: 8a 5e 08                     	movb	0x8(%rsi), %bl
    202f: 8d 43 fb                     	leal	-0x5(%rbx), %eax
    2032: 3c fe                        	cmpb	$-0x2, %al
    2034: 72 0a                        	jb	0x2040 <qoi_encode+0x4c>
    2036: 44 8a 6e 09                  	movb	0x9(%rsi), %r13b
    203a: 41 80 fd 01                  	cmpb	$0x1, %r13b
    203e: 76 1b                        	jbe	0x205b <qoi_encode+0x67>
    2040: 45 31 f6                     	xorl	%r14d, %r14d
    2043: 4c 89 f0                     	movq	%r14, %rax
    2046: 48 81 c4 58 01 00 00         	addq	$0x158, %rsp            # imm = 0x158
    204d: 5b                           	popq	%rbx
    204e: 41 5c                        	popq	%r12
    2050: 41 5d                        	popq	%r13
    2052: 41 5e                        	popq	%r14
    2054: 41 5f                        	popq	%r15
    2056: 5d                           	popq	%rbp
    2057: c5 f8 77                     	vzeroupper
    205a: c3                           	retq
    205b: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    2060: 31 d2                        	xorl	%edx, %edx
    2062: 45 31 f6                     	xorl	%r14d, %r14d
    2065: 41 f7 f4                     	divl	%r12d
    2068: 39 c5                        	cmpl	%eax, %ebp
    206a: 73 d7                        	jae	0x2043 <qoi_encode+0x4f>
    206c: 48 89 4c 24 48               	movq	%rcx, 0x48(%rsp)
    2071: 89 e9                        	movl	%ebp, %ecx
    2073: 41 0f af cc                  	imull	%r12d, %ecx
    2077: 0f b6 c3                     	movzbl	%bl, %eax
    207a: 48 89 44 24 28               	movq	%rax, 0x28(%rsp)
    207f: ff c0                        	incl	%eax
    2081: 0f af c1                     	imull	%ecx, %eax
    2084: 89 4c 24 24                  	movl	%ecx, 0x24(%rsp)
    2088: 83 c0 16                     	addl	$0x16, %eax
    208b: 48 63 f8                     	movslq	%eax, %rdi
    208e: e8 9d 0a 00 00               	callq	0x2b30 <malloc@plt>
    2093: 48 85 c0                     	testq	%rax, %rax
    2096: 74 a8                        	je	0x2040 <qoi_encode+0x4c>
    2098: 48 8d 74 24 44               	leaq	0x44(%rsp), %rsi
    209d: 49 89 c6                     	movq	%rax, %r14
    20a0: 48 c7 44 24 10 00 00 00 00   	movq	$0x0, 0x10(%rsp)
    20a9: c7 00 71 6f 69 66            	movl	$0x66696f71, (%rax)     # imm = 0x66696F71
    20af: 48 89 c7                     	movq	%rax, %rdi
    20b2: 44 89 e2                     	movl	%r12d, %edx
    20b5: c7 06 04 00 00 00            	movl	$0x4, (%rsi)
    20bb: e8 a9 03 00 00               	callq	0x2469 <qoi_write_32>
    20c0: 4c 8d 64 24 44               	leaq	0x44(%rsp), %r12
    20c5: 4c 89 f7                     	movq	%r14, %rdi
    20c8: 89 ea                        	movl	%ebp, %edx
    20ca: 4c 89 e6                     	movq	%r12, %rsi
    20cd: e8 97 03 00 00               	callq	0x2469 <qoi_write_32>
    20d2: 48 8b 54 24 28               	movq	0x28(%rsp), %rdx
    20d7: 8b 74 24 24                  	movl	0x24(%rsp), %esi
    20db: 49 63 04 24                  	movslq	(%r12), %rax
    20df: 40 b5 ff                     	movb	$-0x1, %bpl
    20e2: c5 f8 57 c0                  	vxorps	%xmm0, %xmm0, %xmm0
    20e6: c5 fc 11 84 24 30 01 00 00   	vmovups	%ymm0, 0x130(%rsp)
    20ef: c5 fc 11 84 24 10 01 00 00   	vmovups	%ymm0, 0x110(%rsp)
    20f8: c5 fc 11 84 24 f0 00 00 00   	vmovups	%ymm0, 0xf0(%rsp)
    2101: c5 fc 11 84 24 d0 00 00 00   	vmovups	%ymm0, 0xd0(%rsp)
    210a: c5 fc 11 84 24 b0 00 00 00   	vmovups	%ymm0, 0xb0(%rsp)
    2113: c5 fc 11 84 24 90 00 00 00   	vmovups	%ymm0, 0x90(%rsp)
    211c: c5 fc 11 44 24 70            	vmovups	%ymm0, 0x70(%rsp)
    2122: c5 fc 11 44 24 50            	vmovups	%ymm0, 0x50(%rsp)
    2128: 48 c7 44 24 38 00 00 00 00   	movq	$0x0, 0x38(%rsp)
    2131: 48 c7 44 24 30 00 00 00 00   	movq	$0x0, 0x30(%rsp)
    213a: 45 31 db                     	xorl	%r11d, %r11d
    213d: 0f af f2                     	imull	%edx, %esi
    2140: 8d 48 01                     	leal	0x1(%rax), %ecx
    2143: 41 88 1c 06                  	movb	%bl, (%r14,%rax)
    2147: 83 c0 02                     	addl	$0x2, %eax
    214a: 48 89 44 24 18               	movq	%rax, 0x18(%rsp)
    214f: 48 63 c1                     	movslq	%ecx, %rax
    2152: 31 c9                        	xorl	%ecx, %ecx
    2154: 45 88 2c 06                  	movb	%r13b, (%r14,%rax)
    2158: 89 f0                        	movl	%esi, %eax
    215a: 29 d0                        	subl	%edx, %eax
    215c: 89 74 24 24                  	movl	%esi, 0x24(%rsp)
    2160: 89 44 24 40                  	movl	%eax, 0x40(%rsp)
    2164: 89 f0                        	movl	%esi, %eax
    2166: 39 c1                        	cmpl	%eax, %ecx
    2168: 0f 8d c8 02 00 00            	jge	0x2436 <qoi_encode+0x442>
    216e: 41 89 ed                     	movl	%ebp, %r13d
    2171: 48 89 da                     	movq	%rbx, %rdx
    2174: 80 fb 04                     	cmpb	$0x4, %bl
    2177: 75 09                        	jne	0x2182 <qoi_encode+0x18e>
    2179: 8d 41 03                     	leal	0x3(%rcx), %eax
    217c: 48 98                        	cltq
    217e: 45 8a 2c 07                  	movb	(%r15,%rax), %r13b
    2182: 8d 41 02                     	leal	0x2(%rcx), %eax
    2185: 48 63 f1                     	movslq	%ecx, %rsi
    2188: 0f b6 5c 24 38               	movzbl	0x38(%rsp), %ebx
    218d: 44 88 6c 24 0e               	movb	%r13b, 0xe(%rsp)
    2192: 48 98                        	cltq
    2194: 45 8a 14 37                  	movb	(%r15,%rsi), %r10b
    2198: 41 8a 74 37 01               	movb	0x1(%r15,%rsi), %sil
    219d: 41 8a 04 07                  	movb	(%r15,%rax), %al
    21a1: c1 e3 10                     	shll	$0x10, %ebx
    21a4: 40 88 74 24 0d               	movb	%sil, 0xd(%rsp)
    21a9: 40 0f b6 fe                  	movzbl	%sil, %edi
    21ad: 41 0f b6 f5                  	movzbl	%r13b, %esi
    21b1: 45 0f b6 c2                  	movzbl	%r10b, %r8d
    21b5: 44 0f b6 c8                  	movzbl	%al, %r9d
    21b9: 41 89 c4                     	movl	%eax, %r12d
    21bc: 89 f0                        	movl	%esi, %eax
    21be: c1 e0 18                     	shll	$0x18, %eax
    21c1: 45 89 cd                     	movl	%r9d, %r13d
    21c4: 41 c1 e5 10                  	shll	$0x10, %r13d
    21c8: 41 09 c5                     	orl	%eax, %r13d
    21cb: 89 f8                        	movl	%edi, %eax
    21cd: c1 e0 08                     	shll	$0x8, %eax
    21d0: 44 09 e8                     	orl	%r13d, %eax
    21d3: 44 0f b6 ed                  	movzbl	%bpl, %r13d
    21d7: 41 c1 e5 18                  	shll	$0x18, %r13d
    21db: 44 09 c0                     	orl	%r8d, %eax
    21de: 44 09 eb                     	orl	%r13d, %ebx
    21e1: 44 0f b6 6c 24 30            	movzbl	0x30(%rsp), %r13d
    21e7: 41 c1 e5 08                  	shll	$0x8, %r13d
    21eb: 41 09 dd                     	orl	%ebx, %r13d
    21ee: 41 0f b6 db                  	movzbl	%r11b, %ebx
    21f2: 44 09 eb                     	orl	%r13d, %ebx
    21f5: 39 d8                        	cmpl	%ebx, %eax
    21f7: 75 2e                        	jne	0x2227 <qoi_encode+0x233>
    21f9: 4c 8b 6c 24 10               	movq	0x10(%rsp), %r13
    21fe: 39 4c 24 40                  	cmpl	%ecx, 0x40(%rsp)
    2202: 0f 84 95 00 00 00            	je	0x229d <qoi_encode+0x2a9>
    2208: 41 8d 45 01                  	leal	0x1(%r13), %eax
    220c: 83 f8 3e                     	cmpl	$0x3e, %eax
    220f: 0f 84 88 00 00 00            	je	0x229d <qoi_encode+0x2a9>
    2215: 48 89 d3                     	movq	%rdx, %rbx
    2218: 48 8b 54 24 28               	movq	0x28(%rsp), %rdx
    221d: 40 8a 7c 24 0d               	movb	0xd(%rsp), %dil
    2222: e9 74 01 00 00               	jmp	0x239b <qoi_encode+0x3a7>
    2227: 83 7c 24 10 00               	cmpl	$0x0, 0x10(%rsp)
    222c: 7e 33                        	jle	0x2261 <qoi_encode+0x26d>
    222e: 44 88 54 24 0f               	movb	%r10b, 0xf(%rsp)
    2233: 4c 8b 54 24 18               	movq	0x18(%rsp), %r10
    2238: 4c 8b 6c 24 10               	movq	0x10(%rsp), %r13
    223d: 48 c7 44 24 10 00 00 00 00   	movq	$0x0, 0x10(%rsp)
    2246: 49 63 da                     	movslq	%r10d, %rbx
    2249: 41 ff c2                     	incl	%r10d
    224c: 41 fe cd                     	decb	%r13b
    224f: 4c 89 54 24 18               	movq	%r10, 0x18(%rsp)
    2254: 44 8a 54 24 0f               	movb	0xf(%rsp), %r10b
    2259: 41 80 cd c0                  	orb	$-0x40, %r13b
    225d: 45 88 2c 1e                  	movb	%r13b, (%r14,%rbx)
    2261: 47 8d 04 40                  	leal	(%r8,%r8,2), %r8d
    2265: 8d 3c bf                     	leal	(%rdi,%rdi,4), %edi
    2268: 44 6b ee 0b                  	imull	$0xb, %esi, %r13d
    226c: 45 6b c9 07                  	imull	$0x7, %r9d, %r9d
    2270: 48 89 d3                     	movq	%rdx, %rbx
    2273: 44 01 c7                     	addl	%r8d, %edi
    2276: 41 01 fd                     	addl	%edi, %r13d
    2279: 45 01 cd                     	addl	%r9d, %r13d
    227c: 41 83 e5 3f                  	andl	$0x3f, %r13d
    2280: 42 39 44 ac 50               	cmpl	%eax, 0x50(%rsp,%r13,4)
    2285: 75 38                        	jne	0x22bf <qoi_encode+0x2cb>
    2287: 4c 8b 4c 24 18               	movq	0x18(%rsp), %r9
    228c: 48 8b 54 24 28               	movq	0x28(%rsp), %rdx
    2291: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    2296: 40 8a 7c 24 0d               	movb	0xd(%rsp), %dil
    229b: eb 19                        	jmp	0x22b6 <qoi_encode+0x2c2>
    229d: 4c 8b 4c 24 18               	movq	0x18(%rsp), %r9
    22a2: 48 89 d3                     	movq	%rdx, %rbx
    22a5: 48 8b 54 24 28               	movq	0x28(%rsp), %rdx
    22aa: 40 8a 7c 24 0d               	movb	0xd(%rsp), %dil
    22af: 41 80 cd c0                  	orb	$-0x40, %r13b
    22b3: 45 31 c0                     	xorl	%r8d, %r8d
    22b6: 41 8d 41 01                  	leal	0x1(%r9), %eax
    22ba: e9 cd 00 00 00               	jmp	0x238c <qoi_encode+0x398>
    22bf: 40 8a 7c 24 0d               	movb	0xd(%rsp), %dil
    22c4: 44 8a 44 24 0e               	movb	0xe(%rsp), %r8b
    22c9: 48 63 44 24 18               	movslq	0x18(%rsp), %rax
    22ce: 48 8b 54 24 28               	movq	0x28(%rsp), %rdx
    22d3: 46 88 54 ac 50               	movb	%r10b, 0x50(%rsp,%r13,4)
    22d8: 42 88 7c ac 51               	movb	%dil, 0x51(%rsp,%r13,4)
    22dd: 46 88 64 ac 52               	movb	%r12b, 0x52(%rsp,%r13,4)
    22e2: 46 88 44 ac 53               	movb	%r8b, 0x53(%rsp,%r13,4)
    22e7: 41 38 e8                     	cmpb	%bpl, %r8b
    22ea: 75 64                        	jne	0x2350 <qoi_encode+0x35c>
    22ec: 44 89 d5                     	movl	%r10d, %ebp
    22ef: 41 89 fd                     	movl	%edi, %r13d
    22f2: 44 2a 6c 24 30               	subb	0x30(%rsp), %r13b
    22f7: 44 28 dd                     	subb	%r11b, %bpl
    22fa: 45 89 e3                     	movl	%r12d, %r11d
    22fd: 44 2a 5c 24 38               	subb	0x38(%rsp), %r11b
    2302: 8d 75 02                     	leal	0x2(%rbp), %esi
    2305: 40 80 fe 03                  	cmpb	$0x3, %sil
    2309: 0f 87 b3 00 00 00            	ja	0x23c2 <qoi_encode+0x3ce>
    230f: 41 8d 75 02                  	leal	0x2(%r13), %esi
    2313: 40 80 fe 03                  	cmpb	$0x3, %sil
    2317: 0f 87 a5 00 00 00            	ja	0x23c2 <qoi_encode+0x3ce>
    231d: 41 8d 73 02                  	leal	0x2(%r11), %esi
    2321: 40 80 fe 03                  	cmpb	$0x3, %sil
    2325: 0f 87 97 00 00 00            	ja	0x23c2 <qoi_encode+0x3ce>
    232b: 4c 8b 4c 24 18               	movq	0x18(%rsp), %r9
    2330: 40 c0 e5 04                  	shlb	$0x4, %bpl
    2334: 41 c0 e5 02                  	shlb	$0x2, %r13b
    2338: 40 80 c5 20                  	addb	$0x20, %bpl
    233c: 41 80 c5 08                  	addb	$0x8, %r13b
    2340: 41 08 ed                     	orb	%bpl, %r13b
    2343: 41 08 f5                     	orb	%sil, %r13b
    2346: 41 80 cd 40                  	orb	$0x40, %r13b
    234a: 41 8d 41 01                  	leal	0x1(%r9), %eax
    234e: eb 37                        	jmp	0x2387 <qoi_encode+0x393>
    2350: 44 8a 4c 24 0d               	movb	0xd(%rsp), %r9b
    2355: 8d 70 01                     	leal	0x1(%rax), %esi
    2358: 8d 78 02                     	leal	0x2(%rax), %edi
    235b: 41 c6 04 06 ff               	movb	$-0x1, (%r14,%rax)
    2360: 45 89 c5                     	movl	%r8d, %r13d
    2363: 48 63 f6                     	movslq	%esi, %rsi
    2366: 48 63 ff                     	movslq	%edi, %rdi
    2369: 45 88 14 36                  	movb	%r10b, (%r14,%rsi)
    236d: 8d 70 03                     	leal	0x3(%rax), %esi
    2370: 48 63 f6                     	movslq	%esi, %rsi
    2373: 45 88 0c 3e                  	movb	%r9b, (%r14,%rdi)
    2377: 40 8a 7c 24 0d               	movb	0xd(%rsp), %dil
    237c: 44 8d 48 04                  	leal	0x4(%rax), %r9d
    2380: 83 c0 05                     	addl	$0x5, %eax
    2383: 45 88 24 36                  	movb	%r12b, (%r14,%rsi)
    2387: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    238c: 49 63 f1                     	movslq	%r9d, %rsi
    238f: 48 89 44 24 18               	movq	%rax, 0x18(%rsp)
    2394: 44 89 c0                     	movl	%r8d, %eax
    2397: 45 88 2c 36                  	movb	%r13b, (%r14,%rsi)
    239b: 48 89 44 24 10               	movq	%rax, 0x10(%rsp)
    23a0: 40 8a 6c 24 0e               	movb	0xe(%rsp), %bpl
    23a5: 8b 44 24 24                  	movl	0x24(%rsp), %eax
    23a9: 44 89 e6                     	movl	%r12d, %esi
    23ac: 01 d1                        	addl	%edx, %ecx
    23ae: 45 89 d3                     	movl	%r10d, %r11d
    23b1: 48 89 74 24 38               	movq	%rsi, 0x38(%rsp)
    23b6: 89 fe                        	movl	%edi, %esi
    23b8: 48 89 74 24 30               	movq	%rsi, 0x30(%rsp)
    23bd: e9 a4 fd ff ff               	jmp	0x2166 <qoi_encode+0x172>
    23c2: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    23c7: 44 28 ed                     	subb	%r13b, %bpl
    23ca: 8d 75 08                     	leal	0x8(%rbp), %esi
    23cd: 40 80 fe 0f                  	cmpb	$0xf, %sil
    23d1: 77 36                        	ja	0x2409 <qoi_encode+0x415>
    23d3: 41 8d 75 20                  	leal	0x20(%r13), %esi
    23d7: 40 80 fe 3f                  	cmpb	$0x3f, %sil
    23db: 77 2c                        	ja	0x2409 <qoi_encode+0x415>
    23dd: 45 28 eb                     	subb	%r13b, %r11b
    23e0: 41 80 c3 08                  	addb	$0x8, %r11b
    23e4: 41 80 fb 0f                  	cmpb	$0xf, %r11b
    23e8: 77 1f                        	ja	0x2409 <qoi_encode+0x415>
    23ea: 40 c0 e5 04                  	shlb	$0x4, %bpl
    23ee: 40 80 ce 80                  	orb	$-0x80, %sil
    23f2: 44 8d 48 01                  	leal	0x1(%rax), %r9d
    23f6: 41 08 eb                     	orb	%bpl, %r11b
    23f9: 41 88 34 06                  	movb	%sil, (%r14,%rax)
    23fd: 83 c0 02                     	addl	$0x2, %eax
    2400: 41 80 c3 80                  	addb	$-0x80, %r11b
    2404: 45 89 dd                     	movl	%r11d, %r13d
    2407: eb 83                        	jmp	0x238c <qoi_encode+0x398>
    2409: 8d 70 01                     	leal	0x1(%rax), %esi
    240c: 8d 78 02                     	leal	0x2(%rax), %edi
    240f: 41 c6 04 06 fe               	movb	$-0x2, (%r14,%rax)
    2414: 44 8d 48 03                  	leal	0x3(%rax), %r9d
    2418: 83 c0 04                     	addl	$0x4, %eax
    241b: 45 89 e5                     	movl	%r12d, %r13d
    241e: 48 63 f6                     	movslq	%esi, %rsi
    2421: 45 88 14 36                  	movb	%r10b, (%r14,%rsi)
    2425: 48 63 f7                     	movslq	%edi, %rsi
    2428: 40 8a 7c 24 0d               	movb	0xd(%rsp), %dil
    242d: 41 88 3c 36                  	movb	%dil, (%r14,%rsi)
    2431: e9 56 ff ff ff               	jmp	0x238c <qoi_encode+0x398>
    2436: 8b 44 24 18                  	movl	0x18(%rsp), %eax
    243a: 48 8d 15 9f e2 ff ff         	leaq	-0x1d61(%rip), %rdx     # 0x6e0 <qoi_padding>
    2441: 31 c9                        	xorl	%ecx, %ecx
    2443: 48 8d 34 08                  	leaq	(%rax,%rcx), %rsi
    2447: 48 83 f9 08                  	cmpq	$0x8, %rcx
    244b: 74 10                        	je	0x245d <qoi_encode+0x469>
    244d: 40 8a 3c 11                  	movb	(%rcx,%rdx), %dil
    2451: 48 63 f6                     	movslq	%esi, %rsi
    2454: 48 ff c1                     	incq	%rcx
    2457: 41 88 3c 36                  	movb	%dil, (%r14,%rsi)
    245b: eb e6                        	jmp	0x2443 <qoi_encode+0x44f>
    245d: 48 8b 44 24 48               	movq	0x48(%rsp), %rax
    2462: 89 30                        	movl	%esi, (%rax)
    2464: e9 da fb ff ff               	jmp	0x2043 <qoi_encode+0x4f>

0000000000002469 <qoi_write_32>:
    2469: 48 63 0e                     	movslq	(%rsi), %rcx
    246c: 89 d0                        	movl	%edx, %eax
    246e: c1 e8 18                     	shrl	$0x18, %eax
    2471: 44 8d 41 01                  	leal	0x1(%rcx), %r8d
    2475: 44 89 06                     	movl	%r8d, (%rsi)
    2478: 88 04 0f                     	movb	%al, (%rdi,%rcx)
    247b: 89 d0                        	movl	%edx, %eax
    247d: c1 e8 10                     	shrl	$0x10, %eax
    2480: 48 63 0e                     	movslq	(%rsi), %rcx
    2483: 44 8d 41 01                  	leal	0x1(%rcx), %r8d
    2487: 44 89 06                     	movl	%r8d, (%rsi)
    248a: 88 04 0f                     	movb	%al, (%rdi,%rcx)
    248d: 48 63 06                     	movslq	(%rsi), %rax
    2490: 8d 48 01                     	leal	0x1(%rax), %ecx
    2493: 89 0e                        	movl	%ecx, (%rsi)
    2495: 88 34 07                     	movb	%dh, (%rdi,%rax)
    2498: 48 63 06                     	movslq	(%rsi), %rax
    249b: 8d 48 01                     	leal	0x1(%rax), %ecx
    249e: 89 0e                        	movl	%ecx, (%rsi)
    24a0: 88 14 07                     	movb	%dl, (%rdi,%rax)
    24a3: c3                           	retq

00000000000024a4 <qoi_decode>:
    24a4: 55                           	pushq	%rbp
    24a5: 41 57                        	pushq	%r15
    24a7: 41 56                        	pushq	%r14
    24a9: 41 55                        	pushq	%r13
    24ab: 41 54                        	pushq	%r12
    24ad: 53                           	pushq	%rbx
    24ae: 48 81 ec 28 01 00 00         	subq	$0x128, %rsp            # imm = 0x128
    24b5: 83 64 24 14 00               	andl	$0x0, 0x14(%rsp)
    24ba: 41 89 cf                     	movl	%ecx, %r15d
    24bd: 31 c9                        	xorl	%ecx, %ecx
    24bf: 48 85 ff                     	testq	%rdi, %rdi
    24c2: 0f 84 91 00 00 00            	je	0x2559 <qoi_decode+0xb5>
    24c8: 49 89 d5                     	movq	%rdx, %r13
    24cb: 48 85 d2                     	testq	%rdx, %rdx
    24ce: 0f 84 85 00 00 00            	je	0x2559 <qoi_decode+0xb5>
    24d4: 41 83 ff 03                  	cmpl	$0x3, %r15d
    24d8: 0f 95 c0                     	setne	%al
    24db: 41 f7 c7 fb ff ff ff         	testl	$0xfffffffb, %r15d      # imm = 0xFFFFFFFB
    24e2: 0f 95 c2                     	setne	%dl
    24e5: 31 c9                        	xorl	%ecx, %ecx
    24e7: 83 fe 16                     	cmpl	$0x16, %esi
    24ea: 7c 6d                        	jl	0x2559 <qoi_decode+0xb5>
    24ec: 20 d0                        	andb	%dl, %al
    24ee: 75 69                        	jne	0x2559 <qoi_decode+0xb5>
    24f0: 48 8d 5c 24 14               	leaq	0x14(%rsp), %rbx
    24f5: 89 74 24 0c                  	movl	%esi, 0xc(%rsp)
    24f9: 49 89 fe                     	movq	%rdi, %r14
    24fc: 48 89 de                     	movq	%rbx, %rsi
    24ff: e8 b8 02 00 00               	callq	0x27bc <qoi_read_32>
    2504: 89 c5                        	movl	%eax, %ebp
    2506: 4c 89 f7                     	movq	%r14, %rdi
    2509: 48 89 de                     	movq	%rbx, %rsi
    250c: e8 ab 02 00 00               	callq	0x27bc <qoi_read_32>
    2511: 41 89 c4                     	movl	%eax, %r12d
    2514: 41 89 45 00                  	movl	%eax, (%r13)
    2518: 4c 89 f7                     	movq	%r14, %rdi
    251b: 48 89 de                     	movq	%rbx, %rsi
    251e: e8 99 02 00 00               	callq	0x27bc <qoi_read_32>
    2523: 41 89 45 04                  	movl	%eax, 0x4(%r13)
    2527: 48 63 1b                     	movslq	(%rbx), %rbx
    252a: 41 0f b6 14 1e               	movzbl	(%r14,%rbx), %edx
    252f: 8d 4b 01                     	leal	0x1(%rbx), %ecx
    2532: 48 63 c9                     	movslq	%ecx, %rcx
    2535: 41 88 55 08                  	movb	%dl, 0x8(%r13)
    2539: 48 89 d6                     	movq	%rdx, %rsi
    253c: 41 8a 14 0e                  	movb	(%r14,%rcx), %dl
    2540: 31 c9                        	xorl	%ecx, %ecx
    2542: 41 88 55 09                  	movb	%dl, 0x9(%r13)
    2546: 45 85 e4                     	testl	%r12d, %r12d
    2549: 74 0e                        	je	0x2559 <qoi_decode+0xb5>
    254b: 85 c0                        	testl	%eax, %eax
    254d: 74 0a                        	je	0x2559 <qoi_decode+0xb5>
    254f: 8d 4e fb                     	leal	-0x5(%rsi), %ecx
    2552: 80 f9 fe                     	cmpb	$-0x2, %cl
    2555: 73 1a                        	jae	0x2571 <qoi_decode+0xcd>
    2557: 31 c9                        	xorl	%ecx, %ecx
    2559: 48 89 c8                     	movq	%rcx, %rax
    255c: 48 81 c4 28 01 00 00         	addq	$0x128, %rsp            # imm = 0x128
    2563: 5b                           	popq	%rbx
    2564: 41 5c                        	popq	%r12
    2566: 41 5d                        	popq	%r13
    2568: 41 5e                        	popq	%r14
    256a: 41 5f                        	popq	%r15
    256c: 5d                           	popq	%rbp
    256d: c5 f8 77                     	vzeroupper
    2570: c3                           	retq
    2571: 31 c9                        	xorl	%ecx, %ecx
    2573: 80 fa 01                     	cmpb	$0x1, %dl
    2576: 77 e1                        	ja	0x2559 <qoi_decode+0xb5>
    2578: 81 fd 66 69 6f 71            	cmpl	$0x716f6966, %ebp       # imm = 0x716F6966
    257e: 75 d9                        	jne	0x2559 <qoi_decode+0xb5>
    2580: 41 89 c5                     	movl	%eax, %r13d
    2583: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    2588: 31 d2                        	xorl	%edx, %edx
    258a: 31 c9                        	xorl	%ecx, %ecx
    258c: 41 f7 f4                     	divl	%r12d
    258f: 41 39 c5                     	cmpl	%eax, %r13d
    2592: 73 c5                        	jae	0x2559 <qoi_decode+0xb5>
    2594: 45 85 ff                     	testl	%r15d, %r15d
    2597: 41 0f 45 f7                  	cmovnel	%r15d, %esi
    259b: 45 0f af ec                  	imull	%r12d, %r13d
    259f: 49 89 f7                     	movq	%rsi, %r15
    25a2: 45 0f af ef                  	imull	%r15d, %r13d
    25a6: 49 63 fd                     	movslq	%r13d, %rdi
    25a9: e8 82 05 00 00               	callq	0x2b30 <malloc@plt>
    25ae: 31 ff                        	xorl	%edi, %edi
    25b0: 48 85 c0                     	testq	%rax, %rax
    25b3: 74 a2                        	je	0x2557 <qoi_decode+0xb3>
    25b5: 83 44 24 0c f8               	addl	$-0x8, 0xc(%rsp)
    25ba: 44 8d 5b 02                  	leal	0x2(%rbx), %r11d
    25be: 40 b5 ff                     	movb	$-0x1, %bpl
    25c1: c5 f8 57 c0                  	vxorps	%xmm0, %xmm0, %xmm0
    25c5: 48 89 c1                     	movq	%rax, %rcx
    25c8: c5 fc 11 84 24 00 01 00 00   	vmovups	%ymm0, 0x100(%rsp)
    25d1: c5 fc 11 84 24 e0 00 00 00   	vmovups	%ymm0, 0xe0(%rsp)
    25da: c5 fc 11 84 24 c0 00 00 00   	vmovups	%ymm0, 0xc0(%rsp)
    25e3: c5 fc 11 84 24 a0 00 00 00   	vmovups	%ymm0, 0xa0(%rsp)
    25ec: c5 fc 11 84 24 80 00 00 00   	vmovups	%ymm0, 0x80(%rsp)
    25f5: c5 fc 11 44 24 60            	vmovups	%ymm0, 0x60(%rsp)
    25fb: c5 fc 11 44 24 40            	vmovups	%ymm0, 0x40(%rsp)
    2601: c5 fc 11 44 24 20            	vmovups	%ymm0, 0x20(%rsp)
    2607: 45 31 e4                     	xorl	%r12d, %r12d
    260a: 45 31 c9                     	xorl	%r9d, %r9d
    260d: 45 31 d2                     	xorl	%r10d, %r10d
    2610: 31 d2                        	xorl	%edx, %edx
    2612: 44 89 6c 24 10               	movl	%r13d, 0x10(%rsp)
    2617: 4c 89 7c 24 18               	movq	%r15, 0x18(%rsp)
    261c: 44 39 ea                     	cmpl	%r13d, %edx
    261f: 0f 8d 34 ff ff ff            	jge	0x2559 <qoi_decode+0xb5>
    2625: 85 ff                        	testl	%edi, %edi
    2627: 7e 07                        	jle	0x2630 <qoi_decode+0x18c>
    2629: ff cf                        	decl	%edi
    262b: e9 60 01 00 00               	jmp	0x2790 <qoi_decode+0x2ec>
    2630: 31 ff                        	xorl	%edi, %edi
    2632: 44 3b 5c 24 0c               	cmpl	0xc(%rsp), %r11d
    2637: 0f 8d 53 01 00 00            	jge	0x2790 <qoi_decode+0x2ec>
    263d: 49 63 db                     	movslq	%r11d, %rbx
    2640: 41 0f b6 3c 1e               	movzbl	(%r14,%rbx), %edi
    2645: 48 8d 73 01                  	leaq	0x1(%rbx), %rsi
    2649: 81 ff ff 00 00 00            	cmpl	$0xff, %edi
    264f: 74 28                        	je	0x2679 <qoi_decode+0x1d5>
    2651: 81 ff fe 00 00 00            	cmpl	$0xfe, %edi
    2657: 75 45                        	jne	0x269e <qoi_decode+0x1fa>
    2659: 45 8a 24 36                  	movb	(%r14,%rsi), %r12b
    265d: 45 8a 4c 1e 02               	movb	0x2(%r14,%rbx), %r9b
    2662: 45 8a 54 1e 03               	movb	0x3(%r14,%rbx), %r10b
    2667: 41 83 c3 04                  	addl	$0x4, %r11d
    266b: 31 ff                        	xorl	%edi, %edi
    266d: 44 89 d8                     	movl	%r11d, %eax
    2670: 48 89 04 24                  	movq	%rax, (%rsp)
    2674: e9 bc 00 00 00               	jmp	0x2735 <qoi_decode+0x291>
    2679: 45 8a 24 36                  	movb	(%r14,%rsi), %r12b
    267d: 45 8a 4c 1e 02               	movb	0x2(%r14,%rbx), %r9b
    2682: 45 8a 54 1e 03               	movb	0x3(%r14,%rbx), %r10b
    2687: 41 8a 74 1e 04               	movb	0x4(%r14,%rbx), %sil
    268c: 41 83 c3 05                  	addl	$0x5, %r11d
    2690: 44 89 d8                     	movl	%r11d, %eax
    2693: 31 ff                        	xorl	%edi, %edi
    2695: 48 89 04 24                  	movq	%rax, (%rsp)
    2699: e9 99 00 00 00               	jmp	0x2737 <qoi_decode+0x293>
    269e: 89 fb                        	movl	%edi, %ebx
    26a0: c1 eb 06                     	shrl	$0x6, %ebx
    26a3: 48 8d 05 02 e0 ff ff         	leaq	-0x1ffe(%rip), %rax     # 0x6ac <malloc+0x6ac>
    26aa: 48 63 1c 98                  	movslq	(%rax,%rbx,4), %rbx
    26ae: 48 01 c3                     	addq	%rax, %rbx
    26b1: ff e3                        	jmpq	*%rbx
    26b3: 48 89 34 24                  	movq	%rsi, (%rsp)
    26b7: 44 8a 64 bc 20               	movb	0x20(%rsp,%rdi,4), %r12b
    26bc: 44 8a 4c bc 21               	movb	0x21(%rsp,%rdi,4), %r9b
    26c1: 44 8a 54 bc 22               	movb	0x22(%rsp,%rdi,4), %r10b
    26c6: 40 8a 74 bc 23               	movb	0x23(%rsp,%rdi,4), %sil
    26cb: 31 ff                        	xorl	%edi, %edi
    26cd: eb 68                        	jmp	0x2737 <qoi_decode+0x293>
    26cf: 41 0f b6 1c 36               	movzbl	(%r14,%rsi), %ebx
    26d4: 83 e7 3f                     	andl	$0x3f, %edi
    26d7: 89 ee                        	movl	%ebp, %esi
    26d9: 41 83 c3 02                  	addl	$0x2, %r11d
    26dd: 41 00 f9                     	addb	%dil, %r9b
    26e0: 41 80 c1 e0                  	addb	$-0x20, %r9b
    26e4: 41 89 df                     	movl	%ebx, %r15d
    26e7: 41 c1 ef 04                  	shrl	$0x4, %r15d
    26eb: 83 e3 0f                     	andl	$0xf, %ebx
    26ee: 41 8d 6c 3f d8               	leal	-0x28(%r15,%rdi), %ebp
    26f3: 8d 7c 3b d8                  	leal	-0x28(%rbx,%rdi), %edi
    26f7: 41 00 ec                     	addb	%bpl, %r12b
    26fa: 41 00 fa                     	addb	%dil, %r10b
    26fd: eb 91                        	jmp	0x2690 <qoi_decode+0x1ec>
    26ff: 83 e7 3f                     	andl	$0x3f, %edi
    2702: eb 2d                        	jmp	0x2731 <qoi_decode+0x28d>
    2704: 41 89 fb                     	movl	%edi, %r11d
    2707: 89 f8                        	movl	%edi, %eax
    2709: 40 80 e7 03                  	andb	$0x3, %dil
    270d: 41 c0 eb 04                  	shrb	$0x4, %r11b
    2711: c0 e8 02                     	shrb	$0x2, %al
    2714: 41 00 fa                     	addb	%dil, %r10b
    2717: 31 ff                        	xorl	%edi, %edi
    2719: 41 80 e3 03                  	andb	$0x3, %r11b
    271d: 24 03                        	andb	$0x3, %al
    271f: 41 80 c2 fe                  	addb	$-0x2, %r10b
    2723: 45 00 dc                     	addb	%r11b, %r12b
    2726: 41 00 c1                     	addb	%al, %r9b
    2729: 41 80 c4 fe                  	addb	$-0x2, %r12b
    272d: 41 80 c1 fe                  	addb	$-0x2, %r9b
    2731: 48 89 34 24                  	movq	%rsi, (%rsp)
    2735: 89 ee                        	movl	%ebp, %esi
    2737: 45 0f b6 dc                  	movzbl	%r12b, %r11d
    273b: 4d 89 e7                     	movq	%r12, %r15
    273e: 45 0f b6 e1                  	movzbl	%r9b, %r12d
    2742: 40 0f b6 c6                  	movzbl	%sil, %eax
    2746: 43 8d 1c 5b                  	leal	(%r11,%r11,2), %ebx
    274a: 43 8d 2c a4                  	leal	(%r12,%r12,4), %ebp
    274e: 44 6b c0 0b                  	imull	$0xb, %eax, %r8d
    2752: 01 dd                        	addl	%ebx, %ebp
    2754: 41 0f b6 da                  	movzbl	%r10b, %ebx
    2758: 44 6b eb 07                  	imull	$0x7, %ebx, %r13d
    275c: 45 01 e8                     	addl	%r13d, %r8d
    275f: 44 8b 6c 24 10               	movl	0x10(%rsp), %r13d
    2764: 41 01 e8                     	addl	%ebp, %r8d
    2767: 89 f5                        	movl	%esi, %ebp
    2769: 41 83 e0 3f                  	andl	$0x3f, %r8d
    276d: 46 88 5c 84 20               	movb	%r11b, 0x20(%rsp,%r8,4)
    2772: 46 88 64 84 21               	movb	%r12b, 0x21(%rsp,%r8,4)
    2777: 4d 89 fc                     	movq	%r15, %r12
    277a: 42 88 5c 84 22               	movb	%bl, 0x22(%rsp,%r8,4)
    277f: 42 88 44 84 23               	movb	%al, 0x23(%rsp,%r8,4)
    2784: 48 8b 04 24                  	movq	(%rsp), %rax
    2788: 4c 8b 7c 24 18               	movq	0x18(%rsp), %r15
    278d: 41 89 c3                     	movl	%eax, %r11d
    2790: 8d 42 02                     	leal	0x2(%rdx), %eax
    2793: 4c 63 c2                     	movslq	%edx, %r8
    2796: 48 98                        	cltq
    2798: 46 88 24 01                  	movb	%r12b, (%rcx,%r8)
    279c: 46 88 4c 01 01               	movb	%r9b, 0x1(%rcx,%r8)
    27a1: 44 88 14 01                  	movb	%r10b, (%rcx,%rax)
    27a5: 41 83 ff 04                  	cmpl	$0x4, %r15d
    27a9: 75 09                        	jne	0x27b4 <qoi_decode+0x310>
    27ab: 8d 42 03                     	leal	0x3(%rdx), %eax
    27ae: 48 98                        	cltq
    27b0: 40 88 2c 01                  	movb	%bpl, (%rcx,%rax)
    27b4: 44 01 fa                     	addl	%r15d, %edx
    27b7: e9 60 fe ff ff               	jmp	0x261c <qoi_decode+0x178>

00000000000027bc <qoi_read_32>:
    27bc: 48 63 0e                     	movslq	(%rsi), %rcx
    27bf: 8d 41 01                     	leal	0x1(%rcx), %eax
    27c2: 44 8d 41 02                  	leal	0x2(%rcx), %r8d
    27c6: 44 8d 51 03                  	leal	0x3(%rcx), %r10d
    27ca: 89 06                        	movl	%eax, (%rsi)
    27cc: 48 98                        	cltq
    27ce: 0f b6 14 0f                  	movzbl	(%rdi,%rcx), %edx
    27d2: 44 89 06                     	movl	%r8d, (%rsi)
    27d5: 83 c1 04                     	addl	$0x4, %ecx
    27d8: 44 0f b6 0c 07               	movzbl	(%rdi,%rax), %r9d
    27dd: 44 89 16                     	movl	%r10d, (%rsi)
    27e0: 49 63 c0                     	movslq	%r8d, %rax
    27e3: 0f b6 04 07                  	movzbl	(%rdi,%rax), %eax
    27e7: 89 0e                        	movl	%ecx, (%rsi)
    27e9: 49 63 ca                     	movslq	%r10d, %rcx
    27ec: 0f b6 0c 0f                  	movzbl	(%rdi,%rcx), %ecx
    27f0: c1 e2 18                     	shll	$0x18, %edx
    27f3: 41 c1 e1 10                  	shll	$0x10, %r9d
    27f7: 41 09 d1                     	orl	%edx, %r9d
    27fa: c1 e0 08                     	shll	$0x8, %eax
    27fd: 44 09 c8                     	orl	%r9d, %eax
    2800: 09 c8                        	orl	%ecx, %eax
    2802: c3                           	retq

0000000000002803 <sha256_transform>:
    2803: 48 81 ec 88 00 00 00         	subq	$0x88, %rsp
    280a: 31 c0                        	xorl	%eax, %eax
    280c: 48 83 f8 10                  	cmpq	$0x10, %rax
    2810: 74 0e                        	je	0x2820 <sha256_transform+0x1d>
    2812: 8b 0c 86                     	movl	(%rsi,%rax,4), %ecx
    2815: 0f 38 f1 4c 84 80            	movbel	%ecx, -0x80(%rsp,%rax,4)
    281b: 48 ff c0                     	incq	%rax
    281e: eb ec                        	jmp	0x280c <sha256_transform+0x9>
    2820: 48 b8 10 00 00 00 00 00 00 00	movabsq	$0x10, %rax
    282a: 48 83 f8 40                  	cmpq	$0x40, %rax
    282e: 74 51                        	je	0x2881 <sha256_transform+0x7e>
    2830: 8b 94 84 78 ff ff ff         	movl	-0x88(%rsp,%rax,4), %edx
    2837: 8b 8c 84 44 ff ff ff         	movl	-0xbc(%rsp,%rax,4), %ecx
    283e: c4 e3 7b f0 f2 11            	rorxl	$0x11, %edx, %esi
    2844: c4 63 7b f0 c2 13            	rorxl	$0x13, %edx, %r8d
    284a: c1 ea 0a                     	shrl	$0xa, %edx
    284d: 41 31 f0                     	xorl	%esi, %r8d
    2850: c4 e3 7b f0 f1 07            	rorxl	$0x7, %ecx, %esi
    2856: 44 31 c2                     	xorl	%r8d, %edx
    2859: 03 94 84 64 ff ff ff         	addl	-0x9c(%rsp,%rax,4), %edx
    2860: c4 63 7b f0 c1 12            	rorxl	$0x12, %ecx, %r8d
    2866: c1 e9 03                     	shrl	$0x3, %ecx
    2869: 03 94 84 40 ff ff ff         	addl	-0xc0(%rsp,%rax,4), %edx
    2870: 41 31 f0                     	xorl	%esi, %r8d
    2873: 44 31 c1                     	xorl	%r8d, %ecx
    2876: 01 ca                        	addl	%ecx, %edx
    2878: 89 54 84 80                  	movl	%edx, -0x80(%rsp,%rax,4)
    287c: 48 ff c0                     	incq	%rax
    287f: eb a9                        	jmp	0x282a <sha256_transform+0x27>
    2881: c5 fe 6f 47 50               	vmovdqu	0x50(%rdi), %ymm0
    2886: 48 8d 0d 63 de ff ff         	leaq	-0x219d(%rip), %rcx     # 0x6f0 <k>
    288d: 31 c0                        	xorl	%eax, %eax
    288f: c5 fd 6f c8                  	vmovdqa	%ymm0, %ymm1
    2893: 48 3d 00 01 00 00            	cmpq	$0x100, %rax            # imm = 0x100
    2899: 0f 84 b6 00 00 00            	je	0x2955 <sha256_transform+0x152>
    289f: c4 e3 7d 39 ca 01            	vextracti128	$0x1, %ymm1, %xmm2
    28a5: c5 f9 70 e1 ff               	vpshufd	$0xff, %xmm1, %xmm4     # xmm4 = xmm1[3,3,3,3]
    28aa: c5 f9 7e d2                  	vmovd	%xmm2, %edx
    28ae: c4 c3 79 16 d1 01            	vpextrd	$0x1, %xmm2, %r9d
    28b4: c4 c3 79 16 d2 02            	vpextrd	$0x2, %xmm2, %r10d
    28ba: c4 e3 7b f0 f2 06            	rorxl	$0x6, %edx, %esi
    28c0: c4 63 7b f0 c2 0b            	rorxl	$0xb, %edx, %r8d
    28c6: 41 21 d1                     	andl	%edx, %r9d
    28c9: 41 31 f0                     	xorl	%esi, %r8d
    28cc: c4 e3 7b f0 f2 19            	rorxl	$0x19, %edx, %esi
    28d2: c4 c2 68 f2 d2               	andnl	%r10d, %edx, %edx
    28d7: c4 c3 79 16 ca 01            	vpextrd	$0x1, %xmm1, %r10d
    28dd: 44 31 c6                     	xorl	%r8d, %esi
    28e0: c4 c3 79 16 d0 03            	vpextrd	$0x3, %xmm2, %r8d
    28e6: 44 09 ca                     	orl	%r9d, %edx
    28e9: 45 89 d3                     	movl	%r10d, %r11d
    28ec: 44 01 c2                     	addl	%r8d, %edx
    28ef: 01 f2                        	addl	%esi, %edx
    28f1: c5 f9 7e ce                  	vmovd	%xmm1, %esi
    28f5: 03 14 08                     	addl	(%rax,%rcx), %edx
    28f8: c4 63 7b f0 c6 02            	rorxl	$0x2, %esi, %r8d
    28fe: c4 63 7b f0 ce 0d            	rorxl	$0xd, %esi, %r9d
    2904: 03 54 04 80                  	addl	-0x80(%rsp,%rax), %edx
    2908: 48 83 c0 04                  	addq	$0x4, %rax
    290c: 45 31 c1                     	xorl	%r8d, %r9d
    290f: c4 63 7b f0 c6 16            	rorxl	$0x16, %esi, %r8d
    2915: 45 31 c8                     	xorl	%r9d, %r8d
    2918: c4 c3 79 16 c9 02            	vpextrd	$0x2, %xmm1, %r9d
    291e: c5 fd 70 c9 90               	vpshufd	$0x90, %ymm1, %ymm1     # ymm1 = ymm1[0,0,1,2,4,4,5,6]
    2923: 45 31 cb                     	xorl	%r9d, %r11d
    2926: 45 21 ca                     	andl	%r9d, %r10d
    2929: 41 21 f3                     	andl	%esi, %r11d
    292c: 45 31 da                     	xorl	%r11d, %r10d
    292f: c5 f9 6e d2                  	vmovd	%edx, %xmm2
    2933: 45 01 c2                     	addl	%r8d, %r10d
    2936: c4 e2 7d 58 d2               	vpbroadcastd	%xmm2, %ymm2
    293b: c4 c1 79 6e da               	vmovd	%r10d, %xmm3
    2940: c4 e3 65 38 dc 01            	vinserti128	$0x1, %xmm4, %ymm3, %ymm3
    2946: c5 ed fe d3                  	vpaddd	%ymm3, %ymm2, %ymm2
    294a: c4 e3 75 02 ca 11            	vpblendd	$0x11, %ymm2, %ymm1, %ymm1 # ymm1 = ymm2[0],ymm1[1,2,3],ymm2[4],ymm1[5,6,7]
    2950: e9 3e ff ff ff               	jmp	0x2893 <sha256_transform+0x90>
    2955: c5 f5 fe c0                  	vpaddd	%ymm0, %ymm1, %ymm0
    2959: c5 fe 7f 47 50               	vmovdqu	%ymm0, 0x50(%rdi)
    295e: 48 81 c4 88 00 00 00         	addq	$0x88, %rsp
    2965: c5 f8 77                     	vzeroupper
    2968: c3                           	retq

0000000000002969 <sha256_init>:
    2969: c5 fc 28 05 4f dd ff ff      	vmovaps	-0x22b1(%rip), %ymm0    # 0x6c0 <malloc+0x6c0>
    2971: 83 67 40 00                  	andl	$0x0, 0x40(%rdi)
    2975: 48 83 67 48 00               	andq	$0x0, 0x48(%rdi)
    297a: c5 fc 11 47 50               	vmovups	%ymm0, 0x50(%rdi)
    297f: c5 f8 77                     	vzeroupper
    2982: c3                           	retq

0000000000002983 <sha256_update>:
    2983: 41 57                        	pushq	%r15
    2985: 41 56                        	pushq	%r14
    2987: 41 54                        	pushq	%r12
    2989: 53                           	pushq	%rbx
    298a: 50                           	pushq	%rax
    298b: 48 89 d3                     	movq	%rdx, %rbx
    298e: 49 89 f6                     	movq	%rsi, %r14
    2991: 49 89 ff                     	movq	%rdi, %r15
    2994: 45 31 e4                     	xorl	%r12d, %r12d
    2997: 45 89 e4                     	movl	%r12d, %r12d
    299a: 4c 39 e3                     	cmpq	%r12, %rbx
    299d: 76 38                        	jbe	0x29d7 <sha256_update+0x54>
    299f: 43 8a 04 26                  	movb	(%r14,%r12), %al
    29a3: 41 8b 4f 40                  	movl	0x40(%r15), %ecx
    29a7: 41 88 04 0f                  	movb	%al, (%r15,%rcx)
    29ab: 41 8b 47 40                  	movl	0x40(%r15), %eax
    29af: ff c0                        	incl	%eax
    29b1: 41 89 47 40                  	movl	%eax, 0x40(%r15)
    29b5: 83 f8 40                     	cmpl	$0x40, %eax
    29b8: 75 18                        	jne	0x29d2 <sha256_update+0x4f>
    29ba: 4c 89 ff                     	movq	%r15, %rdi
    29bd: 4c 89 fe                     	movq	%r15, %rsi
    29c0: e8 3e fe ff ff               	callq	0x2803 <sha256_transform>
    29c5: 49 81 47 48 00 02 00 00      	addq	$0x200, 0x48(%r15)      # imm = 0x200
    29cd: 41 83 67 40 00               	andl	$0x0, 0x40(%r15)
    29d2: 41 ff c4                     	incl	%r12d
    29d5: eb c0                        	jmp	0x2997 <sha256_update+0x14>
    29d7: 48 83 c4 08                  	addq	$0x8, %rsp
    29db: 5b                           	popq	%rbx
    29dc: 41 5c                        	popq	%r12
    29de: 41 5e                        	popq	%r14
    29e0: 41 5f                        	popq	%r15
    29e2: c3                           	retq

00000000000029e3 <sha256_final>:
    29e3: 55                           	pushq	%rbp
    29e4: 53                           	pushq	%rbx
    29e5: 50                           	pushq	%rax
    29e6: 8b 47 40                     	movl	0x40(%rdi), %eax
    29e9: 48 89 f3                     	movq	%rsi, %rbx
    29ec: 48 89 fd                     	movq	%rdi, %rbp
    29ef: c6 04 07 80                  	movb	$-0x80, (%rdi,%rax)
    29f3: 48 83 f8 38                  	cmpq	$0x38, %rax
    29f7: 73 10                        	jae	0x2a09 <sha256_final+0x26>
    29f9: 48 83 f8 37                  	cmpq	$0x37, %rax
    29fd: 74 34                        	je	0x2a33 <sha256_final+0x50>
    29ff: c6 44 05 01 00               	movb	$0x0, 0x1(%rbp,%rax)
    2a04: 48 ff c0                     	incq	%rax
    2a07: eb f0                        	jmp	0x29f9 <sha256_final+0x16>
    2a09: ff c0                        	incl	%eax
    2a0b: 83 f8 3f                     	cmpl	$0x3f, %eax
    2a0e: 77 0a                        	ja	0x2a1a <sha256_final+0x37>
    2a10: c6 44 05 00 00               	movb	$0x0, (%rbp,%rax)
    2a15: 48 ff c0                     	incq	%rax
    2a18: eb f1                        	jmp	0x2a0b <sha256_final+0x28>
    2a1a: 48 89 ef                     	movq	%rbp, %rdi
    2a1d: 48 89 ee                     	movq	%rbp, %rsi
    2a20: e8 de fd ff ff               	callq	0x2803 <sha256_transform>
    2a25: c5 f8 57 c0                  	vxorps	%xmm0, %xmm0, %xmm0
    2a29: c5 fc 11 45 18               	vmovups	%ymm0, 0x18(%rbp)
    2a2e: c5 fc 11 45 00               	vmovups	%ymm0, (%rbp)
    2a33: 8b 45 40                     	movl	0x40(%rbp), %eax
    2a36: 48 89 ef                     	movq	%rbp, %rdi
    2a39: 48 89 ee                     	movq	%rbp, %rsi
    2a3c: c1 e0 03                     	shll	$0x3, %eax
    2a3f: 48 03 45 48                  	addq	0x48(%rbp), %rax
    2a43: 89 c1                        	movl	%eax, %ecx
    2a45: c1 e9 10                     	shrl	$0x10, %ecx
    2a48: 48 89 45 48                  	movq	%rax, 0x48(%rbp)
    2a4c: 88 45 3f                     	movb	%al, 0x3f(%rbp)
    2a4f: 88 65 3e                     	movb	%ah, 0x3e(%rbp)
    2a52: 88 4d 3d                     	movb	%cl, 0x3d(%rbp)
    2a55: 89 c1                        	movl	%eax, %ecx
    2a57: c1 e9 18                     	shrl	$0x18, %ecx
    2a5a: 88 4d 3c                     	movb	%cl, 0x3c(%rbp)
    2a5d: 48 89 c1                     	movq	%rax, %rcx
    2a60: 48 c1 e9 20                  	shrq	$0x20, %rcx
    2a64: 88 4d 3b                     	movb	%cl, 0x3b(%rbp)
    2a67: 48 89 c1                     	movq	%rax, %rcx
    2a6a: 48 c1 e9 28                  	shrq	$0x28, %rcx
    2a6e: 88 4d 3a                     	movb	%cl, 0x3a(%rbp)
    2a71: 48 89 c1                     	movq	%rax, %rcx
    2a74: 48 c1 e9 30                  	shrq	$0x30, %rcx
    2a78: 48 c1 e8 38                  	shrq	$0x38, %rax
    2a7c: 88 4d 39                     	movb	%cl, 0x39(%rbp)
    2a7f: 88 45 38                     	movb	%al, 0x38(%rbp)
    2a82: c5 f8 77                     	vzeroupper
    2a85: e8 79 fd ff ff               	callq	0x2803 <sha256_transform>
    2a8a: 6a 18                        	pushq	$0x18
    2a8c: 58                           	popq	%rax
    2a8d: 6a fc                        	pushq	$-0x4
    2a8f: 59                           	popq	%rcx
    2a90: 48 85 c9                     	testq	%rcx, %rcx
    2a93: 74 58                        	je	0x2aed <sha256_final+0x10a>
    2a95: c4 e2 7b f7 55 50            	shrxl	%eax, 0x50(%rbp), %edx
    2a9b: 88 54 0b 04                  	movb	%dl, 0x4(%rbx,%rcx)
    2a9f: c4 e2 7b f7 55 54            	shrxl	%eax, 0x54(%rbp), %edx
    2aa5: 88 54 0b 08                  	movb	%dl, 0x8(%rbx,%rcx)
    2aa9: c4 e2 7b f7 55 58            	shrxl	%eax, 0x58(%rbp), %edx
    2aaf: 88 54 0b 0c                  	movb	%dl, 0xc(%rbx,%rcx)
    2ab3: c4 e2 7b f7 55 5c            	shrxl	%eax, 0x5c(%rbp), %edx
    2ab9: 88 54 0b 10                  	movb	%dl, 0x10(%rbx,%rcx)
    2abd: c4 e2 7b f7 55 60            	shrxl	%eax, 0x60(%rbp), %edx
    2ac3: 88 54 0b 14                  	movb	%dl, 0x14(%rbx,%rcx)
    2ac7: c4 e2 7b f7 55 64            	shrxl	%eax, 0x64(%rbp), %edx
    2acd: 88 54 0b 18                  	movb	%dl, 0x18(%rbx,%rcx)
    2ad1: c4 e2 7b f7 55 68            	shrxl	%eax, 0x68(%rbp), %edx
    2ad7: 88 54 0b 1c                  	movb	%dl, 0x1c(%rbx,%rcx)
    2adb: c4 e2 7b f7 55 6c            	shrxl	%eax, 0x6c(%rbp), %edx
    2ae1: 83 c0 f8                     	addl	$-0x8, %eax
    2ae4: 88 54 0b 20                  	movb	%dl, 0x20(%rbx,%rcx)
    2ae8: 48 ff c1                     	incq	%rcx
    2aeb: eb a3                        	jmp	0x2a90 <sha256_final+0xad>
    2aed: 48 83 c4 08                  	addq	$0x8, %rsp
    2af1: 5b                           	popq	%rbx
    2af2: 5d                           	popq	%rbp
    2af3: c3                           	retq

Disassembly of section .init:

0000000000002af4 <_init>:
    2af4: f3 0f 1e fa                  	endbr64
    2af8: 48 83 ec 08                  	subq	$0x8, %rsp
    2afc: 48 8b 05 dd 11 00 00         	movq	0x11dd(%rip), %rax      # 0x3ce0 <malloc+0x3ce0>
    2b03: 48 85 c0                     	testq	%rax, %rax
    2b06: 74 02                        	je	0x2b0a <_init+0x16>
    2b08: ff d0                        	callq	*%rax
    2b0a: 48 83 c4 08                  	addq	$0x8, %rsp
    2b0e: c3                           	retq

Disassembly of section .fini:

0000000000002b10 <_fini>:
    2b10: f3 0f 1e fa                  	endbr64
    2b14: 48 83 ec 08                  	subq	$0x8, %rsp
    2b18: 48 83 c4 08                  	addq	$0x8, %rsp
    2b1c: c3                           	retq

Disassembly of section .plt:

0000000000002b20 <.plt>:
    2b20: ff 35 ea 21 00 00            	pushq	0x21ea(%rip)            # 0x4d10 <_GLOBAL_OFFSET_TABLE_+0x8>
    2b26: ff 25 ec 21 00 00            	jmpq	*0x21ec(%rip)           # 0x4d18 <_GLOBAL_OFFSET_TABLE_+0x10>
    2b2c: 0f 1f 40 00                  	nopl	(%rax)

0000000000002b30 <malloc@plt>:
    2b30: ff 25 ea 21 00 00            	jmpq	*0x21ea(%rip)           # 0x4d20 <_GLOBAL_OFFSET_TABLE_+0x18>
    2b36: 68 00 00 00 00               	pushq	$0x0
    2b3b: e9 e0 ff ff ff               	jmp	0x2b20 <.plt>
