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

Disassembly of section .text:

0000000000001d90 <deregister_tm_clones>:
    1d90: 48 8d 3d 81 36 00 00         	leaq	0x3681(%rip), %rdi      # 0x5418 <_GLOBAL_OFFSET_TABLE_>
    1d97: 48 8d 05 7a 36 00 00         	leaq	0x367a(%rip), %rax      # 0x5418 <_GLOBAL_OFFSET_TABLE_>
    1d9e: 48 39 f8                     	cmpq	%rdi, %rax
    1da1: 74 15                        	je	0x1db8 <deregister_tm_clones+0x28>
    1da3: 48 8b 05 4e 26 00 00         	movq	0x264e(%rip), %rax      # 0x43f8 <memset+0x43f8>
    1daa: 48 85 c0                     	testq	%rax, %rax
    1dad: 74 09                        	je	0x1db8 <deregister_tm_clones+0x28>
    1daf: ff e0                        	jmpq	*%rax
    1db1: 0f 1f 80 00 00 00 00         	nopl	(%rax)
    1db8: c3                           	retq
    1db9: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001dc0 <register_tm_clones>:
    1dc0: 48 8d 3d 51 36 00 00         	leaq	0x3651(%rip), %rdi      # 0x5418 <_GLOBAL_OFFSET_TABLE_>
    1dc7: 48 8d 35 4a 36 00 00         	leaq	0x364a(%rip), %rsi      # 0x5418 <_GLOBAL_OFFSET_TABLE_>
    1dce: 48 29 fe                     	subq	%rdi, %rsi
    1dd1: 48 89 f0                     	movq	%rsi, %rax
    1dd4: 48 c1 ee 3f                  	shrq	$0x3f, %rsi
    1dd8: 48 c1 f8 03                  	sarq	$0x3, %rax
    1ddc: 48 01 c6                     	addq	%rax, %rsi
    1ddf: 48 d1 fe                     	sarq	%rsi
    1de2: 74 14                        	je	0x1df8 <register_tm_clones+0x38>
    1de4: 48 8b 05 15 26 00 00         	movq	0x2615(%rip), %rax      # 0x4400 <memset+0x4400>
    1deb: 48 85 c0                     	testq	%rax, %rax
    1dee: 74 08                        	je	0x1df8 <register_tm_clones+0x38>
    1df0: ff e0                        	jmpq	*%rax
    1df2: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    1df8: c3                           	retq
    1df9: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001e00 <__do_global_dtors_aux>:
    1e00: f3 0f 1e fa                  	endbr64
    1e04: 80 3d 35 36 00 00 00         	cmpb	$0x0, 0x3635(%rip)      # 0x5440 <completed.0>
    1e0b: 75 33                        	jne	0x1e40 <__do_global_dtors_aux+0x40>
    1e0d: 55                           	pushq	%rbp
    1e0e: 48 83 3d f2 25 00 00 00      	cmpq	$0x0, 0x25f2(%rip)      # 0x4408 <memset+0x4408>
    1e16: 48 89 e5                     	movq	%rsp, %rbp
    1e19: 74 0d                        	je	0x1e28 <__do_global_dtors_aux+0x28>
    1e1b: 48 8b 3d ee 35 00 00         	movq	0x35ee(%rip), %rdi      # 0x5410 <__dso_handle>
    1e22: ff 15 e0 25 00 00            	callq	*0x25e0(%rip)           # 0x4408 <memset+0x4408>
    1e28: e8 63 ff ff ff               	callq	0x1d90 <deregister_tm_clones>
    1e2d: c6 05 0c 36 00 00 01         	movb	$0x1, 0x360c(%rip)      # 0x5440 <completed.0>
    1e34: 5d                           	popq	%rbp
    1e35: c3                           	retq
    1e36: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    1e40: c3                           	retq
    1e41: 0f 1f 40 00                  	nopl	(%rax)
    1e45: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)

0000000000001e50 <frame_dummy>:
    1e50: f3 0f 1e fa                  	endbr64
    1e54: e9 67 ff ff ff               	jmp	0x1dc0 <register_tm_clones>
    1e59: cc                           	int3
    1e5a: cc                           	int3
    1e5b: cc                           	int3
    1e5c: cc                           	int3
    1e5d: cc                           	int3
    1e5e: cc                           	int3
    1e5f: cc                           	int3

0000000000001e60 <jsmn_parse>:
    1e60: 55                           	pushq	%rbp
    1e61: 41 57                        	pushq	%r15
    1e63: 41 56                        	pushq	%r14
    1e65: 41 55                        	pushq	%r13
    1e67: 41 54                        	pushq	%r12
    1e69: 53                           	pushq	%rbx
    1e6a: 44 8b 37                     	movl	(%rdi), %r14d
    1e6d: 44 8b 4f 04                  	movl	0x4(%rdi), %r9d
    1e71: 4c 39 f2                     	cmpq	%r14, %rdx
    1e74: 0f 86 38 05 00 00            	jbe	0x23b2 <jsmn_parse+0x552>
    1e7a: b8 04 00 00 00               	movl	$0x4, %eax
    1e7f: 41 ba 08 00 00 00            	movl	$0x8, %r10d
    1e85: 4c 8d 1d b4 e7 ff ff         	leaq	-0x184c(%rip), %r11     # 0x640 <memset+0x640>
    1e8c: 48 8d 1d a5 e9 ff ff         	leaq	-0x165b(%rip), %rbx     # 0x838 <memset+0x838>
    1e93: 49 bf 00 26 00 00 01 10 00 00	movabsq	$0x100100002600, %r15   # imm = 0x100100002600
    1e9d: 45 89 f4                     	movl	%r14d, %r12d
    1ea0: c5 f9 6e c0                  	vmovd	%eax, %xmm0
    1ea4: c4 c1 79 6e ca               	vmovd	%r10d, %xmm1
    1ea9: eb 2a                        	jmp	0x1ed5 <jsmn_parse+0x75>
    1eab: 41 ff cd                     	decl	%r13d
    1eae: 41 ff c1                     	incl	%r9d
    1eb1: 44 89 2f                     	movl	%r13d, (%rdi)
    1eb4: 66 66 66 2e 0f 1f 84 00 00 00 00 00  	nopw	%cs:(%rax,%rax)
    1ec0: 44 8b 37                     	movl	(%rdi), %r14d
    1ec3: 41 ff c6                     	incl	%r14d
    1ec6: 44 89 37                     	movl	%r14d, (%rdi)
    1ec9: 45 89 f4                     	movl	%r14d, %r12d
    1ecc: 4c 39 f2                     	cmpq	%r14, %rdx
    1ecf: 0f 86 dd 04 00 00            	jbe	0x23b2 <jsmn_parse+0x552>
    1ed5: 46 0f b6 2c 36               	movzbl	(%rsi,%r14), %r13d
    1eda: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    1edf: 49 83 fd 7d                  	cmpq	$0x7d, %r13
    1ee3: 0f 87 1d 05 00 00            	ja	0x2406 <jsmn_parse+0x5a6>
    1ee9: 4f 63 14 ab                  	movslq	(%r11,%r13,4), %r10
    1eed: 4d 01 da                     	addq	%r11, %r10
    1ef0: 41 ff e2                     	jmpq	*%r10
    1ef3: 48 85 c9                     	testq	%rcx, %rcx
    1ef6: 74 38                        	je	0x1f30 <jsmn_parse+0xd0>
    1ef8: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1efc: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1f00: 74 2e                        	je	0x1f30 <jsmn_parse+0xd0>
    1f02: 49 c1 e2 04                  	shlq	$0x4, %r10
    1f06: 42 8b 2c 11                  	movl	(%rcx,%r10), %ebp
    1f0a: 83 fd 04                     	cmpl	$0x4, %ebp
    1f0d: 74 0a                        	je	0x1f19 <jsmn_parse+0xb9>
    1f0f: 83 fd 01                     	cmpl	$0x1, %ebp
    1f12: 75 1c                        	jne	0x1f30 <jsmn_parse+0xd0>
    1f14: e9 ed 04 00 00               	jmp	0x2406 <jsmn_parse+0x5a6>
    1f19: 49 01 ca                     	addq	%rcx, %r10
    1f1c: 41 83 7a 0c 00               	cmpl	$0x0, 0xc(%r10)
    1f21: 0f 85 df 04 00 00            	jne	0x2406 <jsmn_parse+0x5a6>
    1f27: 66 0f 1f 84 00 00 00 00 00   	nopw	(%rax,%rax)
    1f30: 45 89 e5                     	movl	%r12d, %r13d
    1f33: 46 0f b6 14 36               	movzbl	(%rsi,%r14), %r10d
    1f38: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    1f3d: 49 83 fa 2c                  	cmpq	$0x2c, %r10
    1f41: 77 0f                        	ja	0x1f52 <jsmn_parse+0xf2>
    1f43: 4d 0f a3 d7                  	btq	%r10, %r15
    1f47: 72 37                        	jb	0x1f80 <jsmn_parse+0x120>
    1f49: 4d 85 d2                     	testq	%r10, %r10
    1f4c: 0f 84 b1 04 00 00            	je	0x2403 <jsmn_parse+0x5a3>
    1f52: 41 83 fa 5d                  	cmpl	$0x5d, %r10d
    1f56: 74 28                        	je	0x1f80 <jsmn_parse+0x120>
    1f58: 41 83 fa 7d                  	cmpl	$0x7d, %r10d
    1f5c: 74 22                        	je	0x1f80 <jsmn_parse+0x120>
    1f5e: 41 80 c2 81                  	addb	$-0x7f, %r10b
    1f62: 41 80 fa a1                  	cmpb	$-0x5f, %r10b
    1f66: 0f 82 84 04 00 00            	jb	0x23f0 <jsmn_parse+0x590>
    1f6c: 41 ff c5                     	incl	%r13d
    1f6f: 44 89 2f                     	movl	%r13d, (%rdi)
    1f72: 4d 89 ee                     	movq	%r13, %r14
    1f75: 4c 39 ea                     	cmpq	%r13, %rdx
    1f78: 77 b9                        	ja	0x1f33 <jsmn_parse+0xd3>
    1f7a: e9 84 04 00 00               	jmp	0x2403 <jsmn_parse+0x5a3>
    1f7f: 90                           	nop
    1f80: 48 85 c9                     	testq	%rcx, %rcx
    1f83: 0f 84 22 ff ff ff            	je	0x1eab <jsmn_parse+0x4b>
    1f89: 8b 47 04                     	movl	0x4(%rdi), %eax
    1f8c: 41 39 c0                     	cmpl	%eax, %r8d
    1f8f: 0f 86 69 04 00 00            	jbe	0x23fe <jsmn_parse+0x59e>
    1f95: 44 8d 50 01                  	leal	0x1(%rax), %r10d
    1f99: 48 c1 e0 04                  	shlq	$0x4, %rax
    1f9d: c4 c1 79 6e d4               	vmovd	%r12d, %xmm2
    1fa2: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    1fa6: 48 c7 44 01 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%rax)
    1faf: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    1fb7: c5 f1 62 d2                  	vpunpckldq	%xmm2, %xmm1, %xmm2 # xmm2 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
    1fbb: c5 f9 6e 1f                  	vmovd	(%rdi), %xmm3
    1fbf: c5 e9 6c d3                  	vpunpcklqdq	%xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
    1fc3: c5 fa 7f 14 01               	vmovdqu	%xmm2, (%rcx,%rax)
    1fc8: ff 0f                        	decl	(%rdi)
    1fca: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    1fce: 41 ff c1                     	incl	%r9d
    1fd1: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    1fd5: 0f 84 e5 fe ff ff            	je	0x1ec0 <jsmn_parse+0x60>
    1fdb: 48 c1 e0 04                  	shlq	$0x4, %rax
    1fdf: ff 44 01 0c                  	incl	0xc(%rcx,%rax)
    1fe3: e9 d8 fe ff ff               	jmp	0x1ec0 <jsmn_parse+0x60>
    1fe8: 41 ff c1                     	incl	%r9d
    1feb: 48 85 c9                     	testq	%rcx, %rcx
    1fee: 0f 84 cc fe ff ff            	je	0x1ec0 <jsmn_parse+0x60>
    1ff4: 44 8b 77 04                  	movl	0x4(%rdi), %r14d
    1ff8: 45 39 f0                     	cmpl	%r14d, %r8d
    1ffb: 0f 86 10 04 00 00            	jbe	0x2411 <jsmn_parse+0x5b1>
    2001: 45 8d 56 01                  	leal	0x1(%r14), %r10d
    2005: 49 c1 e6 04                  	shlq	$0x4, %r14
    2009: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    200d: 4a c7 44 31 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%r14)
    2016: 42 c7 44 31 0c 00 00 00 00   	movl	$0x0, 0xc(%rcx,%r14)
    201f: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    2023: 49 83 fa ff                  	cmpq	$-0x1, %r10
    2027: 74 16                        	je	0x203f <jsmn_parse+0x1df>
    2029: 49 c1 e2 04                  	shlq	$0x4, %r10
    202d: 42 83 3c 11 01               	cmpl	$0x1, (%rcx,%r10)
    2032: 0f 84 ce 03 00 00            	je	0x2406 <jsmn_parse+0x5a6>
    2038: 49 01 ca                     	addq	%rcx, %r10
    203b: 41 ff 42 0c                  	incl	0xc(%r10)
    203f: 49 01 ce                     	addq	%rcx, %r14
    2042: 31 c0                        	xorl	%eax, %eax
    2044: 41 80 fd 7b                  	cmpb	$0x7b, %r13b
    2048: 0f 95 c0                     	setne	%al
    204b: ff c0                        	incl	%eax
    204d: 41 89 06                     	movl	%eax, (%r14)
    2050: 8b 07                        	movl	(%rdi), %eax
    2052: 41 89 46 04                  	movl	%eax, 0x4(%r14)
    2056: 8b 47 04                     	movl	0x4(%rdi), %eax
    2059: ff c8                        	decl	%eax
    205b: 89 47 08                     	movl	%eax, 0x8(%rdi)
    205e: e9 5d fe ff ff               	jmp	0x1ec0 <jsmn_parse+0x60>
    2063: 48 85 c9                     	testq	%rcx, %rcx
    2066: 0f 84 54 fe ff ff            	je	0x1ec0 <jsmn_parse+0x60>
    206c: 45 31 f6                     	xorl	%r14d, %r14d
    206f: 41 80 fd 7d                  	cmpb	$0x7d, %r13b
    2073: 44 8b 6f 04                  	movl	0x4(%rdi), %r13d
    2077: 41 0f 95 c2                  	setne	%r10b
    207b: 44 89 ed                     	movl	%r13d, %ebp
    207e: ff cd                        	decl	%ebp
    2080: 0f 88 cd 02 00 00            	js	0x2353 <jsmn_parse+0x4f3>
    2086: 45 88 d6                     	movb	%r10b, %r14b
    2089: 41 89 ea                     	movl	%ebp, %r10d
    208c: 4d 89 d5                     	movq	%r10, %r13
    208f: 49 c1 e5 04                  	shlq	$0x4, %r13
    2093: 41 ff c6                     	incl	%r14d
    2096: 49 01 cd                     	addq	%rcx, %r13
    2099: eb 18                        	jmp	0x20b3 <jsmn_parse+0x253>
    209b: 0f 1f 44 00 00               	nopl	(%rax,%rax)
    20a0: 49 83 c5 f0                  	addq	$-0x10, %r13
    20a4: ff cd                        	decl	%ebp
    20a6: 4d 85 d2                     	testq	%r10, %r10
    20a9: 4d 8d 52 ff                  	leaq	-0x1(%r10), %r10
    20ad: 0f 8e 53 03 00 00            	jle	0x2406 <jsmn_parse+0x5a6>
    20b3: 41 83 7d 04 ff               	cmpl	$-0x1, 0x4(%r13)
    20b8: 74 e6                        	je	0x20a0 <jsmn_parse+0x240>
    20ba: 41 83 7d 08 ff               	cmpl	$-0x1, 0x8(%r13)
    20bf: 75 df                        	jne	0x20a0 <jsmn_parse+0x240>
    20c1: 45 39 75 00                  	cmpl	%r14d, (%r13)
    20c5: 0f 85 3b 03 00 00            	jne	0x2406 <jsmn_parse+0x5a6>
    20cb: 44 89 d0                     	movl	%r10d, %eax
    20ce: 41 89 ea                     	movl	%ebp, %r10d
    20d1: 49 c1 e2 04                  	shlq	$0x4, %r10
    20d5: 4c 8d 71 08                  	leaq	0x8(%rcx), %r14
    20d9: 41 ff c4                     	incl	%r12d
    20dc: c7 47 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rdi)  # imm = 0xFFFFFFFF
    20e3: 4d 01 f2                     	addq	%r14, %r10
    20e6: 45 89 65 08                  	movl	%r12d, 0x8(%r13)
    20ea: eb 15                        	jmp	0x2101 <jsmn_parse+0x2a1>
    20ec: 0f 1f 40 00                  	nopl	(%rax)
    20f0: 49 83 c2 f0                  	addq	$-0x10, %r10
    20f4: 48 85 c0                     	testq	%rax, %rax
    20f7: 48 8d 40 ff                  	leaq	-0x1(%rax), %rax
    20fb: 0f 8e bf fd ff ff            	jle	0x1ec0 <jsmn_parse+0x60>
    2101: 41 83 7a fc ff               	cmpl	$-0x1, -0x4(%r10)
    2106: 74 e8                        	je	0x20f0 <jsmn_parse+0x290>
    2108: 41 83 3a ff                  	cmpl	$-0x1, (%r10)
    210c: 75 e2                        	jne	0x20f0 <jsmn_parse+0x290>
    210e: eb 79                        	jmp	0x2189 <jsmn_parse+0x329>
    2110: 48 85 c9                     	testq	%rcx, %rcx
    2113: 0f 84 a7 fd ff ff            	je	0x1ec0 <jsmn_parse+0x60>
    2119: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    211d: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    2121: 0f 84 99 fd ff ff            	je	0x1ec0 <jsmn_parse+0x60>
    2127: 48 c1 e0 04                  	shlq	$0x4, %rax
    212b: 8b 04 01                     	movl	(%rcx,%rax), %eax
    212e: ff c8                        	decl	%eax
    2130: 83 f8 02                     	cmpl	$0x2, %eax
    2133: 0f 82 87 fd ff ff            	jb	0x1ec0 <jsmn_parse+0x60>
    2139: 8b 47 04                     	movl	0x4(%rdi), %eax
    213c: ff c8                        	decl	%eax
    213e: 0f 88 7c fd ff ff            	js	0x1ec0 <jsmn_parse+0x60>
    2144: 89 c0                        	movl	%eax, %eax
    2146: 49 89 c2                     	movq	%rax, %r10
    2149: 49 c1 e2 04                  	shlq	$0x4, %r10
    214d: 4c 8d 71 08                  	leaq	0x8(%rcx), %r14
    2151: 4d 01 f2                     	addq	%r14, %r10
    2154: eb 1b                        	jmp	0x2171 <jsmn_parse+0x311>
    2156: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    2160: 49 83 c2 f0                  	addq	$-0x10, %r10
    2164: 48 85 c0                     	testq	%rax, %rax
    2167: 48 8d 40 ff                  	leaq	-0x1(%rax), %rax
    216b: 0f 8e 4f fd ff ff            	jle	0x1ec0 <jsmn_parse+0x60>
    2171: 41 8b 6a f8                  	movl	-0x8(%r10), %ebp
    2175: ff cd                        	decl	%ebp
    2177: 83 fd 01                     	cmpl	$0x1, %ebp
    217a: 77 e4                        	ja	0x2160 <jsmn_parse+0x300>
    217c: 41 83 7a fc ff               	cmpl	$-0x1, -0x4(%r10)
    2181: 74 dd                        	je	0x2160 <jsmn_parse+0x300>
    2183: 41 83 3a ff                  	cmpl	$-0x1, (%r10)
    2187: 75 d7                        	jne	0x2160 <jsmn_parse+0x300>
    2189: 89 47 08                     	movl	%eax, 0x8(%rdi)
    218c: e9 2f fd ff ff               	jmp	0x1ec0 <jsmn_parse+0x60>
    2191: 45 8d 74 24 01               	leal	0x1(%r12), %r14d
    2196: 44 89 37                     	movl	%r14d, (%rdi)
    2199: 4c 39 f2                     	cmpq	%r14, %rdx
    219c: 0f 86 55 02 00 00            	jbe	0x23f7 <jsmn_parse+0x597>
    21a2: 4c 89 f5                     	movq	%r14, %rbp
    21a5: 45 89 f5                     	movl	%r14d, %r13d
    21a8: eb 19                        	jmp	0x21c3 <jsmn_parse+0x363>
    21aa: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    21b0: 44 89 ed                     	movl	%r13d, %ebp
    21b3: ff c5                        	incl	%ebp
    21b5: 89 2f                        	movl	%ebp, (%rdi)
    21b7: 41 89 ed                     	movl	%ebp, %r13d
    21ba: 48 39 ea                     	cmpq	%rbp, %rdx
    21bd: 0f 86 34 02 00 00            	jbe	0x23f7 <jsmn_parse+0x597>
    21c3: 0f b6 04 2e                  	movzbl	(%rsi,%rbp), %eax
    21c7: 83 f8 5c                     	cmpl	$0x5c, %eax
    21ca: 74 24                        	je	0x21f0 <jsmn_parse+0x390>
    21cc: 85 c0                        	testl	%eax, %eax
    21ce: 0f 84 23 02 00 00            	je	0x23f7 <jsmn_parse+0x597>
    21d4: 44 89 ed                     	movl	%r13d, %ebp
    21d7: 83 f8 22                     	cmpl	$0x22, %eax
    21da: 75 d7                        	jne	0x21b3 <jsmn_parse+0x353>
    21dc: e9 80 01 00 00               	jmp	0x2361 <jsmn_parse+0x501>
    21e1: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	nopw	%cs:(%rax,%rax)
    21f0: 41 8d 6d 01                  	leal	0x1(%r13), %ebp
    21f4: 48 39 ea                     	cmpq	%rbp, %rdx
    21f7: 76 b7                        	jbe	0x21b0 <jsmn_parse+0x350>
    21f9: 89 2f                        	movl	%ebp, (%rdi)
    21fb: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    2200: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    2205: 41 83 c2 de                  	addl	$-0x22, %r10d
    2209: 41 83 fa 53                  	cmpl	$0x53, %r10d
    220d: 0f 87 f0 01 00 00            	ja	0x2403 <jsmn_parse+0x5a3>
    2213: 4e 63 14 93                  	movslq	(%rbx,%r10,4), %r10
    2217: 49 01 da                     	addq	%rbx, %r10
    221a: 41 ff e2                     	jmpq	*%r10
    221d: 41 8d 6d 02                  	leal	0x2(%r13), %ebp
    2221: 89 2f                        	movl	%ebp, (%rdi)
    2223: 48 39 ea                     	cmpq	%rbp, %rdx
    2226: 0f 86 20 01 00 00            	jbe	0x234c <jsmn_parse+0x4ec>
    222c: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    2231: 45 84 d2                     	testb	%r10b, %r10b
    2234: 0f 84 12 01 00 00            	je	0x234c <jsmn_parse+0x4ec>
    223a: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    223e: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    2242: 72 26                        	jb	0x226a <jsmn_parse+0x40a>
    2244: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2248: 41 83 c2 bf                  	addl	$-0x41, %r10d
    224c: 41 83 fa 25                  	cmpl	$0x25, %r10d
    2250: 0f 87 ad 01 00 00            	ja	0x2403 <jsmn_parse+0x5a3>
    2256: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    2260: 4c 0f a3 d5                  	btq	%r10, %rbp
    2264: 0f 83 99 01 00 00            	jae	0x2403 <jsmn_parse+0x5a3>
    226a: 41 8d 6d 03                  	leal	0x3(%r13), %ebp
    226e: 89 2f                        	movl	%ebp, (%rdi)
    2270: 48 39 ea                     	cmpq	%rbp, %rdx
    2273: 0f 86 d3 00 00 00            	jbe	0x234c <jsmn_parse+0x4ec>
    2279: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    227e: 45 84 d2                     	testb	%r10b, %r10b
    2281: 0f 84 c5 00 00 00            	je	0x234c <jsmn_parse+0x4ec>
    2287: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    228b: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    228f: 72 26                        	jb	0x22b7 <jsmn_parse+0x457>
    2291: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2295: 41 83 c2 bf                  	addl	$-0x41, %r10d
    2299: 41 83 fa 25                  	cmpl	$0x25, %r10d
    229d: 0f 87 60 01 00 00            	ja	0x2403 <jsmn_parse+0x5a3>
    22a3: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    22ad: 4c 0f a3 d5                  	btq	%r10, %rbp
    22b1: 0f 83 4c 01 00 00            	jae	0x2403 <jsmn_parse+0x5a3>
    22b7: 41 8d 6d 04                  	leal	0x4(%r13), %ebp
    22bb: 89 2f                        	movl	%ebp, (%rdi)
    22bd: 48 39 ea                     	cmpq	%rbp, %rdx
    22c0: 0f 86 86 00 00 00            	jbe	0x234c <jsmn_parse+0x4ec>
    22c6: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    22cb: 45 84 d2                     	testb	%r10b, %r10b
    22ce: 74 7c                        	je	0x234c <jsmn_parse+0x4ec>
    22d0: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    22d4: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    22d8: 72 26                        	jb	0x2300 <jsmn_parse+0x4a0>
    22da: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    22de: 41 83 c2 bf                  	addl	$-0x41, %r10d
    22e2: 41 83 fa 25                  	cmpl	$0x25, %r10d
    22e6: 0f 87 17 01 00 00            	ja	0x2403 <jsmn_parse+0x5a3>
    22ec: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    22f6: 4c 0f a3 d5                  	btq	%r10, %rbp
    22fa: 0f 83 03 01 00 00            	jae	0x2403 <jsmn_parse+0x5a3>
    2300: 41 8d 6d 05                  	leal	0x5(%r13), %ebp
    2304: 89 2f                        	movl	%ebp, (%rdi)
    2306: 48 39 ea                     	cmpq	%rbp, %rdx
    2309: 76 41                        	jbe	0x234c <jsmn_parse+0x4ec>
    230b: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    2310: 45 84 d2                     	testb	%r10b, %r10b
    2313: 74 37                        	je	0x234c <jsmn_parse+0x4ec>
    2315: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    2319: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    231d: 72 26                        	jb	0x2345 <jsmn_parse+0x4e5>
    231f: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2323: 41 83 c2 bf                  	addl	$-0x41, %r10d
    2327: 41 83 fa 25                  	cmpl	$0x25, %r10d
    232b: 0f 87 d2 00 00 00            	ja	0x2403 <jsmn_parse+0x5a3>
    2331: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    233b: 4c 0f a3 d5                  	btq	%r10, %rbp
    233f: 0f 83 be 00 00 00            	jae	0x2403 <jsmn_parse+0x5a3>
    2345: 41 83 c5 06                  	addl	$0x6, %r13d
    2349: 44 89 ed                     	movl	%r13d, %ebp
    234c: ff cd                        	decl	%ebp
    234e: e9 60 fe ff ff               	jmp	0x21b3 <jsmn_parse+0x353>
    2353: 45 85 ed                     	testl	%r13d, %r13d
    2356: 0f 85 64 fb ff ff            	jne	0x1ec0 <jsmn_parse+0x60>
    235c: e9 a5 00 00 00               	jmp	0x2406 <jsmn_parse+0x5a6>
    2361: 48 85 c9                     	testq	%rcx, %rcx
    2364: 74 44                        	je	0x23aa <jsmn_parse+0x54a>
    2366: 8b 47 04                     	movl	0x4(%rdi), %eax
    2369: 41 39 c0                     	cmpl	%eax, %r8d
    236c: 0f 86 8c 00 00 00            	jbe	0x23fe <jsmn_parse+0x59e>
    2372: 44 8d 50 01                  	leal	0x1(%rax), %r10d
    2376: 48 c1 e0 04                  	shlq	$0x4, %rax
    237a: c4 c1 79 6e d6               	vmovd	%r14d, %xmm2
    237f: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    2383: 48 c7 44 01 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%rax)
    238c: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    2394: c5 f9 62 d2                  	vpunpckldq	%xmm2, %xmm0, %xmm2 # xmm2 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
    2398: c5 f9 6e 1f                  	vmovd	(%rdi), %xmm3
    239c: c5 e9 6c d3                  	vpunpcklqdq	%xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
    23a0: c5 fa 7f 14 01               	vmovdqu	%xmm2, (%rcx,%rax)
    23a5: e9 20 fc ff ff               	jmp	0x1fca <jsmn_parse+0x16a>
    23aa: 41 ff c1                     	incl	%r9d
    23ad: e9 0e fb ff ff               	jmp	0x1ec0 <jsmn_parse+0x60>
    23b2: 48 85 c9                     	testq	%rcx, %rcx
    23b5: 74 34                        	je	0x23eb <jsmn_parse+0x58b>
    23b7: 8b 47 04                     	movl	0x4(%rdi), %eax
    23ba: ff c8                        	decl	%eax
    23bc: 78 2d                        	js	0x23eb <jsmn_parse+0x58b>
    23be: 89 c2                        	movl	%eax, %edx
    23c0: 48 8d 42 01                  	leaq	0x1(%rdx), %rax
    23c4: 48 c1 e2 04                  	shlq	$0x4, %rdx
    23c8: 48 8d 4c 0a 08               	leaq	0x8(%rdx,%rcx), %rcx
    23cd: eb 0a                        	jmp	0x23d9 <jsmn_parse+0x579>
    23cf: 90                           	nop
    23d0: 48 83 c1 f0                  	addq	$-0x10, %rcx
    23d4: 48 ff c8                     	decq	%rax
    23d7: 7e 12                        	jle	0x23eb <jsmn_parse+0x58b>
    23d9: 83 79 fc ff                  	cmpl	$-0x1, -0x4(%rcx)
    23dd: 74 f1                        	je	0x23d0 <jsmn_parse+0x570>
    23df: 83 39 ff                     	cmpl	$-0x1, (%rcx)
    23e2: 75 ec                        	jne	0x23d0 <jsmn_parse+0x570>
    23e4: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    23e9: eb 1b                        	jmp	0x2406 <jsmn_parse+0x5a6>
    23eb: 44 89 c8                     	movl	%r9d, %eax
    23ee: eb 16                        	jmp	0x2406 <jsmn_parse+0x5a6>
    23f0: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    23f5: eb 0c                        	jmp	0x2403 <jsmn_parse+0x5a3>
    23f7: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    23fc: eb 05                        	jmp	0x2403 <jsmn_parse+0x5a3>
    23fe: b8 ff ff ff ff               	movl	$0xffffffff, %eax       # imm = 0xFFFFFFFF
    2403: 44 89 27                     	movl	%r12d, (%rdi)
    2406: 5b                           	popq	%rbx
    2407: 41 5c                        	popq	%r12
    2409: 41 5d                        	popq	%r13
    240b: 41 5e                        	popq	%r14
    240d: 41 5f                        	popq	%r15
    240f: 5d                           	popq	%rbp
    2410: c3                           	retq
    2411: b8 ff ff ff ff               	movl	$0xffffffff, %eax       # imm = 0xFFFFFFFF
    2416: eb ee                        	jmp	0x2406 <jsmn_parse+0x5a6>
    2418: cc                           	int3
    2419: cc                           	int3
    241a: cc                           	int3
    241b: cc                           	int3
    241c: cc                           	int3
    241d: cc                           	int3
    241e: cc                           	int3
    241f: cc                           	int3

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

0000000000002430 <qoi_encode>:
    2430: 31 c0                        	xorl	%eax, %eax
    2432: 48 85 f6                     	testq	%rsi, %rsi
    2435: 0f 84 8f 01 00 00            	je	0x25ca <qoi_encode+0x19a>
    243b: 48 85 ff                     	testq	%rdi, %rdi
    243e: 0f 84 86 01 00 00            	je	0x25ca <qoi_encode+0x19a>
    2444: 48 85 d2                     	testq	%rdx, %rdx
    2447: 0f 84 7d 01 00 00            	je	0x25ca <qoi_encode+0x19a>
    244d: 55                           	pushq	%rbp
    244e: 41 57                        	pushq	%r15
    2450: 41 56                        	pushq	%r14
    2452: 41 55                        	pushq	%r13
    2454: 41 54                        	pushq	%r12
    2456: 53                           	pushq	%rbx
    2457: 48 81 ec 48 01 00 00         	subq	$0x148, %rsp            # imm = 0x148
    245e: 8b 2e                        	movl	(%rsi), %ebp
    2460: 85 ed                        	testl	%ebp, %ebp
    2462: 0f 84 4f 01 00 00            	je	0x25b7 <qoi_encode+0x187>
    2468: 44 8b 66 04                  	movl	0x4(%rsi), %r12d
    246c: 45 85 e4                     	testl	%r12d, %r12d
    246f: 0f 84 42 01 00 00            	je	0x25b7 <qoi_encode+0x187>
    2475: 44 0f b6 6e 08               	movzbl	0x8(%rsi), %r13d
    247a: 41 8d 45 fb                  	leal	-0x5(%r13), %eax
    247e: 3c fe                        	cmpb	$-0x2, %al
    2480: 0f 82 31 01 00 00            	jb	0x25b7 <qoi_encode+0x187>
    2486: 44 0f b6 76 09               	movzbl	0x9(%rsi), %r14d
    248b: 41 80 fe 01                  	cmpb	$0x1, %r14b
    248f: 0f 87 22 01 00 00            	ja	0x25b7 <qoi_encode+0x187>
    2495: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    249a: 48 89 54 24 30               	movq	%rdx, 0x30(%rsp)
    249f: 31 d2                        	xorl	%edx, %edx
    24a1: f7 f5                        	divl	%ebp
    24a3: 41 39 c4                     	cmpl	%eax, %r12d
    24a6: 0f 83 0b 01 00 00            	jae	0x25b7 <qoi_encode+0x187>
    24ac: 45 89 e7                     	movl	%r12d, %r15d
    24af: 44 0f af fd                  	imull	%ebp, %r15d
    24b3: 41 0f b6 dd                  	movzbl	%r13b, %ebx
    24b7: 48 89 7c 24 28               	movq	%rdi, 0x28(%rsp)
    24bc: 8d 43 01                     	leal	0x1(%rbx), %eax
    24bf: 41 0f af c7                  	imull	%r15d, %eax
    24c3: 83 c0 16                     	addl	$0x16, %eax
    24c6: 48 63 f8                     	movslq	%eax, %rdi
    24c9: e8 62 0d 00 00               	callq	0x3230 <malloc@plt>
    24ce: 48 85 c0                     	testq	%rax, %rax
    24d1: 0f 84 e0 00 00 00            	je	0x25b7 <qoi_encode+0x187>
    24d7: c5 f9 6e c5                  	vmovd	%ebp, %xmm0
    24db: c5 f9 6e 15 1d e5 ff ff      	vmovd	-0x1ae3(%rip), %xmm2    # 0xa00 <memset+0xa00>
    24e3: 44 0f af fb                  	imull	%ebx, %r15d
    24e7: c7 00 71 6f 69 66            	movl	$0x66696f71, (%rax)     # imm = 0x66696F71
    24ed: c4 c3 79 22 c4 01            	vpinsrd	$0x1, %r12d, %xmm0, %xmm0
    24f3: c5 f9 70 c0 50               	vpshufd	$0x50, %xmm0, %xmm0     # xmm0 = xmm0[0,0,1,1]
    24f8: c4 e3 fd 00 c0 50            	vpermq	$0x50, %ymm0, %ymm0     # ymm0 = ymm0[0,0,1,1]
    24fe: c4 e2 7d 45 05 b9 e4 ff ff   	vpsrlvd	-0x1b47(%rip), %ymm0, %ymm0 # 0x9c0 <memset+0x9c0>
    2507: c4 e3 7d 39 c1 01            	vextracti128	$0x1, %ymm0, %xmm1
    250d: c4 e2 79 00 c2               	vpshufb	%xmm2, %xmm0, %xmm0
    2512: c4 e2 71 00 ca               	vpshufb	%xmm2, %xmm1, %xmm1
    2517: c5 f9 62 c1                  	vpunpckldq	%xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
    251b: c5 f9 d6 40 04               	vmovq	%xmm0, 0x4(%rax)
    2520: c5 f9 ef c0                  	vpxor	%xmm0, %xmm0, %xmm0
    2524: 44 88 68 0c                  	movb	%r13b, 0xc(%rax)
    2528: 44 88 70 0d                  	movb	%r14b, 0xd(%rax)
    252c: c5 fe 7f 84 24 20 01 00 00   	vmovdqu	%ymm0, 0x120(%rsp)
    2535: c5 fe 7f 84 24 00 01 00 00   	vmovdqu	%ymm0, 0x100(%rsp)
    253e: c5 fe 7f 84 24 e0 00 00 00   	vmovdqu	%ymm0, 0xe0(%rsp)
    2547: c5 fe 7f 84 24 c0 00 00 00   	vmovdqu	%ymm0, 0xc0(%rsp)
    2550: c5 fe 7f 84 24 a0 00 00 00   	vmovdqu	%ymm0, 0xa0(%rsp)
    2559: c5 fe 7f 84 24 80 00 00 00   	vmovdqu	%ymm0, 0x80(%rsp)
    2562: c5 fe 7f 44 24 60            	vmovdqu	%ymm0, 0x60(%rsp)
    2568: c5 fe 7f 44 24 40            	vmovdqu	%ymm0, 0x40(%rsp)
    256e: 45 85 ff                     	testl	%r15d, %r15d
    2571: 0f 8e 30 03 00 00            	jle	0x28a7 <qoi_encode+0x477>
    2577: 4c 8b 64 24 28               	movq	0x28(%rsp), %r12
    257c: 4c 89 6c 24 38               	movq	%r13, 0x38(%rsp)
    2581: 49 89 db                     	movq	%rbx, %r11
    2584: 44 89 f9                     	movl	%r15d, %ecx
    2587: 44 29 d9                     	subl	%r11d, %ecx
    258a: 41 b5 ff                     	movb	$-0x1, %r13b
    258d: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    2596: 31 f6                        	xorl	%esi, %esi
    2598: 31 d2                        	xorl	%edx, %edx
    259a: 45 31 f6                     	xorl	%r14d, %r14d
    259d: 44 89 7c 24 24               	movl	%r15d, 0x24(%rsp)
    25a2: 89 4c 24 20                  	movl	%ecx, 0x20(%rsp)
    25a6: b9 0e 00 00 00               	movl	$0xe, %ecx
    25ab: 44 89 eb                     	movl	%r13d, %ebx
    25ae: 48 89 4c 24 10               	movq	%rcx, 0x10(%rsp)
    25b3: 31 c9                        	xorl	%ecx, %ecx
    25b5: eb 6e                        	jmp	0x2625 <qoi_encode+0x1f5>
    25b7: 31 c0                        	xorl	%eax, %eax
    25b9: 48 81 c4 48 01 00 00         	addq	$0x148, %rsp            # imm = 0x148
    25c0: 5b                           	popq	%rbx
    25c1: 41 5c                        	popq	%r12
    25c3: 41 5d                        	popq	%r13
    25c5: 41 5e                        	popq	%r14
    25c7: 41 5f                        	popq	%r15
    25c9: 5d                           	popq	%rbp
    25ca: c5 f8 77                     	vzeroupper
    25cd: c3                           	retq
    25ce: 48 8b 7c 24 18               	movq	0x18(%rsp), %rdi
    25d3: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    25d8: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    25dd: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    25e3: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    25e8: 44 0f b6 7c 24 0f            	movzbl	0xf(%rsp), %r15d
    25ee: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    25f7: 40 80 cf c0                  	orb	$-0x40, %dil
    25fb: 41 8d 50 01                  	leal	0x1(%r8), %edx
    25ff: 49 63 c8                     	movslq	%r8d, %rcx
    2602: 48 89 54 24 10               	movq	%rdx, 0x10(%rsp)
    2607: 40 88 3c 08                  	movb	%dil, (%rax,%rcx)
    260b: 8b 7c 24 24                  	movl	0x24(%rsp), %edi
    260f: 44 01 de                     	addl	%r11d, %esi
    2612: 41 89 dd                     	movl	%ebx, %r13d
    2615: 44 89 d1                     	movl	%r10d, %ecx
    2618: 89 ea                        	movl	%ebp, %edx
    261a: 45 89 fe                     	movl	%r15d, %r14d
    261d: 39 fe                        	cmpl	%edi, %esi
    261f: 0f 8d 8c 02 00 00            	jge	0x28b1 <qoi_encode+0x481>
    2625: 80 7c 24 38 04               	cmpb	$0x4, 0x38(%rsp)
    262a: 4d 89 df                     	movq	%r11, %r15
    262d: 75 0b                        	jne	0x263a <qoi_encode+0x20a>
    262f: 8d 7e 03                     	leal	0x3(%rsi), %edi
    2632: 48 63 ff                     	movslq	%edi, %rdi
    2635: 41 0f b6 1c 3c               	movzbl	(%r12,%rdi), %ebx
    263a: 8d 7e 02                     	leal	0x2(%rsi), %edi
    263d: 4c 63 ce                     	movslq	%esi, %r9
    2640: 88 5c 24 0e                  	movb	%bl, 0xe(%rsp)
    2644: 45 0f b6 de                  	movzbl	%r14b, %r11d
    2648: 48 63 ff                     	movslq	%edi, %rdi
    264b: 47 0f b6 04 0c               	movzbl	(%r12,%r9), %r8d
    2650: 47 0f b6 54 0c 01            	movzbl	0x1(%r12,%r9), %r10d
    2656: 41 c1 e3 10                  	shll	$0x10, %r11d
    265a: 41 0f b6 3c 3c               	movzbl	(%r12,%rdi), %edi
    265f: 44 88 54 24 0c               	movb	%r10b, 0xc(%rsp)
    2664: 44 88 44 24 0d               	movb	%r8b, 0xd(%rsp)
    2669: 45 0f b6 c8                  	movzbl	%r8b, %r9d
    266d: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2671: 40 0f b6 ef                  	movzbl	%dil, %ebp
    2675: 40 88 7c 24 0f               	movb	%dil, 0xf(%rsp)
    267a: 0f b6 fb                     	movzbl	%bl, %edi
    267d: 89 fb                        	movl	%edi, %ebx
    267f: 41 89 e8                     	movl	%ebp, %r8d
    2682: c1 e3 18                     	shll	$0x18, %ebx
    2685: 41 c1 e0 10                  	shll	$0x10, %r8d
    2689: 41 09 d8                     	orl	%ebx, %r8d
    268c: 44 89 d3                     	movl	%r10d, %ebx
    268f: c1 e3 08                     	shll	$0x8, %ebx
    2692: 44 09 c3                     	orl	%r8d, %ebx
    2695: 45 0f b6 c5                  	movzbl	%r13b, %r8d
    2699: 41 c1 e0 18                  	shll	$0x18, %r8d
    269d: 44 09 cb                     	orl	%r9d, %ebx
    26a0: 45 09 c3                     	orl	%r8d, %r11d
    26a3: 44 0f b6 c2                  	movzbl	%dl, %r8d
    26a7: 41 c1 e0 08                  	shll	$0x8, %r8d
    26ab: 45 09 d8                     	orl	%r11d, %r8d
    26ae: 44 0f b6 d9                  	movzbl	%cl, %r11d
    26b2: 45 09 c3                     	orl	%r8d, %r11d
    26b5: 44 39 db                     	cmpl	%r11d, %ebx
    26b8: 75 3d                        	jne	0x26f7 <qoi_encode+0x2c7>
    26ba: 4d 89 fb                     	movq	%r15, %r11
    26bd: 39 74 24 20                  	cmpl	%esi, 0x20(%rsp)
    26c1: 0f 84 07 ff ff ff            	je	0x25ce <qoi_encode+0x19e>
    26c7: 48 8b 4c 24 18               	movq	0x18(%rsp), %rcx
    26cc: ff c1                        	incl	%ecx
    26ce: 83 f9 3e                     	cmpl	$0x3e, %ecx
    26d1: 0f 84 f7 fe ff ff            	je	0x25ce <qoi_encode+0x19e>
    26d7: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    26dc: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    26e2: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    26e7: 44 0f b6 7c 24 0f            	movzbl	0xf(%rsp), %r15d
    26ed: 48 89 4c 24 18               	movq	%rcx, 0x18(%rsp)
    26f2: e9 14 ff ff ff               	jmp	0x260b <qoi_encode+0x1db>
    26f7: 83 7c 24 18 00               	cmpl	$0x0, 0x18(%rsp)
    26fc: 7e 2e                        	jle	0x272c <qoi_encode+0x2fc>
    26fe: 4c 8b 64 24 10               	movq	0x10(%rsp), %r12
    2703: 4c 8b 5c 24 18               	movq	0x18(%rsp), %r11
    2708: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    2711: 4d 63 c4                     	movslq	%r12d, %r8
    2714: 41 ff c4                     	incl	%r12d
    2717: 41 fe cb                     	decb	%r11b
    271a: 4c 89 64 24 10               	movq	%r12, 0x10(%rsp)
    271f: 4c 8b 64 24 28               	movq	0x28(%rsp), %r12
    2724: 41 80 cb c0                  	orb	$-0x40, %r11b
    2728: 46 88 1c 00                  	movb	%r11b, (%rax,%r8)
    272c: 47 8d 04 49                  	leal	(%r9,%r9,2), %r8d
    2730: 47 8d 0c 92                  	leal	(%r10,%r10,4), %r9d
    2734: 4d 89 fb                     	movq	%r15, %r11
    2737: 44 0f b6 7c 24 0f            	movzbl	0xf(%rsp), %r15d
    273d: 45 01 c1                     	addl	%r8d, %r9d
    2740: 45 8d 04 e9                  	leal	(%r9,%rbp,8), %r8d
    2744: 44 8d 0c bf                  	leal	(%rdi,%rdi,4), %r9d
    2748: 42 8d 3c 4f                  	leal	(%rdi,%r9,2), %edi
    274c: 41 29 e8                     	subl	%ebp, %r8d
    274f: 44 01 c7                     	addl	%r8d, %edi
    2752: 83 e7 3f                     	andl	$0x3f, %edi
    2755: 39 5c bc 40                  	cmpl	%ebx, 0x40(%rsp,%rdi,4)
    2759: 75 1e                        	jne	0x2779 <qoi_encode+0x349>
    275b: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    2760: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    2765: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    276b: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    2770: 41 8d 50 01                  	leal	0x1(%r8), %edx
    2774: e9 86 fe ff ff               	jmp	0x25ff <qoi_encode+0x1cf>
    2779: 44 0f b6 54 24 0d            	movzbl	0xd(%rsp), %r10d
    277f: 0f b6 6c 24 0c               	movzbl	0xc(%rsp), %ebp
    2784: 0f b6 5c 24 0e               	movzbl	0xe(%rsp), %ebx
    2789: 44 88 54 bc 40               	movb	%r10b, 0x40(%rsp,%rdi,4)
    278e: 40 88 6c bc 41               	movb	%bpl, 0x41(%rsp,%rdi,4)
    2793: 44 88 7c bc 42               	movb	%r15b, 0x42(%rsp,%rdi,4)
    2798: 88 5c bc 43                  	movb	%bl, 0x43(%rsp,%rdi,4)
    279c: 44 38 eb                     	cmpb	%r13b, %bl
    279f: 75 52                        	jne	0x27f3 <qoi_encode+0x3c3>
    27a1: 45 89 d5                     	movl	%r10d, %r13d
    27a4: 89 ef                        	movl	%ebp, %edi
    27a6: 41 28 cd                     	subb	%cl, %r13b
    27a9: 44 89 f9                     	movl	%r15d, %ecx
    27ac: 40 28 d7                     	subb	%dl, %dil
    27af: 44 28 f1                     	subb	%r14b, %cl
    27b2: 41 8d 55 02                  	leal	0x2(%r13), %edx
    27b6: 80 fa 03                     	cmpb	$0x3, %dl
    27b9: 77 6f                        	ja	0x282a <qoi_encode+0x3fa>
    27bb: 8d 57 02                     	leal	0x2(%rdi), %edx
    27be: 80 fa 03                     	cmpb	$0x3, %dl
    27c1: 77 67                        	ja	0x282a <qoi_encode+0x3fa>
    27c3: 8d 51 02                     	leal	0x2(%rcx), %edx
    27c6: 80 fa 03                     	cmpb	$0x3, %dl
    27c9: 77 5f                        	ja	0x282a <qoi_encode+0x3fa>
    27cb: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    27d0: 41 c0 e5 04                  	shlb	$0x4, %r13b
    27d4: 40 c0 e7 02                  	shlb	$0x2, %dil
    27d8: 41 80 c5 20                  	addb	$0x20, %r13b
    27dc: 40 80 c7 08                  	addb	$0x8, %dil
    27e0: 44 08 ef                     	orb	%r13b, %dil
    27e3: 40 08 d7                     	orb	%dl, %dil
    27e6: 40 80 cf 40                  	orb	$0x40, %dil
    27ea: 41 8d 50 01                  	leal	0x1(%r8), %edx
    27ee: e9 0c fe ff ff               	jmp	0x25ff <qoi_encode+0x1cf>
    27f3: 48 8b 7c 24 10               	movq	0x10(%rsp), %rdi
    27f8: 48 63 d7                     	movslq	%edi, %rdx
    27fb: ff c7                        	incl	%edi
    27fd: 8d 4a 02                     	leal	0x2(%rdx), %ecx
    2800: 48 63 ff                     	movslq	%edi, %rdi
    2803: c6 04 10 ff                  	movb	$-0x1, (%rax,%rdx)
    2807: 44 8d 42 04                  	leal	0x4(%rdx), %r8d
    280b: 44 88 14 38                  	movb	%r10b, (%rax,%rdi)
    280f: 8d 7a 03                     	leal	0x3(%rdx), %edi
    2812: 48 63 c9                     	movslq	%ecx, %rcx
    2815: 83 c2 05                     	addl	$0x5, %edx
    2818: 40 88 2c 08                  	movb	%bpl, (%rax,%rcx)
    281c: 48 63 cf                     	movslq	%edi, %rcx
    281f: 89 df                        	movl	%ebx, %edi
    2821: 44 88 3c 08                  	movb	%r15b, (%rax,%rcx)
    2825: e9 d5 fd ff ff               	jmp	0x25ff <qoi_encode+0x1cf>
    282a: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    282f: 41 28 fd                     	subb	%dil, %r13b
    2832: 41 8d 55 08                  	leal	0x8(%r13), %edx
    2836: 80 fa 0f                     	cmpb	$0xf, %dl
    2839: 77 3a                        	ja	0x2875 <qoi_encode+0x445>
    283b: 44 8d 4f 20                  	leal	0x20(%rdi), %r9d
    283f: 41 80 f9 3f                  	cmpb	$0x3f, %r9b
    2843: 77 30                        	ja	0x2875 <qoi_encode+0x445>
    2845: 40 28 f9                     	subb	%dil, %cl
    2848: 80 c1 08                     	addb	$0x8, %cl
    284b: 80 f9 0f                     	cmpb	$0xf, %cl
    284e: 77 25                        	ja	0x2875 <qoi_encode+0x445>
    2850: 41 c0 e5 04                  	shlb	$0x4, %r13b
    2854: 41 80 c9 80                  	orb	$-0x80, %r9b
    2858: 49 63 f8                     	movslq	%r8d, %rdi
    285b: 44 89 c2                     	movl	%r8d, %edx
    285e: 41 ff c0                     	incl	%r8d
    2861: 83 c2 02                     	addl	$0x2, %edx
    2864: 44 08 e9                     	orb	%r13b, %cl
    2867: 44 88 0c 38                  	movb	%r9b, (%rax,%rdi)
    286b: 80 c1 80                     	addb	$-0x80, %cl
    286e: 89 cf                        	movl	%ecx, %edi
    2870: e9 8a fd ff ff               	jmp	0x25ff <qoi_encode+0x1cf>
    2875: 41 8d 48 01                  	leal	0x1(%r8), %ecx
    2879: 41 8d 78 02                  	leal	0x2(%r8), %edi
    287d: 49 63 d0                     	movslq	%r8d, %rdx
    2880: 48 63 c9                     	movslq	%ecx, %rcx
    2883: c6 04 10 fe                  	movb	$-0x2, (%rax,%rdx)
    2887: 48 63 ff                     	movslq	%edi, %rdi
    288a: 44 89 c2                     	movl	%r8d, %edx
    288d: 83 c2 04                     	addl	$0x4, %edx
    2890: 44 88 14 08                  	movb	%r10b, (%rax,%rcx)
    2894: 41 8d 48 03                  	leal	0x3(%r8), %ecx
    2898: 40 88 2c 38                  	movb	%bpl, (%rax,%rdi)
    289c: 44 89 ff                     	movl	%r15d, %edi
    289f: 41 89 c8                     	movl	%ecx, %r8d
    28a2: e9 58 fd ff ff               	jmp	0x25ff <qoi_encode+0x1cf>
    28a7: b9 0e 00 00 00               	movl	$0xe, %ecx
    28ac: 48 89 4c 24 10               	movq	%rcx, 0x10(%rsp)
    28b1: 48 8b 54 24 10               	movq	0x10(%rsp), %rdx
    28b6: 48 63 ca                     	movslq	%edx, %rcx
    28b9: ff c2                        	incl	%edx
    28bb: 48 63 d2                     	movslq	%edx, %rdx
    28be: 8d 79 05                     	leal	0x5(%rcx), %edi
    28c1: c6 04 08 00                  	movb	$0x0, (%rax,%rcx)
    28c5: 8d 71 07                     	leal	0x7(%rcx), %esi
    28c8: 83 c1 08                     	addl	$0x8, %ecx
    28cb: c7 04 10 00 00 00 00         	movl	$0x0, (%rax,%rdx)
    28d2: 48 63 d7                     	movslq	%edi, %rdx
    28d5: 66 c7 04 10 00 00            	movw	$0x0, (%rax,%rdx)
    28db: 48 63 d6                     	movslq	%esi, %rdx
    28de: 48 8b 74 24 30               	movq	0x30(%rsp), %rsi
    28e3: c6 04 10 01                  	movb	$0x1, (%rax,%rdx)
    28e7: 89 0e                        	movl	%ecx, (%rsi)
    28e9: e9 cb fc ff ff               	jmp	0x25b9 <qoi_encode+0x189>
    28ee: cc                           	int3
    28ef: cc                           	int3

00000000000028f0 <qoi_decode>:
    28f0: 31 c0                        	xorl	%eax, %eax
    28f2: 48 85 ff                     	testq	%rdi, %rdi
    28f5: 0f 84 8a 00 00 00            	je	0x2985 <qoi_decode+0x95>
    28fb: 48 85 d2                     	testq	%rdx, %rdx
    28fe: 0f 84 81 00 00 00            	je	0x2985 <qoi_decode+0x95>
    2904: 83 f9 03                     	cmpl	$0x3, %ecx
    2907: 41 0f 95 c0                  	setne	%r8b
    290b: f7 c1 fb ff ff ff            	testl	$0xfffffffb, %ecx       # imm = 0xFFFFFFFB
    2911: 41 0f 95 c1                  	setne	%r9b
    2915: 31 c0                        	xorl	%eax, %eax
    2917: 83 fe 16                     	cmpl	$0x16, %esi
    291a: 7c 69                        	jl	0x2985 <qoi_decode+0x95>
    291c: 45 20 c8                     	andb	%r9b, %r8b
    291f: 75 64                        	jne	0x2985 <qoi_decode+0x95>
    2921: 55                           	pushq	%rbp
    2922: 41 57                        	pushq	%r15
    2924: 41 56                        	pushq	%r14
    2926: 41 55                        	pushq	%r13
    2928: 41 54                        	pushq	%r12
    292a: 53                           	pushq	%rbx
    292b: 48 81 ec 28 01 00 00         	subq	$0x128, %rsp            # imm = 0x128
    2932: 44 8b 47 04                  	movl	0x4(%rdi), %r8d
    2936: 44 0f 38 f0 0f               	movbel	(%rdi), %r9d
    293b: 31 c0                        	xorl	%eax, %eax
    293d: 44 0f 38 f1 02               	movbel	%r8d, (%rdx)
    2942: 41 0f c8                     	bswapl	%r8d
    2945: 8b 5f 08                     	movl	0x8(%rdi), %ebx
    2948: 0f 38 f1 5a 04               	movbel	%ebx, 0x4(%rdx)
    294d: 44 0f b6 77 0c               	movzbl	0xc(%rdi), %r14d
    2952: 44 88 72 08                  	movb	%r14b, 0x8(%rdx)
    2956: 44 0f b6 57 0d               	movzbl	0xd(%rdi), %r10d
    295b: 44 88 52 09                  	movb	%r10b, 0x9(%rdx)
    295f: 45 85 c0                     	testl	%r8d, %r8d
    2962: 74 10                        	je	0x2974 <qoi_decode+0x84>
    2964: 0f cb                        	bswapl	%ebx
    2966: 85 db                        	testl	%ebx, %ebx
    2968: 74 0a                        	je	0x2974 <qoi_decode+0x84>
    296a: 41 8d 46 fb                  	leal	-0x5(%r14), %eax
    296e: 3c fe                        	cmpb	$-0x2, %al
    2970: 73 17                        	jae	0x2989 <qoi_decode+0x99>
    2972: 31 c0                        	xorl	%eax, %eax
    2974: 48 81 c4 28 01 00 00         	addq	$0x128, %rsp            # imm = 0x128
    297b: 5b                           	popq	%rbx
    297c: 41 5c                        	popq	%r12
    297e: 41 5d                        	popq	%r13
    2980: 41 5e                        	popq	%r14
    2982: 41 5f                        	popq	%r15
    2984: 5d                           	popq	%rbp
    2985: c5 f8 77                     	vzeroupper
    2988: c3                           	retq
    2989: 31 c0                        	xorl	%eax, %eax
    298b: 41 80 fa 01                  	cmpb	$0x1, %r10b
    298f: 77 e3                        	ja	0x2974 <qoi_decode+0x84>
    2991: 41 81 f9 66 69 6f 71         	cmpl	$0x716f6966, %r9d       # imm = 0x716F6966
    2998: 75 da                        	jne	0x2974 <qoi_decode+0x84>
    299a: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    299f: 31 d2                        	xorl	%edx, %edx
    29a1: 41 f7 f0                     	divl	%r8d
    29a4: 39 c3                        	cmpl	%eax, %ebx
    29a6: 73 ca                        	jae	0x2972 <qoi_decode+0x82>
    29a8: 85 c9                        	testl	%ecx, %ecx
    29aa: 49 89 fc                     	movq	%rdi, %r12
    29ad: 89 f5                        	movl	%esi, %ebp
    29af: 44 0f 45 f1                  	cmovnel	%ecx, %r14d
    29b3: 41 0f af d8                  	imull	%r8d, %ebx
    29b7: 41 0f af de                  	imull	%r14d, %ebx
    29bb: 48 63 fb                     	movslq	%ebx, %rdi
    29be: e8 6d 08 00 00               	callq	0x3230 <malloc@plt>
    29c3: 48 85 c0                     	testq	%rax, %rax
    29c6: 74 aa                        	je	0x2972 <qoi_decode+0x82>
    29c8: c5 f8 57 c0                  	vxorps	%xmm0, %xmm0, %xmm0
    29cc: c5 fc 11 84 24 00 01 00 00   	vmovups	%ymm0, 0x100(%rsp)
    29d5: c5 fc 11 84 24 e0 00 00 00   	vmovups	%ymm0, 0xe0(%rsp)
    29de: c5 fc 11 84 24 c0 00 00 00   	vmovups	%ymm0, 0xc0(%rsp)
    29e7: c5 fc 11 84 24 a0 00 00 00   	vmovups	%ymm0, 0xa0(%rsp)
    29f0: c5 fc 11 84 24 80 00 00 00   	vmovups	%ymm0, 0x80(%rsp)
    29f9: c5 fc 11 44 24 60            	vmovups	%ymm0, 0x60(%rsp)
    29ff: c5 fc 11 44 24 40            	vmovups	%ymm0, 0x40(%rsp)
    2a05: c5 fc 11 44 24 20            	vmovups	%ymm0, 0x20(%rsp)
    2a0b: 85 db                        	testl	%ebx, %ebx
    2a0d: 0f 8e 61 ff ff ff            	jle	0x2974 <qoi_decode+0x84>
    2a13: 89 ef                        	movl	%ebp, %edi
    2a15: 83 c7 f8                     	addl	$-0x8, %edi
    2a18: bd 0e 00 00 00               	movl	$0xe, %ebp
    2a1d: 41 b0 ff                     	movb	$-0x1, %r8b
    2a20: 45 31 ff                     	xorl	%r15d, %r15d
    2a23: 31 f6                        	xorl	%esi, %esi
    2a25: 45 31 db                     	xorl	%r11d, %r11d
    2a28: 45 31 d2                     	xorl	%r10d, %r10d
    2a2b: 45 31 c9                     	xorl	%r9d, %r9d
    2a2e: 4c 89 64 24 10               	movq	%r12, 0x10(%rsp)
    2a33: 89 7c 24 1c                  	movl	%edi, 0x1c(%rsp)
    2a37: eb 0b                        	jmp	0x2a44 <qoi_decode+0x154>
    2a39: 44 01 f6                     	addl	%r14d, %esi
    2a3c: 39 de                        	cmpl	%ebx, %esi
    2a3e: 0f 8d 30 ff ff ff            	jge	0x2974 <qoi_decode+0x84>
    2a44: 45 85 ff                     	testl	%r15d, %r15d
    2a47: 7e 08                        	jle	0x2a51 <qoi_decode+0x161>
    2a49: 41 ff cf                     	decl	%r15d
    2a4c: e9 6f 01 00 00               	jmp	0x2bc0 <qoi_decode+0x2d0>
    2a51: 45 31 ff                     	xorl	%r15d, %r15d
    2a54: 39 fd                        	cmpl	%edi, %ebp
    2a56: 0f 8d 64 01 00 00            	jge	0x2bc0 <qoi_decode+0x2d0>
    2a5c: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a61: 4c 63 ed                     	movslq	%ebp, %r13
    2a64: 49 8d 55 01                  	leaq	0x1(%r13), %rdx
    2a68: 46 0f b6 3c 29               	movzbl	(%rcx,%r13), %r15d
    2a6d: 41 81 ff ff 00 00 00         	cmpl	$0xff, %r15d
    2a74: 74 24                        	je	0x2a9a <qoi_decode+0x1aa>
    2a76: 41 81 ff fe 00 00 00         	cmpl	$0xfe, %r15d
    2a7d: 75 49                        	jne	0x2ac8 <qoi_decode+0x1d8>
    2a7f: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a84: 83 c5 04                     	addl	$0x4, %ebp
    2a87: 44 0f b6 0c 11               	movzbl	(%rcx,%rdx), %r9d
    2a8c: 46 0f b6 54 29 02            	movzbl	0x2(%rcx,%r13), %r10d
    2a92: 46 0f b6 5c 29 03            	movzbl	0x3(%rcx,%r13), %r11d
    2a98: eb 1f                        	jmp	0x2ab9 <qoi_decode+0x1c9>
    2a9a: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a9f: 83 c5 05                     	addl	$0x5, %ebp
    2aa2: 44 0f b6 0c 11               	movzbl	(%rcx,%rdx), %r9d
    2aa7: 46 0f b6 54 29 02            	movzbl	0x2(%rcx,%r13), %r10d
    2aad: 46 0f b6 5c 29 03            	movzbl	0x3(%rcx,%r13), %r11d
    2ab3: 46 0f b6 44 29 04            	movzbl	0x4(%rcx,%r13), %r8d
    2ab9: 89 e9                        	movl	%ebp, %ecx
    2abb: 45 31 ff                     	xorl	%r15d, %r15d
    2abe: 48 89 4c 24 08               	movq	%rcx, 0x8(%rsp)
    2ac3: e9 a5 00 00 00               	jmp	0x2b6d <qoi_decode+0x27d>
    2ac8: 45 89 fd                     	movl	%r15d, %r13d
    2acb: 41 c1 ed 06                  	shrl	$0x6, %r13d
    2acf: 48 8d 0d 4a df ff ff         	leaq	-0x20b6(%rip), %rcx     # 0xa20 <memset+0xa20>
    2ad6: 4e 63 2c a9                  	movslq	(%rcx,%r13,4), %r13
    2ada: 49 01 cd                     	addq	%rcx, %r13
    2add: 41 ff e5                     	jmpq	*%r13
    2ae0: 46 0f b6 4c bc 20            	movzbl	0x20(%rsp,%r15,4), %r9d
    2ae6: 46 0f b6 54 bc 21            	movzbl	0x21(%rsp,%r15,4), %r10d
    2aec: 46 0f b6 5c bc 22            	movzbl	0x22(%rsp,%r15,4), %r11d
    2af2: 46 0f b6 44 bc 23            	movzbl	0x23(%rsp,%r15,4), %r8d
    2af8: 45 31 ff                     	xorl	%r15d, %r15d
    2afb: eb 6b                        	jmp	0x2b68 <qoi_decode+0x278>
    2afd: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2b02: 41 83 e7 3f                  	andl	$0x3f, %r15d
    2b06: 83 c5 02                     	addl	$0x2, %ebp
    2b09: 45 00 fa                     	addb	%r15b, %r10b
    2b0c: 41 80 c2 e0                  	addb	$-0x20, %r10b
    2b10: 44 0f b6 24 11               	movzbl	(%rcx,%rdx), %r12d
    2b15: 45 89 e5                     	movl	%r12d, %r13d
    2b18: 41 c1 ed 04                  	shrl	$0x4, %r13d
    2b1c: 41 83 e4 0f                  	andl	$0xf, %r12d
    2b20: 47 8d 6c 3d d8               	leal	-0x28(%r13,%r15), %r13d
    2b25: 47 8d 7c 3c d8               	leal	-0x28(%r12,%r15), %r15d
    2b2a: 45 00 e9                     	addb	%r13b, %r9b
    2b2d: 45 00 fb                     	addb	%r15b, %r11b
    2b30: eb 87                        	jmp	0x2ab9 <qoi_decode+0x1c9>
    2b32: 41 83 e7 3f                  	andl	$0x3f, %r15d
    2b36: eb 30                        	jmp	0x2b68 <qoi_decode+0x278>
    2b38: 44 89 fd                     	movl	%r15d, %ebp
    2b3b: 44 89 f9                     	movl	%r15d, %ecx
    2b3e: 41 80 e7 03                  	andb	$0x3, %r15b
    2b42: 40 c0 ed 04                  	shrb	$0x4, %bpl
    2b46: c0 e9 02                     	shrb	$0x2, %cl
    2b49: 45 00 fb                     	addb	%r15b, %r11b
    2b4c: 45 31 ff                     	xorl	%r15d, %r15d
    2b4f: 40 80 e5 03                  	andb	$0x3, %bpl
    2b53: 80 e1 03                     	andb	$0x3, %cl
    2b56: 41 80 c3 fe                  	addb	$-0x2, %r11b
    2b5a: 41 00 e9                     	addb	%bpl, %r9b
    2b5d: 41 00 ca                     	addb	%cl, %r10b
    2b60: 41 80 c1 fe                  	addb	$-0x2, %r9b
    2b64: 41 80 c2 fe                  	addb	$-0x2, %r10b
    2b68: 48 89 54 24 08               	movq	%rdx, 0x8(%rsp)
    2b6d: 45 0f b6 e9                  	movzbl	%r9b, %r13d
    2b71: 41 0f b6 d2                  	movzbl	%r10b, %edx
    2b75: 41 0f b6 f8                  	movzbl	%r8b, %edi
    2b79: 45 89 c4                     	movl	%r8d, %r12d
    2b7c: 43 8d 6c 6d 00               	leal	(%r13,%r13,2), %ebp
    2b81: 8d 0c 92                     	leal	(%rdx,%rdx,4), %ecx
    2b84: 44 8d 04 bf                  	leal	(%rdi,%rdi,4), %r8d
    2b88: 01 e9                        	addl	%ebp, %ecx
    2b8a: 41 0f b6 eb                  	movzbl	%r11b, %ebp
    2b8e: 46 8d 04 47                  	leal	(%rdi,%r8,2), %r8d
    2b92: 8d 0c e9                     	leal	(%rcx,%rbp,8), %ecx
    2b95: 29 e9                        	subl	%ebp, %ecx
    2b97: 41 01 c8                     	addl	%ecx, %r8d
    2b9a: 48 8b 4c 24 08               	movq	0x8(%rsp), %rcx
    2b9f: 41 83 e0 3f                  	andl	$0x3f, %r8d
    2ba3: 46 88 6c 84 20               	movb	%r13b, 0x20(%rsp,%r8,4)
    2ba8: 42 88 54 84 21               	movb	%dl, 0x21(%rsp,%r8,4)
    2bad: 42 88 6c 84 22               	movb	%bpl, 0x22(%rsp,%r8,4)
    2bb2: 42 88 7c 84 23               	movb	%dil, 0x23(%rsp,%r8,4)
    2bb7: 8b 7c 24 1c                  	movl	0x1c(%rsp), %edi
    2bbb: 45 89 e0                     	movl	%r12d, %r8d
    2bbe: 89 cd                        	movl	%ecx, %ebp
    2bc0: 8d 4e 02                     	leal	0x2(%rsi), %ecx
    2bc3: 48 63 d6                     	movslq	%esi, %rdx
    2bc6: 48 63 c9                     	movslq	%ecx, %rcx
    2bc9: 44 88 0c 10                  	movb	%r9b, (%rax,%rdx)
    2bcd: 44 88 54 10 01               	movb	%r10b, 0x1(%rax,%rdx)
    2bd2: 44 88 1c 08                  	movb	%r11b, (%rax,%rcx)
    2bd6: 41 83 fe 04                  	cmpl	$0x4, %r14d
    2bda: 0f 85 59 fe ff ff            	jne	0x2a39 <qoi_decode+0x149>
    2be0: 8d 4e 03                     	leal	0x3(%rsi), %ecx
    2be3: 48 63 c9                     	movslq	%ecx, %rcx
    2be6: 44 88 04 08                  	movb	%r8b, (%rax,%rcx)
    2bea: e9 4a fe ff ff               	jmp	0x2a39 <qoi_decode+0x149>
    2bef: cc                           	int3

0000000000002bf0 <sha256_transform>:
    2bf0: 55                           	pushq	%rbp
    2bf1: 41 57                        	pushq	%r15
    2bf3: 41 56                        	pushq	%r14
    2bf5: 41 55                        	pushq	%r13
    2bf7: 41 54                        	pushq	%r12
    2bf9: 53                           	pushq	%rbx
    2bfa: 48 81 ec 98 00 00 00         	subq	$0x98, %rsp
    2c01: c5 f9 6e 05 07 de ff ff      	vmovd	-0x21f9(%rip), %xmm0    # 0xa10 <memset+0xa10>
    2c09: c5 fa 6f 0e                  	vmovdqu	(%rsi), %xmm1
    2c0d: c5 fa 6f 56 10               	vmovdqu	0x10(%rsi), %xmm2
    2c12: c5 f9 6e 3d c6 dd ff ff      	vmovd	-0x223a(%rip), %xmm7    # 0x9e0 <memset+0x9e0>
    2c1a: 49 89 fc                     	movq	%rdi, %r12
    2c1d: 31 c0                        	xorl	%eax, %eax
    2c1f: c4 e2 69 00 d8               	vpshufb	%xmm0, %xmm2, %xmm3
    2c24: c4 e2 71 00 e0               	vpshufb	%xmm0, %xmm1, %xmm4
    2c29: c5 d9 62 db                  	vpunpckldq	%xmm3, %xmm4, %xmm3 # xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]
    2c2d: c5 f9 6e 25 bb dd ff ff      	vmovd	-0x2245(%rip), %xmm4    # 0x9f0 <memset+0x9f0>
    2c35: c4 e2 7d 31 db               	vpmovzxbd	%xmm3, %ymm3    # ymm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero,xmm3[4],zero,zero,zero,xmm3[5],zero,zero,zero,xmm3[6],zero,zero,zero,xmm3[7],zero,zero,zero
    2c3a: c5 e5 72 f3 10               	vpslld	$0x10, %ymm3, %ymm3
    2c3f: c4 e2 69 00 ec               	vpshufb	%xmm4, %xmm2, %xmm5
    2c44: c4 e2 71 00 f4               	vpshufb	%xmm4, %xmm1, %xmm6
    2c49: c4 e2 69 00 d7               	vpshufb	%xmm7, %xmm2, %xmm2
    2c4e: c4 e2 71 00 cf               	vpshufb	%xmm7, %xmm1, %xmm1
    2c53: c5 f1 62 ca                  	vpunpckldq	%xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
    2c57: c5 fe 6f 16                  	vmovdqu	(%rsi), %ymm2
    2c5b: c5 c9 62 ed                  	vpunpckldq	%xmm5, %xmm6, %xmm5 # xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]
    2c5f: c4 e2 7d 31 c9               	vpmovzxbd	%xmm1, %ymm1    # ymm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero,xmm1[4],zero,zero,zero,xmm1[5],zero,zero,zero,xmm1[6],zero,zero,zero,xmm1[7],zero,zero,zero
    2c64: c5 ed 72 f2 18               	vpslld	$0x18, %ymm2, %ymm2
    2c69: c5 e5 eb d2                  	vpor	%ymm2, %ymm3, %ymm2
    2c6d: c4 e2 7d 31 dd               	vpmovzxbd	%xmm5, %ymm3    # ymm3 = xmm5[0],zero,zero,zero,xmm5[1],zero,zero,zero,xmm5[2],zero,zero,zero,xmm5[3],zero,zero,zero,xmm5[4],zero,zero,zero,xmm5[5],zero,zero,zero,xmm5[6],zero,zero,zero,xmm5[7],zero,zero,zero
    2c72: c5 e5 72 f3 08               	vpslld	$0x8, %ymm3, %ymm3
    2c77: c5 e5 eb c9                  	vpor	%ymm1, %ymm3, %ymm1
    2c7b: c5 ed eb c9                  	vpor	%ymm1, %ymm2, %ymm1
    2c7f: c5 fe 7f 4c 24 90            	vmovdqu	%ymm1, -0x70(%rsp)
    2c85: c5 fa 6f 56 30               	vmovdqu	0x30(%rsi), %xmm2
    2c8a: c5 fa 6f 4e 20               	vmovdqu	0x20(%rsi), %xmm1
    2c8f: c4 e2 69 00 d8               	vpshufb	%xmm0, %xmm2, %xmm3
    2c94: c4 e2 71 00 c0               	vpshufb	%xmm0, %xmm1, %xmm0
    2c99: c5 f9 62 c3                  	vpunpckldq	%xmm3, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
    2c9d: c4 e2 69 00 dc               	vpshufb	%xmm4, %xmm2, %xmm3
    2ca2: c4 e2 71 00 e4               	vpshufb	%xmm4, %xmm1, %xmm4
    2ca7: c4 e2 69 00 d7               	vpshufb	%xmm7, %xmm2, %xmm2
    2cac: c4 e2 71 00 cf               	vpshufb	%xmm7, %xmm1, %xmm1
    2cb1: c5 f1 62 ca                  	vpunpckldq	%xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
    2cb5: c5 fe 6f 56 20               	vmovdqu	0x20(%rsi), %ymm2
    2cba: c4 e2 7d 31 c0               	vpmovzxbd	%xmm0, %ymm0    # ymm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero
    2cbf: c5 d9 62 db                  	vpunpckldq	%xmm3, %xmm4, %xmm3 # xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]
    2cc3: c4 e2 7d 31 c9               	vpmovzxbd	%xmm1, %ymm1    # ymm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero,xmm1[4],zero,zero,zero,xmm1[5],zero,zero,zero,xmm1[6],zero,zero,zero,xmm1[7],zero,zero,zero
    2cc8: c5 fd 72 f0 10               	vpslld	$0x10, %ymm0, %ymm0
    2ccd: c5 ed 72 f2 18               	vpslld	$0x18, %ymm2, %ymm2
    2cd2: c5 fd eb c2                  	vpor	%ymm2, %ymm0, %ymm0
    2cd6: c4 e2 7d 31 d3               	vpmovzxbd	%xmm3, %ymm2    # ymm2 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero,xmm3[4],zero,zero,zero,xmm3[5],zero,zero,zero,xmm3[6],zero,zero,zero,xmm3[7],zero,zero,zero
    2cdb: c5 ed 72 f2 08               	vpslld	$0x8, %ymm2, %ymm2
    2ce0: c5 ed eb c9                  	vpor	%ymm1, %ymm2, %ymm1
    2ce4: c5 fd eb c1                  	vpor	%ymm1, %ymm0, %ymm0
    2ce8: c5 fe 7f 44 24 b0            	vmovdqu	%ymm0, -0x50(%rsp)
    2cee: 66 90                        	nop
    2cf0: 8b 4c 84 c8                  	movl	-0x38(%rsp,%rax,4), %ecx
    2cf4: 8b 7c 84 94                  	movl	-0x6c(%rsp,%rax,4), %edi
    2cf8: c4 e3 7b f0 d1 11            	rorxl	$0x11, %ecx, %edx
    2cfe: c4 e3 7b f0 f1 13            	rorxl	$0x13, %ecx, %esi
    2d04: c1 e9 0a                     	shrl	$0xa, %ecx
    2d07: c4 63 7b f0 c7 12            	rorxl	$0x12, %edi, %r8d
    2d0d: 31 d6                        	xorl	%edx, %esi
    2d0f: 8b 54 84 98                  	movl	-0x68(%rsp,%rax,4), %edx
    2d13: 31 f1                        	xorl	%esi, %ecx
    2d15: 03 4c 84 b4                  	addl	-0x4c(%rsp,%rax,4), %ecx
    2d19: c4 e3 7b f0 f7 07            	rorxl	$0x7, %edi, %esi
    2d1f: 41 31 f0                     	xorl	%esi, %r8d
    2d22: 03 4c 84 90                  	addl	-0x70(%rsp,%rax,4), %ecx
    2d26: c4 e3 7b f0 f2 07            	rorxl	$0x7, %edx, %esi
    2d2c: c4 63 7b f0 ca 12            	rorxl	$0x12, %edx, %r9d
    2d32: 41 89 d2                     	movl	%edx, %r10d
    2d35: 41 c1 ea 03                  	shrl	$0x3, %r10d
    2d39: 41 31 f1                     	xorl	%esi, %r9d
    2d3c: 45 31 ca                     	xorl	%r9d, %r10d
    2d3f: 41 01 fa                     	addl	%edi, %r10d
    2d42: c1 ef 03                     	shrl	$0x3, %edi
    2d45: 44 31 c7                     	xorl	%r8d, %edi
    2d48: 01 f9                        	addl	%edi, %ecx
    2d4a: 89 4c 84 d0                  	movl	%ecx, -0x30(%rsp,%rax,4)
    2d4e: 8b 7c 84 cc                  	movl	-0x34(%rsp,%rax,4), %edi
    2d52: c4 63 7b f0 c7 11            	rorxl	$0x11, %edi, %r8d
    2d58: c4 63 7b f0 cf 13            	rorxl	$0x13, %edi, %r9d
    2d5e: c1 ef 0a                     	shrl	$0xa, %edi
    2d61: 45 31 c1                     	xorl	%r8d, %r9d
    2d64: c4 63 7b f0 c1 13            	rorxl	$0x13, %ecx, %r8d
    2d6a: 44 31 cf                     	xorl	%r9d, %edi
    2d6d: 03 7c 84 b8                  	addl	-0x48(%rsp,%rax,4), %edi
    2d71: 41 01 fa                     	addl	%edi, %r10d
    2d74: c4 e3 7b f0 f9 11            	rorxl	$0x11, %ecx, %edi
    2d7a: c1 e9 0a                     	shrl	$0xa, %ecx
    2d7d: 44 89 54 84 d4               	movl	%r10d, -0x2c(%rsp,%rax,4)
    2d82: 41 31 f8                     	xorl	%edi, %r8d
    2d85: 8b 7c 84 9c                  	movl	-0x64(%rsp,%rax,4), %edi
    2d89: 44 31 c1                     	xorl	%r8d, %ecx
    2d8c: 03 4c 84 bc                  	addl	-0x44(%rsp,%rax,4), %ecx
    2d90: c4 63 7b f0 c7 07            	rorxl	$0x7, %edi, %r8d
    2d96: c4 63 7b f0 cf 12            	rorxl	$0x12, %edi, %r9d
    2d9c: 45 31 c1                     	xorl	%r8d, %r9d
    2d9f: 41 89 f8                     	movl	%edi, %r8d
    2da2: 41 c1 e8 03                  	shrl	$0x3, %r8d
    2da6: 45 31 c8                     	xorl	%r9d, %r8d
    2da9: 41 01 d0                     	addl	%edx, %r8d
    2dac: c4 c3 7b f0 d2 13            	rorxl	$0x13, %r10d, %edx
    2db2: 41 01 c8                     	addl	%ecx, %r8d
    2db5: c4 c3 7b f0 ca 11            	rorxl	$0x11, %r10d, %ecx
    2dbb: 41 c1 ea 0a                  	shrl	$0xa, %r10d
    2dbf: 44 89 44 84 d8               	movl	%r8d, -0x28(%rsp,%rax,4)
    2dc4: 31 ca                        	xorl	%ecx, %edx
    2dc6: 8b 4c 84 a0                  	movl	-0x60(%rsp,%rax,4), %ecx
    2dca: 41 31 d2                     	xorl	%edx, %r10d
    2dcd: 44 03 54 84 c0               	addl	-0x40(%rsp,%rax,4), %r10d
    2dd2: c4 e3 7b f0 d1 07            	rorxl	$0x7, %ecx, %edx
    2dd8: c4 63 7b f0 c1 12            	rorxl	$0x12, %ecx, %r8d
    2dde: c1 e9 03                     	shrl	$0x3, %ecx
    2de1: 41 31 d0                     	xorl	%edx, %r8d
    2de4: 44 31 c1                     	xorl	%r8d, %ecx
    2de7: 01 f9                        	addl	%edi, %ecx
    2de9: 44 01 d1                     	addl	%r10d, %ecx
    2dec: 89 4c 84 dc                  	movl	%ecx, -0x24(%rsp,%rax,4)
    2df0: 48 83 c0 04                  	addq	$0x4, %rax
    2df4: 48 83 f8 30                  	cmpq	$0x30, %rax
    2df8: 0f 85 f2 fe ff ff            	jne	0x2cf0 <sha256_transform+0x100>
    2dfe: c4 c1 7a 6f 4c 24 50         	vmovdqu	0x50(%r12), %xmm1
    2e05: c4 c1 7a 6f 44 24 60         	vmovdqu	0x60(%r12), %xmm0
    2e0c: 41 8b 44 24 50               	movl	0x50(%r12), %eax
    2e11: 41 8b 4c 24 54               	movl	0x54(%r12), %ecx
    2e16: 45 8b 7c 24 58               	movl	0x58(%r12), %r15d
    2e1b: 41 8b 5c 24 5c               	movl	0x5c(%r12), %ebx
    2e20: 45 8b 74 24 60               	movl	0x60(%r12), %r14d
    2e25: 45 8b 5c 24 64               	movl	0x64(%r12), %r11d
    2e2a: 45 8b 54 24 68               	movl	0x68(%r12), %r10d
    2e2f: 41 8b 6c 24 6c               	movl	0x6c(%r12), %ebp
    2e34: 48 8d 3d f5 db ff ff         	leaq	-0x240b(%rip), %rdi     # 0xa30 <k>
    2e3b: 31 d2                        	xorl	%edx, %edx
    2e3d: 4c 89 64 24 88               	movq	%r12, -0x78(%rsp)
    2e42: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    	nopw	%cs:(%rax,%rax)
    2e50: 45 89 f0                     	movl	%r14d, %r8d
    2e53: 45 89 fe                     	movl	%r15d, %r14d
    2e56: c4 c3 7b f0 f0 06            	rorxl	$0x6, %r8d, %esi
    2e5c: c4 43 7b f0 f8 0b            	rorxl	$0xb, %r8d, %r15d
    2e62: 45 89 d9                     	movl	%r11d, %r9d
    2e65: c4 42 38 f2 e2               	andnl	%r10d, %r8d, %r12d
    2e6a: 41 89 cd                     	movl	%ecx, %r13d
    2e6d: 45 31 f5                     	xorl	%r14d, %r13d
    2e70: 41 89 db                     	movl	%ebx, %r11d
    2e73: 89 cb                        	movl	%ecx, %ebx
    2e75: 44 21 f1                     	andl	%r14d, %ecx
    2e78: 41 31 f7                     	xorl	%esi, %r15d
    2e7b: c4 c3 7b f0 f0 19            	rorxl	$0x19, %r8d, %esi
    2e81: 41 21 c5                     	andl	%eax, %r13d
    2e84: 44 31 fe                     	xorl	%r15d, %esi
    2e87: 45 89 cf                     	movl	%r9d, %r15d
    2e8a: 45 21 c7                     	andl	%r8d, %r15d
    2e8d: 44 31 e9                     	xorl	%r13d, %ecx
    2e90: 45 09 fc                     	orl	%r15d, %r12d
    2e93: 41 89 c7                     	movl	%eax, %r15d
    2e96: 41 01 ec                     	addl	%ebp, %r12d
    2e99: c4 e3 7b f0 e8 0d            	rorxl	$0xd, %eax, %ebp
    2e9f: 41 01 f4                     	addl	%esi, %r12d
    2ea2: 44 03 24 97                  	addl	(%rdi,%rdx,4), %r12d
    2ea6: c4 e3 7b f0 f0 02            	rorxl	$0x2, %eax, %esi
    2eac: 44 03 64 94 90               	addl	-0x70(%rsp,%rdx,4), %r12d
    2eb1: 31 f5                        	xorl	%esi, %ebp
    2eb3: c4 e3 7b f0 f0 16            	rorxl	$0x16, %eax, %esi
    2eb9: 31 ee                        	xorl	%ebp, %esi
    2ebb: 01 f1                        	addl	%esi, %ecx
    2ebd: 45 01 e3                     	addl	%r12d, %r11d
    2ec0: 44 01 e1                     	addl	%r12d, %ecx
    2ec3: c4 c3 7b f0 f3 06            	rorxl	$0x6, %r11d, %esi
    2ec9: c4 c3 7b f0 eb 0b            	rorxl	$0xb, %r11d, %ebp
    2ecf: c4 42 20 f2 e1               	andnl	%r9d, %r11d, %r12d
    2ed4: 31 f5                        	xorl	%esi, %ebp
    2ed6: c4 c3 7b f0 f3 19            	rorxl	$0x19, %r11d, %esi
    2edc: 31 ee                        	xorl	%ebp, %esi
    2ede: 44 89 c5                     	movl	%r8d, %ebp
    2ee1: 44 21 dd                     	andl	%r11d, %ebp
    2ee4: 41 09 ec                     	orl	%ebp, %r12d
    2ee7: 44 89 cd                     	movl	%r9d, %ebp
    2eea: 45 01 d4                     	addl	%r10d, %r12d
    2eed: c4 63 7b f0 d1 0d            	rorxl	$0xd, %ecx, %r10d
    2ef3: 41 01 f4                     	addl	%esi, %r12d
    2ef6: 44 03 64 97 04               	addl	0x4(%rdi,%rdx,4), %r12d
    2efb: c4 e3 7b f0 f1 02            	rorxl	$0x2, %ecx, %esi
    2f01: 44 03 64 94 94               	addl	-0x6c(%rsp,%rdx,4), %r12d
    2f06: 41 31 f2                     	xorl	%esi, %r10d
    2f09: c4 e3 7b f0 f1 16            	rorxl	$0x16, %ecx, %esi
    2f0f: 48 83 c2 02                  	addq	$0x2, %rdx
    2f13: 44 31 d6                     	xorl	%r10d, %esi
    2f16: 41 89 c2                     	movl	%eax, %r10d
    2f19: 41 31 da                     	xorl	%ebx, %r10d
    2f1c: 21 d8                        	andl	%ebx, %eax
    2f1e: 41 21 ca                     	andl	%ecx, %r10d
    2f21: 44 31 d0                     	xorl	%r10d, %eax
    2f24: 45 89 c2                     	movl	%r8d, %r10d
    2f27: 01 f0                        	addl	%esi, %eax
    2f29: 45 01 e6                     	addl	%r12d, %r14d
    2f2c: 44 01 e0                     	addl	%r12d, %eax
    2f2f: 48 83 fa 40                  	cmpq	$0x40, %rdx
    2f33: 0f 85 17 ff ff ff            	jne	0x2e50 <sha256_transform+0x260>
    2f39: c5 f9 6e d0                  	vmovd	%eax, %xmm2
    2f3d: c4 e3 69 22 d1 01            	vpinsrd	$0x1, %ecx, %xmm2, %xmm2
    2f43: 48 8b 4c 24 88               	movq	-0x78(%rsp), %rcx
    2f48: c4 c3 69 22 d7 02            	vpinsrd	$0x2, %r15d, %xmm2, %xmm2
    2f4e: c4 e3 69 22 d3 03            	vpinsrd	$0x3, %ebx, %xmm2, %xmm2
    2f54: c5 e9 fe c9                  	vpaddd	%xmm1, %xmm2, %xmm1
    2f58: c5 fa 7f 49 50               	vmovdqu	%xmm1, 0x50(%rcx)
    2f5d: c4 c1 79 6e ce               	vmovd	%r14d, %xmm1
    2f62: c4 c3 71 22 cb 01            	vpinsrd	$0x1, %r11d, %xmm1, %xmm1
    2f68: c4 c3 71 22 c8 02            	vpinsrd	$0x2, %r8d, %xmm1, %xmm1
    2f6e: c4 c3 71 22 c9 03            	vpinsrd	$0x3, %r9d, %xmm1, %xmm1
    2f74: c5 f1 fe c0                  	vpaddd	%xmm0, %xmm1, %xmm0
    2f78: c5 fa 7f 41 60               	vmovdqu	%xmm0, 0x60(%rcx)
    2f7d: 48 81 c4 98 00 00 00         	addq	$0x98, %rsp
    2f84: 5b                           	popq	%rbx
    2f85: 41 5c                        	popq	%r12
    2f87: 41 5d                        	popq	%r13
    2f89: 41 5e                        	popq	%r14
    2f8b: 41 5f                        	popq	%r15
    2f8d: 5d                           	popq	%rbp
    2f8e: c5 f8 77                     	vzeroupper
    2f91: c3                           	retq
    2f92: cc                           	int3
    2f93: cc                           	int3
    2f94: cc                           	int3
    2f95: cc                           	int3
    2f96: cc                           	int3
    2f97: cc                           	int3
    2f98: cc                           	int3
    2f99: cc                           	int3
    2f9a: cc                           	int3
    2f9b: cc                           	int3
    2f9c: cc                           	int3
    2f9d: cc                           	int3
    2f9e: cc                           	int3
    2f9f: cc                           	int3

0000000000002fa0 <sha256_init>:
    2fa0: c5 fc 28 05 f8 d9 ff ff      	vmovaps	-0x2608(%rip), %ymm0    # 0x9a0 <memset+0x9a0>
    2fa8: c7 47 40 00 00 00 00         	movl	$0x0, 0x40(%rdi)
    2faf: 48 c7 47 48 00 00 00 00      	movq	$0x0, 0x48(%rdi)
    2fb7: c5 fc 11 47 50               	vmovups	%ymm0, 0x50(%rdi)
    2fbc: c5 f8 77                     	vzeroupper
    2fbf: c3                           	retq

0000000000002fc0 <sha256_update>:
    2fc0: 48 85 d2                     	testq	%rdx, %rdx
    2fc3: 74 77                        	je	0x303c <sha256_update+0x7c>
    2fc5: 55                           	pushq	%rbp
    2fc6: 41 57                        	pushq	%r15
    2fc8: 41 56                        	pushq	%r14
    2fca: 53                           	pushq	%rbx
    2fcb: 50                           	pushq	%rax
    2fcc: 8b 47 40                     	movl	0x40(%rdi), %eax
    2fcf: bd 01 00 00 00               	movl	$0x1, %ebp
    2fd4: 48 89 d3                     	movq	%rdx, %rbx
    2fd7: 49 89 f6                     	movq	%rsi, %r14
    2fda: 49 89 ff                     	movq	%rdi, %r15
    2fdd: 31 c9                        	xorl	%ecx, %ecx
    2fdf: eb 18                        	jmp	0x2ff9 <sha256_update+0x39>
    2fe1: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	nopw	%cs:(%rax,%rax)
    2ff0: 89 e9                        	movl	%ebp, %ecx
    2ff2: ff c5                        	incl	%ebp
    2ff4: 48 39 cb                     	cmpq	%rcx, %rbx
    2ff7: 76 39                        	jbe	0x3032 <sha256_update+0x72>
    2ff9: 41 0f b6 0c 0e               	movzbl	(%r14,%rcx), %ecx
    2ffe: 89 c0                        	movl	%eax, %eax
    3000: 41 88 0c 07                  	movb	%cl, (%r15,%rax)
    3004: 41 8b 47 40                  	movl	0x40(%r15), %eax
    3008: ff c0                        	incl	%eax
    300a: 41 89 47 40                  	movl	%eax, 0x40(%r15)
    300e: 83 f8 40                     	cmpl	$0x40, %eax
    3011: 75 dd                        	jne	0x2ff0 <sha256_update+0x30>
    3013: 4c 89 ff                     	movq	%r15, %rdi
    3016: 4c 89 fe                     	movq	%r15, %rsi
    3019: e8 d2 fb ff ff               	callq	0x2bf0 <sha256_transform>
    301e: 49 81 47 48 00 02 00 00      	addq	$0x200, 0x48(%r15)      # imm = 0x200
    3026: 31 c0                        	xorl	%eax, %eax
    3028: 41 c7 47 40 00 00 00 00      	movl	$0x0, 0x40(%r15)
    3030: eb be                        	jmp	0x2ff0 <sha256_update+0x30>
    3032: 48 83 c4 08                  	addq	$0x8, %rsp
    3036: 5b                           	popq	%rbx
    3037: 41 5e                        	popq	%r14
    3039: 41 5f                        	popq	%r15
    303b: 5d                           	popq	%rbp
    303c: c3                           	retq
    303d: cc                           	int3
    303e: cc                           	int3
    303f: cc                           	int3

0000000000003040 <sha256_final>:
    3040: 55                           	pushq	%rbp
    3041: 53                           	pushq	%rbx
    3042: 50                           	pushq	%rax
    3043: 8b 47 40                     	movl	0x40(%rdi), %eax
    3046: 48 89 f3                     	movq	%rsi, %rbx
    3049: 48 89 fd                     	movq	%rdi, %rbp
    304c: c6 04 07 80                  	movb	$-0x80, (%rdi,%rax)
    3050: 48 83 f8 37                  	cmpq	$0x37, %rax
    3054: 77 1e                        	ja	0x3074 <sha256_final+0x34>
    3056: 83 f8 37                     	cmpl	$0x37, %eax
    3059: 74 50                        	je	0x30ab <sha256_final+0x6b>
    305b: 48 8d 7c 05 00               	leaq	(%rbp,%rax), %rdi
    3060: ba 37 00 00 00               	movl	$0x37, %edx
    3065: 31 f6                        	xorl	%esi, %esi
    3067: 48 ff c7                     	incq	%rdi
    306a: 48 29 c2                     	subq	%rax, %rdx
    306d: e8 ce 01 00 00               	callq	0x3240 <memset@plt>
    3072: eb 37                        	jmp	0x30ab <sha256_final+0x6b>
    3074: 8d 48 01                     	leal	0x1(%rax), %ecx
    3077: 83 f9 3f                     	cmpl	$0x3f, %ecx
    307a: 77 16                        	ja	0x3092 <sha256_final+0x52>
    307c: ba 3e 00 00 00               	movl	$0x3e, %edx
    3081: 89 cf                        	movl	%ecx, %edi
    3083: 48 01 ef                     	addq	%rbp, %rdi
    3086: 31 f6                        	xorl	%esi, %esi
    3088: 29 c2                        	subl	%eax, %edx
    308a: 48 ff c2                     	incq	%rdx
    308d: e8 ae 01 00 00               	callq	0x3240 <memset@plt>
    3092: 48 89 ef                     	movq	%rbp, %rdi
    3095: 48 89 ee                     	movq	%rbp, %rsi
    3098: e8 53 fb ff ff               	callq	0x2bf0 <sha256_transform>
    309d: c5 f8 57 c0                  	vxorps	%xmm0, %xmm0, %xmm0
    30a1: c5 fc 11 45 18               	vmovups	%ymm0, 0x18(%rbp)
    30a6: c5 fc 11 45 00               	vmovups	%ymm0, (%rbp)
    30ab: 8b 45 40                     	movl	0x40(%rbp), %eax
    30ae: 48 89 ef                     	movq	%rbp, %rdi
    30b1: 48 89 ee                     	movq	%rbp, %rsi
    30b4: c1 e0 03                     	shll	$0x3, %eax
    30b7: 48 03 45 48                  	addq	0x48(%rbp), %rax
    30bb: 89 c1                        	movl	%eax, %ecx
    30bd: c1 e9 10                     	shrl	$0x10, %ecx
    30c0: 48 89 45 48                  	movq	%rax, 0x48(%rbp)
    30c4: 88 45 3f                     	movb	%al, 0x3f(%rbp)
    30c7: 88 65 3e                     	movb	%ah, 0x3e(%rbp)
    30ca: 88 4d 3d                     	movb	%cl, 0x3d(%rbp)
    30cd: 89 c1                        	movl	%eax, %ecx
    30cf: c1 e9 18                     	shrl	$0x18, %ecx
    30d2: 88 4d 3c                     	movb	%cl, 0x3c(%rbp)
    30d5: 48 89 c1                     	movq	%rax, %rcx
    30d8: 48 c1 e9 20                  	shrq	$0x20, %rcx
    30dc: 88 4d 3b                     	movb	%cl, 0x3b(%rbp)
    30df: 48 89 c1                     	movq	%rax, %rcx
    30e2: 48 c1 e9 28                  	shrq	$0x28, %rcx
    30e6: 88 4d 3a                     	movb	%cl, 0x3a(%rbp)
    30e9: 48 89 c1                     	movq	%rax, %rcx
    30ec: 48 c1 e9 30                  	shrq	$0x30, %rcx
    30f0: 48 c1 e8 38                  	shrq	$0x38, %rax
    30f4: 88 4d 39                     	movb	%cl, 0x39(%rbp)
    30f7: 88 45 38                     	movb	%al, 0x38(%rbp)
    30fa: c5 f8 77                     	vzeroupper
    30fd: e8 ee fa ff ff               	callq	0x2bf0 <sha256_transform>
    3102: 0f b6 45 53                  	movzbl	0x53(%rbp), %eax
    3106: 88 03                        	movb	%al, (%rbx)
    3108: 0f b6 45 57                  	movzbl	0x57(%rbp), %eax
    310c: 88 43 04                     	movb	%al, 0x4(%rbx)
    310f: 0f b6 45 5b                  	movzbl	0x5b(%rbp), %eax
    3113: 88 43 08                     	movb	%al, 0x8(%rbx)
    3116: 0f b6 45 5f                  	movzbl	0x5f(%rbp), %eax
    311a: 88 43 0c                     	movb	%al, 0xc(%rbx)
    311d: 0f b6 45 63                  	movzbl	0x63(%rbp), %eax
    3121: 88 43 10                     	movb	%al, 0x10(%rbx)
    3124: 0f b6 45 67                  	movzbl	0x67(%rbp), %eax
    3128: 88 43 14                     	movb	%al, 0x14(%rbx)
    312b: 0f b6 45 6b                  	movzbl	0x6b(%rbp), %eax
    312f: 88 43 18                     	movb	%al, 0x18(%rbx)
    3132: 0f b6 45 6f                  	movzbl	0x6f(%rbp), %eax
    3136: 88 43 1c                     	movb	%al, 0x1c(%rbx)
    3139: 0f b6 45 52                  	movzbl	0x52(%rbp), %eax
    313d: 88 43 01                     	movb	%al, 0x1(%rbx)
    3140: 0f b6 45 56                  	movzbl	0x56(%rbp), %eax
    3144: 88 43 05                     	movb	%al, 0x5(%rbx)
    3147: 0f b6 45 5a                  	movzbl	0x5a(%rbp), %eax
    314b: 88 43 09                     	movb	%al, 0x9(%rbx)
    314e: 0f b6 45 5e                  	movzbl	0x5e(%rbp), %eax
    3152: 88 43 0d                     	movb	%al, 0xd(%rbx)
    3155: 0f b6 45 62                  	movzbl	0x62(%rbp), %eax
    3159: 88 43 11                     	movb	%al, 0x11(%rbx)
    315c: 0f b6 45 66                  	movzbl	0x66(%rbp), %eax
    3160: 88 43 15                     	movb	%al, 0x15(%rbx)
    3163: 0f b6 45 6a                  	movzbl	0x6a(%rbp), %eax
    3167: 88 43 19                     	movb	%al, 0x19(%rbx)
    316a: 0f b6 45 6e                  	movzbl	0x6e(%rbp), %eax
    316e: 88 43 1d                     	movb	%al, 0x1d(%rbx)
    3171: 0f b6 45 51                  	movzbl	0x51(%rbp), %eax
    3175: 88 43 02                     	movb	%al, 0x2(%rbx)
    3178: 0f b6 45 55                  	movzbl	0x55(%rbp), %eax
    317c: 88 43 06                     	movb	%al, 0x6(%rbx)
    317f: 0f b6 45 59                  	movzbl	0x59(%rbp), %eax
    3183: 88 43 0a                     	movb	%al, 0xa(%rbx)
    3186: 0f b6 45 5d                  	movzbl	0x5d(%rbp), %eax
    318a: 88 43 0e                     	movb	%al, 0xe(%rbx)
    318d: 0f b6 45 61                  	movzbl	0x61(%rbp), %eax
    3191: 88 43 12                     	movb	%al, 0x12(%rbx)
    3194: 0f b6 45 65                  	movzbl	0x65(%rbp), %eax
    3198: 88 43 16                     	movb	%al, 0x16(%rbx)
    319b: 0f b6 45 69                  	movzbl	0x69(%rbp), %eax
    319f: 88 43 1a                     	movb	%al, 0x1a(%rbx)
    31a2: 0f b6 45 6d                  	movzbl	0x6d(%rbp), %eax
    31a6: 88 43 1e                     	movb	%al, 0x1e(%rbx)
    31a9: 0f b6 45 50                  	movzbl	0x50(%rbp), %eax
    31ad: 88 43 03                     	movb	%al, 0x3(%rbx)
    31b0: 0f b6 45 54                  	movzbl	0x54(%rbp), %eax
    31b4: 88 43 07                     	movb	%al, 0x7(%rbx)
    31b7: 0f b6 45 58                  	movzbl	0x58(%rbp), %eax
    31bb: 88 43 0b                     	movb	%al, 0xb(%rbx)
    31be: 0f b6 45 5c                  	movzbl	0x5c(%rbp), %eax
    31c2: 88 43 0f                     	movb	%al, 0xf(%rbx)
    31c5: 0f b6 45 60                  	movzbl	0x60(%rbp), %eax
    31c9: 88 43 13                     	movb	%al, 0x13(%rbx)
    31cc: 0f b6 45 64                  	movzbl	0x64(%rbp), %eax
    31d0: 88 43 17                     	movb	%al, 0x17(%rbx)
    31d3: 0f b6 45 68                  	movzbl	0x68(%rbp), %eax
    31d7: 88 43 1b                     	movb	%al, 0x1b(%rbx)
    31da: 0f b6 45 6c                  	movzbl	0x6c(%rbp), %eax
    31de: 88 43 1f                     	movb	%al, 0x1f(%rbx)
    31e1: 48 83 c4 08                  	addq	$0x8, %rsp
    31e5: 5b                           	popq	%rbx
    31e6: 5d                           	popq	%rbp
    31e7: c3                           	retq

Disassembly of section .init:

00000000000031e8 <_init>:
    31e8: f3 0f 1e fa                  	endbr64
    31ec: 48 83 ec 08                  	subq	$0x8, %rsp
    31f0: 48 8b 05 f9 11 00 00         	movq	0x11f9(%rip), %rax      # 0x43f0 <memset+0x43f0>
    31f7: 48 85 c0                     	testq	%rax, %rax
    31fa: 74 02                        	je	0x31fe <_init+0x16>
    31fc: ff d0                        	callq	*%rax
    31fe: 48 83 c4 08                  	addq	$0x8, %rsp
    3202: c3                           	retq

Disassembly of section .fini:

0000000000003204 <_fini>:
    3204: f3 0f 1e fa                  	endbr64
    3208: 48 83 ec 08                  	subq	$0x8, %rsp
    320c: 48 83 c4 08                  	addq	$0x8, %rsp
    3210: c3                           	retq

Disassembly of section .plt:

0000000000003220 <.plt>:
    3220: ff 35 fa 21 00 00            	pushq	0x21fa(%rip)            # 0x5420 <_GLOBAL_OFFSET_TABLE_+0x8>
    3226: ff 25 fc 21 00 00            	jmpq	*0x21fc(%rip)           # 0x5428 <_GLOBAL_OFFSET_TABLE_+0x10>
    322c: 0f 1f 40 00                  	nopl	(%rax)

0000000000003230 <malloc@plt>:
    3230: ff 25 fa 21 00 00            	jmpq	*0x21fa(%rip)           # 0x5430 <_GLOBAL_OFFSET_TABLE_+0x18>
    3236: 68 00 00 00 00               	pushq	$0x0
    323b: e9 e0 ff ff ff               	jmp	0x3220 <.plt>

0000000000003240 <memset@plt>:
    3240: ff 25 f2 21 00 00            	jmpq	*0x21f2(%rip)           # 0x5438 <_GLOBAL_OFFSET_TABLE_+0x20>
    3246: 68 01 00 00 00               	pushq	$0x1
    324b: e9 d0 ff ff ff               	jmp	0x3220 <.plt>
