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

Disassembly of section .text:

0000000000001d60 <deregister_tm_clones>:
    1d60: 48 8d 3d 31 36 00 00         	leaq	0x3631(%rip), %rdi      # 0x5398 <_GLOBAL_OFFSET_TABLE_>
    1d67: 48 8d 05 2a 36 00 00         	leaq	0x362a(%rip), %rax      # 0x5398 <_GLOBAL_OFFSET_TABLE_>
    1d6e: 48 39 f8                     	cmpq	%rdi, %rax
    1d71: 74 15                        	je	0x1d88 <deregister_tm_clones+0x28>
    1d73: 48 8b 05 fe 25 00 00         	movq	0x25fe(%rip), %rax      # 0x4378 <memset+0x4378>
    1d7a: 48 85 c0                     	testq	%rax, %rax
    1d7d: 74 09                        	je	0x1d88 <deregister_tm_clones+0x28>
    1d7f: ff e0                        	jmpq	*%rax
    1d81: 0f 1f 80 00 00 00 00         	nopl	(%rax)
    1d88: c3                           	retq
    1d89: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001d90 <register_tm_clones>:
    1d90: 48 8d 3d 01 36 00 00         	leaq	0x3601(%rip), %rdi      # 0x5398 <_GLOBAL_OFFSET_TABLE_>
    1d97: 48 8d 35 fa 35 00 00         	leaq	0x35fa(%rip), %rsi      # 0x5398 <_GLOBAL_OFFSET_TABLE_>
    1d9e: 48 29 fe                     	subq	%rdi, %rsi
    1da1: 48 89 f0                     	movq	%rsi, %rax
    1da4: 48 c1 ee 3f                  	shrq	$0x3f, %rsi
    1da8: 48 c1 f8 03                  	sarq	$0x3, %rax
    1dac: 48 01 c6                     	addq	%rax, %rsi
    1daf: 48 d1 fe                     	sarq	%rsi
    1db2: 74 14                        	je	0x1dc8 <register_tm_clones+0x38>
    1db4: 48 8b 05 c5 25 00 00         	movq	0x25c5(%rip), %rax      # 0x4380 <memset+0x4380>
    1dbb: 48 85 c0                     	testq	%rax, %rax
    1dbe: 74 08                        	je	0x1dc8 <register_tm_clones+0x38>
    1dc0: ff e0                        	jmpq	*%rax
    1dc2: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    1dc8: c3                           	retq
    1dc9: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001dd0 <__do_global_dtors_aux>:
    1dd0: f3 0f 1e fa                  	endbr64
    1dd4: 80 3d e5 35 00 00 00         	cmpb	$0x0, 0x35e5(%rip)      # 0x53c0 <completed.0>
    1ddb: 75 33                        	jne	0x1e10 <__do_global_dtors_aux+0x40>
    1ddd: 55                           	pushq	%rbp
    1dde: 48 83 3d a2 25 00 00 00      	cmpq	$0x0, 0x25a2(%rip)      # 0x4388 <memset+0x4388>
    1de6: 48 89 e5                     	movq	%rsp, %rbp
    1de9: 74 0d                        	je	0x1df8 <__do_global_dtors_aux+0x28>
    1deb: 48 8b 3d 9e 35 00 00         	movq	0x359e(%rip), %rdi      # 0x5390 <__dso_handle>
    1df2: ff 15 90 25 00 00            	callq	*0x2590(%rip)           # 0x4388 <memset+0x4388>
    1df8: e8 63 ff ff ff               	callq	0x1d60 <deregister_tm_clones>
    1dfd: c6 05 bc 35 00 00 01         	movb	$0x1, 0x35bc(%rip)      # 0x53c0 <completed.0>
    1e04: 5d                           	popq	%rbp
    1e05: c3                           	retq
    1e06: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    1e10: c3                           	retq
    1e11: 0f 1f 40 00                  	nopl	(%rax)
    1e15: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)

0000000000001e20 <frame_dummy>:
    1e20: f3 0f 1e fa                  	endbr64
    1e24: e9 67 ff ff ff               	jmp	0x1d90 <register_tm_clones>
    1e29: cc                           	int3
    1e2a: cc                           	int3
    1e2b: cc                           	int3
    1e2c: cc                           	int3
    1e2d: cc                           	int3
    1e2e: cc                           	int3
    1e2f: cc                           	int3

0000000000001e30 <jsmn_parse>:
    1e30: 55                           	pushq	%rbp
    1e31: 41 57                        	pushq	%r15
    1e33: 41 56                        	pushq	%r14
    1e35: 41 55                        	pushq	%r13
    1e37: 41 54                        	pushq	%r12
    1e39: 53                           	pushq	%rbx
    1e3a: 44 8b 37                     	movl	(%rdi), %r14d
    1e3d: 44 8b 4f 04                  	movl	0x4(%rdi), %r9d
    1e41: 4c 39 f2                     	cmpq	%r14, %rdx
    1e44: 0f 86 49 05 00 00            	jbe	0x2393 <jsmn_parse+0x563>
    1e4a: b8 04 00 00 00               	movl	$0x4, %eax
    1e4f: 41 ba 08 00 00 00            	movl	$0x8, %r10d
    1e55: 4c 8d 1d e4 e7 ff ff         	leaq	-0x181c(%rip), %r11     # 0x640 <memset+0x640>
    1e5c: 48 8d 1d d5 e9 ff ff         	leaq	-0x162b(%rip), %rbx     # 0x838 <memset+0x838>
    1e63: 49 bf 00 26 00 00 01 10 00 00	movabsq	$0x100100002600, %r15   # imm = 0x100100002600
    1e6d: 45 89 f4                     	movl	%r14d, %r12d
    1e70: c5 f9 6e c0                  	vmovd	%eax, %xmm0
    1e74: c4 c1 79 6e ca               	vmovd	%r10d, %xmm1
    1e79: eb 2a                        	jmp	0x1ea5 <jsmn_parse+0x75>
    1e7b: 41 ff cd                     	decl	%r13d
    1e7e: 41 ff c1                     	incl	%r9d
    1e81: 44 89 2f                     	movl	%r13d, (%rdi)
    1e84: 66 66 66 2e 0f 1f 84 00 00 00 00 00  	nopw	%cs:(%rax,%rax)
    1e90: 44 8b 37                     	movl	(%rdi), %r14d
    1e93: 41 ff c6                     	incl	%r14d
    1e96: 44 89 37                     	movl	%r14d, (%rdi)
    1e99: 45 89 f4                     	movl	%r14d, %r12d
    1e9c: 4c 39 f2                     	cmpq	%r14, %rdx
    1e9f: 0f 86 ee 04 00 00            	jbe	0x2393 <jsmn_parse+0x563>
    1ea5: 46 0f b6 2c 36               	movzbl	(%rsi,%r14), %r13d
    1eaa: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    1eaf: 49 83 fd 7d                  	cmpq	$0x7d, %r13
    1eb3: 0f 87 2d 05 00 00            	ja	0x23e6 <jsmn_parse+0x5b6>
    1eb9: 4f 63 14 ab                  	movslq	(%r11,%r13,4), %r10
    1ebd: 4d 01 da                     	addq	%r11, %r10
    1ec0: 41 ff e2                     	jmpq	*%r10
    1ec3: 48 85 c9                     	testq	%rcx, %rcx
    1ec6: 74 38                        	je	0x1f00 <jsmn_parse+0xd0>
    1ec8: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1ecc: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1ed0: 74 2e                        	je	0x1f00 <jsmn_parse+0xd0>
    1ed2: 49 c1 e2 04                  	shlq	$0x4, %r10
    1ed6: 42 8b 2c 11                  	movl	(%rcx,%r10), %ebp
    1eda: 83 fd 04                     	cmpl	$0x4, %ebp
    1edd: 74 0a                        	je	0x1ee9 <jsmn_parse+0xb9>
    1edf: 83 fd 01                     	cmpl	$0x1, %ebp
    1ee2: 75 1c                        	jne	0x1f00 <jsmn_parse+0xd0>
    1ee4: e9 fd 04 00 00               	jmp	0x23e6 <jsmn_parse+0x5b6>
    1ee9: 49 01 ca                     	addq	%rcx, %r10
    1eec: 41 83 7a 0c 00               	cmpl	$0x0, 0xc(%r10)
    1ef1: 0f 85 ef 04 00 00            	jne	0x23e6 <jsmn_parse+0x5b6>
    1ef7: 66 0f 1f 84 00 00 00 00 00   	nopw	(%rax,%rax)
    1f00: 45 89 e5                     	movl	%r12d, %r13d
    1f03: 46 0f b6 14 36               	movzbl	(%rsi,%r14), %r10d
    1f08: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    1f0d: 49 83 fa 2c                  	cmpq	$0x2c, %r10
    1f11: 77 0f                        	ja	0x1f22 <jsmn_parse+0xf2>
    1f13: 4d 0f a3 d7                  	btq	%r10, %r15
    1f17: 72 37                        	jb	0x1f50 <jsmn_parse+0x120>
    1f19: 4d 85 d2                     	testq	%r10, %r10
    1f1c: 0f 84 c1 04 00 00            	je	0x23e3 <jsmn_parse+0x5b3>
    1f22: 41 83 fa 5d                  	cmpl	$0x5d, %r10d
    1f26: 74 28                        	je	0x1f50 <jsmn_parse+0x120>
    1f28: 41 83 fa 7d                  	cmpl	$0x7d, %r10d
    1f2c: 74 22                        	je	0x1f50 <jsmn_parse+0x120>
    1f2e: 41 80 c2 81                  	addb	$-0x7f, %r10b
    1f32: 41 80 fa a1                  	cmpb	$-0x5f, %r10b
    1f36: 0f 82 94 04 00 00            	jb	0x23d0 <jsmn_parse+0x5a0>
    1f3c: 41 ff c5                     	incl	%r13d
    1f3f: 44 89 2f                     	movl	%r13d, (%rdi)
    1f42: 4d 89 ee                     	movq	%r13, %r14
    1f45: 4c 39 ea                     	cmpq	%r13, %rdx
    1f48: 77 b9                        	ja	0x1f03 <jsmn_parse+0xd3>
    1f4a: e9 94 04 00 00               	jmp	0x23e3 <jsmn_parse+0x5b3>
    1f4f: 90                           	nop
    1f50: 48 85 c9                     	testq	%rcx, %rcx
    1f53: 0f 84 22 ff ff ff            	je	0x1e7b <jsmn_parse+0x4b>
    1f59: 8b 47 04                     	movl	0x4(%rdi), %eax
    1f5c: 41 39 c0                     	cmpl	%eax, %r8d
    1f5f: 0f 86 79 04 00 00            	jbe	0x23de <jsmn_parse+0x5ae>
    1f65: 44 8d 50 01                  	leal	0x1(%rax), %r10d
    1f69: 48 c1 e0 04                  	shlq	$0x4, %rax
    1f6d: c4 c1 79 6e d4               	vmovd	%r12d, %xmm2
    1f72: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    1f76: 48 c7 44 01 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%rax)
    1f7f: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    1f87: c5 f1 62 d2                  	vpunpckldq	%xmm2, %xmm1, %xmm2 # xmm2 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
    1f8b: c5 f9 6e 1f                  	vmovd	(%rdi), %xmm3
    1f8f: c5 e9 6c d3                  	vpunpcklqdq	%xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
    1f93: c5 fa 7f 14 01               	vmovdqu	%xmm2, (%rcx,%rax)
    1f98: ff 0f                        	decl	(%rdi)
    1f9a: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    1f9e: 41 ff c1                     	incl	%r9d
    1fa1: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    1fa5: 0f 84 e5 fe ff ff            	je	0x1e90 <jsmn_parse+0x60>
    1fab: 48 c1 e0 04                  	shlq	$0x4, %rax
    1faf: ff 44 01 0c                  	incl	0xc(%rcx,%rax)
    1fb3: e9 d8 fe ff ff               	jmp	0x1e90 <jsmn_parse+0x60>
    1fb8: 41 ff c1                     	incl	%r9d
    1fbb: 48 85 c9                     	testq	%rcx, %rcx
    1fbe: 0f 84 cc fe ff ff            	je	0x1e90 <jsmn_parse+0x60>
    1fc4: 44 8b 77 04                  	movl	0x4(%rdi), %r14d
    1fc8: 45 39 f0                     	cmpl	%r14d, %r8d
    1fcb: 0f 86 20 04 00 00            	jbe	0x23f1 <jsmn_parse+0x5c1>
    1fd1: 45 8d 56 01                  	leal	0x1(%r14), %r10d
    1fd5: 49 c1 e6 04                  	shlq	$0x4, %r14
    1fd9: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    1fdd: 4a c7 44 31 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%r14)
    1fe6: 42 c7 44 31 0c 00 00 00 00   	movl	$0x0, 0xc(%rcx,%r14)
    1fef: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1ff3: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1ff7: 74 16                        	je	0x200f <jsmn_parse+0x1df>
    1ff9: 49 c1 e2 04                  	shlq	$0x4, %r10
    1ffd: 42 83 3c 11 01               	cmpl	$0x1, (%rcx,%r10)
    2002: 0f 84 de 03 00 00            	je	0x23e6 <jsmn_parse+0x5b6>
    2008: 49 01 ca                     	addq	%rcx, %r10
    200b: 41 ff 42 0c                  	incl	0xc(%r10)
    200f: 49 01 ce                     	addq	%rcx, %r14
    2012: 31 c0                        	xorl	%eax, %eax
    2014: 41 80 fd 7b                  	cmpb	$0x7b, %r13b
    2018: 0f 95 c0                     	setne	%al
    201b: ff c0                        	incl	%eax
    201d: 41 89 06                     	movl	%eax, (%r14)
    2020: 8b 07                        	movl	(%rdi), %eax
    2022: 41 89 46 04                  	movl	%eax, 0x4(%r14)
    2026: 8b 47 04                     	movl	0x4(%rdi), %eax
    2029: ff c8                        	decl	%eax
    202b: 89 47 08                     	movl	%eax, 0x8(%rdi)
    202e: e9 5d fe ff ff               	jmp	0x1e90 <jsmn_parse+0x60>
    2033: 48 85 c9                     	testq	%rcx, %rcx
    2036: 0f 84 54 fe ff ff            	je	0x1e90 <jsmn_parse+0x60>
    203c: 45 31 f6                     	xorl	%r14d, %r14d
    203f: 41 80 fd 7d                  	cmpb	$0x7d, %r13b
    2043: 44 8b 6f 04                  	movl	0x4(%rdi), %r13d
    2047: 41 0f 95 c2                  	setne	%r10b
    204b: 44 89 ed                     	movl	%r13d, %ebp
    204e: ff cd                        	decl	%ebp
    2050: 0f 88 cd 02 00 00            	js	0x2323 <jsmn_parse+0x4f3>
    2056: 45 88 d6                     	movb	%r10b, %r14b
    2059: 41 89 ea                     	movl	%ebp, %r10d
    205c: 4d 89 d5                     	movq	%r10, %r13
    205f: 49 c1 e5 04                  	shlq	$0x4, %r13
    2063: 41 ff c6                     	incl	%r14d
    2066: 49 01 cd                     	addq	%rcx, %r13
    2069: eb 18                        	jmp	0x2083 <jsmn_parse+0x253>
    206b: 0f 1f 44 00 00               	nopl	(%rax,%rax)
    2070: 49 83 c5 f0                  	addq	$-0x10, %r13
    2074: ff cd                        	decl	%ebp
    2076: 4d 85 d2                     	testq	%r10, %r10
    2079: 4d 8d 52 ff                  	leaq	-0x1(%r10), %r10
    207d: 0f 8e 63 03 00 00            	jle	0x23e6 <jsmn_parse+0x5b6>
    2083: 41 83 7d 04 ff               	cmpl	$-0x1, 0x4(%r13)
    2088: 74 e6                        	je	0x2070 <jsmn_parse+0x240>
    208a: 41 83 7d 08 ff               	cmpl	$-0x1, 0x8(%r13)
    208f: 75 df                        	jne	0x2070 <jsmn_parse+0x240>
    2091: 45 39 75 00                  	cmpl	%r14d, (%r13)
    2095: 0f 85 4b 03 00 00            	jne	0x23e6 <jsmn_parse+0x5b6>
    209b: 44 89 d0                     	movl	%r10d, %eax
    209e: 41 89 ea                     	movl	%ebp, %r10d
    20a1: 49 c1 e2 04                  	shlq	$0x4, %r10
    20a5: 4c 8d 71 08                  	leaq	0x8(%rcx), %r14
    20a9: 41 ff c4                     	incl	%r12d
    20ac: c7 47 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rdi)  # imm = 0xFFFFFFFF
    20b3: 4d 01 f2                     	addq	%r14, %r10
    20b6: 45 89 65 08                  	movl	%r12d, 0x8(%r13)
    20ba: eb 15                        	jmp	0x20d1 <jsmn_parse+0x2a1>
    20bc: 0f 1f 40 00                  	nopl	(%rax)
    20c0: 49 83 c2 f0                  	addq	$-0x10, %r10
    20c4: 48 85 c0                     	testq	%rax, %rax
    20c7: 48 8d 40 ff                  	leaq	-0x1(%rax), %rax
    20cb: 0f 8e bf fd ff ff            	jle	0x1e90 <jsmn_parse+0x60>
    20d1: 41 83 7a fc ff               	cmpl	$-0x1, -0x4(%r10)
    20d6: 74 e8                        	je	0x20c0 <jsmn_parse+0x290>
    20d8: 41 83 3a ff                  	cmpl	$-0x1, (%r10)
    20dc: 75 e2                        	jne	0x20c0 <jsmn_parse+0x290>
    20de: eb 79                        	jmp	0x2159 <jsmn_parse+0x329>
    20e0: 48 85 c9                     	testq	%rcx, %rcx
    20e3: 0f 84 a7 fd ff ff            	je	0x1e90 <jsmn_parse+0x60>
    20e9: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    20ed: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    20f1: 0f 84 99 fd ff ff            	je	0x1e90 <jsmn_parse+0x60>
    20f7: 48 c1 e0 04                  	shlq	$0x4, %rax
    20fb: 8b 04 01                     	movl	(%rcx,%rax), %eax
    20fe: ff c8                        	decl	%eax
    2100: 83 f8 02                     	cmpl	$0x2, %eax
    2103: 0f 82 87 fd ff ff            	jb	0x1e90 <jsmn_parse+0x60>
    2109: 8b 47 04                     	movl	0x4(%rdi), %eax
    210c: ff c8                        	decl	%eax
    210e: 0f 88 7c fd ff ff            	js	0x1e90 <jsmn_parse+0x60>
    2114: 89 c0                        	movl	%eax, %eax
    2116: 49 89 c2                     	movq	%rax, %r10
    2119: 49 c1 e2 04                  	shlq	$0x4, %r10
    211d: 4c 8d 71 08                  	leaq	0x8(%rcx), %r14
    2121: 4d 01 f2                     	addq	%r14, %r10
    2124: eb 1b                        	jmp	0x2141 <jsmn_parse+0x311>
    2126: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    2130: 49 83 c2 f0                  	addq	$-0x10, %r10
    2134: 48 85 c0                     	testq	%rax, %rax
    2137: 48 8d 40 ff                  	leaq	-0x1(%rax), %rax
    213b: 0f 8e 4f fd ff ff            	jle	0x1e90 <jsmn_parse+0x60>
    2141: 41 8b 6a f8                  	movl	-0x8(%r10), %ebp
    2145: ff cd                        	decl	%ebp
    2147: 83 fd 01                     	cmpl	$0x1, %ebp
    214a: 77 e4                        	ja	0x2130 <jsmn_parse+0x300>
    214c: 41 83 7a fc ff               	cmpl	$-0x1, -0x4(%r10)
    2151: 74 dd                        	je	0x2130 <jsmn_parse+0x300>
    2153: 41 83 3a ff                  	cmpl	$-0x1, (%r10)
    2157: 75 d7                        	jne	0x2130 <jsmn_parse+0x300>
    2159: 89 47 08                     	movl	%eax, 0x8(%rdi)
    215c: e9 2f fd ff ff               	jmp	0x1e90 <jsmn_parse+0x60>
    2161: 45 8d 74 24 01               	leal	0x1(%r12), %r14d
    2166: 44 89 37                     	movl	%r14d, (%rdi)
    2169: 4c 39 f2                     	cmpq	%r14, %rdx
    216c: 0f 86 65 02 00 00            	jbe	0x23d7 <jsmn_parse+0x5a7>
    2172: 4c 89 f5                     	movq	%r14, %rbp
    2175: 45 89 f5                     	movl	%r14d, %r13d
    2178: eb 19                        	jmp	0x2193 <jsmn_parse+0x363>
    217a: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    2180: 44 89 ed                     	movl	%r13d, %ebp
    2183: ff c5                        	incl	%ebp
    2185: 89 2f                        	movl	%ebp, (%rdi)
    2187: 41 89 ed                     	movl	%ebp, %r13d
    218a: 48 39 ea                     	cmpq	%rbp, %rdx
    218d: 0f 86 44 02 00 00            	jbe	0x23d7 <jsmn_parse+0x5a7>
    2193: 0f b6 04 2e                  	movzbl	(%rsi,%rbp), %eax
    2197: 83 f8 5c                     	cmpl	$0x5c, %eax
    219a: 74 24                        	je	0x21c0 <jsmn_parse+0x390>
    219c: 85 c0                        	testl	%eax, %eax
    219e: 0f 84 33 02 00 00            	je	0x23d7 <jsmn_parse+0x5a7>
    21a4: 44 89 ed                     	movl	%r13d, %ebp
    21a7: 83 f8 22                     	cmpl	$0x22, %eax
    21aa: 75 d7                        	jne	0x2183 <jsmn_parse+0x353>
    21ac: e9 80 01 00 00               	jmp	0x2331 <jsmn_parse+0x501>
    21b1: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	nopw	%cs:(%rax,%rax)
    21c0: 41 8d 6d 01                  	leal	0x1(%r13), %ebp
    21c4: 48 39 ea                     	cmpq	%rbp, %rdx
    21c7: 76 b7                        	jbe	0x2180 <jsmn_parse+0x350>
    21c9: 89 2f                        	movl	%ebp, (%rdi)
    21cb: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    21d0: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    21d5: 41 83 c2 de                  	addl	$-0x22, %r10d
    21d9: 41 83 fa 53                  	cmpl	$0x53, %r10d
    21dd: 0f 87 00 02 00 00            	ja	0x23e3 <jsmn_parse+0x5b3>
    21e3: 4e 63 14 93                  	movslq	(%rbx,%r10,4), %r10
    21e7: 49 01 da                     	addq	%rbx, %r10
    21ea: 41 ff e2                     	jmpq	*%r10
    21ed: 41 8d 6d 02                  	leal	0x2(%r13), %ebp
    21f1: 89 2f                        	movl	%ebp, (%rdi)
    21f3: 48 39 ea                     	cmpq	%rbp, %rdx
    21f6: 0f 86 20 01 00 00            	jbe	0x231c <jsmn_parse+0x4ec>
    21fc: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    2201: 45 84 d2                     	testb	%r10b, %r10b
    2204: 0f 84 12 01 00 00            	je	0x231c <jsmn_parse+0x4ec>
    220a: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    220e: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    2212: 72 26                        	jb	0x223a <jsmn_parse+0x40a>
    2214: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2218: 41 83 c2 bf                  	addl	$-0x41, %r10d
    221c: 41 83 fa 25                  	cmpl	$0x25, %r10d
    2220: 0f 87 bd 01 00 00            	ja	0x23e3 <jsmn_parse+0x5b3>
    2226: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    2230: 4c 0f a3 d5                  	btq	%r10, %rbp
    2234: 0f 83 a9 01 00 00            	jae	0x23e3 <jsmn_parse+0x5b3>
    223a: 41 8d 6d 03                  	leal	0x3(%r13), %ebp
    223e: 89 2f                        	movl	%ebp, (%rdi)
    2240: 48 39 ea                     	cmpq	%rbp, %rdx
    2243: 0f 86 d3 00 00 00            	jbe	0x231c <jsmn_parse+0x4ec>
    2249: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    224e: 45 84 d2                     	testb	%r10b, %r10b
    2251: 0f 84 c5 00 00 00            	je	0x231c <jsmn_parse+0x4ec>
    2257: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    225b: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    225f: 72 26                        	jb	0x2287 <jsmn_parse+0x457>
    2261: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2265: 41 83 c2 bf                  	addl	$-0x41, %r10d
    2269: 41 83 fa 25                  	cmpl	$0x25, %r10d
    226d: 0f 87 70 01 00 00            	ja	0x23e3 <jsmn_parse+0x5b3>
    2273: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    227d: 4c 0f a3 d5                  	btq	%r10, %rbp
    2281: 0f 83 5c 01 00 00            	jae	0x23e3 <jsmn_parse+0x5b3>
    2287: 41 8d 6d 04                  	leal	0x4(%r13), %ebp
    228b: 89 2f                        	movl	%ebp, (%rdi)
    228d: 48 39 ea                     	cmpq	%rbp, %rdx
    2290: 0f 86 86 00 00 00            	jbe	0x231c <jsmn_parse+0x4ec>
    2296: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    229b: 45 84 d2                     	testb	%r10b, %r10b
    229e: 74 7c                        	je	0x231c <jsmn_parse+0x4ec>
    22a0: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    22a4: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    22a8: 72 26                        	jb	0x22d0 <jsmn_parse+0x4a0>
    22aa: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    22ae: 41 83 c2 bf                  	addl	$-0x41, %r10d
    22b2: 41 83 fa 25                  	cmpl	$0x25, %r10d
    22b6: 0f 87 27 01 00 00            	ja	0x23e3 <jsmn_parse+0x5b3>
    22bc: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    22c6: 4c 0f a3 d5                  	btq	%r10, %rbp
    22ca: 0f 83 13 01 00 00            	jae	0x23e3 <jsmn_parse+0x5b3>
    22d0: 41 8d 6d 05                  	leal	0x5(%r13), %ebp
    22d4: 89 2f                        	movl	%ebp, (%rdi)
    22d6: 48 39 ea                     	cmpq	%rbp, %rdx
    22d9: 76 41                        	jbe	0x231c <jsmn_parse+0x4ec>
    22db: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    22e0: 45 84 d2                     	testb	%r10b, %r10b
    22e3: 74 37                        	je	0x231c <jsmn_parse+0x4ec>
    22e5: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    22e9: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    22ed: 72 26                        	jb	0x2315 <jsmn_parse+0x4e5>
    22ef: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    22f3: 41 83 c2 bf                  	addl	$-0x41, %r10d
    22f7: 41 83 fa 25                  	cmpl	$0x25, %r10d
    22fb: 0f 87 e2 00 00 00            	ja	0x23e3 <jsmn_parse+0x5b3>
    2301: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    230b: 4c 0f a3 d5                  	btq	%r10, %rbp
    230f: 0f 83 ce 00 00 00            	jae	0x23e3 <jsmn_parse+0x5b3>
    2315: 41 83 c5 06                  	addl	$0x6, %r13d
    2319: 44 89 ed                     	movl	%r13d, %ebp
    231c: ff cd                        	decl	%ebp
    231e: e9 60 fe ff ff               	jmp	0x2183 <jsmn_parse+0x353>
    2323: 45 85 ed                     	testl	%r13d, %r13d
    2326: 0f 85 64 fb ff ff            	jne	0x1e90 <jsmn_parse+0x60>
    232c: e9 b5 00 00 00               	jmp	0x23e6 <jsmn_parse+0x5b6>
    2331: 48 85 c9                     	testq	%rcx, %rcx
    2334: 74 55                        	je	0x238b <jsmn_parse+0x55b>
    2336: 8b 47 04                     	movl	0x4(%rdi), %eax
    2339: 41 39 c0                     	cmpl	%eax, %r8d
    233c: 0f 86 9c 00 00 00            	jbe	0x23de <jsmn_parse+0x5ae>
    2342: 44 8d 50 01                  	leal	0x1(%rax), %r10d
    2346: 48 c1 e0 04                  	shlq	$0x4, %rax
    234a: c4 c1 79 6e d6               	vmovd	%r14d, %xmm2
    234f: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    2353: 48 c7 44 01 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%rax)
    235c: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    2364: c5 f9 62 d2                  	vpunpckldq	%xmm2, %xmm0, %xmm2 # xmm2 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
    2368: c5 f9 6e 1f                  	vmovd	(%rdi), %xmm3
    236c: c5 e9 6c d3                  	vpunpcklqdq	%xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
    2370: c5 fa 7f 14 01               	vmovdqu	%xmm2, (%rcx,%rax)
    2375: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    2379: 41 ff c1                     	incl	%r9d
    237c: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    2380: 0f 85 25 fc ff ff            	jne	0x1fab <jsmn_parse+0x17b>
    2386: e9 05 fb ff ff               	jmp	0x1e90 <jsmn_parse+0x60>
    238b: 41 ff c1                     	incl	%r9d
    238e: e9 fd fa ff ff               	jmp	0x1e90 <jsmn_parse+0x60>
    2393: 48 85 c9                     	testq	%rcx, %rcx
    2396: 74 33                        	je	0x23cb <jsmn_parse+0x59b>
    2398: 8b 47 04                     	movl	0x4(%rdi), %eax
    239b: ff c8                        	decl	%eax
    239d: 78 2c                        	js	0x23cb <jsmn_parse+0x59b>
    239f: 89 c2                        	movl	%eax, %edx
    23a1: 48 8d 42 01                  	leaq	0x1(%rdx), %rax
    23a5: 48 c1 e2 04                  	shlq	$0x4, %rdx
    23a9: 48 8d 4c 0a 08               	leaq	0x8(%rdx,%rcx), %rcx
    23ae: eb 09                        	jmp	0x23b9 <jsmn_parse+0x589>
    23b0: 48 83 c1 f0                  	addq	$-0x10, %rcx
    23b4: 48 ff c8                     	decq	%rax
    23b7: 7e 12                        	jle	0x23cb <jsmn_parse+0x59b>
    23b9: 83 79 fc ff                  	cmpl	$-0x1, -0x4(%rcx)
    23bd: 74 f1                        	je	0x23b0 <jsmn_parse+0x580>
    23bf: 83 39 ff                     	cmpl	$-0x1, (%rcx)
    23c2: 75 ec                        	jne	0x23b0 <jsmn_parse+0x580>
    23c4: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    23c9: eb 1b                        	jmp	0x23e6 <jsmn_parse+0x5b6>
    23cb: 44 89 c8                     	movl	%r9d, %eax
    23ce: eb 16                        	jmp	0x23e6 <jsmn_parse+0x5b6>
    23d0: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    23d5: eb 0c                        	jmp	0x23e3 <jsmn_parse+0x5b3>
    23d7: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    23dc: eb 05                        	jmp	0x23e3 <jsmn_parse+0x5b3>
    23de: b8 ff ff ff ff               	movl	$0xffffffff, %eax       # imm = 0xFFFFFFFF
    23e3: 44 89 27                     	movl	%r12d, (%rdi)
    23e6: 5b                           	popq	%rbx
    23e7: 41 5c                        	popq	%r12
    23e9: 41 5d                        	popq	%r13
    23eb: 41 5e                        	popq	%r14
    23ed: 41 5f                        	popq	%r15
    23ef: 5d                           	popq	%rbp
    23f0: c3                           	retq
    23f1: b8 ff ff ff ff               	movl	$0xffffffff, %eax       # imm = 0xFFFFFFFF
    23f6: eb ee                        	jmp	0x23e6 <jsmn_parse+0x5b6>
    23f8: cc                           	int3
    23f9: cc                           	int3
    23fa: cc                           	int3
    23fb: cc                           	int3
    23fc: cc                           	int3
    23fd: cc                           	int3
    23fe: cc                           	int3
    23ff: cc                           	int3

0000000000002400 <jsmn_init>:
    2400: 48 c7 07 00 00 00 00         	movq	$0x0, (%rdi)
    2407: c7 47 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rdi)  # imm = 0xFFFFFFFF
    240e: c3                           	retq
    240f: cc                           	int3

0000000000002410 <qoi_encode>:
    2410: 31 c0                        	xorl	%eax, %eax
    2412: 48 85 f6                     	testq	%rsi, %rsi
    2415: 0f 84 8f 01 00 00            	je	0x25aa <qoi_encode+0x19a>
    241b: 48 85 ff                     	testq	%rdi, %rdi
    241e: 0f 84 86 01 00 00            	je	0x25aa <qoi_encode+0x19a>
    2424: 48 85 d2                     	testq	%rdx, %rdx
    2427: 0f 84 7d 01 00 00            	je	0x25aa <qoi_encode+0x19a>
    242d: 55                           	pushq	%rbp
    242e: 41 57                        	pushq	%r15
    2430: 41 56                        	pushq	%r14
    2432: 41 55                        	pushq	%r13
    2434: 41 54                        	pushq	%r12
    2436: 53                           	pushq	%rbx
    2437: 48 81 ec 48 01 00 00         	subq	$0x148, %rsp            # imm = 0x148
    243e: 8b 2e                        	movl	(%rsi), %ebp
    2440: 85 ed                        	testl	%ebp, %ebp
    2442: 0f 84 4f 01 00 00            	je	0x2597 <qoi_encode+0x187>
    2448: 44 8b 66 04                  	movl	0x4(%rsi), %r12d
    244c: 45 85 e4                     	testl	%r12d, %r12d
    244f: 0f 84 42 01 00 00            	je	0x2597 <qoi_encode+0x187>
    2455: 44 0f b6 6e 08               	movzbl	0x8(%rsi), %r13d
    245a: 41 8d 45 fb                  	leal	-0x5(%r13), %eax
    245e: 3c fe                        	cmpb	$-0x2, %al
    2460: 0f 82 31 01 00 00            	jb	0x2597 <qoi_encode+0x187>
    2466: 44 0f b6 76 09               	movzbl	0x9(%rsi), %r14d
    246b: 41 80 fe 01                  	cmpb	$0x1, %r14b
    246f: 0f 87 22 01 00 00            	ja	0x2597 <qoi_encode+0x187>
    2475: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    247a: 48 89 54 24 30               	movq	%rdx, 0x30(%rsp)
    247f: 31 d2                        	xorl	%edx, %edx
    2481: f7 f5                        	divl	%ebp
    2483: 41 39 c4                     	cmpl	%eax, %r12d
    2486: 0f 83 0b 01 00 00            	jae	0x2597 <qoi_encode+0x187>
    248c: 45 89 e7                     	movl	%r12d, %r15d
    248f: 44 0f af fd                  	imull	%ebp, %r15d
    2493: 41 0f b6 dd                  	movzbl	%r13b, %ebx
    2497: 48 89 7c 24 28               	movq	%rdi, 0x28(%rsp)
    249c: 8d 43 01                     	leal	0x1(%rbx), %eax
    249f: 41 0f af c7                  	imull	%r15d, %eax
    24a3: 83 c0 16                     	addl	$0x16, %eax
    24a6: 48 63 f8                     	movslq	%eax, %rdi
    24a9: e8 02 0d 00 00               	callq	0x31b0 <malloc@plt>
    24ae: 48 85 c0                     	testq	%rax, %rax
    24b1: 0f 84 e0 00 00 00            	je	0x2597 <qoi_encode+0x187>
    24b7: c5 f9 6e c5                  	vmovd	%ebp, %xmm0
    24bb: c5 f9 6e 15 1d e5 ff ff      	vmovd	-0x1ae3(%rip), %xmm2    # 0x9e0 <memset+0x9e0>
    24c3: 44 0f af fb                  	imull	%ebx, %r15d
    24c7: c7 00 71 6f 69 66            	movl	$0x66696f71, (%rax)     # imm = 0x66696F71
    24cd: c4 c3 79 22 c4 01            	vpinsrd	$0x1, %r12d, %xmm0, %xmm0
    24d3: c5 f9 70 c0 50               	vpshufd	$0x50, %xmm0, %xmm0     # xmm0 = xmm0[0,0,1,1]
    24d8: c4 e3 fd 00 c0 50            	vpermq	$0x50, %ymm0, %ymm0     # ymm0 = ymm0[0,0,1,1]
    24de: c4 e2 7d 45 05 d9 e4 ff ff   	vpsrlvd	-0x1b27(%rip), %ymm0, %ymm0 # 0x9c0 <memset+0x9c0>
    24e7: c4 e3 7d 39 c1 01            	vextracti128	$0x1, %ymm0, %xmm1
    24ed: c4 e2 79 00 c2               	vpshufb	%xmm2, %xmm0, %xmm0
    24f2: c4 e2 71 00 ca               	vpshufb	%xmm2, %xmm1, %xmm1
    24f7: c5 f9 62 c1                  	vpunpckldq	%xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
    24fb: c5 f9 d6 40 04               	vmovq	%xmm0, 0x4(%rax)
    2500: c5 f9 ef c0                  	vpxor	%xmm0, %xmm0, %xmm0
    2504: 44 88 68 0c                  	movb	%r13b, 0xc(%rax)
    2508: 44 88 70 0d                  	movb	%r14b, 0xd(%rax)
    250c: c5 fe 7f 84 24 20 01 00 00   	vmovdqu	%ymm0, 0x120(%rsp)
    2515: c5 fe 7f 84 24 00 01 00 00   	vmovdqu	%ymm0, 0x100(%rsp)
    251e: c5 fe 7f 84 24 e0 00 00 00   	vmovdqu	%ymm0, 0xe0(%rsp)
    2527: c5 fe 7f 84 24 c0 00 00 00   	vmovdqu	%ymm0, 0xc0(%rsp)
    2530: c5 fe 7f 84 24 a0 00 00 00   	vmovdqu	%ymm0, 0xa0(%rsp)
    2539: c5 fe 7f 84 24 80 00 00 00   	vmovdqu	%ymm0, 0x80(%rsp)
    2542: c5 fe 7f 44 24 60            	vmovdqu	%ymm0, 0x60(%rsp)
    2548: c5 fe 7f 44 24 40            	vmovdqu	%ymm0, 0x40(%rsp)
    254e: 45 85 ff                     	testl	%r15d, %r15d
    2551: 0f 8e 30 03 00 00            	jle	0x2887 <qoi_encode+0x477>
    2557: 4c 8b 64 24 28               	movq	0x28(%rsp), %r12
    255c: 4c 89 6c 24 38               	movq	%r13, 0x38(%rsp)
    2561: 49 89 db                     	movq	%rbx, %r11
    2564: 44 89 f9                     	movl	%r15d, %ecx
    2567: 44 29 d9                     	subl	%r11d, %ecx
    256a: 41 b5 ff                     	movb	$-0x1, %r13b
    256d: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    2576: 31 f6                        	xorl	%esi, %esi
    2578: 31 d2                        	xorl	%edx, %edx
    257a: 45 31 f6                     	xorl	%r14d, %r14d
    257d: 44 89 7c 24 24               	movl	%r15d, 0x24(%rsp)
    2582: 89 4c 24 20                  	movl	%ecx, 0x20(%rsp)
    2586: b9 0e 00 00 00               	movl	$0xe, %ecx
    258b: 44 89 eb                     	movl	%r13d, %ebx
    258e: 48 89 4c 24 10               	movq	%rcx, 0x10(%rsp)
    2593: 31 c9                        	xorl	%ecx, %ecx
    2595: eb 6e                        	jmp	0x2605 <qoi_encode+0x1f5>
    2597: 31 c0                        	xorl	%eax, %eax
    2599: 48 81 c4 48 01 00 00         	addq	$0x148, %rsp            # imm = 0x148
    25a0: 5b                           	popq	%rbx
    25a1: 41 5c                        	popq	%r12
    25a3: 41 5d                        	popq	%r13
    25a5: 41 5e                        	popq	%r14
    25a7: 41 5f                        	popq	%r15
    25a9: 5d                           	popq	%rbp
    25aa: c5 f8 77                     	vzeroupper
    25ad: c3                           	retq
    25ae: 48 8b 7c 24 18               	movq	0x18(%rsp), %rdi
    25b3: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    25b8: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    25bd: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    25c3: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    25c8: 44 0f b6 7c 24 0f            	movzbl	0xf(%rsp), %r15d
    25ce: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    25d7: 40 80 cf c0                  	orb	$-0x40, %dil
    25db: 41 8d 50 01                  	leal	0x1(%r8), %edx
    25df: 49 63 c8                     	movslq	%r8d, %rcx
    25e2: 48 89 54 24 10               	movq	%rdx, 0x10(%rsp)
    25e7: 40 88 3c 08                  	movb	%dil, (%rax,%rcx)
    25eb: 8b 7c 24 24                  	movl	0x24(%rsp), %edi
    25ef: 44 01 de                     	addl	%r11d, %esi
    25f2: 41 89 dd                     	movl	%ebx, %r13d
    25f5: 44 89 d1                     	movl	%r10d, %ecx
    25f8: 89 ea                        	movl	%ebp, %edx
    25fa: 45 89 fe                     	movl	%r15d, %r14d
    25fd: 39 fe                        	cmpl	%edi, %esi
    25ff: 0f 8d 8c 02 00 00            	jge	0x2891 <qoi_encode+0x481>
    2605: 80 7c 24 38 04               	cmpb	$0x4, 0x38(%rsp)
    260a: 4d 89 df                     	movq	%r11, %r15
    260d: 75 0b                        	jne	0x261a <qoi_encode+0x20a>
    260f: 8d 7e 03                     	leal	0x3(%rsi), %edi
    2612: 48 63 ff                     	movslq	%edi, %rdi
    2615: 41 0f b6 1c 3c               	movzbl	(%r12,%rdi), %ebx
    261a: 8d 7e 02                     	leal	0x2(%rsi), %edi
    261d: 4c 63 ce                     	movslq	%esi, %r9
    2620: 88 5c 24 0e                  	movb	%bl, 0xe(%rsp)
    2624: 45 0f b6 de                  	movzbl	%r14b, %r11d
    2628: 48 63 ff                     	movslq	%edi, %rdi
    262b: 47 0f b6 04 0c               	movzbl	(%r12,%r9), %r8d
    2630: 47 0f b6 54 0c 01            	movzbl	0x1(%r12,%r9), %r10d
    2636: 41 c1 e3 10                  	shll	$0x10, %r11d
    263a: 41 0f b6 3c 3c               	movzbl	(%r12,%rdi), %edi
    263f: 44 88 54 24 0c               	movb	%r10b, 0xc(%rsp)
    2644: 44 88 44 24 0d               	movb	%r8b, 0xd(%rsp)
    2649: 45 0f b6 c8                  	movzbl	%r8b, %r9d
    264d: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2651: 40 0f b6 ef                  	movzbl	%dil, %ebp
    2655: 40 88 7c 24 0f               	movb	%dil, 0xf(%rsp)
    265a: 0f b6 fb                     	movzbl	%bl, %edi
    265d: 89 fb                        	movl	%edi, %ebx
    265f: 41 89 e8                     	movl	%ebp, %r8d
    2662: c1 e3 18                     	shll	$0x18, %ebx
    2665: 41 c1 e0 10                  	shll	$0x10, %r8d
    2669: 41 09 d8                     	orl	%ebx, %r8d
    266c: 44 89 d3                     	movl	%r10d, %ebx
    266f: c1 e3 08                     	shll	$0x8, %ebx
    2672: 44 09 c3                     	orl	%r8d, %ebx
    2675: 45 0f b6 c5                  	movzbl	%r13b, %r8d
    2679: 41 c1 e0 18                  	shll	$0x18, %r8d
    267d: 44 09 cb                     	orl	%r9d, %ebx
    2680: 45 09 c3                     	orl	%r8d, %r11d
    2683: 44 0f b6 c2                  	movzbl	%dl, %r8d
    2687: 41 c1 e0 08                  	shll	$0x8, %r8d
    268b: 45 09 d8                     	orl	%r11d, %r8d
    268e: 44 0f b6 d9                  	movzbl	%cl, %r11d
    2692: 45 09 c3                     	orl	%r8d, %r11d
    2695: 44 39 db                     	cmpl	%r11d, %ebx
    2698: 75 3d                        	jne	0x26d7 <qoi_encode+0x2c7>
    269a: 4d 89 fb                     	movq	%r15, %r11
    269d: 39 74 24 20                  	cmpl	%esi, 0x20(%rsp)
    26a1: 0f 84 07 ff ff ff            	je	0x25ae <qoi_encode+0x19e>
    26a7: 48 8b 4c 24 18               	movq	0x18(%rsp), %rcx
    26ac: ff c1                        	incl	%ecx
    26ae: 83 f9 3e                     	cmpl	$0x3e, %ecx
    26b1: 0f 84 f7 fe ff ff            	je	0x25ae <qoi_encode+0x19e>
    26b7: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    26bc: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    26c2: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    26c7: 44 0f b6 7c 24 0f            	movzbl	0xf(%rsp), %r15d
    26cd: 48 89 4c 24 18               	movq	%rcx, 0x18(%rsp)
    26d2: e9 14 ff ff ff               	jmp	0x25eb <qoi_encode+0x1db>
    26d7: 83 7c 24 18 00               	cmpl	$0x0, 0x18(%rsp)
    26dc: 7e 2e                        	jle	0x270c <qoi_encode+0x2fc>
    26de: 4c 8b 64 24 10               	movq	0x10(%rsp), %r12
    26e3: 4c 8b 5c 24 18               	movq	0x18(%rsp), %r11
    26e8: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    26f1: 4d 63 c4                     	movslq	%r12d, %r8
    26f4: 41 ff c4                     	incl	%r12d
    26f7: 41 fe cb                     	decb	%r11b
    26fa: 4c 89 64 24 10               	movq	%r12, 0x10(%rsp)
    26ff: 4c 8b 64 24 28               	movq	0x28(%rsp), %r12
    2704: 41 80 cb c0                  	orb	$-0x40, %r11b
    2708: 46 88 1c 00                  	movb	%r11b, (%rax,%r8)
    270c: 47 8d 04 49                  	leal	(%r9,%r9,2), %r8d
    2710: 47 8d 0c 92                  	leal	(%r10,%r10,4), %r9d
    2714: 4d 89 fb                     	movq	%r15, %r11
    2717: 44 0f b6 7c 24 0f            	movzbl	0xf(%rsp), %r15d
    271d: 45 01 c1                     	addl	%r8d, %r9d
    2720: 45 8d 04 e9                  	leal	(%r9,%rbp,8), %r8d
    2724: 44 8d 0c bf                  	leal	(%rdi,%rdi,4), %r9d
    2728: 42 8d 3c 4f                  	leal	(%rdi,%r9,2), %edi
    272c: 41 29 e8                     	subl	%ebp, %r8d
    272f: 44 01 c7                     	addl	%r8d, %edi
    2732: 83 e7 3f                     	andl	$0x3f, %edi
    2735: 39 5c bc 40                  	cmpl	%ebx, 0x40(%rsp,%rdi,4)
    2739: 75 1e                        	jne	0x2759 <qoi_encode+0x349>
    273b: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    2740: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    2745: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    274b: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    2750: 41 8d 50 01                  	leal	0x1(%r8), %edx
    2754: e9 86 fe ff ff               	jmp	0x25df <qoi_encode+0x1cf>
    2759: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    275f: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    2764: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    2769: 44 88 54 bc 40               	movb	%r10b, 0x40(%rsp,%rdi,4)
    276e: 40 88 6c bc 41               	movb	%bpl, 0x41(%rsp,%rdi,4)
    2773: 44 88 7c bc 42               	movb	%r15b, 0x42(%rsp,%rdi,4)
    2778: 88 5c bc 43                  	movb	%bl, 0x43(%rsp,%rdi,4)
    277c: 44 38 eb                     	cmpb	%r13b, %bl
    277f: 75 52                        	jne	0x27d3 <qoi_encode+0x3c3>
    2781: 45 89 d5                     	movl	%r10d, %r13d
    2784: 89 ef                        	movl	%ebp, %edi
    2786: 41 28 cd                     	subb	%cl, %r13b
    2789: 44 89 f9                     	movl	%r15d, %ecx
    278c: 40 28 d7                     	subb	%dl, %dil
    278f: 44 28 f1                     	subb	%r14b, %cl
    2792: 41 8d 55 02                  	leal	0x2(%r13), %edx
    2796: 80 fa 03                     	cmpb	$0x3, %dl
    2799: 77 6f                        	ja	0x280a <qoi_encode+0x3fa>
    279b: 8d 57 02                     	leal	0x2(%rdi), %edx
    279e: 80 fa 03                     	cmpb	$0x3, %dl
    27a1: 77 67                        	ja	0x280a <qoi_encode+0x3fa>
    27a3: 8d 51 02                     	leal	0x2(%rcx), %edx
    27a6: 80 fa 03                     	cmpb	$0x3, %dl
    27a9: 77 5f                        	ja	0x280a <qoi_encode+0x3fa>
    27ab: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    27b0: 41 c0 e5 04                  	shlb	$0x4, %r13b
    27b4: 40 c0 e7 02                  	shlb	$0x2, %dil
    27b8: 41 80 c5 20                  	addb	$0x20, %r13b
    27bc: 40 80 c7 08                  	addb	$0x8, %dil
    27c0: 44 08 ef                     	orb	%r13b, %dil
    27c3: 40 08 d7                     	orb	%dl, %dil
    27c6: 40 80 cf 40                  	orb	$0x40, %dil
    27ca: 41 8d 50 01                  	leal	0x1(%r8), %edx
    27ce: e9 0c fe ff ff               	jmp	0x25df <qoi_encode+0x1cf>
    27d3: 48 8b 7c 24 10               	movq	0x10(%rsp), %rdi
    27d8: 48 63 d7                     	movslq	%edi, %rdx
    27db: ff c7                        	incl	%edi
    27dd: 8d 4a 02                     	leal	0x2(%rdx), %ecx
    27e0: 48 63 ff                     	movslq	%edi, %rdi
    27e3: c6 04 10 ff                  	movb	$-0x1, (%rax,%rdx)
    27e7: 44 8d 42 04                  	leal	0x4(%rdx), %r8d
    27eb: 44 88 14 38                  	movb	%r10b, (%rax,%rdi)
    27ef: 8d 7a 03                     	leal	0x3(%rdx), %edi
    27f2: 48 63 c9                     	movslq	%ecx, %rcx
    27f5: 83 c2 05                     	addl	$0x5, %edx
    27f8: 40 88 2c 08                  	movb	%bpl, (%rax,%rcx)
    27fc: 48 63 cf                     	movslq	%edi, %rcx
    27ff: 89 df                        	movl	%ebx, %edi
    2801: 44 88 3c 08                  	movb	%r15b, (%rax,%rcx)
    2805: e9 d5 fd ff ff               	jmp	0x25df <qoi_encode+0x1cf>
    280a: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    280f: 41 28 fd                     	subb	%dil, %r13b
    2812: 41 8d 55 08                  	leal	0x8(%r13), %edx
    2816: 80 fa 0f                     	cmpb	$0xf, %dl
    2819: 77 3a                        	ja	0x2855 <qoi_encode+0x445>
    281b: 44 8d 4f 20                  	leal	0x20(%rdi), %r9d
    281f: 41 80 f9 3f                  	cmpb	$0x3f, %r9b
    2823: 77 30                        	ja	0x2855 <qoi_encode+0x445>
    2825: 40 28 f9                     	subb	%dil, %cl
    2828: 80 c1 08                     	addb	$0x8, %cl
    282b: 80 f9 0f                     	cmpb	$0xf, %cl
    282e: 77 25                        	ja	0x2855 <qoi_encode+0x445>
    2830: 41 c0 e5 04                  	shlb	$0x4, %r13b
    2834: 41 80 c9 80                  	orb	$-0x80, %r9b
    2838: 49 63 f8                     	movslq	%r8d, %rdi
    283b: 44 89 c2                     	movl	%r8d, %edx
    283e: 41 ff c0                     	incl	%r8d
    2841: 83 c2 02                     	addl	$0x2, %edx
    2844: 44 08 e9                     	orb	%r13b, %cl
    2847: 44 88 0c 38                  	movb	%r9b, (%rax,%rdi)
    284b: 80 c1 80                     	addb	$-0x80, %cl
    284e: 89 cf                        	movl	%ecx, %edi
    2850: e9 8a fd ff ff               	jmp	0x25df <qoi_encode+0x1cf>
    2855: 41 8d 48 01                  	leal	0x1(%r8), %ecx
    2859: 41 8d 78 02                  	leal	0x2(%r8), %edi
    285d: 49 63 d0                     	movslq	%r8d, %rdx
    2860: 48 63 c9                     	movslq	%ecx, %rcx
    2863: c6 04 10 fe                  	movb	$-0x2, (%rax,%rdx)
    2867: 48 63 ff                     	movslq	%edi, %rdi
    286a: 44 89 c2                     	movl	%r8d, %edx
    286d: 83 c2 04                     	addl	$0x4, %edx
    2870: 44 88 14 08                  	movb	%r10b, (%rax,%rcx)
    2874: 41 8d 48 03                  	leal	0x3(%r8), %ecx
    2878: 40 88 2c 38                  	movb	%bpl, (%rax,%rdi)
    287c: 44 89 ff                     	movl	%r15d, %edi
    287f: 41 89 c8                     	movl	%ecx, %r8d
    2882: e9 58 fd ff ff               	jmp	0x25df <qoi_encode+0x1cf>
    2887: b9 0e 00 00 00               	movl	$0xe, %ecx
    288c: 48 89 4c 24 10               	movq	%rcx, 0x10(%rsp)
    2891: 48 8b 54 24 10               	movq	0x10(%rsp), %rdx
    2896: 48 63 ca                     	movslq	%edx, %rcx
    2899: ff c2                        	incl	%edx
    289b: 48 63 d2                     	movslq	%edx, %rdx
    289e: 8d 79 05                     	leal	0x5(%rcx), %edi
    28a1: c6 04 08 00                  	movb	$0x0, (%rax,%rcx)
    28a5: 8d 71 07                     	leal	0x7(%rcx), %esi
    28a8: 83 c1 08                     	addl	$0x8, %ecx
    28ab: c7 04 10 00 00 00 00         	movl	$0x0, (%rax,%rdx)
    28b2: 48 63 d7                     	movslq	%edi, %rdx
    28b5: 66 c7 04 10 00 00            	movw	$0x0, (%rax,%rdx)
    28bb: 48 63 d6                     	movslq	%esi, %rdx
    28be: 48 8b 74 24 30               	movq	0x30(%rsp), %rsi
    28c3: c6 04 10 01                  	movb	$0x1, (%rax,%rdx)
    28c7: 89 0e                        	movl	%ecx, (%rsi)
    28c9: e9 cb fc ff ff               	jmp	0x2599 <qoi_encode+0x189>
    28ce: cc                           	int3
    28cf: cc                           	int3

00000000000028d0 <qoi_decode>:
    28d0: 31 c0                        	xorl	%eax, %eax
    28d2: 48 85 ff                     	testq	%rdi, %rdi
    28d5: 0f 84 8a 00 00 00            	je	0x2965 <qoi_decode+0x95>
    28db: 48 85 d2                     	testq	%rdx, %rdx
    28de: 0f 84 81 00 00 00            	je	0x2965 <qoi_decode+0x95>
    28e4: 83 f9 03                     	cmpl	$0x3, %ecx
    28e7: 41 0f 95 c0                  	setne	%r8b
    28eb: f7 c1 fb ff ff ff            	testl	$0xfffffffb, %ecx       # imm = 0xFFFFFFFB
    28f1: 41 0f 95 c1                  	setne	%r9b
    28f5: 31 c0                        	xorl	%eax, %eax
    28f7: 83 fe 16                     	cmpl	$0x16, %esi
    28fa: 7c 69                        	jl	0x2965 <qoi_decode+0x95>
    28fc: 45 20 c8                     	andb	%r9b, %r8b
    28ff: 75 64                        	jne	0x2965 <qoi_decode+0x95>
    2901: 55                           	pushq	%rbp
    2902: 41 57                        	pushq	%r15
    2904: 41 56                        	pushq	%r14
    2906: 41 55                        	pushq	%r13
    2908: 41 54                        	pushq	%r12
    290a: 53                           	pushq	%rbx
    290b: 48 81 ec 28 01 00 00         	subq	$0x128, %rsp            # imm = 0x128
    2912: 44 8b 47 04                  	movl	0x4(%rdi), %r8d
    2916: 44 0f 38 f0 0f               	movbel	(%rdi), %r9d
    291b: 31 c0                        	xorl	%eax, %eax
    291d: 44 0f 38 f1 02               	movbel	%r8d, (%rdx)
    2922: 41 0f c8                     	bswapl	%r8d
    2925: 8b 5f 08                     	movl	0x8(%rdi), %ebx
    2928: 0f 38 f1 5a 04               	movbel	%ebx, 0x4(%rdx)
    292d: 44 0f b6 77 0c               	movzbl	0xc(%rdi), %r14d
    2932: 44 88 72 08                  	movb	%r14b, 0x8(%rdx)
    2936: 44 0f b6 57 0d               	movzbl	0xd(%rdi), %r10d
    293b: 44 88 52 09                  	movb	%r10b, 0x9(%rdx)
    293f: 45 85 c0                     	testl	%r8d, %r8d
    2942: 74 10                        	je	0x2954 <qoi_decode+0x84>
    2944: 0f cb                        	bswapl	%ebx
    2946: 85 db                        	testl	%ebx, %ebx
    2948: 74 0a                        	je	0x2954 <qoi_decode+0x84>
    294a: 41 8d 46 fb                  	leal	-0x5(%r14), %eax
    294e: 3c fe                        	cmpb	$-0x2, %al
    2950: 73 17                        	jae	0x2969 <qoi_decode+0x99>
    2952: 31 c0                        	xorl	%eax, %eax
    2954: 48 81 c4 28 01 00 00         	addq	$0x128, %rsp            # imm = 0x128
    295b: 5b                           	popq	%rbx
    295c: 41 5c                        	popq	%r12
    295e: 41 5d                        	popq	%r13
    2960: 41 5e                        	popq	%r14
    2962: 41 5f                        	popq	%r15
    2964: 5d                           	popq	%rbp
    2965: c5 f8 77                     	vzeroupper
    2968: c3                           	retq
    2969: 31 c0                        	xorl	%eax, %eax
    296b: 41 80 fa 01                  	cmpb	$0x1, %r10b
    296f: 77 e3                        	ja	0x2954 <qoi_decode+0x84>
    2971: 41 81 f9 66 69 6f 71         	cmpl	$0x716f6966, %r9d       # imm = 0x716F6966
    2978: 75 da                        	jne	0x2954 <qoi_decode+0x84>
    297a: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    297f: 31 d2                        	xorl	%edx, %edx
    2981: 41 f7 f0                     	divl	%r8d
    2984: 39 c3                        	cmpl	%eax, %ebx
    2986: 73 ca                        	jae	0x2952 <qoi_decode+0x82>
    2988: 85 c9                        	testl	%ecx, %ecx
    298a: 49 89 fc                     	movq	%rdi, %r12
    298d: 89 f5                        	movl	%esi, %ebp
    298f: 44 0f 45 f1                  	cmovnel	%ecx, %r14d
    2993: 41 0f af d8                  	imull	%r8d, %ebx
    2997: 41 0f af de                  	imull	%r14d, %ebx
    299b: 48 63 fb                     	movslq	%ebx, %rdi
    299e: e8 0d 08 00 00               	callq	0x31b0 <malloc@plt>
    29a3: 48 85 c0                     	testq	%rax, %rax
    29a6: 74 aa                        	je	0x2952 <qoi_decode+0x82>
    29a8: c5 f8 57 c0                  	vxorps	%xmm0, %xmm0, %xmm0
    29ac: c5 fc 11 84 24 00 01 00 00   	vmovups	%ymm0, 0x100(%rsp)
    29b5: c5 fc 11 84 24 e0 00 00 00   	vmovups	%ymm0, 0xe0(%rsp)
    29be: c5 fc 11 84 24 c0 00 00 00   	vmovups	%ymm0, 0xc0(%rsp)
    29c7: c5 fc 11 84 24 a0 00 00 00   	vmovups	%ymm0, 0xa0(%rsp)
    29d0: c5 fc 11 84 24 80 00 00 00   	vmovups	%ymm0, 0x80(%rsp)
    29d9: c5 fc 11 44 24 60            	vmovups	%ymm0, 0x60(%rsp)
    29df: c5 fc 11 44 24 40            	vmovups	%ymm0, 0x40(%rsp)
    29e5: c5 fc 11 44 24 20            	vmovups	%ymm0, 0x20(%rsp)
    29eb: 85 db                        	testl	%ebx, %ebx
    29ed: 0f 8e 61 ff ff ff            	jle	0x2954 <qoi_decode+0x84>
    29f3: 89 ef                        	movl	%ebp, %edi
    29f5: 83 c7 f8                     	addl	$-0x8, %edi
    29f8: bd 0e 00 00 00               	movl	$0xe, %ebp
    29fd: 41 b0 ff                     	movb	$-0x1, %r8b
    2a00: 45 31 ff                     	xorl	%r15d, %r15d
    2a03: 31 f6                        	xorl	%esi, %esi
    2a05: 45 31 db                     	xorl	%r11d, %r11d
    2a08: 45 31 d2                     	xorl	%r10d, %r10d
    2a0b: 45 31 c9                     	xorl	%r9d, %r9d
    2a0e: 4c 89 64 24 10               	movq	%r12, 0x10(%rsp)
    2a13: 89 7c 24 1c                  	movl	%edi, 0x1c(%rsp)
    2a17: eb 0b                        	jmp	0x2a24 <qoi_decode+0x154>
    2a19: 44 01 f6                     	addl	%r14d, %esi
    2a1c: 39 de                        	cmpl	%ebx, %esi
    2a1e: 0f 8d 30 ff ff ff            	jge	0x2954 <qoi_decode+0x84>
    2a24: 45 85 ff                     	testl	%r15d, %r15d
    2a27: 7e 08                        	jle	0x2a31 <qoi_decode+0x161>
    2a29: 41 ff cf                     	decl	%r15d
    2a2c: e9 6f 01 00 00               	jmp	0x2ba0 <qoi_decode+0x2d0>
    2a31: 45 31 ff                     	xorl	%r15d, %r15d
    2a34: 39 fd                        	cmpl	%edi, %ebp
    2a36: 0f 8d 64 01 00 00            	jge	0x2ba0 <qoi_decode+0x2d0>
    2a3c: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a41: 4c 63 ed                     	movslq	%ebp, %r13
    2a44: 49 8d 55 01                  	leaq	0x1(%r13), %rdx
    2a48: 46 0f b6 3c 29               	movzbl	(%rcx,%r13), %r15d
    2a4d: 41 81 ff ff 00 00 00         	cmpl	$0xff, %r15d
    2a54: 74 24                        	je	0x2a7a <qoi_decode+0x1aa>
    2a56: 41 81 ff fe 00 00 00         	cmpl	$0xfe, %r15d
    2a5d: 75 49                        	jne	0x2aa8 <qoi_decode+0x1d8>
    2a5f: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a64: 83 c5 04                     	addl	$0x4, %ebp
    2a67: 44 0f b6 0c 11               	movzbl	(%rcx,%rdx), %r9d
    2a6c: 46 0f b6 54 29 02            	movzbl	0x2(%rcx,%r13), %r10d
    2a72: 46 0f b6 5c 29 03            	movzbl	0x3(%rcx,%r13), %r11d
    2a78: eb 1f                        	jmp	0x2a99 <qoi_decode+0x1c9>
    2a7a: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a7f: 83 c5 05                     	addl	$0x5, %ebp
    2a82: 44 0f b6 0c 11               	movzbl	(%rcx,%rdx), %r9d
    2a87: 46 0f b6 54 29 02            	movzbl	0x2(%rcx,%r13), %r10d
    2a8d: 46 0f b6 5c 29 03            	movzbl	0x3(%rcx,%r13), %r11d
    2a93: 46 0f b6 44 29 04            	movzbl	0x4(%rcx,%r13), %r8d
    2a99: 89 e9                        	movl	%ebp, %ecx
    2a9b: 45 31 ff                     	xorl	%r15d, %r15d
    2a9e: 48 89 4c 24 08               	movq	%rcx, 0x8(%rsp)
    2aa3: e9 a5 00 00 00               	jmp	0x2b4d <qoi_decode+0x27d>
    2aa8: 45 89 fd                     	movl	%r15d, %r13d
    2aab: 41 c1 ed 06                  	shrl	$0x6, %r13d
    2aaf: 48 8d 0d 3a df ff ff         	leaq	-0x20c6(%rip), %rcx     # 0x9f0 <memset+0x9f0>
    2ab6: 4e 63 2c a9                  	movslq	(%rcx,%r13,4), %r13
    2aba: 49 01 cd                     	addq	%rcx, %r13
    2abd: 41 ff e5                     	jmpq	*%r13
    2ac0: 46 0f b6 4c bc 20            	movzbl	0x20(%rsp,%r15,4), %r9d
    2ac6: 46 0f b6 54 bc 21            	movzbl	0x21(%rsp,%r15,4), %r10d
    2acc: 46 0f b6 5c bc 22            	movzbl	0x22(%rsp,%r15,4), %r11d
    2ad2: 46 0f b6 44 bc 23            	movzbl	0x23(%rsp,%r15,4), %r8d
    2ad8: 45 31 ff                     	xorl	%r15d, %r15d
    2adb: eb 6b                        	jmp	0x2b48 <qoi_decode+0x278>
    2add: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2ae2: 41 83 e7 3f                  	andl	$0x3f, %r15d
    2ae6: 83 c5 02                     	addl	$0x2, %ebp
    2ae9: 45 00 fa                     	addb	%r15b, %r10b
    2aec: 41 80 c2 e0                  	addb	$-0x20, %r10b
    2af0: 44 0f b6 24 11               	movzbl	(%rcx,%rdx), %r12d
    2af5: 45 89 e5                     	movl	%r12d, %r13d
    2af8: 41 c1 ed 04                  	shrl	$0x4, %r13d
    2afc: 41 83 e4 0f                  	andl	$0xf, %r12d
    2b00: 47 8d 6c 3d d8               	leal	-0x28(%r13,%r15), %r13d
    2b05: 47 8d 7c 3c d8               	leal	-0x28(%r12,%r15), %r15d
    2b0a: 45 00 e9                     	addb	%r13b, %r9b
    2b0d: 45 00 fb                     	addb	%r15b, %r11b
    2b10: eb 87                        	jmp	0x2a99 <qoi_decode+0x1c9>
    2b12: 41 83 e7 3f                  	andl	$0x3f, %r15d
    2b16: eb 30                        	jmp	0x2b48 <qoi_decode+0x278>
    2b18: 44 89 fd                     	movl	%r15d, %ebp
    2b1b: 44 89 f9                     	movl	%r15d, %ecx
    2b1e: 41 80 e7 03                  	andb	$0x3, %r15b
    2b22: 40 c0 ed 04                  	shrb	$0x4, %bpl
    2b26: c0 e9 02                     	shrb	$0x2, %cl
    2b29: 45 00 fb                     	addb	%r15b, %r11b
    2b2c: 45 31 ff                     	xorl	%r15d, %r15d
    2b2f: 40 80 e5 03                  	andb	$0x3, %bpl
    2b33: 80 e1 03                     	andb	$0x3, %cl
    2b36: 41 80 c3 fe                  	addb	$-0x2, %r11b
    2b3a: 41 00 e9                     	addb	%bpl, %r9b
    2b3d: 41 00 ca                     	addb	%cl, %r10b
    2b40: 41 80 c1 fe                  	addb	$-0x2, %r9b
    2b44: 41 80 c2 fe                  	addb	$-0x2, %r10b
    2b48: 48 89 54 24 08               	movq	%rdx, 0x8(%rsp)
    2b4d: 45 0f b6 e9                  	movzbl	%r9b, %r13d
    2b51: 41 0f b6 d2                  	movzbl	%r10b, %edx
    2b55: 41 0f b6 f8                  	movzbl	%r8b, %edi
    2b59: 45 89 c4                     	movl	%r8d, %r12d
    2b5c: 43 8d 6c 6d 00               	leal	(%r13,%r13,2), %ebp
    2b61: 8d 0c 92                     	leal	(%rdx,%rdx,4), %ecx
    2b64: 44 8d 04 bf                  	leal	(%rdi,%rdi,4), %r8d
    2b68: 01 e9                        	addl	%ebp, %ecx
    2b6a: 41 0f b6 eb                  	movzbl	%r11b, %ebp
    2b6e: 46 8d 04 47                  	leal	(%rdi,%r8,2), %r8d
    2b72: 8d 0c e9                     	leal	(%rcx,%rbp,8), %ecx
    2b75: 29 e9                        	subl	%ebp, %ecx
    2b77: 41 01 c8                     	addl	%ecx, %r8d
    2b7a: 48 8b 4c 24 08               	movq	0x8(%rsp), %rcx
    2b7f: 41 83 e0 3f                  	andl	$0x3f, %r8d
    2b83: 46 88 6c 84 20               	movb	%r13b, 0x20(%rsp,%r8,4)
    2b88: 42 88 54 84 21               	movb	%dl, 0x21(%rsp,%r8,4)
    2b8d: 42 88 6c 84 22               	movb	%bpl, 0x22(%rsp,%r8,4)
    2b92: 42 88 7c 84 23               	movb	%dil, 0x23(%rsp,%r8,4)
    2b97: 8b 7c 24 1c                  	movl	0x1c(%rsp), %edi
    2b9b: 45 89 e0                     	movl	%r12d, %r8d
    2b9e: 89 cd                        	movl	%ecx, %ebp
    2ba0: 8d 4e 02                     	leal	0x2(%rsi), %ecx
    2ba3: 48 63 d6                     	movslq	%esi, %rdx
    2ba6: 48 63 c9                     	movslq	%ecx, %rcx
    2ba9: 44 88 0c 10                  	movb	%r9b, (%rax,%rdx)
    2bad: 44 88 54 10 01               	movb	%r10b, 0x1(%rax,%rdx)
    2bb2: 44 88 1c 08                  	movb	%r11b, (%rax,%rcx)
    2bb6: 41 83 fe 04                  	cmpl	$0x4, %r14d
    2bba: 0f 85 59 fe ff ff            	jne	0x2a19 <qoi_decode+0x149>
    2bc0: 8d 4e 03                     	leal	0x3(%rsi), %ecx
    2bc3: 48 63 c9                     	movslq	%ecx, %rcx
    2bc6: 44 88 04 08                  	movb	%r8b, (%rax,%rcx)
    2bca: e9 4a fe ff ff               	jmp	0x2a19 <qoi_decode+0x149>
    2bcf: cc                           	int3

0000000000002bd0 <sha256_transform>:
    2bd0: 55                           	pushq	%rbp
    2bd1: 41 57                        	pushq	%r15
    2bd3: 41 56                        	pushq	%r14
    2bd5: 41 55                        	pushq	%r13
    2bd7: 41 54                        	pushq	%r12
    2bd9: 53                           	pushq	%rbx
    2bda: 48 81 ec 98 00 00 00         	subq	$0x98, %rsp
    2be1: 8b 06                        	movl	(%rsi), %eax
    2be3: 49 89 fc                     	movq	%rdi, %r12
    2be6: 0f 38 f1 44 24 90            	movbel	%eax, -0x70(%rsp)
    2bec: 8b 46 04                     	movl	0x4(%rsi), %eax
    2bef: 0f 38 f1 44 24 94            	movbel	%eax, -0x6c(%rsp)
    2bf5: 8b 46 08                     	movl	0x8(%rsi), %eax
    2bf8: 0f 38 f1 44 24 98            	movbel	%eax, -0x68(%rsp)
    2bfe: 8b 46 0c                     	movl	0xc(%rsi), %eax
    2c01: 0f 38 f1 44 24 9c            	movbel	%eax, -0x64(%rsp)
    2c07: 8b 46 10                     	movl	0x10(%rsi), %eax
    2c0a: 0f 38 f1 44 24 a0            	movbel	%eax, -0x60(%rsp)
    2c10: 8b 46 14                     	movl	0x14(%rsi), %eax
    2c13: 0f 38 f1 44 24 a4            	movbel	%eax, -0x5c(%rsp)
    2c19: 8b 46 18                     	movl	0x18(%rsi), %eax
    2c1c: 0f 38 f1 44 24 a8            	movbel	%eax, -0x58(%rsp)
    2c22: 8b 46 1c                     	movl	0x1c(%rsi), %eax
    2c25: 0f 38 f1 44 24 ac            	movbel	%eax, -0x54(%rsp)
    2c2b: 8b 46 20                     	movl	0x20(%rsi), %eax
    2c2e: 0f 38 f1 44 24 b0            	movbel	%eax, -0x50(%rsp)
    2c34: 8b 46 24                     	movl	0x24(%rsi), %eax
    2c37: 0f 38 f1 44 24 b4            	movbel	%eax, -0x4c(%rsp)
    2c3d: 8b 46 28                     	movl	0x28(%rsi), %eax
    2c40: 0f 38 f1 44 24 b8            	movbel	%eax, -0x48(%rsp)
    2c46: 8b 46 2c                     	movl	0x2c(%rsi), %eax
    2c49: 0f 38 f1 44 24 bc            	movbel	%eax, -0x44(%rsp)
    2c4f: 8b 46 30                     	movl	0x30(%rsi), %eax
    2c52: 0f 38 f1 44 24 c0            	movbel	%eax, -0x40(%rsp)
    2c58: 8b 46 34                     	movl	0x34(%rsi), %eax
    2c5b: 0f 38 f1 44 24 c4            	movbel	%eax, -0x3c(%rsp)
    2c61: 8b 46 38                     	movl	0x38(%rsi), %eax
    2c64: 0f 38 f1 44 24 c8            	movbel	%eax, -0x38(%rsp)
    2c6a: 8b 46 3c                     	movl	0x3c(%rsi), %eax
    2c6d: 0f 38 f1 44 24 cc            	movbel	%eax, -0x34(%rsp)
    2c73: 31 c0                        	xorl	%eax, %eax
    2c75: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)
    2c80: 8b 4c 84 c8                  	movl	-0x38(%rsp,%rax,4), %ecx
    2c84: 8b 7c 84 94                  	movl	-0x6c(%rsp,%rax,4), %edi
    2c88: c4 e3 7b f0 d1 11            	rorxl	$0x11, %ecx, %edx
    2c8e: c4 e3 7b f0 f1 13            	rorxl	$0x13, %ecx, %esi
    2c94: c1 e9 0a                     	shrl	$0xa, %ecx
    2c97: c4 63 7b f0 c7 12            	rorxl	$0x12, %edi, %r8d
    2c9d: 31 d6                        	xorl	%edx, %esi
    2c9f: 8b 54 84 98                  	movl	-0x68(%rsp,%rax,4), %edx
    2ca3: 31 f1                        	xorl	%esi, %ecx
    2ca5: 03 4c 84 b4                  	addl	-0x4c(%rsp,%rax,4), %ecx
    2ca9: c4 e3 7b f0 f7 07            	rorxl	$0x7, %edi, %esi
    2caf: 41 31 f0                     	xorl	%esi, %r8d
    2cb2: 03 4c 84 90                  	addl	-0x70(%rsp,%rax,4), %ecx
    2cb6: c4 e3 7b f0 f2 07            	rorxl	$0x7, %edx, %esi
    2cbc: c4 63 7b f0 ca 12            	rorxl	$0x12, %edx, %r9d
    2cc2: 41 89 d2                     	movl	%edx, %r10d
    2cc5: 41 c1 ea 03                  	shrl	$0x3, %r10d
    2cc9: 41 31 f1                     	xorl	%esi, %r9d
    2ccc: 45 31 ca                     	xorl	%r9d, %r10d
    2ccf: 41 01 fa                     	addl	%edi, %r10d
    2cd2: c1 ef 03                     	shrl	$0x3, %edi
    2cd5: 44 31 c7                     	xorl	%r8d, %edi
    2cd8: 01 f9                        	addl	%edi, %ecx
    2cda: 89 4c 84 d0                  	movl	%ecx, -0x30(%rsp,%rax,4)
    2cde: 8b 7c 84 cc                  	movl	-0x34(%rsp,%rax,4), %edi
    2ce2: c4 63 7b f0 c7 11            	rorxl	$0x11, %edi, %r8d
    2ce8: c4 63 7b f0 cf 13            	rorxl	$0x13, %edi, %r9d
    2cee: c1 ef 0a                     	shrl	$0xa, %edi
    2cf1: 45 31 c1                     	xorl	%r8d, %r9d
    2cf4: c4 63 7b f0 c1 13            	rorxl	$0x13, %ecx, %r8d
    2cfa: 44 31 cf                     	xorl	%r9d, %edi
    2cfd: 03 7c 84 b8                  	addl	-0x48(%rsp,%rax,4), %edi
    2d01: 41 01 fa                     	addl	%edi, %r10d
    2d04: c4 e3 7b f0 f9 11            	rorxl	$0x11, %ecx, %edi
    2d0a: c1 e9 0a                     	shrl	$0xa, %ecx
    2d0d: 44 89 54 84 d4               	movl	%r10d, -0x2c(%rsp,%rax,4)
    2d12: 41 31 f8                     	xorl	%edi, %r8d
    2d15: 8b 7c 84 9c                  	movl	-0x64(%rsp,%rax,4), %edi
    2d19: 44 31 c1                     	xorl	%r8d, %ecx
    2d1c: 03 4c 84 bc                  	addl	-0x44(%rsp,%rax,4), %ecx
    2d20: c4 63 7b f0 c7 07            	rorxl	$0x7, %edi, %r8d
    2d26: c4 63 7b f0 cf 12            	rorxl	$0x12, %edi, %r9d
    2d2c: 45 31 c1                     	xorl	%r8d, %r9d
    2d2f: 41 89 f8                     	movl	%edi, %r8d
    2d32: 41 c1 e8 03                  	shrl	$0x3, %r8d
    2d36: 45 31 c8                     	xorl	%r9d, %r8d
    2d39: 41 01 d0                     	addl	%edx, %r8d
    2d3c: c4 c3 7b f0 d2 13            	rorxl	$0x13, %r10d, %edx
    2d42: 41 01 c8                     	addl	%ecx, %r8d
    2d45: c4 c3 7b f0 ca 11            	rorxl	$0x11, %r10d, %ecx
    2d4b: 41 c1 ea 0a                  	shrl	$0xa, %r10d
    2d4f: 44 89 44 84 d8               	movl	%r8d, -0x28(%rsp,%rax,4)
    2d54: 31 ca                        	xorl	%ecx, %edx
    2d56: 8b 4c 84 a0                  	movl	-0x60(%rsp,%rax,4), %ecx
    2d5a: 41 31 d2                     	xorl	%edx, %r10d
    2d5d: 44 03 54 84 c0               	addl	-0x40(%rsp,%rax,4), %r10d
    2d62: c4 e3 7b f0 d1 07            	rorxl	$0x7, %ecx, %edx
    2d68: c4 63 7b f0 c1 12            	rorxl	$0x12, %ecx, %r8d
    2d6e: c1 e9 03                     	shrl	$0x3, %ecx
    2d71: 41 31 d0                     	xorl	%edx, %r8d
    2d74: 44 31 c1                     	xorl	%r8d, %ecx
    2d77: 01 f9                        	addl	%edi, %ecx
    2d79: 44 01 d1                     	addl	%r10d, %ecx
    2d7c: 89 4c 84 dc                  	movl	%ecx, -0x24(%rsp,%rax,4)
    2d80: 48 83 c0 04                  	addq	$0x4, %rax
    2d84: 48 83 f8 30                  	cmpq	$0x30, %rax
    2d88: 0f 85 f2 fe ff ff            	jne	0x2c80 <sha256_transform+0xb0>
    2d8e: c4 c1 7a 6f 4c 24 50         	vmovdqu	0x50(%r12), %xmm1
    2d95: c4 c1 7a 6f 44 24 60         	vmovdqu	0x60(%r12), %xmm0
    2d9c: 41 8b 44 24 50               	movl	0x50(%r12), %eax
    2da1: 41 8b 4c 24 54               	movl	0x54(%r12), %ecx
    2da6: 45 8b 7c 24 58               	movl	0x58(%r12), %r15d
    2dab: 41 8b 5c 24 5c               	movl	0x5c(%r12), %ebx
    2db0: 45 8b 74 24 60               	movl	0x60(%r12), %r14d
    2db5: 45 8b 5c 24 64               	movl	0x64(%r12), %r11d
    2dba: 45 8b 54 24 68               	movl	0x68(%r12), %r10d
    2dbf: 41 8b 6c 24 6c               	movl	0x6c(%r12), %ebp
    2dc4: 48 8d 3d 35 dc ff ff         	leaq	-0x23cb(%rip), %rdi     # 0xa00 <k>
    2dcb: 31 d2                        	xorl	%edx, %edx
    2dcd: 4c 89 64 24 88               	movq	%r12, -0x78(%rsp)
    2dd2: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    	nopw	%cs:(%rax,%rax)
    2de0: 45 89 f0                     	movl	%r14d, %r8d
    2de3: 45 89 fe                     	movl	%r15d, %r14d
    2de6: c4 c3 7b f0 f0 06            	rorxl	$0x6, %r8d, %esi
    2dec: c4 43 7b f0 f8 0b            	rorxl	$0xb, %r8d, %r15d
    2df2: 45 89 d9                     	movl	%r11d, %r9d
    2df5: c4 42 38 f2 e2               	andnl	%r10d, %r8d, %r12d
    2dfa: 41 89 cd                     	movl	%ecx, %r13d
    2dfd: 45 31 f5                     	xorl	%r14d, %r13d
    2e00: 41 89 db                     	movl	%ebx, %r11d
    2e03: 89 cb                        	movl	%ecx, %ebx
    2e05: 44 21 f1                     	andl	%r14d, %ecx
    2e08: 41 31 f7                     	xorl	%esi, %r15d
    2e0b: c4 c3 7b f0 f0 19            	rorxl	$0x19, %r8d, %esi
    2e11: 41 21 c5                     	andl	%eax, %r13d
    2e14: 44 31 fe                     	xorl	%r15d, %esi
    2e17: 45 89 cf                     	movl	%r9d, %r15d
    2e1a: 45 21 c7                     	andl	%r8d, %r15d
    2e1d: 44 31 e9                     	xorl	%r13d, %ecx
    2e20: 45 09 fc                     	orl	%r15d, %r12d
    2e23: 41 89 c7                     	movl	%eax, %r15d
    2e26: 41 01 ec                     	addl	%ebp, %r12d
    2e29: c4 e3 7b f0 e8 0d            	rorxl	$0xd, %eax, %ebp
    2e2f: 41 01 f4                     	addl	%esi, %r12d
    2e32: 44 03 24 97                  	addl	(%rdi,%rdx,4), %r12d
    2e36: c4 e3 7b f0 f0 02            	rorxl	$0x2, %eax, %esi
    2e3c: 44 03 64 94 90               	addl	-0x70(%rsp,%rdx,4), %r12d
    2e41: 31 f5                        	xorl	%esi, %ebp
    2e43: c4 e3 7b f0 f0 16            	rorxl	$0x16, %eax, %esi
    2e49: 31 ee                        	xorl	%ebp, %esi
    2e4b: 01 f1                        	addl	%esi, %ecx
    2e4d: 45 01 e3                     	addl	%r12d, %r11d
    2e50: 44 01 e1                     	addl	%r12d, %ecx
    2e53: c4 c3 7b f0 f3 06            	rorxl	$0x6, %r11d, %esi
    2e59: c4 c3 7b f0 eb 0b            	rorxl	$0xb, %r11d, %ebp
    2e5f: c4 42 20 f2 e1               	andnl	%r9d, %r11d, %r12d
    2e64: 31 f5                        	xorl	%esi, %ebp
    2e66: c4 c3 7b f0 f3 19            	rorxl	$0x19, %r11d, %esi
    2e6c: 31 ee                        	xorl	%ebp, %esi
    2e6e: 44 89 c5                     	movl	%r8d, %ebp
    2e71: 44 21 dd                     	andl	%r11d, %ebp
    2e74: 41 09 ec                     	orl	%ebp, %r12d
    2e77: 44 89 cd                     	movl	%r9d, %ebp
    2e7a: 45 01 d4                     	addl	%r10d, %r12d
    2e7d: c4 63 7b f0 d1 0d            	rorxl	$0xd, %ecx, %r10d
    2e83: 41 01 f4                     	addl	%esi, %r12d
    2e86: 44 03 64 97 04               	addl	0x4(%rdi,%rdx,4), %r12d
    2e8b: c4 e3 7b f0 f1 02            	rorxl	$0x2, %ecx, %esi
    2e91: 44 03 64 94 94               	addl	-0x6c(%rsp,%rdx,4), %r12d
    2e96: 41 31 f2                     	xorl	%esi, %r10d
    2e99: c4 e3 7b f0 f1 16            	rorxl	$0x16, %ecx, %esi
    2e9f: 48 83 c2 02                  	addq	$0x2, %rdx
    2ea3: 44 31 d6                     	xorl	%r10d, %esi
    2ea6: 41 89 c2                     	movl	%eax, %r10d
    2ea9: 41 31 da                     	xorl	%ebx, %r10d
    2eac: 21 d8                        	andl	%ebx, %eax
    2eae: 41 21 ca                     	andl	%ecx, %r10d
    2eb1: 44 31 d0                     	xorl	%r10d, %eax
    2eb4: 45 89 c2                     	movl	%r8d, %r10d
    2eb7: 01 f0                        	addl	%esi, %eax
    2eb9: 45 01 e6                     	addl	%r12d, %r14d
    2ebc: 44 01 e0                     	addl	%r12d, %eax
    2ebf: 48 83 fa 40                  	cmpq	$0x40, %rdx
    2ec3: 0f 85 17 ff ff ff            	jne	0x2de0 <sha256_transform+0x210>
    2ec9: c5 f9 6e d0                  	vmovd	%eax, %xmm2
    2ecd: c4 e3 69 22 d1 01            	vpinsrd	$0x1, %ecx, %xmm2, %xmm2
    2ed3: 48 8b 4c 24 88               	movq	-0x78(%rsp), %rcx
    2ed8: c4 c3 69 22 d7 02            	vpinsrd	$0x2, %r15d, %xmm2, %xmm2
    2ede: c4 e3 69 22 d3 03            	vpinsrd	$0x3, %ebx, %xmm2, %xmm2
    2ee4: c5 e9 fe c9                  	vpaddd	%xmm1, %xmm2, %xmm1
    2ee8: c5 fa 7f 49 50               	vmovdqu	%xmm1, 0x50(%rcx)
    2eed: c4 c1 79 6e ce               	vmovd	%r14d, %xmm1
    2ef2: c4 c3 71 22 cb 01            	vpinsrd	$0x1, %r11d, %xmm1, %xmm1
    2ef8: c4 c3 71 22 c8 02            	vpinsrd	$0x2, %r8d, %xmm1, %xmm1
    2efe: c4 c3 71 22 c9 03            	vpinsrd	$0x3, %r9d, %xmm1, %xmm1
    2f04: c5 f1 fe c0                  	vpaddd	%xmm0, %xmm1, %xmm0
    2f08: c5 fa 7f 41 60               	vmovdqu	%xmm0, 0x60(%rcx)
    2f0d: 48 81 c4 98 00 00 00         	addq	$0x98, %rsp
    2f14: 5b                           	popq	%rbx
    2f15: 41 5c                        	popq	%r12
    2f17: 41 5d                        	popq	%r13
    2f19: 41 5e                        	popq	%r14
    2f1b: 41 5f                        	popq	%r15
    2f1d: 5d                           	popq	%rbp
    2f1e: c3                           	retq
    2f1f: cc                           	int3

0000000000002f20 <sha256_init>:
    2f20: c5 fc 28 05 78 da ff ff      	vmovaps	-0x2588(%rip), %ymm0    # 0x9a0 <memset+0x9a0>
    2f28: c7 47 40 00 00 00 00         	movl	$0x0, 0x40(%rdi)
    2f2f: 48 c7 47 48 00 00 00 00      	movq	$0x0, 0x48(%rdi)
    2f37: c5 fc 11 47 50               	vmovups	%ymm0, 0x50(%rdi)
    2f3c: c5 f8 77                     	vzeroupper
    2f3f: c3                           	retq

0000000000002f40 <sha256_update>:
    2f40: 48 85 d2                     	testq	%rdx, %rdx
    2f43: 74 77                        	je	0x2fbc <sha256_update+0x7c>
    2f45: 55                           	pushq	%rbp
    2f46: 41 57                        	pushq	%r15
    2f48: 41 56                        	pushq	%r14
    2f4a: 53                           	pushq	%rbx
    2f4b: 50                           	pushq	%rax
    2f4c: 8b 47 40                     	movl	0x40(%rdi), %eax
    2f4f: bd 01 00 00 00               	movl	$0x1, %ebp
    2f54: 48 89 d3                     	movq	%rdx, %rbx
    2f57: 49 89 f6                     	movq	%rsi, %r14
    2f5a: 49 89 ff                     	movq	%rdi, %r15
    2f5d: 31 c9                        	xorl	%ecx, %ecx
    2f5f: eb 18                        	jmp	0x2f79 <sha256_update+0x39>
    2f61: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	nopw	%cs:(%rax,%rax)
    2f70: 89 e9                        	movl	%ebp, %ecx
    2f72: ff c5                        	incl	%ebp
    2f74: 48 39 cb                     	cmpq	%rcx, %rbx
    2f77: 76 39                        	jbe	0x2fb2 <sha256_update+0x72>
    2f79: 41 0f b6 0c 0e               	movzbl	(%r14,%rcx), %ecx
    2f7e: 89 c0                        	movl	%eax, %eax
    2f80: 41 88 0c 07                  	movb	%cl, (%r15,%rax)
    2f84: 41 8b 47 40                  	movl	0x40(%r15), %eax
    2f88: ff c0                        	incl	%eax
    2f8a: 41 89 47 40                  	movl	%eax, 0x40(%r15)
    2f8e: 83 f8 40                     	cmpl	$0x40, %eax
    2f91: 75 dd                        	jne	0x2f70 <sha256_update+0x30>
    2f93: 4c 89 ff                     	movq	%r15, %rdi
    2f96: 4c 89 fe                     	movq	%r15, %rsi
    2f99: e8 32 fc ff ff               	callq	0x2bd0 <sha256_transform>
    2f9e: 49 81 47 48 00 02 00 00      	addq	$0x200, 0x48(%r15)      # imm = 0x200
    2fa6: 31 c0                        	xorl	%eax, %eax
    2fa8: 41 c7 47 40 00 00 00 00      	movl	$0x0, 0x40(%r15)
    2fb0: eb be                        	jmp	0x2f70 <sha256_update+0x30>
    2fb2: 48 83 c4 08                  	addq	$0x8, %rsp
    2fb6: 5b                           	popq	%rbx
    2fb7: 41 5e                        	popq	%r14
    2fb9: 41 5f                        	popq	%r15
    2fbb: 5d                           	popq	%rbp
    2fbc: c3                           	retq
    2fbd: cc                           	int3
    2fbe: cc                           	int3
    2fbf: cc                           	int3

0000000000002fc0 <sha256_final>:
    2fc0: 55                           	pushq	%rbp
    2fc1: 53                           	pushq	%rbx
    2fc2: 50                           	pushq	%rax
    2fc3: 8b 47 40                     	movl	0x40(%rdi), %eax
    2fc6: 48 89 f3                     	movq	%rsi, %rbx
    2fc9: 48 89 fd                     	movq	%rdi, %rbp
    2fcc: c6 04 07 80                  	movb	$-0x80, (%rdi,%rax)
    2fd0: 48 83 f8 37                  	cmpq	$0x37, %rax
    2fd4: 77 1e                        	ja	0x2ff4 <sha256_final+0x34>
    2fd6: 83 f8 37                     	cmpl	$0x37, %eax
    2fd9: 74 50                        	je	0x302b <sha256_final+0x6b>
    2fdb: 48 8d 7c 05 00               	leaq	(%rbp,%rax), %rdi
    2fe0: ba 37 00 00 00               	movl	$0x37, %edx
    2fe5: 31 f6                        	xorl	%esi, %esi
    2fe7: 48 ff c7                     	incq	%rdi
    2fea: 48 29 c2                     	subq	%rax, %rdx
    2fed: e8 ce 01 00 00               	callq	0x31c0 <memset@plt>
    2ff2: eb 37                        	jmp	0x302b <sha256_final+0x6b>
    2ff4: 8d 48 01                     	leal	0x1(%rax), %ecx
    2ff7: 83 f9 3f                     	cmpl	$0x3f, %ecx
    2ffa: 77 16                        	ja	0x3012 <sha256_final+0x52>
    2ffc: ba 3e 00 00 00               	movl	$0x3e, %edx
    3001: 89 cf                        	movl	%ecx, %edi
    3003: 48 01 ef                     	addq	%rbp, %rdi
    3006: 31 f6                        	xorl	%esi, %esi
    3008: 29 c2                        	subl	%eax, %edx
    300a: 48 ff c2                     	incq	%rdx
    300d: e8 ae 01 00 00               	callq	0x31c0 <memset@plt>
    3012: 48 89 ef                     	movq	%rbp, %rdi
    3015: 48 89 ee                     	movq	%rbp, %rsi
    3018: e8 b3 fb ff ff               	callq	0x2bd0 <sha256_transform>
    301d: c5 f8 57 c0                  	vxorps	%xmm0, %xmm0, %xmm0
    3021: c5 fc 11 45 18               	vmovups	%ymm0, 0x18(%rbp)
    3026: c5 fc 11 45 00               	vmovups	%ymm0, (%rbp)
    302b: 8b 45 40                     	movl	0x40(%rbp), %eax
    302e: 48 89 ef                     	movq	%rbp, %rdi
    3031: 48 89 ee                     	movq	%rbp, %rsi
    3034: c1 e0 03                     	shll	$0x3, %eax
    3037: 48 03 45 48                  	addq	0x48(%rbp), %rax
    303b: 89 c1                        	movl	%eax, %ecx
    303d: c1 e9 10                     	shrl	$0x10, %ecx
    3040: 48 89 45 48                  	movq	%rax, 0x48(%rbp)
    3044: 88 45 3f                     	movb	%al, 0x3f(%rbp)
    3047: 88 65 3e                     	movb	%ah, 0x3e(%rbp)
    304a: 88 4d 3d                     	movb	%cl, 0x3d(%rbp)
    304d: 89 c1                        	movl	%eax, %ecx
    304f: c1 e9 18                     	shrl	$0x18, %ecx
    3052: 88 4d 3c                     	movb	%cl, 0x3c(%rbp)
    3055: 48 89 c1                     	movq	%rax, %rcx
    3058: 48 c1 e9 20                  	shrq	$0x20, %rcx
    305c: 88 4d 3b                     	movb	%cl, 0x3b(%rbp)
    305f: 48 89 c1                     	movq	%rax, %rcx
    3062: 48 c1 e9 28                  	shrq	$0x28, %rcx
    3066: 88 4d 3a                     	movb	%cl, 0x3a(%rbp)
    3069: 48 89 c1                     	movq	%rax, %rcx
    306c: 48 c1 e9 30                  	shrq	$0x30, %rcx
    3070: 48 c1 e8 38                  	shrq	$0x38, %rax
    3074: 88 4d 39                     	movb	%cl, 0x39(%rbp)
    3077: 88 45 38                     	movb	%al, 0x38(%rbp)
    307a: c5 f8 77                     	vzeroupper
    307d: e8 4e fb ff ff               	callq	0x2bd0 <sha256_transform>
    3082: 0f b6 45 53                  	movzbl	0x53(%rbp), %eax
    3086: 88 03                        	movb	%al, (%rbx)
    3088: 0f b6 45 57                  	movzbl	0x57(%rbp), %eax
    308c: 88 43 04                     	movb	%al, 0x4(%rbx)
    308f: 0f b6 45 5b                  	movzbl	0x5b(%rbp), %eax
    3093: 88 43 08                     	movb	%al, 0x8(%rbx)
    3096: 0f b6 45 5f                  	movzbl	0x5f(%rbp), %eax
    309a: 88 43 0c                     	movb	%al, 0xc(%rbx)
    309d: 0f b6 45 63                  	movzbl	0x63(%rbp), %eax
    30a1: 88 43 10                     	movb	%al, 0x10(%rbx)
    30a4: 0f b6 45 67                  	movzbl	0x67(%rbp), %eax
    30a8: 88 43 14                     	movb	%al, 0x14(%rbx)
    30ab: 0f b6 45 6b                  	movzbl	0x6b(%rbp), %eax
    30af: 88 43 18                     	movb	%al, 0x18(%rbx)
    30b2: 0f b6 45 6f                  	movzbl	0x6f(%rbp), %eax
    30b6: 88 43 1c                     	movb	%al, 0x1c(%rbx)
    30b9: 0f b6 45 52                  	movzbl	0x52(%rbp), %eax
    30bd: 88 43 01                     	movb	%al, 0x1(%rbx)
    30c0: 0f b6 45 56                  	movzbl	0x56(%rbp), %eax
    30c4: 88 43 05                     	movb	%al, 0x5(%rbx)
    30c7: 0f b6 45 5a                  	movzbl	0x5a(%rbp), %eax
    30cb: 88 43 09                     	movb	%al, 0x9(%rbx)
    30ce: 0f b6 45 5e                  	movzbl	0x5e(%rbp), %eax
    30d2: 88 43 0d                     	movb	%al, 0xd(%rbx)
    30d5: 0f b6 45 62                  	movzbl	0x62(%rbp), %eax
    30d9: 88 43 11                     	movb	%al, 0x11(%rbx)
    30dc: 0f b6 45 66                  	movzbl	0x66(%rbp), %eax
    30e0: 88 43 15                     	movb	%al, 0x15(%rbx)
    30e3: 0f b6 45 6a                  	movzbl	0x6a(%rbp), %eax
    30e7: 88 43 19                     	movb	%al, 0x19(%rbx)
    30ea: 0f b6 45 6e                  	movzbl	0x6e(%rbp), %eax
    30ee: 88 43 1d                     	movb	%al, 0x1d(%rbx)
    30f1: 0f b6 45 51                  	movzbl	0x51(%rbp), %eax
    30f5: 88 43 02                     	movb	%al, 0x2(%rbx)
    30f8: 0f b6 45 55                  	movzbl	0x55(%rbp), %eax
    30fc: 88 43 06                     	movb	%al, 0x6(%rbx)
    30ff: 0f b6 45 59                  	movzbl	0x59(%rbp), %eax
    3103: 88 43 0a                     	movb	%al, 0xa(%rbx)
    3106: 0f b6 45 5d                  	movzbl	0x5d(%rbp), %eax
    310a: 88 43 0e                     	movb	%al, 0xe(%rbx)
    310d: 0f b6 45 61                  	movzbl	0x61(%rbp), %eax
    3111: 88 43 12                     	movb	%al, 0x12(%rbx)
    3114: 0f b6 45 65                  	movzbl	0x65(%rbp), %eax
    3118: 88 43 16                     	movb	%al, 0x16(%rbx)
    311b: 0f b6 45 69                  	movzbl	0x69(%rbp), %eax
    311f: 88 43 1a                     	movb	%al, 0x1a(%rbx)
    3122: 0f b6 45 6d                  	movzbl	0x6d(%rbp), %eax
    3126: 88 43 1e                     	movb	%al, 0x1e(%rbx)
    3129: 0f b6 45 50                  	movzbl	0x50(%rbp), %eax
    312d: 88 43 03                     	movb	%al, 0x3(%rbx)
    3130: 0f b6 45 54                  	movzbl	0x54(%rbp), %eax
    3134: 88 43 07                     	movb	%al, 0x7(%rbx)
    3137: 0f b6 45 58                  	movzbl	0x58(%rbp), %eax
    313b: 88 43 0b                     	movb	%al, 0xb(%rbx)
    313e: 0f b6 45 5c                  	movzbl	0x5c(%rbp), %eax
    3142: 88 43 0f                     	movb	%al, 0xf(%rbx)
    3145: 0f b6 45 60                  	movzbl	0x60(%rbp), %eax
    3149: 88 43 13                     	movb	%al, 0x13(%rbx)
    314c: 0f b6 45 64                  	movzbl	0x64(%rbp), %eax
    3150: 88 43 17                     	movb	%al, 0x17(%rbx)
    3153: 0f b6 45 68                  	movzbl	0x68(%rbp), %eax
    3157: 88 43 1b                     	movb	%al, 0x1b(%rbx)
    315a: 0f b6 45 6c                  	movzbl	0x6c(%rbp), %eax
    315e: 88 43 1f                     	movb	%al, 0x1f(%rbx)
    3161: 48 83 c4 08                  	addq	$0x8, %rsp
    3165: 5b                           	popq	%rbx
    3166: 5d                           	popq	%rbp
    3167: c3                           	retq

Disassembly of section .init:

0000000000003168 <_init>:
    3168: f3 0f 1e fa                  	endbr64
    316c: 48 83 ec 08                  	subq	$0x8, %rsp
    3170: 48 8b 05 f9 11 00 00         	movq	0x11f9(%rip), %rax      # 0x4370 <memset+0x4370>
    3177: 48 85 c0                     	testq	%rax, %rax
    317a: 74 02                        	je	0x317e <_init+0x16>
    317c: ff d0                        	callq	*%rax
    317e: 48 83 c4 08                  	addq	$0x8, %rsp
    3182: c3                           	retq

Disassembly of section .fini:

0000000000003184 <_fini>:
    3184: f3 0f 1e fa                  	endbr64
    3188: 48 83 ec 08                  	subq	$0x8, %rsp
    318c: 48 83 c4 08                  	addq	$0x8, %rsp
    3190: c3                           	retq

Disassembly of section .plt:

00000000000031a0 <.plt>:
    31a0: ff 35 fa 21 00 00            	pushq	0x21fa(%rip)            # 0x53a0 <_GLOBAL_OFFSET_TABLE_+0x8>
    31a6: ff 25 fc 21 00 00            	jmpq	*0x21fc(%rip)           # 0x53a8 <_GLOBAL_OFFSET_TABLE_+0x10>
    31ac: 0f 1f 40 00                  	nopl	(%rax)

00000000000031b0 <malloc@plt>:
    31b0: ff 25 fa 21 00 00            	jmpq	*0x21fa(%rip)           # 0x53b0 <_GLOBAL_OFFSET_TABLE_+0x18>
    31b6: 68 00 00 00 00               	pushq	$0x0
    31bb: e9 e0 ff ff ff               	jmp	0x31a0 <.plt>

00000000000031c0 <memset@plt>:
    31c0: ff 25 f2 21 00 00            	jmpq	*0x21f2(%rip)           # 0x53b8 <_GLOBAL_OFFSET_TABLE_+0x20>
    31c6: 68 01 00 00 00               	pushq	$0x1
    31cb: e9 d0 ff ff ff               	jmp	0x31a0 <.plt>
