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

Disassembly of section .text:

0000000000001d20 <deregister_tm_clones>:
    1d20: 48 8d 3d 81 35 00 00         	leaq	0x3581(%rip), %rdi      # 0x52a8 <_GLOBAL_OFFSET_TABLE_>
    1d27: 48 8d 05 7a 35 00 00         	leaq	0x357a(%rip), %rax      # 0x52a8 <_GLOBAL_OFFSET_TABLE_>
    1d2e: 48 39 f8                     	cmpq	%rdi, %rax
    1d31: 74 15                        	je	0x1d48 <deregister_tm_clones+0x28>
    1d33: 48 8b 05 4e 25 00 00         	movq	0x254e(%rip), %rax      # 0x4288 <memset+0x4288>
    1d3a: 48 85 c0                     	testq	%rax, %rax
    1d3d: 74 09                        	je	0x1d48 <deregister_tm_clones+0x28>
    1d3f: ff e0                        	jmpq	*%rax
    1d41: 0f 1f 80 00 00 00 00         	nopl	(%rax)
    1d48: c3                           	retq
    1d49: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001d50 <register_tm_clones>:
    1d50: 48 8d 3d 51 35 00 00         	leaq	0x3551(%rip), %rdi      # 0x52a8 <_GLOBAL_OFFSET_TABLE_>
    1d57: 48 8d 35 4a 35 00 00         	leaq	0x354a(%rip), %rsi      # 0x52a8 <_GLOBAL_OFFSET_TABLE_>
    1d5e: 48 29 fe                     	subq	%rdi, %rsi
    1d61: 48 89 f0                     	movq	%rsi, %rax
    1d64: 48 c1 ee 3f                  	shrq	$0x3f, %rsi
    1d68: 48 c1 f8 03                  	sarq	$0x3, %rax
    1d6c: 48 01 c6                     	addq	%rax, %rsi
    1d6f: 48 d1 fe                     	sarq	%rsi
    1d72: 74 14                        	je	0x1d88 <register_tm_clones+0x38>
    1d74: 48 8b 05 15 25 00 00         	movq	0x2515(%rip), %rax      # 0x4290 <memset+0x4290>
    1d7b: 48 85 c0                     	testq	%rax, %rax
    1d7e: 74 08                        	je	0x1d88 <register_tm_clones+0x38>
    1d80: ff e0                        	jmpq	*%rax
    1d82: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    1d88: c3                           	retq
    1d89: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001d90 <__do_global_dtors_aux>:
    1d90: f3 0f 1e fa                  	endbr64
    1d94: 80 3d 35 35 00 00 00         	cmpb	$0x0, 0x3535(%rip)      # 0x52d0 <completed.0>
    1d9b: 75 33                        	jne	0x1dd0 <__do_global_dtors_aux+0x40>
    1d9d: 55                           	pushq	%rbp
    1d9e: 48 83 3d f2 24 00 00 00      	cmpq	$0x0, 0x24f2(%rip)      # 0x4298 <memset+0x4298>
    1da6: 48 89 e5                     	movq	%rsp, %rbp
    1da9: 74 0d                        	je	0x1db8 <__do_global_dtors_aux+0x28>
    1dab: 48 8b 3d ee 34 00 00         	movq	0x34ee(%rip), %rdi      # 0x52a0 <__dso_handle>
    1db2: ff 15 e0 24 00 00            	callq	*0x24e0(%rip)           # 0x4298 <memset+0x4298>
    1db8: e8 63 ff ff ff               	callq	0x1d20 <deregister_tm_clones>
    1dbd: c6 05 0c 35 00 00 01         	movb	$0x1, 0x350c(%rip)      # 0x52d0 <completed.0>
    1dc4: 5d                           	popq	%rbp
    1dc5: c3                           	retq
    1dc6: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    1dd0: c3                           	retq
    1dd1: 0f 1f 40 00                  	nopl	(%rax)
    1dd5: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)

0000000000001de0 <frame_dummy>:
    1de0: f3 0f 1e fa                  	endbr64
    1de4: e9 67 ff ff ff               	jmp	0x1d50 <register_tm_clones>
    1de9: cc                           	int3
    1dea: cc                           	int3
    1deb: cc                           	int3
    1dec: cc                           	int3
    1ded: cc                           	int3
    1dee: cc                           	int3
    1def: cc                           	int3

0000000000001df0 <jsmn_parse>:
    1df0: 55                           	pushq	%rbp
    1df1: 41 57                        	pushq	%r15
    1df3: 41 56                        	pushq	%r14
    1df5: 41 55                        	pushq	%r13
    1df7: 41 54                        	pushq	%r12
    1df9: 53                           	pushq	%rbx
    1dfa: 44 8b 37                     	movl	(%rdi), %r14d
    1dfd: 44 8b 4f 04                  	movl	0x4(%rdi), %r9d
    1e01: 4c 39 f2                     	cmpq	%r14, %rdx
    1e04: 0f 86 3b 05 00 00            	jbe	0x2345 <jsmn_parse+0x555>
    1e0a: 4c 8d 1d 2f e8 ff ff         	leaq	-0x17d1(%rip), %r11     # 0x640 <memset+0x640>
    1e11: 48 8d 1d 20 ea ff ff         	leaq	-0x15e0(%rip), %rbx     # 0x838 <memset+0x838>
    1e18: 49 bf 00 26 00 00 01 10 00 00	movabsq	$0x100100002600, %r15   # imm = 0x100100002600
    1e22: 45 89 f4                     	movl	%r14d, %r12d
    1e25: eb 3e                        	jmp	0x1e65 <jsmn_parse+0x75>
    1e27: 49 01 ce                     	addq	%rcx, %r14
    1e2a: 31 c0                        	xorl	%eax, %eax
    1e2c: 41 80 fd 7b                  	cmpb	$0x7b, %r13b
    1e30: 0f 95 c0                     	setne	%al
    1e33: ff c0                        	incl	%eax
    1e35: 41 89 06                     	movl	%eax, (%r14)
    1e38: 8b 07                        	movl	(%rdi), %eax
    1e3a: 41 89 46 04                  	movl	%eax, 0x4(%r14)
    1e3e: 8b 47 04                     	movl	0x4(%rdi), %eax
    1e41: ff c8                        	decl	%eax
    1e43: 89 47 08                     	movl	%eax, 0x8(%rdi)
    1e46: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    1e50: 44 8b 37                     	movl	(%rdi), %r14d
    1e53: 41 ff c6                     	incl	%r14d
    1e56: 44 89 37                     	movl	%r14d, (%rdi)
    1e59: 45 89 f4                     	movl	%r14d, %r12d
    1e5c: 4c 39 f2                     	cmpq	%r14, %rdx
    1e5f: 0f 86 e0 04 00 00            	jbe	0x2345 <jsmn_parse+0x555>
    1e65: 46 0f b6 2c 36               	movzbl	(%rsi,%r14), %r13d
    1e6a: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    1e6f: 49 83 fd 7d                  	cmpq	$0x7d, %r13
    1e73: 0f 87 2d 05 00 00            	ja	0x23a6 <jsmn_parse+0x5b6>
    1e79: 4f 63 14 ab                  	movslq	(%r11,%r13,4), %r10
    1e7d: 4d 01 da                     	addq	%r11, %r10
    1e80: 41 ff e2                     	jmpq	*%r10
    1e83: 48 85 c9                     	testq	%rcx, %rcx
    1e86: 74 38                        	je	0x1ec0 <jsmn_parse+0xd0>
    1e88: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1e8c: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1e90: 74 2e                        	je	0x1ec0 <jsmn_parse+0xd0>
    1e92: 49 c1 e2 04                  	shlq	$0x4, %r10
    1e96: 42 8b 2c 11                  	movl	(%rcx,%r10), %ebp
    1e9a: 83 fd 04                     	cmpl	$0x4, %ebp
    1e9d: 74 0a                        	je	0x1ea9 <jsmn_parse+0xb9>
    1e9f: 83 fd 01                     	cmpl	$0x1, %ebp
    1ea2: 75 1c                        	jne	0x1ec0 <jsmn_parse+0xd0>
    1ea4: e9 fd 04 00 00               	jmp	0x23a6 <jsmn_parse+0x5b6>
    1ea9: 49 01 ca                     	addq	%rcx, %r10
    1eac: 41 83 7a 0c 00               	cmpl	$0x0, 0xc(%r10)
    1eb1: 0f 85 ef 04 00 00            	jne	0x23a6 <jsmn_parse+0x5b6>
    1eb7: 66 0f 1f 84 00 00 00 00 00   	nopw	(%rax,%rax)
    1ec0: 45 89 e5                     	movl	%r12d, %r13d
    1ec3: 46 0f b6 14 36               	movzbl	(%rsi,%r14), %r10d
    1ec8: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    1ecd: 49 83 fa 2c                  	cmpq	$0x2c, %r10
    1ed1: 77 0f                        	ja	0x1ee2 <jsmn_parse+0xf2>
    1ed3: 4d 0f a3 d7                  	btq	%r10, %r15
    1ed7: 72 37                        	jb	0x1f10 <jsmn_parse+0x120>
    1ed9: 4d 85 d2                     	testq	%r10, %r10
    1edc: 0f 84 c1 04 00 00            	je	0x23a3 <jsmn_parse+0x5b3>
    1ee2: 41 83 fa 5d                  	cmpl	$0x5d, %r10d
    1ee6: 74 28                        	je	0x1f10 <jsmn_parse+0x120>
    1ee8: 41 83 fa 7d                  	cmpl	$0x7d, %r10d
    1eec: 74 22                        	je	0x1f10 <jsmn_parse+0x120>
    1eee: 41 80 c2 81                  	addb	$-0x7f, %r10b
    1ef2: 41 80 fa a1                  	cmpb	$-0x5f, %r10b
    1ef6: 0f 82 94 04 00 00            	jb	0x2390 <jsmn_parse+0x5a0>
    1efc: 41 ff c5                     	incl	%r13d
    1eff: 44 89 2f                     	movl	%r13d, (%rdi)
    1f02: 4d 89 ee                     	movq	%r13, %r14
    1f05: 4c 39 ea                     	cmpq	%r13, %rdx
    1f08: 77 b9                        	ja	0x1ec3 <jsmn_parse+0xd3>
    1f0a: e9 94 04 00 00               	jmp	0x23a3 <jsmn_parse+0x5b3>
    1f0f: 90                           	nop
    1f10: 48 85 c9                     	testq	%rcx, %rcx
    1f13: 74 65                        	je	0x1f7a <jsmn_parse+0x18a>
    1f15: 8b 47 04                     	movl	0x4(%rdi), %eax
    1f18: 41 39 c0                     	cmpl	%eax, %r8d
    1f1b: 0f 86 7d 04 00 00            	jbe	0x239e <jsmn_parse+0x5ae>
    1f21: 44 8d 50 01                  	leal	0x1(%rax), %r10d
    1f25: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    1f29: 48 c1 e0 04                  	shlq	$0x4, %rax
    1f2d: 48 c7 44 01 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%rax)
    1f36: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    1f3e: 44 8b 17                     	movl	(%rdi), %r10d
    1f41: c7 04 01 08 00 00 00         	movl	$0x8, (%rcx,%rax)
    1f48: 44 89 64 01 04               	movl	%r12d, 0x4(%rcx,%rax)
    1f4d: 44 89 54 01 08               	movl	%r10d, 0x8(%rcx,%rax)
    1f52: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    1f5a: ff 0f                        	decl	(%rdi)
    1f5c: 41 ff c1                     	incl	%r9d
    1f5f: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    1f63: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    1f67: 0f 84 e3 fe ff ff            	je	0x1e50 <jsmn_parse+0x60>
    1f6d: 48 c1 e0 04                  	shlq	$0x4, %rax
    1f71: ff 44 01 0c                  	incl	0xc(%rcx,%rax)
    1f75: e9 d6 fe ff ff               	jmp	0x1e50 <jsmn_parse+0x60>
    1f7a: 41 ff cd                     	decl	%r13d
    1f7d: 44 89 2f                     	movl	%r13d, (%rdi)
    1f80: 41 ff c1                     	incl	%r9d
    1f83: e9 c8 fe ff ff               	jmp	0x1e50 <jsmn_parse+0x60>
    1f88: 41 ff c1                     	incl	%r9d
    1f8b: 48 85 c9                     	testq	%rcx, %rcx
    1f8e: 0f 84 bc fe ff ff            	je	0x1e50 <jsmn_parse+0x60>
    1f94: 44 8b 77 04                  	movl	0x4(%rdi), %r14d
    1f98: 45 39 f0                     	cmpl	%r14d, %r8d
    1f9b: 0f 86 10 04 00 00            	jbe	0x23b1 <jsmn_parse+0x5c1>
    1fa1: 45 8d 56 01                  	leal	0x1(%r14), %r10d
    1fa5: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    1fa9: 49 c1 e6 04                  	shlq	$0x4, %r14
    1fad: 4a c7 44 31 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%r14)
    1fb6: 42 c7 44 31 0c 00 00 00 00   	movl	$0x0, 0xc(%rcx,%r14)
    1fbf: 4c 63 57 08                  	movslq	0x8(%rdi), %r10
    1fc3: 49 83 fa ff                  	cmpq	$-0x1, %r10
    1fc7: 0f 84 5a fe ff ff            	je	0x1e27 <jsmn_parse+0x37>
    1fcd: 49 c1 e2 04                  	shlq	$0x4, %r10
    1fd1: 42 83 3c 11 01               	cmpl	$0x1, (%rcx,%r10)
    1fd6: 0f 84 ca 03 00 00            	je	0x23a6 <jsmn_parse+0x5b6>
    1fdc: 49 01 ca                     	addq	%rcx, %r10
    1fdf: 41 ff 42 0c                  	incl	0xc(%r10)
    1fe3: e9 3f fe ff ff               	jmp	0x1e27 <jsmn_parse+0x37>
    1fe8: 48 85 c9                     	testq	%rcx, %rcx
    1feb: 0f 84 5f fe ff ff            	je	0x1e50 <jsmn_parse+0x60>
    1ff1: 45 31 f6                     	xorl	%r14d, %r14d
    1ff4: 41 80 fd 7d                  	cmpb	$0x7d, %r13b
    1ff8: 41 0f 95 c2                  	setne	%r10b
    1ffc: 44 8b 6f 04                  	movl	0x4(%rdi), %r13d
    2000: 44 89 ed                     	movl	%r13d, %ebp
    2003: ff cd                        	decl	%ebp
    2005: 0f 88 c8 02 00 00            	js	0x22d3 <jsmn_parse+0x4e3>
    200b: 45 88 d6                     	movb	%r10b, %r14b
    200e: 41 ff c6                     	incl	%r14d
    2011: 41 89 ea                     	movl	%ebp, %r10d
    2014: 4d 89 d5                     	movq	%r10, %r13
    2017: 49 c1 e5 04                  	shlq	$0x4, %r13
    201b: 49 01 cd                     	addq	%rcx, %r13
    201e: eb 13                        	jmp	0x2033 <jsmn_parse+0x243>
    2020: 49 83 c5 f0                  	addq	$-0x10, %r13
    2024: ff cd                        	decl	%ebp
    2026: 4d 85 d2                     	testq	%r10, %r10
    2029: 4d 8d 52 ff                  	leaq	-0x1(%r10), %r10
    202d: 0f 8e 73 03 00 00            	jle	0x23a6 <jsmn_parse+0x5b6>
    2033: 41 83 7d 04 ff               	cmpl	$-0x1, 0x4(%r13)
    2038: 74 e6                        	je	0x2020 <jsmn_parse+0x230>
    203a: 41 83 7d 08 ff               	cmpl	$-0x1, 0x8(%r13)
    203f: 75 df                        	jne	0x2020 <jsmn_parse+0x230>
    2041: 45 39 75 00                  	cmpl	%r14d, (%r13)
    2045: 0f 85 5b 03 00 00            	jne	0x23a6 <jsmn_parse+0x5b6>
    204b: c7 47 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rdi)  # imm = 0xFFFFFFFF
    2052: 41 ff c4                     	incl	%r12d
    2055: 45 89 65 08                  	movl	%r12d, 0x8(%r13)
    2059: 44 89 d0                     	movl	%r10d, %eax
    205c: 41 89 ea                     	movl	%ebp, %r10d
    205f: 49 c1 e2 04                  	shlq	$0x4, %r10
    2063: 4c 8d 71 08                  	leaq	0x8(%rcx), %r14
    2067: 4d 01 f2                     	addq	%r14, %r10
    206a: eb 15                        	jmp	0x2081 <jsmn_parse+0x291>
    206c: 0f 1f 40 00                  	nopl	(%rax)
    2070: 49 83 c2 f0                  	addq	$-0x10, %r10
    2074: 48 85 c0                     	testq	%rax, %rax
    2077: 48 8d 40 ff                  	leaq	-0x1(%rax), %rax
    207b: 0f 8e cf fd ff ff            	jle	0x1e50 <jsmn_parse+0x60>
    2081: 41 83 7a fc ff               	cmpl	$-0x1, -0x4(%r10)
    2086: 74 e8                        	je	0x2070 <jsmn_parse+0x280>
    2088: 41 83 3a ff                  	cmpl	$-0x1, (%r10)
    208c: 75 e2                        	jne	0x2070 <jsmn_parse+0x280>
    208e: eb 79                        	jmp	0x2109 <jsmn_parse+0x319>
    2090: 48 85 c9                     	testq	%rcx, %rcx
    2093: 0f 84 b7 fd ff ff            	je	0x1e50 <jsmn_parse+0x60>
    2099: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    209d: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    20a1: 0f 84 a9 fd ff ff            	je	0x1e50 <jsmn_parse+0x60>
    20a7: 48 c1 e0 04                  	shlq	$0x4, %rax
    20ab: 8b 04 01                     	movl	(%rcx,%rax), %eax
    20ae: ff c8                        	decl	%eax
    20b0: 83 f8 02                     	cmpl	$0x2, %eax
    20b3: 0f 82 97 fd ff ff            	jb	0x1e50 <jsmn_parse+0x60>
    20b9: 8b 47 04                     	movl	0x4(%rdi), %eax
    20bc: ff c8                        	decl	%eax
    20be: 0f 88 8c fd ff ff            	js	0x1e50 <jsmn_parse+0x60>
    20c4: 89 c0                        	movl	%eax, %eax
    20c6: 49 89 c2                     	movq	%rax, %r10
    20c9: 49 c1 e2 04                  	shlq	$0x4, %r10
    20cd: 4c 8d 71 08                  	leaq	0x8(%rcx), %r14
    20d1: 4d 01 f2                     	addq	%r14, %r10
    20d4: eb 1b                        	jmp	0x20f1 <jsmn_parse+0x301>
    20d6: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    20e0: 49 83 c2 f0                  	addq	$-0x10, %r10
    20e4: 48 85 c0                     	testq	%rax, %rax
    20e7: 48 8d 40 ff                  	leaq	-0x1(%rax), %rax
    20eb: 0f 8e 5f fd ff ff            	jle	0x1e50 <jsmn_parse+0x60>
    20f1: 41 8b 6a f8                  	movl	-0x8(%r10), %ebp
    20f5: ff cd                        	decl	%ebp
    20f7: 83 fd 01                     	cmpl	$0x1, %ebp
    20fa: 77 e4                        	ja	0x20e0 <jsmn_parse+0x2f0>
    20fc: 41 83 7a fc ff               	cmpl	$-0x1, -0x4(%r10)
    2101: 74 dd                        	je	0x20e0 <jsmn_parse+0x2f0>
    2103: 41 83 3a ff                  	cmpl	$-0x1, (%r10)
    2107: 75 d7                        	jne	0x20e0 <jsmn_parse+0x2f0>
    2109: 89 47 08                     	movl	%eax, 0x8(%rdi)
    210c: e9 3f fd ff ff               	jmp	0x1e50 <jsmn_parse+0x60>
    2111: 45 8d 74 24 01               	leal	0x1(%r12), %r14d
    2116: 44 89 37                     	movl	%r14d, (%rdi)
    2119: 4c 39 f2                     	cmpq	%r14, %rdx
    211c: 0f 86 75 02 00 00            	jbe	0x2397 <jsmn_parse+0x5a7>
    2122: 4c 89 f5                     	movq	%r14, %rbp
    2125: 45 89 f5                     	movl	%r14d, %r13d
    2128: eb 19                        	jmp	0x2143 <jsmn_parse+0x353>
    212a: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    2130: 44 89 ed                     	movl	%r13d, %ebp
    2133: ff c5                        	incl	%ebp
    2135: 89 2f                        	movl	%ebp, (%rdi)
    2137: 41 89 ed                     	movl	%ebp, %r13d
    213a: 48 39 ea                     	cmpq	%rbp, %rdx
    213d: 0f 86 54 02 00 00            	jbe	0x2397 <jsmn_parse+0x5a7>
    2143: 0f b6 04 2e                  	movzbl	(%rsi,%rbp), %eax
    2147: 83 f8 5c                     	cmpl	$0x5c, %eax
    214a: 74 24                        	je	0x2170 <jsmn_parse+0x380>
    214c: 85 c0                        	testl	%eax, %eax
    214e: 0f 84 43 02 00 00            	je	0x2397 <jsmn_parse+0x5a7>
    2154: 44 89 ed                     	movl	%r13d, %ebp
    2157: 83 f8 22                     	cmpl	$0x22, %eax
    215a: 75 d7                        	jne	0x2133 <jsmn_parse+0x343>
    215c: e9 80 01 00 00               	jmp	0x22e1 <jsmn_parse+0x4f1>
    2161: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	nopw	%cs:(%rax,%rax)
    2170: 41 8d 6d 01                  	leal	0x1(%r13), %ebp
    2174: 48 39 ea                     	cmpq	%rbp, %rdx
    2177: 76 b7                        	jbe	0x2130 <jsmn_parse+0x340>
    2179: 89 2f                        	movl	%ebp, (%rdi)
    217b: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    2180: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    2185: 41 83 c2 de                  	addl	$-0x22, %r10d
    2189: 41 83 fa 53                  	cmpl	$0x53, %r10d
    218d: 0f 87 10 02 00 00            	ja	0x23a3 <jsmn_parse+0x5b3>
    2193: 4e 63 14 93                  	movslq	(%rbx,%r10,4), %r10
    2197: 49 01 da                     	addq	%rbx, %r10
    219a: 41 ff e2                     	jmpq	*%r10
    219d: 41 8d 6d 02                  	leal	0x2(%r13), %ebp
    21a1: 89 2f                        	movl	%ebp, (%rdi)
    21a3: 48 39 ea                     	cmpq	%rbp, %rdx
    21a6: 0f 86 20 01 00 00            	jbe	0x22cc <jsmn_parse+0x4dc>
    21ac: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    21b1: 45 84 d2                     	testb	%r10b, %r10b
    21b4: 0f 84 12 01 00 00            	je	0x22cc <jsmn_parse+0x4dc>
    21ba: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    21be: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    21c2: 72 26                        	jb	0x21ea <jsmn_parse+0x3fa>
    21c4: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    21c8: 41 83 c2 bf                  	addl	$-0x41, %r10d
    21cc: 41 83 fa 25                  	cmpl	$0x25, %r10d
    21d0: 0f 87 cd 01 00 00            	ja	0x23a3 <jsmn_parse+0x5b3>
    21d6: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    21e0: 4c 0f a3 d5                  	btq	%r10, %rbp
    21e4: 0f 83 b9 01 00 00            	jae	0x23a3 <jsmn_parse+0x5b3>
    21ea: 41 8d 6d 03                  	leal	0x3(%r13), %ebp
    21ee: 89 2f                        	movl	%ebp, (%rdi)
    21f0: 48 39 ea                     	cmpq	%rbp, %rdx
    21f3: 0f 86 d3 00 00 00            	jbe	0x22cc <jsmn_parse+0x4dc>
    21f9: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    21fe: 45 84 d2                     	testb	%r10b, %r10b
    2201: 0f 84 c5 00 00 00            	je	0x22cc <jsmn_parse+0x4dc>
    2207: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    220b: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    220f: 72 26                        	jb	0x2237 <jsmn_parse+0x447>
    2211: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    2215: 41 83 c2 bf                  	addl	$-0x41, %r10d
    2219: 41 83 fa 25                  	cmpl	$0x25, %r10d
    221d: 0f 87 80 01 00 00            	ja	0x23a3 <jsmn_parse+0x5b3>
    2223: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    222d: 4c 0f a3 d5                  	btq	%r10, %rbp
    2231: 0f 83 6c 01 00 00            	jae	0x23a3 <jsmn_parse+0x5b3>
    2237: 41 8d 6d 04                  	leal	0x4(%r13), %ebp
    223b: 89 2f                        	movl	%ebp, (%rdi)
    223d: 48 39 ea                     	cmpq	%rbp, %rdx
    2240: 0f 86 86 00 00 00            	jbe	0x22cc <jsmn_parse+0x4dc>
    2246: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    224b: 45 84 d2                     	testb	%r10b, %r10b
    224e: 74 7c                        	je	0x22cc <jsmn_parse+0x4dc>
    2250: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    2254: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    2258: 72 26                        	jb	0x2280 <jsmn_parse+0x490>
    225a: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    225e: 41 83 c2 bf                  	addl	$-0x41, %r10d
    2262: 41 83 fa 25                  	cmpl	$0x25, %r10d
    2266: 0f 87 37 01 00 00            	ja	0x23a3 <jsmn_parse+0x5b3>
    226c: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    2276: 4c 0f a3 d5                  	btq	%r10, %rbp
    227a: 0f 83 23 01 00 00            	jae	0x23a3 <jsmn_parse+0x5b3>
    2280: 41 8d 6d 05                  	leal	0x5(%r13), %ebp
    2284: 89 2f                        	movl	%ebp, (%rdi)
    2286: 48 39 ea                     	cmpq	%rbp, %rdx
    2289: 76 41                        	jbe	0x22cc <jsmn_parse+0x4dc>
    228b: 44 0f b6 14 2e               	movzbl	(%rsi,%rbp), %r10d
    2290: 45 84 d2                     	testb	%r10b, %r10b
    2293: 74 37                        	je	0x22cc <jsmn_parse+0x4dc>
    2295: 41 8d 6a d0                  	leal	-0x30(%r10), %ebp
    2299: 40 80 fd 0a                  	cmpb	$0xa, %bpl
    229d: 72 26                        	jb	0x22c5 <jsmn_parse+0x4d5>
    229f: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    22a3: 41 83 c2 bf                  	addl	$-0x41, %r10d
    22a7: 41 83 fa 25                  	cmpl	$0x25, %r10d
    22ab: 0f 87 f2 00 00 00            	ja	0x23a3 <jsmn_parse+0x5b3>
    22b1: 48 bd 3f 00 00 00 3f 00 00 00	movabsq	$0x3f0000003f, %rbp     # imm = 0x3F0000003F
    22bb: 4c 0f a3 d5                  	btq	%r10, %rbp
    22bf: 0f 83 de 00 00 00            	jae	0x23a3 <jsmn_parse+0x5b3>
    22c5: 41 83 c5 06                  	addl	$0x6, %r13d
    22c9: 44 89 ed                     	movl	%r13d, %ebp
    22cc: ff cd                        	decl	%ebp
    22ce: e9 60 fe ff ff               	jmp	0x2133 <jsmn_parse+0x343>
    22d3: 45 85 ed                     	testl	%r13d, %r13d
    22d6: 0f 85 74 fb ff ff            	jne	0x1e50 <jsmn_parse+0x60>
    22dc: e9 c5 00 00 00               	jmp	0x23a6 <jsmn_parse+0x5b6>
    22e1: 48 85 c9                     	testq	%rcx, %rcx
    22e4: 0f 84 96 fc ff ff            	je	0x1f80 <jsmn_parse+0x190>
    22ea: 8b 47 04                     	movl	0x4(%rdi), %eax
    22ed: 41 39 c0                     	cmpl	%eax, %r8d
    22f0: 0f 86 a8 00 00 00            	jbe	0x239e <jsmn_parse+0x5ae>
    22f6: 44 8d 50 01                  	leal	0x1(%rax), %r10d
    22fa: 44 89 57 04                  	movl	%r10d, 0x4(%rdi)
    22fe: 48 c1 e0 04                  	shlq	$0x4, %rax
    2302: 48 c7 44 01 04 ff ff ff ff   	movq	$-0x1, 0x4(%rcx,%rax)
    230b: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    2313: 44 8b 17                     	movl	(%rdi), %r10d
    2316: c7 04 01 04 00 00 00         	movl	$0x4, (%rcx,%rax)
    231d: 44 89 74 01 04               	movl	%r14d, 0x4(%rcx,%rax)
    2322: 44 89 54 01 08               	movl	%r10d, 0x8(%rcx,%rax)
    2327: c7 44 01 0c 00 00 00 00      	movl	$0x0, 0xc(%rcx,%rax)
    232f: 41 ff c1                     	incl	%r9d
    2332: 48 63 47 08                  	movslq	0x8(%rdi), %rax
    2336: 48 83 f8 ff                  	cmpq	$-0x1, %rax
    233a: 0f 85 2d fc ff ff            	jne	0x1f6d <jsmn_parse+0x17d>
    2340: e9 0b fb ff ff               	jmp	0x1e50 <jsmn_parse+0x60>
    2345: 48 85 c9                     	testq	%rcx, %rcx
    2348: 74 41                        	je	0x238b <jsmn_parse+0x59b>
    234a: 8b 47 04                     	movl	0x4(%rdi), %eax
    234d: ff c8                        	decl	%eax
    234f: 78 3a                        	js	0x238b <jsmn_parse+0x59b>
    2351: 89 c2                        	movl	%eax, %edx
    2353: 48 8d 42 01                  	leaq	0x1(%rdx), %rax
    2357: 48 c1 e2 04                  	shlq	$0x4, %rdx
    235b: 48 01 d1                     	addq	%rdx, %rcx
    235e: 48 83 c1 08                  	addq	$0x8, %rcx
    2362: eb 15                        	jmp	0x2379 <jsmn_parse+0x589>
    2364: 66 66 66 2e 0f 1f 84 00 00 00 00 00  	nopw	%cs:(%rax,%rax)
    2370: 48 83 c1 f0                  	addq	$-0x10, %rcx
    2374: 48 ff c8                     	decq	%rax
    2377: 7e 12                        	jle	0x238b <jsmn_parse+0x59b>
    2379: 83 79 fc ff                  	cmpl	$-0x1, -0x4(%rcx)
    237d: 74 f1                        	je	0x2370 <jsmn_parse+0x580>
    237f: 83 39 ff                     	cmpl	$-0x1, (%rcx)
    2382: 75 ec                        	jne	0x2370 <jsmn_parse+0x580>
    2384: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    2389: eb 1b                        	jmp	0x23a6 <jsmn_parse+0x5b6>
    238b: 44 89 c8                     	movl	%r9d, %eax
    238e: eb 16                        	jmp	0x23a6 <jsmn_parse+0x5b6>
    2390: b8 fe ff ff ff               	movl	$0xfffffffe, %eax       # imm = 0xFFFFFFFE
    2395: eb 0c                        	jmp	0x23a3 <jsmn_parse+0x5b3>
    2397: b8 fd ff ff ff               	movl	$0xfffffffd, %eax       # imm = 0xFFFFFFFD
    239c: eb 05                        	jmp	0x23a3 <jsmn_parse+0x5b3>
    239e: b8 ff ff ff ff               	movl	$0xffffffff, %eax       # imm = 0xFFFFFFFF
    23a3: 44 89 27                     	movl	%r12d, (%rdi)
    23a6: 5b                           	popq	%rbx
    23a7: 41 5c                        	popq	%r12
    23a9: 41 5d                        	popq	%r13
    23ab: 41 5e                        	popq	%r14
    23ad: 41 5f                        	popq	%r15
    23af: 5d                           	popq	%rbp
    23b0: c3                           	retq
    23b1: b8 ff ff ff ff               	movl	$0xffffffff, %eax       # imm = 0xFFFFFFFF
    23b6: eb ee                        	jmp	0x23a6 <jsmn_parse+0x5b6>
    23b8: cc                           	int3
    23b9: cc                           	int3
    23ba: cc                           	int3
    23bb: cc                           	int3
    23bc: cc                           	int3
    23bd: cc                           	int3
    23be: cc                           	int3
    23bf: cc                           	int3

00000000000023c0 <jsmn_init>:
    23c0: 48 c7 07 00 00 00 00         	movq	$0x0, (%rdi)
    23c7: c7 47 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rdi)  # imm = 0xFFFFFFFF
    23ce: c3                           	retq
    23cf: cc                           	int3

00000000000023d0 <qoi_encode>:
    23d0: 31 c0                        	xorl	%eax, %eax
    23d2: 48 85 f6                     	testq	%rsi, %rsi
    23d5: 0f 84 b2 01 00 00            	je	0x258d <qoi_encode+0x1bd>
    23db: 48 85 ff                     	testq	%rdi, %rdi
    23de: 0f 84 a9 01 00 00            	je	0x258d <qoi_encode+0x1bd>
    23e4: 48 85 d2                     	testq	%rdx, %rdx
    23e7: 0f 84 a0 01 00 00            	je	0x258d <qoi_encode+0x1bd>
    23ed: 55                           	pushq	%rbp
    23ee: 41 57                        	pushq	%r15
    23f0: 41 56                        	pushq	%r14
    23f2: 41 55                        	pushq	%r13
    23f4: 41 54                        	pushq	%r12
    23f6: 53                           	pushq	%rbx
    23f7: 48 81 ec 48 01 00 00         	subq	$0x148, %rsp            # imm = 0x148
    23fe: 8b 1e                        	movl	(%rsi), %ebx
    2400: 85 db                        	testl	%ebx, %ebx
    2402: 0f 84 72 01 00 00            	je	0x257a <qoi_encode+0x1aa>
    2408: 44 8b 7e 04                  	movl	0x4(%rsi), %r15d
    240c: 45 85 ff                     	testl	%r15d, %r15d
    240f: 0f 84 65 01 00 00            	je	0x257a <qoi_encode+0x1aa>
    2415: 44 0f b6 76 08               	movzbl	0x8(%rsi), %r14d
    241a: 41 8d 46 fb                  	leal	-0x5(%r14), %eax
    241e: 3c fe                        	cmpb	$-0x2, %al
    2420: 0f 82 54 01 00 00            	jb	0x257a <qoi_encode+0x1aa>
    2426: 0f b6 6e 09                  	movzbl	0x9(%rsi), %ebp
    242a: 40 80 fd 01                  	cmpb	$0x1, %bpl
    242e: 0f 87 46 01 00 00            	ja	0x257a <qoi_encode+0x1aa>
    2434: 48 89 54 24 30               	movq	%rdx, 0x30(%rsp)
    2439: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    243e: 31 d2                        	xorl	%edx, %edx
    2440: f7 f3                        	divl	%ebx
    2442: 41 39 c7                     	cmpl	%eax, %r15d
    2445: 0f 83 2f 01 00 00            	jae	0x257a <qoi_encode+0x1aa>
    244b: 48 89 7c 24 28               	movq	%rdi, 0x28(%rsp)
    2450: 45 0f b6 ee                  	movzbl	%r14b, %r13d
    2454: 45 89 fc                     	movl	%r15d, %r12d
    2457: 44 0f af e3                  	imull	%ebx, %r12d
    245b: 41 8d 45 01                  	leal	0x1(%r13), %eax
    245f: 41 0f af c4                  	imull	%r12d, %eax
    2463: 83 c0 16                     	addl	$0x16, %eax
    2466: 48 63 f8                     	movslq	%eax, %rdi
    2469: e8 52 0c 00 00               	callq	0x30c0 <malloc@plt>
    246e: 48 85 c0                     	testq	%rax, %rax
    2471: 0f 84 03 01 00 00            	je	0x257a <qoi_encode+0x1aa>
    2477: c7 00 71 6f 69 66            	movl	$0x66696f71, (%rax)     # imm = 0x66696F71
    247d: 89 d9                        	movl	%ebx, %ecx
    247f: c1 e9 18                     	shrl	$0x18, %ecx
    2482: 88 48 04                     	movb	%cl, 0x4(%rax)
    2485: 89 d9                        	movl	%ebx, %ecx
    2487: c1 e9 10                     	shrl	$0x10, %ecx
    248a: 88 48 05                     	movb	%cl, 0x5(%rax)
    248d: 88 78 06                     	movb	%bh, 0x6(%rax)
    2490: 88 58 07                     	movb	%bl, 0x7(%rax)
    2493: 44 89 fa                     	movl	%r15d, %edx
    2496: 44 89 f9                     	movl	%r15d, %ecx
    2499: c1 e9 18                     	shrl	$0x18, %ecx
    249c: 88 48 08                     	movb	%cl, 0x8(%rax)
    249f: 44 89 f9                     	movl	%r15d, %ecx
    24a2: c1 e9 10                     	shrl	$0x10, %ecx
    24a5: 88 48 09                     	movb	%cl, 0x9(%rax)
    24a8: 88 70 0a                     	movb	%dh, 0xa(%rax)
    24ab: 88 50 0b                     	movb	%dl, 0xb(%rax)
    24ae: 44 88 70 0c                  	movb	%r14b, 0xc(%rax)
    24b2: 40 88 68 0d                  	movb	%bpl, 0xd(%rax)
    24b6: 0f 57 c0                     	xorps	%xmm0, %xmm0
    24b9: 0f 29 84 24 30 01 00 00      	movaps	%xmm0, 0x130(%rsp)
    24c1: 0f 29 84 24 20 01 00 00      	movaps	%xmm0, 0x120(%rsp)
    24c9: 0f 29 84 24 10 01 00 00      	movaps	%xmm0, 0x110(%rsp)
    24d1: 0f 29 84 24 00 01 00 00      	movaps	%xmm0, 0x100(%rsp)
    24d9: 0f 29 84 24 f0 00 00 00      	movaps	%xmm0, 0xf0(%rsp)
    24e1: 0f 29 84 24 e0 00 00 00      	movaps	%xmm0, 0xe0(%rsp)
    24e9: 0f 29 84 24 d0 00 00 00      	movaps	%xmm0, 0xd0(%rsp)
    24f1: 0f 29 84 24 c0 00 00 00      	movaps	%xmm0, 0xc0(%rsp)
    24f9: 0f 29 84 24 b0 00 00 00      	movaps	%xmm0, 0xb0(%rsp)
    2501: 0f 29 84 24 a0 00 00 00      	movaps	%xmm0, 0xa0(%rsp)
    2509: 0f 29 84 24 90 00 00 00      	movaps	%xmm0, 0x90(%rsp)
    2511: 0f 29 84 24 80 00 00 00      	movaps	%xmm0, 0x80(%rsp)
    2519: 0f 29 44 24 70               	movaps	%xmm0, 0x70(%rsp)
    251e: 0f 29 44 24 60               	movaps	%xmm0, 0x60(%rsp)
    2523: 0f 29 44 24 50               	movaps	%xmm0, 0x50(%rsp)
    2528: 0f 29 44 24 40               	movaps	%xmm0, 0x40(%rsp)
    252d: 45 0f af e5                  	imull	%r13d, %r12d
    2531: 45 85 e4                     	testl	%r12d, %r12d
    2534: 0f 8e 3b 03 00 00            	jle	0x2875 <qoi_encode+0x4a5>
    253a: 45 89 e3                     	movl	%r12d, %r11d
    253d: 4c 89 74 24 38               	movq	%r14, 0x38(%rsp)
    2542: 44 89 e1                     	movl	%r12d, %ecx
    2545: 4c 89 6c 24 10               	movq	%r13, 0x10(%rsp)
    254a: 44 29 e9                     	subl	%r13d, %ecx
    254d: 89 4c 24 24                  	movl	%ecx, 0x24(%rsp)
    2551: b9 0e 00 00 00               	movl	$0xe, %ecx
    2556: 48 89 4c 24 08               	movq	%rcx, 0x8(%rsp)
    255b: 41 b5 ff                     	movb	$-0x1, %r13b
    255e: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    2567: 31 f6                        	xorl	%esi, %esi
    2569: 31 c9                        	xorl	%ecx, %ecx
    256b: 31 d2                        	xorl	%edx, %edx
    256d: 45 31 f6                     	xorl	%r14d, %r14d
    2570: 44 89 eb                     	movl	%r13d, %ebx
    2573: 4c 8b 64 24 28               	movq	0x28(%rsp), %r12
    2578: eb 6d                        	jmp	0x25e7 <qoi_encode+0x217>
    257a: 31 c0                        	xorl	%eax, %eax
    257c: 48 81 c4 48 01 00 00         	addq	$0x148, %rsp            # imm = 0x148
    2583: 5b                           	popq	%rbx
    2584: 41 5c                        	popq	%r12
    2586: 41 5d                        	popq	%r13
    2588: 41 5e                        	popq	%r14
    258a: 41 5f                        	popq	%r15
    258c: 5d                           	popq	%rbp
    258d: c3                           	retq
    258e: 48 8b 7c 24 18               	movq	0x18(%rsp), %rdi
    2593: 40 80 cf c0                  	orb	$-0x40, %dil
    2597: 4c 8b 4c 24 08               	movq	0x8(%rsp), %r9
    259c: 41 8d 51 01                  	leal	0x1(%r9), %edx
    25a0: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    25a9: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    25ae: 0f b6 5c 24 06               	movzbl	0x6(%rsp), %ebx
    25b3: 44 0f b6 54 24 05            	movzbl	0x5(%rsp), %r10d
    25b9: 0f b6 6c 24 04               	movzbl	0x4(%rsp), %ebp
    25be: 44 0f b6 7c 24 07            	movzbl	0x7(%rsp), %r15d
    25c4: 49 63 c9                     	movslq	%r9d, %rcx
    25c7: 40 88 3c 08                  	movb	%dil, (%rax,%rcx)
    25cb: 48 89 54 24 08               	movq	%rdx, 0x8(%rsp)
    25d0: 44 01 c6                     	addl	%r8d, %esi
    25d3: 41 89 dd                     	movl	%ebx, %r13d
    25d6: 44 89 d1                     	movl	%r10d, %ecx
    25d9: 89 ea                        	movl	%ebp, %edx
    25db: 45 89 fe                     	movl	%r15d, %r14d
    25de: 44 39 de                     	cmpl	%r11d, %esi
    25e1: 0f 8d 98 02 00 00            	jge	0x287f <qoi_encode+0x4af>
    25e7: 45 89 df                     	movl	%r11d, %r15d
    25ea: 80 7c 24 38 04               	cmpb	$0x4, 0x38(%rsp)
    25ef: 75 0b                        	jne	0x25fc <qoi_encode+0x22c>
    25f1: 8d 7e 03                     	leal	0x3(%rsi), %edi
    25f4: 48 63 ff                     	movslq	%edi, %rdi
    25f7: 41 0f b6 1c 3c               	movzbl	(%r12,%rdi), %ebx
    25fc: 8d 7e 02                     	leal	0x2(%rsi), %edi
    25ff: 4c 63 ce                     	movslq	%esi, %r9
    2602: 47 0f b6 04 0c               	movzbl	(%r12,%r9), %r8d
    2607: 47 0f b6 54 0c 01            	movzbl	0x1(%r12,%r9), %r10d
    260d: 44 88 44 24 05               	movb	%r8b, 0x5(%rsp)
    2612: 45 0f b6 c8                  	movzbl	%r8b, %r9d
    2616: 44 88 54 24 04               	movb	%r10b, 0x4(%rsp)
    261b: 45 0f b6 d2                  	movzbl	%r10b, %r10d
    261f: 48 63 ff                     	movslq	%edi, %rdi
    2622: 41 0f b6 3c 3c               	movzbl	(%r12,%rdi), %edi
    2627: 40 88 7c 24 07               	movb	%dil, 0x7(%rsp)
    262c: 40 0f b6 ef                  	movzbl	%dil, %ebp
    2630: 88 5c 24 06                  	movb	%bl, 0x6(%rsp)
    2634: 0f b6 fb                     	movzbl	%bl, %edi
    2637: 89 fb                        	movl	%edi, %ebx
    2639: c1 e3 18                     	shll	$0x18, %ebx
    263c: 41 89 e8                     	movl	%ebp, %r8d
    263f: 41 c1 e0 10                  	shll	$0x10, %r8d
    2643: 41 09 d8                     	orl	%ebx, %r8d
    2646: 44 89 d3                     	movl	%r10d, %ebx
    2649: c1 e3 08                     	shll	$0x8, %ebx
    264c: 44 09 c3                     	orl	%r8d, %ebx
    264f: 44 09 cb                     	orl	%r9d, %ebx
    2652: 45 0f b6 c5                  	movzbl	%r13b, %r8d
    2656: 41 c1 e0 18                  	shll	$0x18, %r8d
    265a: 45 0f b6 de                  	movzbl	%r14b, %r11d
    265e: 41 c1 e3 10                  	shll	$0x10, %r11d
    2662: 45 09 c3                     	orl	%r8d, %r11d
    2665: 44 0f b6 c2                  	movzbl	%dl, %r8d
    2669: 41 c1 e0 08                  	shll	$0x8, %r8d
    266d: 45 09 d8                     	orl	%r11d, %r8d
    2670: 44 0f b6 d9                  	movzbl	%cl, %r11d
    2674: 45 09 c3                     	orl	%r8d, %r11d
    2677: 44 39 db                     	cmpl	%r11d, %ebx
    267a: 75 42                        	jne	0x26be <qoi_encode+0x2ee>
    267c: 39 74 24 24                  	cmpl	%esi, 0x24(%rsp)
    2680: 45 89 fb                     	movl	%r15d, %r11d
    2683: 0f 84 05 ff ff ff            	je	0x258e <qoi_encode+0x1be>
    2689: 48 8b 4c 24 18               	movq	0x18(%rsp), %rcx
    268e: ff c1                        	incl	%ecx
    2690: 83 f9 3e                     	cmpl	$0x3e, %ecx
    2693: 0f 84 f5 fe ff ff            	je	0x258e <qoi_encode+0x1be>
    2699: 48 89 4c 24 18               	movq	%rcx, 0x18(%rsp)
    269e: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    26a3: 0f b6 5c 24 06               	movzbl	0x6(%rsp), %ebx
    26a8: 44 0f b6 54 24 05            	movzbl	0x5(%rsp), %r10d
    26ae: 0f b6 6c 24 04               	movzbl	0x4(%rsp), %ebp
    26b3: 44 0f b6 7c 24 07            	movzbl	0x7(%rsp), %r15d
    26b9: e9 12 ff ff ff               	jmp	0x25d0 <qoi_encode+0x200>
    26be: 83 7c 24 18 00               	cmpl	$0x0, 0x18(%rsp)
    26c3: 7e 2e                        	jle	0x26f3 <qoi_encode+0x323>
    26c5: 4c 8b 5c 24 18               	movq	0x18(%rsp), %r11
    26ca: 41 fe cb                     	decb	%r11b
    26cd: 41 80 cb c0                  	orb	$-0x40, %r11b
    26d1: 4c 8b 64 24 08               	movq	0x8(%rsp), %r12
    26d6: 4d 63 c4                     	movslq	%r12d, %r8
    26d9: 41 ff c4                     	incl	%r12d
    26dc: 4c 89 64 24 08               	movq	%r12, 0x8(%rsp)
    26e1: 4c 8b 64 24 28               	movq	0x28(%rsp), %r12
    26e6: 46 88 1c 00                  	movb	%r11b, (%rax,%r8)
    26ea: 48 c7 44 24 18 00 00 00 00   	movq	$0x0, 0x18(%rsp)
    26f3: 45 89 fb                     	movl	%r15d, %r11d
    26f6: 47 8d 04 49                  	leal	(%r9,%r9,2), %r8d
    26fa: 47 8d 0c 92                  	leal	(%r10,%r10,4), %r9d
    26fe: 45 01 c1                     	addl	%r8d, %r9d
    2701: 45 8d 04 e9                  	leal	(%r9,%rbp,8), %r8d
    2705: 41 29 e8                     	subl	%ebp, %r8d
    2708: 44 8d 0c bf                  	leal	(%rdi,%rdi,4), %r9d
    270c: 42 8d 3c 4f                  	leal	(%rdi,%r9,2), %edi
    2710: 44 01 c7                     	addl	%r8d, %edi
    2713: 83 e7 3f                     	andl	$0x3f, %edi
    2716: 39 5c bc 40                  	cmpl	%ebx, 0x40(%rsp,%rdi,4)
    271a: 44 0f b6 7c 24 07            	movzbl	0x7(%rsp), %r15d
    2720: 75 23                        	jne	0x2745 <qoi_encode+0x375>
    2722: 4c 8b 4c 24 08               	movq	0x8(%rsp), %r9
    2727: 41 8d 51 01                  	leal	0x1(%r9), %edx
    272b: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    2730: 0f b6 5c 24 06               	movzbl	0x6(%rsp), %ebx
    2735: 44 0f b6 54 24 05            	movzbl	0x5(%rsp), %r10d
    273b: 0f b6 6c 24 04               	movzbl	0x4(%rsp), %ebp
    2740: e9 7f fe ff ff               	jmp	0x25c4 <qoi_encode+0x1f4>
    2745: 44 0f b6 54 24 05            	movzbl	0x5(%rsp), %r10d
    274b: 44 88 54 bc 40               	movb	%r10b, 0x40(%rsp,%rdi,4)
    2750: 0f b6 6c 24 04               	movzbl	0x4(%rsp), %ebp
    2755: 40 88 6c bc 41               	movb	%bpl, 0x41(%rsp,%rdi,4)
    275a: 44 88 7c bc 42               	movb	%r15b, 0x42(%rsp,%rdi,4)
    275f: 0f b6 5c 24 06               	movzbl	0x6(%rsp), %ebx
    2764: 88 5c bc 43                  	movb	%bl, 0x43(%rsp,%rdi,4)
    2768: 44 38 eb                     	cmpb	%r13b, %bl
    276b: 75 4f                        	jne	0x27bc <qoi_encode+0x3ec>
    276d: 45 89 d5                     	movl	%r10d, %r13d
    2770: 41 28 cd                     	subb	%cl, %r13b
    2773: 89 ef                        	movl	%ebp, %edi
    2775: 40 28 d7                     	subb	%dl, %dil
    2778: 44 89 f9                     	movl	%r15d, %ecx
    277b: 44 28 f1                     	subb	%r14b, %cl
    277e: 41 8d 55 02                  	leal	0x2(%r13), %edx
    2782: 80 fa 03                     	cmpb	$0x3, %dl
    2785: 77 71                        	ja	0x27f8 <qoi_encode+0x428>
    2787: 8d 57 02                     	leal	0x2(%rdi), %edx
    278a: 80 fa 03                     	cmpb	$0x3, %dl
    278d: 77 69                        	ja	0x27f8 <qoi_encode+0x428>
    278f: 8d 51 02                     	leal	0x2(%rcx), %edx
    2792: 80 fa 03                     	cmpb	$0x3, %dl
    2795: 77 61                        	ja	0x27f8 <qoi_encode+0x428>
    2797: 41 c0 e5 04                  	shlb	$0x4, %r13b
    279b: 41 80 c5 20                  	addb	$0x20, %r13b
    279f: 40 c0 e7 02                  	shlb	$0x2, %dil
    27a3: 40 80 c7 08                  	addb	$0x8, %dil
    27a7: 44 08 ef                     	orb	%r13b, %dil
    27aa: 40 08 d7                     	orb	%dl, %dil
    27ad: 40 80 cf 40                  	orb	$0x40, %dil
    27b1: 4c 8b 4c 24 08               	movq	0x8(%rsp), %r9
    27b6: 41 8d 51 01                  	leal	0x1(%r9), %edx
    27ba: eb 32                        	jmp	0x27ee <qoi_encode+0x41e>
    27bc: 48 8b 7c 24 08               	movq	0x8(%rsp), %rdi
    27c1: 48 63 d7                     	movslq	%edi, %rdx
    27c4: ff c7                        	incl	%edi
    27c6: c6 04 10 ff                  	movb	$-0x1, (%rax,%rdx)
    27ca: 8d 4a 02                     	leal	0x2(%rdx), %ecx
    27cd: 48 63 ff                     	movslq	%edi, %rdi
    27d0: 44 88 14 38                  	movb	%r10b, (%rax,%rdi)
    27d4: 8d 7a 03                     	leal	0x3(%rdx), %edi
    27d7: 48 63 c9                     	movslq	%ecx, %rcx
    27da: 40 88 2c 08                  	movb	%bpl, (%rax,%rcx)
    27de: 44 8d 4a 04                  	leal	0x4(%rdx), %r9d
    27e2: 48 63 cf                     	movslq	%edi, %rcx
    27e5: 44 88 3c 08                  	movb	%r15b, (%rax,%rcx)
    27e9: 83 c2 05                     	addl	$0x5, %edx
    27ec: 89 df                        	movl	%ebx, %edi
    27ee: 4c 8b 44 24 10               	movq	0x10(%rsp), %r8
    27f3: e9 cc fd ff ff               	jmp	0x25c4 <qoi_encode+0x1f4>
    27f8: 41 28 fd                     	subb	%dil, %r13b
    27fb: 41 8d 55 08                  	leal	0x8(%r13), %edx
    27ff: 80 fa 0f                     	cmpb	$0xf, %dl
    2802: 4c 8b 44 24 08               	movq	0x8(%rsp), %r8
    2807: 77 3a                        	ja	0x2843 <qoi_encode+0x473>
    2809: 44 8d 4f 20                  	leal	0x20(%rdi), %r9d
    280d: 41 80 f9 3f                  	cmpb	$0x3f, %r9b
    2811: 77 30                        	ja	0x2843 <qoi_encode+0x473>
    2813: 40 28 f9                     	subb	%dil, %cl
    2816: 80 c1 08                     	addb	$0x8, %cl
    2819: 80 f9 0f                     	cmpb	$0xf, %cl
    281c: 77 25                        	ja	0x2843 <qoi_encode+0x473>
    281e: 41 80 c9 80                  	orb	$-0x80, %r9b
    2822: 49 63 f8                     	movslq	%r8d, %rdi
    2825: 44 89 c2                     	movl	%r8d, %edx
    2828: 41 ff c0                     	incl	%r8d
    282b: 44 88 0c 38                  	movb	%r9b, (%rax,%rdi)
    282f: 41 c0 e5 04                  	shlb	$0x4, %r13b
    2833: 44 08 e9                     	orb	%r13b, %cl
    2836: 80 c1 80                     	addb	$-0x80, %cl
    2839: 83 c2 02                     	addl	$0x2, %edx
    283c: 45 89 c1                     	movl	%r8d, %r9d
    283f: 89 cf                        	movl	%ecx, %edi
    2841: eb ab                        	jmp	0x27ee <qoi_encode+0x41e>
    2843: 41 8d 48 01                  	leal	0x1(%r8), %ecx
    2847: 49 63 d0                     	movslq	%r8d, %rdx
    284a: c6 04 10 fe                  	movb	$-0x2, (%rax,%rdx)
    284e: 41 8d 78 02                  	leal	0x2(%r8), %edi
    2852: 48 63 c9                     	movslq	%ecx, %rcx
    2855: 44 88 14 08                  	movb	%r10b, (%rax,%rcx)
    2859: 44 89 c2                     	movl	%r8d, %edx
    285c: 41 8d 48 03                  	leal	0x3(%r8), %ecx
    2860: 48 63 ff                     	movslq	%edi, %rdi
    2863: 40 88 2c 38                  	movb	%bpl, (%rax,%rdi)
    2867: 83 c2 04                     	addl	$0x4, %edx
    286a: 41 89 c9                     	movl	%ecx, %r9d
    286d: 44 89 ff                     	movl	%r15d, %edi
    2870: e9 79 ff ff ff               	jmp	0x27ee <qoi_encode+0x41e>
    2875: b9 0e 00 00 00               	movl	$0xe, %ecx
    287a: 48 89 4c 24 08               	movq	%rcx, 0x8(%rsp)
    287f: 48 8b 54 24 08               	movq	0x8(%rsp), %rdx
    2884: 48 63 ca                     	movslq	%edx, %rcx
    2887: ff c2                        	incl	%edx
    2889: c6 04 08 00                  	movb	$0x0, (%rax,%rcx)
    288d: 48 63 d2                     	movslq	%edx, %rdx
    2890: c7 04 10 00 00 00 00         	movl	$0x0, (%rax,%rdx)
    2897: 8d 51 05                     	leal	0x5(%rcx), %edx
    289a: 48 63 d2                     	movslq	%edx, %rdx
    289d: 66 c7 04 10 00 00            	movw	$0x0, (%rax,%rdx)
    28a3: 8d 51 07                     	leal	0x7(%rcx), %edx
    28a6: 83 c1 08                     	addl	$0x8, %ecx
    28a9: 48 63 d2                     	movslq	%edx, %rdx
    28ac: c6 04 10 01                  	movb	$0x1, (%rax,%rdx)
    28b0: 48 8b 54 24 30               	movq	0x30(%rsp), %rdx
    28b5: 89 0a                        	movl	%ecx, (%rdx)
    28b7: e9 c0 fc ff ff               	jmp	0x257c <qoi_encode+0x1ac>
    28bc: cc                           	int3
    28bd: cc                           	int3
    28be: cc                           	int3
    28bf: cc                           	int3

00000000000028c0 <qoi_decode>:
    28c0: 31 c0                        	xorl	%eax, %eax
    28c2: 48 85 ff                     	testq	%rdi, %rdi
    28c5: 0f 84 80 00 00 00            	je	0x294b <qoi_decode+0x8b>
    28cb: 48 85 d2                     	testq	%rdx, %rdx
    28ce: 74 7b                        	je	0x294b <qoi_decode+0x8b>
    28d0: 83 f9 03                     	cmpl	$0x3, %ecx
    28d3: 41 0f 95 c0                  	setne	%r8b
    28d7: f7 c1 fb ff ff ff            	testl	$0xfffffffb, %ecx       # imm = 0xFFFFFFFB
    28dd: 41 0f 95 c1                  	setne	%r9b
    28e1: 31 c0                        	xorl	%eax, %eax
    28e3: 83 fe 16                     	cmpl	$0x16, %esi
    28e6: 7c 63                        	jl	0x294b <qoi_decode+0x8b>
    28e8: 45 20 c8                     	andb	%r9b, %r8b
    28eb: 75 5e                        	jne	0x294b <qoi_decode+0x8b>
    28ed: 55                           	pushq	%rbp
    28ee: 41 57                        	pushq	%r15
    28f0: 41 56                        	pushq	%r14
    28f2: 41 55                        	pushq	%r13
    28f4: 41 54                        	pushq	%r12
    28f6: 53                           	pushq	%rbx
    28f7: 48 81 ec 28 01 00 00         	subq	$0x128, %rsp            # imm = 0x128
    28fe: 44 8b 0f                     	movl	(%rdi), %r9d
    2901: 44 8b 47 04                  	movl	0x4(%rdi), %r8d
    2905: 41 0f c8                     	bswapl	%r8d
    2908: 44 89 02                     	movl	%r8d, (%rdx)
    290b: 8b 5f 08                     	movl	0x8(%rdi), %ebx
    290e: 0f cb                        	bswapl	%ebx
    2910: 89 5a 04                     	movl	%ebx, 0x4(%rdx)
    2913: 44 0f b6 77 0c               	movzbl	0xc(%rdi), %r14d
    2918: 44 88 72 08                  	movb	%r14b, 0x8(%rdx)
    291c: 44 0f b6 57 0d               	movzbl	0xd(%rdi), %r10d
    2921: 44 88 52 09                  	movb	%r10b, 0x9(%rdx)
    2925: 31 c0                        	xorl	%eax, %eax
    2927: 45 85 c0                     	testl	%r8d, %r8d
    292a: 74 0e                        	je	0x293a <qoi_decode+0x7a>
    292c: 85 db                        	testl	%ebx, %ebx
    292e: 74 0a                        	je	0x293a <qoi_decode+0x7a>
    2930: 41 8d 46 fb                  	leal	-0x5(%r14), %eax
    2934: 3c fe                        	cmpb	$-0x2, %al
    2936: 73 14                        	jae	0x294c <qoi_decode+0x8c>
    2938: 31 c0                        	xorl	%eax, %eax
    293a: 48 81 c4 28 01 00 00         	addq	$0x128, %rsp            # imm = 0x128
    2941: 5b                           	popq	%rbx
    2942: 41 5c                        	popq	%r12
    2944: 41 5d                        	popq	%r13
    2946: 41 5e                        	popq	%r14
    2948: 41 5f                        	popq	%r15
    294a: 5d                           	popq	%rbp
    294b: c3                           	retq
    294c: 31 c0                        	xorl	%eax, %eax
    294e: 41 80 fa 01                  	cmpb	$0x1, %r10b
    2952: 77 e6                        	ja	0x293a <qoi_decode+0x7a>
    2954: 41 0f c9                     	bswapl	%r9d
    2957: 41 81 f9 66 69 6f 71         	cmpl	$0x716f6966, %r9d       # imm = 0x716F6966
    295e: 75 da                        	jne	0x293a <qoi_decode+0x7a>
    2960: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    2965: 31 d2                        	xorl	%edx, %edx
    2967: 41 f7 f0                     	divl	%r8d
    296a: 39 c3                        	cmpl	%eax, %ebx
    296c: 73 ca                        	jae	0x2938 <qoi_decode+0x78>
    296e: 49 89 fc                     	movq	%rdi, %r12
    2971: 89 f5                        	movl	%esi, %ebp
    2973: 85 c9                        	testl	%ecx, %ecx
    2975: 44 0f 45 f1                  	cmovnel	%ecx, %r14d
    2979: 41 0f af d8                  	imull	%r8d, %ebx
    297d: 41 0f af de                  	imull	%r14d, %ebx
    2981: 48 63 fb                     	movslq	%ebx, %rdi
    2984: e8 37 07 00 00               	callq	0x30c0 <malloc@plt>
    2989: 48 85 c0                     	testq	%rax, %rax
    298c: 74 aa                        	je	0x2938 <qoi_decode+0x78>
    298e: 0f 57 c0                     	xorps	%xmm0, %xmm0
    2991: 0f 29 84 24 10 01 00 00      	movaps	%xmm0, 0x110(%rsp)
    2999: 0f 29 84 24 00 01 00 00      	movaps	%xmm0, 0x100(%rsp)
    29a1: 0f 29 84 24 f0 00 00 00      	movaps	%xmm0, 0xf0(%rsp)
    29a9: 0f 29 84 24 e0 00 00 00      	movaps	%xmm0, 0xe0(%rsp)
    29b1: 0f 29 84 24 d0 00 00 00      	movaps	%xmm0, 0xd0(%rsp)
    29b9: 0f 29 84 24 c0 00 00 00      	movaps	%xmm0, 0xc0(%rsp)
    29c1: 0f 29 84 24 b0 00 00 00      	movaps	%xmm0, 0xb0(%rsp)
    29c9: 0f 29 84 24 a0 00 00 00      	movaps	%xmm0, 0xa0(%rsp)
    29d1: 0f 29 84 24 90 00 00 00      	movaps	%xmm0, 0x90(%rsp)
    29d9: 0f 29 84 24 80 00 00 00      	movaps	%xmm0, 0x80(%rsp)
    29e1: 0f 29 44 24 70               	movaps	%xmm0, 0x70(%rsp)
    29e6: 0f 29 44 24 60               	movaps	%xmm0, 0x60(%rsp)
    29eb: 0f 29 44 24 50               	movaps	%xmm0, 0x50(%rsp)
    29f0: 0f 29 44 24 40               	movaps	%xmm0, 0x40(%rsp)
    29f5: 0f 29 44 24 30               	movaps	%xmm0, 0x30(%rsp)
    29fa: 0f 29 44 24 20               	movaps	%xmm0, 0x20(%rsp)
    29ff: 85 db                        	testl	%ebx, %ebx
    2a01: 0f 8e 33 ff ff ff            	jle	0x293a <qoi_decode+0x7a>
    2a07: 89 ef                        	movl	%ebp, %edi
    2a09: 83 c7 f8                     	addl	$-0x8, %edi
    2a0c: bd 0e 00 00 00               	movl	$0xe, %ebp
    2a11: 45 31 ff                     	xorl	%r15d, %r15d
    2a14: 41 b0 ff                     	movb	$-0x1, %r8b
    2a17: 31 f6                        	xorl	%esi, %esi
    2a19: 45 31 db                     	xorl	%r11d, %r11d
    2a1c: 45 31 d2                     	xorl	%r10d, %r10d
    2a1f: 45 31 c9                     	xorl	%r9d, %r9d
    2a22: 4c 89 64 24 10               	movq	%r12, 0x10(%rsp)
    2a27: 89 7c 24 1c                  	movl	%edi, 0x1c(%rsp)
    2a2b: eb 0b                        	jmp	0x2a38 <qoi_decode+0x178>
    2a2d: 44 01 f6                     	addl	%r14d, %esi
    2a30: 39 de                        	cmpl	%ebx, %esi
    2a32: 0f 8d 02 ff ff ff            	jge	0x293a <qoi_decode+0x7a>
    2a38: 45 85 ff                     	testl	%r15d, %r15d
    2a3b: 7e 08                        	jle	0x2a45 <qoi_decode+0x185>
    2a3d: 41 ff cf                     	decl	%r15d
    2a40: e9 72 01 00 00               	jmp	0x2bb7 <qoi_decode+0x2f7>
    2a45: 45 31 ff                     	xorl	%r15d, %r15d
    2a48: 39 fd                        	cmpl	%edi, %ebp
    2a4a: 0f 8d 67 01 00 00            	jge	0x2bb7 <qoi_decode+0x2f7>
    2a50: 4c 63 ed                     	movslq	%ebp, %r13
    2a53: 49 8d 55 01                  	leaq	0x1(%r13), %rdx
    2a57: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a5c: 46 0f b6 3c 29               	movzbl	(%rcx,%r13), %r15d
    2a61: 41 81 ff ff 00 00 00         	cmpl	$0xff, %r15d
    2a68: 74 24                        	je	0x2a8e <qoi_decode+0x1ce>
    2a6a: 41 81 ff fe 00 00 00         	cmpl	$0xfe, %r15d
    2a71: 75 49                        	jne	0x2abc <qoi_decode+0x1fc>
    2a73: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a78: 44 0f b6 0c 11               	movzbl	(%rcx,%rdx), %r9d
    2a7d: 46 0f b6 54 29 02            	movzbl	0x2(%rcx,%r13), %r10d
    2a83: 46 0f b6 5c 29 03            	movzbl	0x3(%rcx,%r13), %r11d
    2a89: 83 c5 04                     	addl	$0x4, %ebp
    2a8c: eb 1f                        	jmp	0x2aad <qoi_decode+0x1ed>
    2a8e: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2a93: 44 0f b6 0c 11               	movzbl	(%rcx,%rdx), %r9d
    2a98: 46 0f b6 54 29 02            	movzbl	0x2(%rcx,%r13), %r10d
    2a9e: 46 0f b6 5c 29 03            	movzbl	0x3(%rcx,%r13), %r11d
    2aa4: 83 c5 05                     	addl	$0x5, %ebp
    2aa7: 46 0f b6 44 29 04            	movzbl	0x4(%rcx,%r13), %r8d
    2aad: 45 31 ff                     	xorl	%r15d, %r15d
    2ab0: 89 e9                        	movl	%ebp, %ecx
    2ab2: 48 89 4c 24 08               	movq	%rcx, 0x8(%rsp)
    2ab7: e9 a8 00 00 00               	jmp	0x2b64 <qoi_decode+0x2a4>
    2abc: 45 89 fd                     	movl	%r15d, %r13d
    2abf: 41 c1 ed 06                  	shrl	$0x6, %r13d
    2ac3: 48 8d 0d be de ff ff         	leaq	-0x2142(%rip), %rcx     # 0x988 <memset+0x988>
    2aca: 4e 63 2c a9                  	movslq	(%rcx,%r13,4), %r13
    2ace: 49 01 cd                     	addq	%rcx, %r13
    2ad1: 41 ff e5                     	jmpq	*%r13
    2ad4: 46 0f b6 4c bc 20            	movzbl	0x20(%rsp,%r15,4), %r9d
    2ada: 46 0f b6 54 bc 21            	movzbl	0x21(%rsp,%r15,4), %r10d
    2ae0: 46 0f b6 5c bc 22            	movzbl	0x22(%rsp,%r15,4), %r11d
    2ae6: 46 0f b6 44 bc 23            	movzbl	0x23(%rsp,%r15,4), %r8d
    2aec: eb 6e                        	jmp	0x2b5c <qoi_decode+0x29c>
    2aee: 83 c5 02                     	addl	$0x2, %ebp
    2af1: 48 8b 4c 24 10               	movq	0x10(%rsp), %rcx
    2af6: 44 0f b6 24 11               	movzbl	(%rcx,%rdx), %r12d
    2afb: 41 83 e7 3f                  	andl	$0x3f, %r15d
    2aff: 45 89 e5                     	movl	%r12d, %r13d
    2b02: 41 c1 ed 04                  	shrl	$0x4, %r13d
    2b06: 45 01 fd                     	addl	%r15d, %r13d
    2b09: 41 83 c5 d8                  	addl	$-0x28, %r13d
    2b0d: 45 00 e9                     	addb	%r13b, %r9b
    2b10: 45 00 fa                     	addb	%r15b, %r10b
    2b13: 41 80 c2 e0                  	addb	$-0x20, %r10b
    2b17: 41 83 e4 0f                  	andl	$0xf, %r12d
    2b1b: 45 01 e7                     	addl	%r12d, %r15d
    2b1e: 41 83 c7 d8                  	addl	$-0x28, %r15d
    2b22: 45 00 fb                     	addb	%r15b, %r11b
    2b25: eb 86                        	jmp	0x2aad <qoi_decode+0x1ed>
    2b27: 41 83 e7 3f                  	andl	$0x3f, %r15d
    2b2b: eb 32                        	jmp	0x2b5f <qoi_decode+0x29f>
    2b2d: 44 89 fd                     	movl	%r15d, %ebp
    2b30: 40 c0 ed 04                  	shrb	$0x4, %bpl
    2b34: 40 80 e5 03                  	andb	$0x3, %bpl
    2b38: 41 00 e9                     	addb	%bpl, %r9b
    2b3b: 41 80 c1 fe                  	addb	$-0x2, %r9b
    2b3f: 44 89 fd                     	movl	%r15d, %ebp
    2b42: 40 c0 ed 02                  	shrb	$0x2, %bpl
    2b46: 40 80 e5 03                  	andb	$0x3, %bpl
    2b4a: 41 00 ea                     	addb	%bpl, %r10b
    2b4d: 41 80 c2 fe                  	addb	$-0x2, %r10b
    2b51: 41 80 e7 03                  	andb	$0x3, %r15b
    2b55: 45 00 fb                     	addb	%r15b, %r11b
    2b58: 41 80 c3 fe                  	addb	$-0x2, %r11b
    2b5c: 45 31 ff                     	xorl	%r15d, %r15d
    2b5f: 48 89 54 24 08               	movq	%rdx, 0x8(%rsp)
    2b64: 45 0f b6 e9                  	movzbl	%r9b, %r13d
    2b68: 43 8d 6c 6d 00               	leal	(%r13,%r13,2), %ebp
    2b6d: 41 0f b6 d2                  	movzbl	%r10b, %edx
    2b71: 8d 0c 92                     	leal	(%rdx,%rdx,4), %ecx
    2b74: 01 e9                        	addl	%ebp, %ecx
    2b76: 41 0f b6 eb                  	movzbl	%r11b, %ebp
    2b7a: 8d 0c e9                     	leal	(%rcx,%rbp,8), %ecx
    2b7d: 29 e9                        	subl	%ebp, %ecx
    2b7f: 41 0f b6 f8                  	movzbl	%r8b, %edi
    2b83: 45 89 c4                     	movl	%r8d, %r12d
    2b86: 44 8d 04 bf                  	leal	(%rdi,%rdi,4), %r8d
    2b8a: 46 8d 04 47                  	leal	(%rdi,%r8,2), %r8d
    2b8e: 41 01 c8                     	addl	%ecx, %r8d
    2b91: 41 83 e0 3f                  	andl	$0x3f, %r8d
    2b95: 46 88 6c 84 20               	movb	%r13b, 0x20(%rsp,%r8,4)
    2b9a: 42 88 54 84 21               	movb	%dl, 0x21(%rsp,%r8,4)
    2b9f: 42 88 6c 84 22               	movb	%bpl, 0x22(%rsp,%r8,4)
    2ba4: 42 88 7c 84 23               	movb	%dil, 0x23(%rsp,%r8,4)
    2ba9: 45 89 e0                     	movl	%r12d, %r8d
    2bac: 48 8b 4c 24 08               	movq	0x8(%rsp), %rcx
    2bb1: 89 cd                        	movl	%ecx, %ebp
    2bb3: 8b 7c 24 1c                  	movl	0x1c(%rsp), %edi
    2bb7: 8d 4e 02                     	leal	0x2(%rsi), %ecx
    2bba: 48 63 d6                     	movslq	%esi, %rdx
    2bbd: 44 88 0c 10                  	movb	%r9b, (%rax,%rdx)
    2bc1: 44 88 54 10 01               	movb	%r10b, 0x1(%rax,%rdx)
    2bc6: 48 63 c9                     	movslq	%ecx, %rcx
    2bc9: 44 88 1c 08                  	movb	%r11b, (%rax,%rcx)
    2bcd: 41 83 fe 04                  	cmpl	$0x4, %r14d
    2bd1: 0f 85 56 fe ff ff            	jne	0x2a2d <qoi_decode+0x16d>
    2bd7: 8d 4e 03                     	leal	0x3(%rsi), %ecx
    2bda: 48 63 c9                     	movslq	%ecx, %rcx
    2bdd: 44 88 04 08                  	movb	%r8b, (%rax,%rcx)
    2be1: e9 47 fe ff ff               	jmp	0x2a2d <qoi_decode+0x16d>
    2be6: cc                           	int3
    2be7: cc                           	int3
    2be8: cc                           	int3
    2be9: cc                           	int3
    2bea: cc                           	int3
    2beb: cc                           	int3
    2bec: cc                           	int3
    2bed: cc                           	int3
    2bee: cc                           	int3
    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 a8 00 00 00         	subq	$0xa8, %rsp
    2c01: 8b 06                        	movl	(%rsi), %eax
    2c03: 0f c8                        	bswapl	%eax
    2c05: 89 44 24 a0                  	movl	%eax, -0x60(%rsp)
    2c09: 8b 46 04                     	movl	0x4(%rsi), %eax
    2c0c: 0f c8                        	bswapl	%eax
    2c0e: 89 44 24 a4                  	movl	%eax, -0x5c(%rsp)
    2c12: 8b 46 08                     	movl	0x8(%rsi), %eax
    2c15: 0f c8                        	bswapl	%eax
    2c17: 89 44 24 a8                  	movl	%eax, -0x58(%rsp)
    2c1b: 8b 46 0c                     	movl	0xc(%rsi), %eax
    2c1e: 0f c8                        	bswapl	%eax
    2c20: 89 44 24 ac                  	movl	%eax, -0x54(%rsp)
    2c24: 8b 46 10                     	movl	0x10(%rsi), %eax
    2c27: 0f c8                        	bswapl	%eax
    2c29: 89 44 24 b0                  	movl	%eax, -0x50(%rsp)
    2c2d: 8b 46 14                     	movl	0x14(%rsi), %eax
    2c30: 0f c8                        	bswapl	%eax
    2c32: 89 44 24 b4                  	movl	%eax, -0x4c(%rsp)
    2c36: 8b 46 18                     	movl	0x18(%rsi), %eax
    2c39: 0f c8                        	bswapl	%eax
    2c3b: 89 44 24 b8                  	movl	%eax, -0x48(%rsp)
    2c3f: 8b 46 1c                     	movl	0x1c(%rsi), %eax
    2c42: 0f c8                        	bswapl	%eax
    2c44: 89 44 24 bc                  	movl	%eax, -0x44(%rsp)
    2c48: 8b 46 20                     	movl	0x20(%rsi), %eax
    2c4b: 0f c8                        	bswapl	%eax
    2c4d: 89 44 24 c0                  	movl	%eax, -0x40(%rsp)
    2c51: 8b 46 24                     	movl	0x24(%rsi), %eax
    2c54: 0f c8                        	bswapl	%eax
    2c56: 89 44 24 c4                  	movl	%eax, -0x3c(%rsp)
    2c5a: 8b 46 28                     	movl	0x28(%rsi), %eax
    2c5d: 0f c8                        	bswapl	%eax
    2c5f: 89 44 24 c8                  	movl	%eax, -0x38(%rsp)
    2c63: 8b 46 2c                     	movl	0x2c(%rsi), %eax
    2c66: 0f c8                        	bswapl	%eax
    2c68: 89 44 24 cc                  	movl	%eax, -0x34(%rsp)
    2c6c: 8b 46 30                     	movl	0x30(%rsi), %eax
    2c6f: 0f c8                        	bswapl	%eax
    2c71: 89 44 24 d0                  	movl	%eax, -0x30(%rsp)
    2c75: 8b 46 34                     	movl	0x34(%rsi), %eax
    2c78: 0f c8                        	bswapl	%eax
    2c7a: 89 44 24 d4                  	movl	%eax, -0x2c(%rsp)
    2c7e: 8b 46 38                     	movl	0x38(%rsi), %eax
    2c81: 0f c8                        	bswapl	%eax
    2c83: 89 44 24 d8                  	movl	%eax, -0x28(%rsp)
    2c87: 8b 46 3c                     	movl	0x3c(%rsi), %eax
    2c8a: 0f c8                        	bswapl	%eax
    2c8c: 89 44 24 dc                  	movl	%eax, -0x24(%rsp)
    2c90: b8 10 00 00 00               	movl	$0x10, %eax
    2c95: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)
    2ca0: 8b 4c 84 98                  	movl	-0x68(%rsp,%rax,4), %ecx
    2ca4: 89 ca                        	movl	%ecx, %edx
    2ca6: c1 c2 0f                     	roll	$0xf, %edx
    2ca9: 89 ce                        	movl	%ecx, %esi
    2cab: c1 c6 0d                     	roll	$0xd, %esi
    2cae: 31 d6                        	xorl	%edx, %esi
    2cb0: c1 e9 0a                     	shrl	$0xa, %ecx
    2cb3: 31 f1                        	xorl	%esi, %ecx
    2cb5: 03 4c 84 84                  	addl	-0x7c(%rsp,%rax,4), %ecx
    2cb9: 8b 94 84 64 ff ff ff         	movl	-0x9c(%rsp,%rax,4), %edx
    2cc0: 89 d6                        	movl	%edx, %esi
    2cc2: c1 c6 19                     	roll	$0x19, %esi
    2cc5: 41 89 d0                     	movl	%edx, %r8d
    2cc8: 41 c1 c0 0e                  	roll	$0xe, %r8d
    2ccc: 41 31 f0                     	xorl	%esi, %r8d
    2ccf: c1 ea 03                     	shrl	$0x3, %edx
    2cd2: 44 31 c2                     	xorl	%r8d, %edx
    2cd5: 03 8c 84 60 ff ff ff         	addl	-0xa0(%rsp,%rax,4), %ecx
    2cdc: 01 d1                        	addl	%edx, %ecx
    2cde: 89 4c 84 a0                  	movl	%ecx, -0x60(%rsp,%rax,4)
    2ce2: 48 ff c0                     	incq	%rax
    2ce5: 48 83 f8 40                  	cmpq	$0x40, %rax
    2ce9: 75 b5                        	jne	0x2ca0 <sha256_transform+0xb0>
    2ceb: 44 8b 5f 50                  	movl	0x50(%rdi), %r11d
    2cef: 44 8b 67 54                  	movl	0x54(%rdi), %r12d
    2cf3: 8b 4f 58                     	movl	0x58(%rdi), %ecx
    2cf6: 44 8b 4f 5c                  	movl	0x5c(%rdi), %r9d
    2cfa: 44 8b 47 60                  	movl	0x60(%rdi), %r8d
    2cfe: 8b 6f 64                     	movl	0x64(%rdi), %ebp
    2d01: 8b 5f 68                     	movl	0x68(%rdi), %ebx
    2d04: 44 8b 77 6c                  	movl	0x6c(%rdi), %r14d
    2d08: 45 31 ff                     	xorl	%r15d, %r15d
    2d0b: 4c 8d 2d ae dc ff ff         	leaq	-0x2352(%rip), %r13     # 0x9c0 <k>
    2d12: 44 89 5c 24 80               	movl	%r11d, -0x80(%rsp)
    2d17: 44 89 64 24 84               	movl	%r12d, -0x7c(%rsp)
    2d1c: 44 89 74 24 9c               	movl	%r14d, -0x64(%rsp)
    2d21: 89 5c 24 98                  	movl	%ebx, -0x68(%rsp)
    2d25: 89 6c 24 94                  	movl	%ebp, -0x6c(%rsp)
    2d29: 44 89 44 24 90               	movl	%r8d, -0x70(%rsp)
    2d2e: 44 89 4c 24 8c               	movl	%r9d, -0x74(%rsp)
    2d33: 89 4c 24 88                  	movl	%ecx, -0x78(%rsp)
    2d37: 66 0f 1f 84 00 00 00 00 00   	nopw	(%rax,%rax)
    2d40: 89 ca                        	movl	%ecx, %edx
    2d42: 44 89 c0                     	movl	%r8d, %eax
    2d45: 41 89 ea                     	movl	%ebp, %r10d
    2d48: 41 c1 c0 1a                  	roll	$0x1a, %r8d
    2d4c: 89 de                        	movl	%ebx, %esi
    2d4e: 89 c3                        	movl	%eax, %ebx
    2d50: c1 c3 15                     	roll	$0x15, %ebx
    2d53: 44 89 e1                     	movl	%r12d, %ecx
    2d56: 89 c5                        	movl	%eax, %ebp
    2d58: c1 c5 07                     	roll	$0x7, %ebp
    2d5b: 44 31 c3                     	xorl	%r8d, %ebx
    2d5e: 31 dd                        	xorl	%ebx, %ebp
    2d60: 44 89 d3                     	movl	%r10d, %ebx
    2d63: 31 f3                        	xorl	%esi, %ebx
    2d65: 21 c3                        	andl	%eax, %ebx
    2d67: 31 f3                        	xorl	%esi, %ebx
    2d69: 44 01 f3                     	addl	%r14d, %ebx
    2d6c: 01 eb                        	addl	%ebp, %ebx
    2d6e: 43 03 1c 2f                  	addl	(%r15,%r13), %ebx
    2d72: 42 03 5c 3c a0               	addl	-0x60(%rsp,%r15), %ebx
    2d77: 45 89 dc                     	movl	%r11d, %r12d
    2d7a: 45 89 d8                     	movl	%r11d, %r8d
    2d7d: 41 c1 c0 1e                  	roll	$0x1e, %r8d
    2d81: 41 c1 c3 13                  	roll	$0x13, %r11d
    2d85: 45 31 c3                     	xorl	%r8d, %r11d
    2d88: 45 89 e0                     	movl	%r12d, %r8d
    2d8b: 41 c1 c0 0a                  	roll	$0xa, %r8d
    2d8f: 45 31 d8                     	xorl	%r11d, %r8d
    2d92: 89 cd                        	movl	%ecx, %ebp
    2d94: 31 d5                        	xorl	%edx, %ebp
    2d96: 44 21 e5                     	andl	%r12d, %ebp
    2d99: 41 89 cb                     	movl	%ecx, %r11d
    2d9c: 41 21 d3                     	andl	%edx, %r11d
    2d9f: 41 31 eb                     	xorl	%ebp, %r11d
    2da2: 45 01 c3                     	addl	%r8d, %r11d
    2da5: 45 89 c8                     	movl	%r9d, %r8d
    2da8: 41 01 d8                     	addl	%ebx, %r8d
    2dab: 41 01 db                     	addl	%ebx, %r11d
    2dae: 49 83 c7 04                  	addq	$0x4, %r15
    2db2: 41 89 f6                     	movl	%esi, %r14d
    2db5: 44 89 d3                     	movl	%r10d, %ebx
    2db8: 89 c5                        	movl	%eax, %ebp
    2dba: 41 89 d1                     	movl	%edx, %r9d
    2dbd: 49 81 ff 00 01 00 00         	cmpq	$0x100, %r15            # imm = 0x100
    2dc4: 0f 85 76 ff ff ff            	jne	0x2d40 <sha256_transform+0x150>
    2dca: 44 03 5c 24 80               	addl	-0x80(%rsp), %r11d
    2dcf: 44 89 5f 50                  	movl	%r11d, 0x50(%rdi)
    2dd3: 44 03 64 24 84               	addl	-0x7c(%rsp), %r12d
    2dd8: 44 89 67 54                  	movl	%r12d, 0x54(%rdi)
    2ddc: 03 4c 24 88                  	addl	-0x78(%rsp), %ecx
    2de0: 89 4f 58                     	movl	%ecx, 0x58(%rdi)
    2de3: 03 54 24 8c                  	addl	-0x74(%rsp), %edx
    2de7: 89 57 5c                     	movl	%edx, 0x5c(%rdi)
    2dea: 44 03 44 24 90               	addl	-0x70(%rsp), %r8d
    2def: 44 89 47 60                  	movl	%r8d, 0x60(%rdi)
    2df3: 03 44 24 94                  	addl	-0x6c(%rsp), %eax
    2df7: 89 47 64                     	movl	%eax, 0x64(%rdi)
    2dfa: 44 03 54 24 98               	addl	-0x68(%rsp), %r10d
    2dff: 44 89 57 68                  	movl	%r10d, 0x68(%rdi)
    2e03: 03 74 24 9c                  	addl	-0x64(%rsp), %esi
    2e07: 89 77 6c                     	movl	%esi, 0x6c(%rdi)
    2e0a: 48 81 c4 a8 00 00 00         	addq	$0xa8, %rsp
    2e11: 5b                           	popq	%rbx
    2e12: 41 5c                        	popq	%r12
    2e14: 41 5d                        	popq	%r13
    2e16: 41 5e                        	popq	%r14
    2e18: 41 5f                        	popq	%r15
    2e1a: 5d                           	popq	%rbp
    2e1b: c3                           	retq
    2e1c: cc                           	int3
    2e1d: cc                           	int3
    2e1e: cc                           	int3
    2e1f: cc                           	int3

0000000000002e20 <sha256_init>:
    2e20: c7 47 40 00 00 00 00         	movl	$0x0, 0x40(%rdi)
    2e27: 48 c7 47 48 00 00 00 00      	movq	$0x0, 0x48(%rdi)
    2e2f: 0f 28 05 7a db ff ff         	movaps	-0x2486(%rip), %xmm0    # 0x9b0 <memset+0x9b0>
    2e36: 0f 11 47 50                  	movups	%xmm0, 0x50(%rdi)
    2e3a: 0f 28 05 5f db ff ff         	movaps	-0x24a1(%rip), %xmm0    # 0x9a0 <memset+0x9a0>
    2e41: 0f 11 47 60                  	movups	%xmm0, 0x60(%rdi)
    2e45: c3                           	retq
    2e46: cc                           	int3
    2e47: cc                           	int3
    2e48: cc                           	int3
    2e49: cc                           	int3
    2e4a: cc                           	int3
    2e4b: cc                           	int3
    2e4c: cc                           	int3
    2e4d: cc                           	int3
    2e4e: cc                           	int3
    2e4f: cc                           	int3

0000000000002e50 <sha256_update>:
    2e50: 48 85 d2                     	testq	%rdx, %rdx
    2e53: 74 77                        	je	0x2ecc <sha256_update+0x7c>
    2e55: 55                           	pushq	%rbp
    2e56: 41 57                        	pushq	%r15
    2e58: 41 56                        	pushq	%r14
    2e5a: 53                           	pushq	%rbx
    2e5b: 50                           	pushq	%rax
    2e5c: 48 89 d3                     	movq	%rdx, %rbx
    2e5f: 49 89 f6                     	movq	%rsi, %r14
    2e62: 49 89 ff                     	movq	%rdi, %r15
    2e65: 8b 47 40                     	movl	0x40(%rdi), %eax
    2e68: bd 01 00 00 00               	movl	$0x1, %ebp
    2e6d: 31 c9                        	xorl	%ecx, %ecx
    2e6f: eb 18                        	jmp	0x2e89 <sha256_update+0x39>
    2e71: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	nopw	%cs:(%rax,%rax)
    2e80: 89 e9                        	movl	%ebp, %ecx
    2e82: ff c5                        	incl	%ebp
    2e84: 48 39 cb                     	cmpq	%rcx, %rbx
    2e87: 76 39                        	jbe	0x2ec2 <sha256_update+0x72>
    2e89: 41 0f b6 0c 0e               	movzbl	(%r14,%rcx), %ecx
    2e8e: 89 c0                        	movl	%eax, %eax
    2e90: 41 88 0c 07                  	movb	%cl, (%r15,%rax)
    2e94: 41 8b 47 40                  	movl	0x40(%r15), %eax
    2e98: ff c0                        	incl	%eax
    2e9a: 41 89 47 40                  	movl	%eax, 0x40(%r15)
    2e9e: 83 f8 40                     	cmpl	$0x40, %eax
    2ea1: 75 dd                        	jne	0x2e80 <sha256_update+0x30>
    2ea3: 4c 89 ff                     	movq	%r15, %rdi
    2ea6: 4c 89 fe                     	movq	%r15, %rsi
    2ea9: e8 42 fd ff ff               	callq	0x2bf0 <sha256_transform>
    2eae: 49 81 47 48 00 02 00 00      	addq	$0x200, 0x48(%r15)      # imm = 0x200
    2eb6: 41 c7 47 40 00 00 00 00      	movl	$0x0, 0x40(%r15)
    2ebe: 31 c0                        	xorl	%eax, %eax
    2ec0: eb be                        	jmp	0x2e80 <sha256_update+0x30>
    2ec2: 48 83 c4 08                  	addq	$0x8, %rsp
    2ec6: 5b                           	popq	%rbx
    2ec7: 41 5e                        	popq	%r14
    2ec9: 41 5f                        	popq	%r15
    2ecb: 5d                           	popq	%rbp
    2ecc: c3                           	retq
    2ecd: cc                           	int3
    2ece: cc                           	int3
    2ecf: cc                           	int3

0000000000002ed0 <sha256_final>:
    2ed0: 55                           	pushq	%rbp
    2ed1: 53                           	pushq	%rbx
    2ed2: 50                           	pushq	%rax
    2ed3: 48 89 f3                     	movq	%rsi, %rbx
    2ed6: 48 89 fd                     	movq	%rdi, %rbp
    2ed9: 8b 47 40                     	movl	0x40(%rdi), %eax
    2edc: c6 04 07 80                  	movb	$-0x80, (%rdi,%rax)
    2ee0: 48 83 f8 37                  	cmpq	$0x37, %rax
    2ee4: 77 1d                        	ja	0x2f03 <sha256_final+0x33>
    2ee6: 83 f8 37                     	cmpl	$0x37, %eax
    2ee9: 74 58                        	je	0x2f43 <sha256_final+0x73>
    2eeb: 48 8d 3c 28                  	leaq	(%rax,%rbp), %rdi
    2eef: 48 ff c7                     	incq	%rdi
    2ef2: ba 37 00 00 00               	movl	$0x37, %edx
    2ef7: 48 29 c2                     	subq	%rax, %rdx
    2efa: 31 f6                        	xorl	%esi, %esi
    2efc: e8 cf 01 00 00               	callq	0x30d0 <memset@plt>
    2f01: eb 40                        	jmp	0x2f43 <sha256_final+0x73>
    2f03: 8d 48 01                     	leal	0x1(%rax), %ecx
    2f06: 83 f9 3f                     	cmpl	$0x3f, %ecx
    2f09: 77 16                        	ja	0x2f21 <sha256_final+0x51>
    2f0b: 89 cf                        	movl	%ecx, %edi
    2f0d: 48 01 ef                     	addq	%rbp, %rdi
    2f10: ba 3e 00 00 00               	movl	$0x3e, %edx
    2f15: 29 c2                        	subl	%eax, %edx
    2f17: 48 ff c2                     	incq	%rdx
    2f1a: 31 f6                        	xorl	%esi, %esi
    2f1c: e8 af 01 00 00               	callq	0x30d0 <memset@plt>
    2f21: 48 89 ef                     	movq	%rbp, %rdi
    2f24: 48 89 ee                     	movq	%rbp, %rsi
    2f27: e8 c4 fc ff ff               	callq	0x2bf0 <sha256_transform>
    2f2c: 0f 57 c0                     	xorps	%xmm0, %xmm0
    2f2f: 0f 11 45 20                  	movups	%xmm0, 0x20(%rbp)
    2f33: 0f 11 45 10                  	movups	%xmm0, 0x10(%rbp)
    2f37: 0f 11 45 00                  	movups	%xmm0, (%rbp)
    2f3b: 48 c7 45 30 00 00 00 00      	movq	$0x0, 0x30(%rbp)
    2f43: 8b 45 40                     	movl	0x40(%rbp), %eax
    2f46: c1 e0 03                     	shll	$0x3, %eax
    2f49: 48 03 45 48                  	addq	0x48(%rbp), %rax
    2f4d: 48 89 45 48                  	movq	%rax, 0x48(%rbp)
    2f51: 88 45 3f                     	movb	%al, 0x3f(%rbp)
    2f54: 88 65 3e                     	movb	%ah, 0x3e(%rbp)
    2f57: 89 c1                        	movl	%eax, %ecx
    2f59: c1 e9 10                     	shrl	$0x10, %ecx
    2f5c: 88 4d 3d                     	movb	%cl, 0x3d(%rbp)
    2f5f: 89 c1                        	movl	%eax, %ecx
    2f61: c1 e9 18                     	shrl	$0x18, %ecx
    2f64: 88 4d 3c                     	movb	%cl, 0x3c(%rbp)
    2f67: 48 89 c1                     	movq	%rax, %rcx
    2f6a: 48 c1 e9 20                  	shrq	$0x20, %rcx
    2f6e: 88 4d 3b                     	movb	%cl, 0x3b(%rbp)
    2f71: 48 89 c1                     	movq	%rax, %rcx
    2f74: 48 c1 e9 28                  	shrq	$0x28, %rcx
    2f78: 88 4d 3a                     	movb	%cl, 0x3a(%rbp)
    2f7b: 48 89 c1                     	movq	%rax, %rcx
    2f7e: 48 c1 e9 30                  	shrq	$0x30, %rcx
    2f82: 88 4d 39                     	movb	%cl, 0x39(%rbp)
    2f85: 48 c1 e8 38                  	shrq	$0x38, %rax
    2f89: 88 45 38                     	movb	%al, 0x38(%rbp)
    2f8c: 48 89 ef                     	movq	%rbp, %rdi
    2f8f: 48 89 ee                     	movq	%rbp, %rsi
    2f92: e8 59 fc ff ff               	callq	0x2bf0 <sha256_transform>
    2f97: 0f b6 45 53                  	movzbl	0x53(%rbp), %eax
    2f9b: 88 03                        	movb	%al, (%rbx)
    2f9d: 0f b6 45 57                  	movzbl	0x57(%rbp), %eax
    2fa1: 88 43 04                     	movb	%al, 0x4(%rbx)
    2fa4: 0f b6 45 5b                  	movzbl	0x5b(%rbp), %eax
    2fa8: 88 43 08                     	movb	%al, 0x8(%rbx)
    2fab: 0f b6 45 5f                  	movzbl	0x5f(%rbp), %eax
    2faf: 88 43 0c                     	movb	%al, 0xc(%rbx)
    2fb2: 0f b6 45 63                  	movzbl	0x63(%rbp), %eax
    2fb6: 88 43 10                     	movb	%al, 0x10(%rbx)
    2fb9: 0f b6 45 67                  	movzbl	0x67(%rbp), %eax
    2fbd: 88 43 14                     	movb	%al, 0x14(%rbx)
    2fc0: 0f b6 45 6b                  	movzbl	0x6b(%rbp), %eax
    2fc4: 88 43 18                     	movb	%al, 0x18(%rbx)
    2fc7: 0f b6 45 6f                  	movzbl	0x6f(%rbp), %eax
    2fcb: 88 43 1c                     	movb	%al, 0x1c(%rbx)
    2fce: 0f b6 45 52                  	movzbl	0x52(%rbp), %eax
    2fd2: 88 43 01                     	movb	%al, 0x1(%rbx)
    2fd5: 0f b6 45 56                  	movzbl	0x56(%rbp), %eax
    2fd9: 88 43 05                     	movb	%al, 0x5(%rbx)
    2fdc: 0f b6 45 5a                  	movzbl	0x5a(%rbp), %eax
    2fe0: 88 43 09                     	movb	%al, 0x9(%rbx)
    2fe3: 0f b6 45 5e                  	movzbl	0x5e(%rbp), %eax
    2fe7: 88 43 0d                     	movb	%al, 0xd(%rbx)
    2fea: 0f b6 45 62                  	movzbl	0x62(%rbp), %eax
    2fee: 88 43 11                     	movb	%al, 0x11(%rbx)
    2ff1: 0f b6 45 66                  	movzbl	0x66(%rbp), %eax
    2ff5: 88 43 15                     	movb	%al, 0x15(%rbx)
    2ff8: 0f b6 45 6a                  	movzbl	0x6a(%rbp), %eax
    2ffc: 88 43 19                     	movb	%al, 0x19(%rbx)
    2fff: 0f b6 45 6e                  	movzbl	0x6e(%rbp), %eax
    3003: 88 43 1d                     	movb	%al, 0x1d(%rbx)
    3006: 0f b6 45 51                  	movzbl	0x51(%rbp), %eax
    300a: 88 43 02                     	movb	%al, 0x2(%rbx)
    300d: 0f b6 45 55                  	movzbl	0x55(%rbp), %eax
    3011: 88 43 06                     	movb	%al, 0x6(%rbx)
    3014: 0f b6 45 59                  	movzbl	0x59(%rbp), %eax
    3018: 88 43 0a                     	movb	%al, 0xa(%rbx)
    301b: 0f b6 45 5d                  	movzbl	0x5d(%rbp), %eax
    301f: 88 43 0e                     	movb	%al, 0xe(%rbx)
    3022: 0f b6 45 61                  	movzbl	0x61(%rbp), %eax
    3026: 88 43 12                     	movb	%al, 0x12(%rbx)
    3029: 0f b6 45 65                  	movzbl	0x65(%rbp), %eax
    302d: 88 43 16                     	movb	%al, 0x16(%rbx)
    3030: 0f b6 45 69                  	movzbl	0x69(%rbp), %eax
    3034: 88 43 1a                     	movb	%al, 0x1a(%rbx)
    3037: 0f b6 45 6d                  	movzbl	0x6d(%rbp), %eax
    303b: 88 43 1e                     	movb	%al, 0x1e(%rbx)
    303e: 0f b6 45 50                  	movzbl	0x50(%rbp), %eax
    3042: 88 43 03                     	movb	%al, 0x3(%rbx)
    3045: 0f b6 45 54                  	movzbl	0x54(%rbp), %eax
    3049: 88 43 07                     	movb	%al, 0x7(%rbx)
    304c: 0f b6 45 58                  	movzbl	0x58(%rbp), %eax
    3050: 88 43 0b                     	movb	%al, 0xb(%rbx)
    3053: 0f b6 45 5c                  	movzbl	0x5c(%rbp), %eax
    3057: 88 43 0f                     	movb	%al, 0xf(%rbx)
    305a: 0f b6 45 60                  	movzbl	0x60(%rbp), %eax
    305e: 88 43 13                     	movb	%al, 0x13(%rbx)
    3061: 0f b6 45 64                  	movzbl	0x64(%rbp), %eax
    3065: 88 43 17                     	movb	%al, 0x17(%rbx)
    3068: 0f b6 45 68                  	movzbl	0x68(%rbp), %eax
    306c: 88 43 1b                     	movb	%al, 0x1b(%rbx)
    306f: 0f b6 45 6c                  	movzbl	0x6c(%rbp), %eax
    3073: 88 43 1f                     	movb	%al, 0x1f(%rbx)
    3076: 48 83 c4 08                  	addq	$0x8, %rsp
    307a: 5b                           	popq	%rbx
    307b: 5d                           	popq	%rbp
    307c: c3                           	retq

Disassembly of section .init:

0000000000003080 <_init>:
    3080: f3 0f 1e fa                  	endbr64
    3084: 48 83 ec 08                  	subq	$0x8, %rsp
    3088: 48 8b 05 f1 11 00 00         	movq	0x11f1(%rip), %rax      # 0x4280 <memset+0x4280>
    308f: 48 85 c0                     	testq	%rax, %rax
    3092: 74 02                        	je	0x3096 <_init+0x16>
    3094: ff d0                        	callq	*%rax
    3096: 48 83 c4 08                  	addq	$0x8, %rsp
    309a: c3                           	retq

Disassembly of section .fini:

000000000000309c <_fini>:
    309c: f3 0f 1e fa                  	endbr64
    30a0: 48 83 ec 08                  	subq	$0x8, %rsp
    30a4: 48 83 c4 08                  	addq	$0x8, %rsp
    30a8: c3                           	retq

Disassembly of section .plt:

00000000000030b0 <.plt>:
    30b0: ff 35 fa 21 00 00            	pushq	0x21fa(%rip)            # 0x52b0 <_GLOBAL_OFFSET_TABLE_+0x8>
    30b6: ff 25 fc 21 00 00            	jmpq	*0x21fc(%rip)           # 0x52b8 <_GLOBAL_OFFSET_TABLE_+0x10>
    30bc: 0f 1f 40 00                  	nopl	(%rax)

00000000000030c0 <malloc@plt>:
    30c0: ff 25 fa 21 00 00            	jmpq	*0x21fa(%rip)           # 0x52c0 <_GLOBAL_OFFSET_TABLE_+0x18>
    30c6: 68 00 00 00 00               	pushq	$0x0
    30cb: e9 e0 ff ff ff               	jmp	0x30b0 <.plt>

00000000000030d0 <memset@plt>:
    30d0: ff 25 f2 21 00 00            	jmpq	*0x21f2(%rip)           # 0x52c8 <_GLOBAL_OFFSET_TABLE_+0x20>
    30d6: 68 01 00 00 00               	pushq	$0x1
    30db: e9 d0 ff ff ff               	jmp	0x30b0 <.plt>
