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

Disassembly of section .text:

0000000000001cd0 <deregister_tm_clones>:
    1cd0: 48 8d 3d 41 3f 00 00         	leaq	0x3f41(%rip), %rdi      # 0x5c18 <_GLOBAL_OFFSET_TABLE_>
    1cd7: 48 8d 05 3a 3f 00 00         	leaq	0x3f3a(%rip), %rax      # 0x5c18 <_GLOBAL_OFFSET_TABLE_>
    1cde: 48 39 f8                     	cmpq	%rdi, %rax
    1ce1: 74 15                        	je	0x1cf8 <deregister_tm_clones+0x28>
    1ce3: 48 8b 05 0e 2f 00 00         	movq	0x2f0e(%rip), %rax      # 0x4bf8 <memset+0x4bf8>
    1cea: 48 85 c0                     	testq	%rax, %rax
    1ced: 74 09                        	je	0x1cf8 <deregister_tm_clones+0x28>
    1cef: ff e0                        	jmpq	*%rax
    1cf1: 0f 1f 80 00 00 00 00         	nopl	(%rax)
    1cf8: c3                           	retq
    1cf9: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001d00 <register_tm_clones>:
    1d00: 48 8d 3d 11 3f 00 00         	leaq	0x3f11(%rip), %rdi      # 0x5c18 <_GLOBAL_OFFSET_TABLE_>
    1d07: 48 8d 35 0a 3f 00 00         	leaq	0x3f0a(%rip), %rsi      # 0x5c18 <_GLOBAL_OFFSET_TABLE_>
    1d0e: 48 29 fe                     	subq	%rdi, %rsi
    1d11: 48 89 f0                     	movq	%rsi, %rax
    1d14: 48 c1 ee 3f                  	shrq	$0x3f, %rsi
    1d18: 48 c1 f8 03                  	sarq	$0x3, %rax
    1d1c: 48 01 c6                     	addq	%rax, %rsi
    1d1f: 48 d1 fe                     	sarq	%rsi
    1d22: 74 14                        	je	0x1d38 <register_tm_clones+0x38>
    1d24: 48 8b 05 d5 2e 00 00         	movq	0x2ed5(%rip), %rax      # 0x4c00 <memset+0x4c00>
    1d2b: 48 85 c0                     	testq	%rax, %rax
    1d2e: 74 08                        	je	0x1d38 <register_tm_clones+0x38>
    1d30: ff e0                        	jmpq	*%rax
    1d32: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
    1d38: c3                           	retq
    1d39: 0f 1f 80 00 00 00 00         	nopl	(%rax)

0000000000001d40 <__do_global_dtors_aux>:
    1d40: f3 0f 1e fa                  	endbr64
    1d44: 80 3d f5 3e 00 00 00         	cmpb	$0x0, 0x3ef5(%rip)      # 0x5c40 <completed.0>
    1d4b: 75 33                        	jne	0x1d80 <__do_global_dtors_aux+0x40>
    1d4d: 55                           	pushq	%rbp
    1d4e: 48 83 3d b2 2e 00 00 00      	cmpq	$0x0, 0x2eb2(%rip)      # 0x4c08 <memset+0x4c08>
    1d56: 48 89 e5                     	movq	%rsp, %rbp
    1d59: 74 0d                        	je	0x1d68 <__do_global_dtors_aux+0x28>
    1d5b: 48 8b 3d ae 3e 00 00         	movq	0x3eae(%rip), %rdi      # 0x5c10 <__dso_handle>
    1d62: ff 15 a0 2e 00 00            	callq	*0x2ea0(%rip)           # 0x4c08 <memset+0x4c08>
    1d68: e8 63 ff ff ff               	callq	0x1cd0 <deregister_tm_clones>
    1d6d: c6 05 cc 3e 00 00 01         	movb	$0x1, 0x3ecc(%rip)      # 0x5c40 <completed.0>
    1d74: 5d                           	popq	%rbp
    1d75: c3                           	retq
    1d76: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)
    1d80: c3                           	retq
    1d81: 0f 1f 40 00                  	nopl	(%rax)
    1d85: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)

0000000000001d90 <frame_dummy>:
    1d90: f3 0f 1e fa                  	endbr64
    1d94: e9 67 ff ff ff               	jmp	0x1d00 <register_tm_clones>
    1d99: cc                           	int3
    1d9a: cc                           	int3
    1d9b: cc                           	int3
    1d9c: cc                           	int3
    1d9d: cc                           	int3
    1d9e: cc                           	int3
    1d9f: cc                           	int3

0000000000001da0 <jsmn_parse>:
    1da0: 55                           	pushq	%rbp
    1da1: 48 89 e5                     	movq	%rsp, %rbp
    1da4: 48 83 ec 60                  	subq	$0x60, %rsp
    1da8: 48 89 7d f0                  	movq	%rdi, -0x10(%rbp)
    1dac: 48 89 75 c0                  	movq	%rsi, -0x40(%rbp)
    1db0: 48 89 55 b0                  	movq	%rdx, -0x50(%rbp)
    1db4: 48 89 4d e0                  	movq	%rcx, -0x20(%rbp)
    1db8: 44 89 45 c8                  	movl	%r8d, -0x38(%rbp)
    1dbc: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1dc0: 8b 40 04                     	movl	0x4(%rax), %eax
    1dc3: 89 45 d8                     	movl	%eax, -0x28(%rbp)
    1dc6: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1dca: 8b 08                        	movl	(%rax), %ecx
    1dcc: 31 c0                        	xorl	%eax, %eax
    1dce: 48 3b 4d b0                  	cmpq	-0x50(%rbp), %rcx
    1dd2: 73 14                        	jae	0x1de8 <jsmn_parse+0x48>
    1dd4: 48 8b 45 c0                  	movq	-0x40(%rbp), %rax
    1dd8: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    1ddc: 8b 09                        	movl	(%rcx), %ecx
    1dde: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    1de2: 83 f8 00                     	cmpl	$0x0, %eax
    1de5: 0f 95 c0                     	setne	%al
    1de8: a8 01                        	testb	$0x1, %al
    1dea: 75 05                        	jne	0x1df1 <jsmn_parse+0x51>
    1dec: e9 1e 04 00 00               	jmp	0x220f <jsmn_parse+0x46f>
    1df1: 48 8b 45 c0                  	movq	-0x40(%rbp), %rax
    1df5: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    1df9: 8b 09                        	movl	(%rcx), %ecx
    1dfb: 8a 04 08                     	movb	(%rax,%rcx), %al
    1dfe: 88 45 ef                     	movb	%al, -0x11(%rbp)
    1e01: 0f be 45 ef                  	movsbl	-0x11(%rbp), %eax
    1e05: 83 c0 f7                     	addl	$-0x9, %eax
    1e08: 89 c1                        	movl	%eax, %ecx
    1e0a: 83 e9 74                     	subl	$0x74, %ecx
    1e0d: 0f 87 e1 03 00 00            	ja	0x21f4 <jsmn_parse+0x454>
    1e13: 48 8d 0d 26 e8 ff ff         	leaq	-0x17da(%rip), %rcx     # 0x640 <memset+0x640>
    1e1a: 48 63 04 81                  	movslq	(%rcx,%rax,4), %rax
    1e1e: 48 01 c1                     	addq	%rax, %rcx
    1e21: ff e1                        	jmpq	*%rcx
    1e23: 8b 45 d8                     	movl	-0x28(%rbp), %eax
    1e26: 83 c0 01                     	addl	$0x1, %eax
    1e29: 89 45 d8                     	movl	%eax, -0x28(%rbp)
    1e2c: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    1e31: 75 05                        	jne	0x1e38 <jsmn_parse+0x98>
    1e33: e9 c5 03 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    1e38: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
    1e3c: 48 8b 75 e0                  	movq	-0x20(%rbp), %rsi
    1e40: 8b 55 c8                     	movl	-0x38(%rbp), %edx
    1e43: e8 38 04 00 00               	callq	0x2280 <jsmn_alloc_token>
    1e48: 48 89 45 d0                  	movq	%rax, -0x30(%rbp)
    1e4c: 48 83 7d d0 00               	cmpq	$0x0, -0x30(%rbp)
    1e51: 75 0c                        	jne	0x1e5f <jsmn_parse+0xbf>
    1e53: c7 45 dc ff ff ff ff         	movl	$0xffffffff, -0x24(%rbp) # imm = 0xFFFFFFFF
    1e5a: e9 12 04 00 00               	jmp	0x2271 <jsmn_parse+0x4d1>
    1e5f: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1e63: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    1e67: 74 39                        	je	0x1ea2 <jsmn_parse+0x102>
    1e69: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    1e6d: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    1e71: 48 63 49 08                  	movslq	0x8(%rcx), %rcx
    1e75: 48 c1 e1 04                  	shlq	$0x4, %rcx
    1e79: 48 01 c8                     	addq	%rcx, %rax
    1e7c: 48 89 45 a0                  	movq	%rax, -0x60(%rbp)
    1e80: 48 8b 45 a0                  	movq	-0x60(%rbp), %rax
    1e84: 83 38 01                     	cmpl	$0x1, (%rax)
    1e87: 75 0c                        	jne	0x1e95 <jsmn_parse+0xf5>
    1e89: c7 45 dc fe ff ff ff         	movl	$0xfffffffe, -0x24(%rbp) # imm = 0xFFFFFFFE
    1e90: e9 dc 03 00 00               	jmp	0x2271 <jsmn_parse+0x4d1>
    1e95: 48 8b 45 a0                  	movq	-0x60(%rbp), %rax
    1e99: 8b 48 0c                     	movl	0xc(%rax), %ecx
    1e9c: 83 c1 01                     	addl	$0x1, %ecx
    1e9f: 89 48 0c                     	movl	%ecx, 0xc(%rax)
    1ea2: 0f be 45 ef                  	movsbl	-0x11(%rbp), %eax
    1ea6: b9 02 00 00 00               	movl	$0x2, %ecx
    1eab: ba 01 00 00 00               	movl	$0x1, %edx
    1eb0: 83 f8 7b                     	cmpl	$0x7b, %eax
    1eb3: 0f 44 ca                     	cmovel	%edx, %ecx
    1eb6: 48 8b 45 d0                  	movq	-0x30(%rbp), %rax
    1eba: 89 08                        	movl	%ecx, (%rax)
    1ebc: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1ec0: 8b 00                        	movl	(%rax), %eax
    1ec2: 48 8b 4d d0                  	movq	-0x30(%rbp), %rcx
    1ec6: 89 41 04                     	movl	%eax, 0x4(%rcx)
    1ec9: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1ecd: 8b 40 04                     	movl	0x4(%rax), %eax
    1ed0: 83 e8 01                     	subl	$0x1, %eax
    1ed3: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    1ed7: 89 41 08                     	movl	%eax, 0x8(%rcx)
    1eda: e9 1e 03 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    1edf: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    1ee4: 75 05                        	jne	0x1eeb <jsmn_parse+0x14b>
    1ee6: e9 12 03 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    1eeb: 0f be 45 ef                  	movsbl	-0x11(%rbp), %eax
    1eef: b9 02 00 00 00               	movl	$0x2, %ecx
    1ef4: ba 01 00 00 00               	movl	$0x1, %edx
    1ef9: 83 f8 7d                     	cmpl	$0x7d, %eax
    1efc: 0f 44 ca                     	cmovel	%edx, %ecx
    1eff: 89 4d ac                     	movl	%ecx, -0x54(%rbp)
    1f02: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1f06: 8b 40 04                     	movl	0x4(%rax), %eax
    1f09: 83 e8 01                     	subl	$0x1, %eax
    1f0c: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    1f0f: 83 7d fc 00                  	cmpl	$0x0, -0x4(%rbp)
    1f13: 7c 68                        	jl	0x1f7d <jsmn_parse+0x1dd>
    1f15: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    1f19: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    1f1d: 48 c1 e1 04                  	shlq	$0x4, %rcx
    1f21: 48 01 c8                     	addq	%rcx, %rax
    1f24: 48 89 45 d0                  	movq	%rax, -0x30(%rbp)
    1f28: 48 8b 45 d0                  	movq	-0x30(%rbp), %rax
    1f2c: 83 78 04 ff                  	cmpl	$-0x1, 0x4(%rax)
    1f30: 74 3e                        	je	0x1f70 <jsmn_parse+0x1d0>
    1f32: 48 8b 45 d0                  	movq	-0x30(%rbp), %rax
    1f36: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    1f3a: 75 34                        	jne	0x1f70 <jsmn_parse+0x1d0>
    1f3c: 48 8b 45 d0                  	movq	-0x30(%rbp), %rax
    1f40: 8b 00                        	movl	(%rax), %eax
    1f42: 3b 45 ac                     	cmpl	-0x54(%rbp), %eax
    1f45: 74 0c                        	je	0x1f53 <jsmn_parse+0x1b3>
    1f47: c7 45 dc fe ff ff ff         	movl	$0xfffffffe, -0x24(%rbp) # imm = 0xFFFFFFFE
    1f4e: e9 1e 03 00 00               	jmp	0x2271 <jsmn_parse+0x4d1>
    1f53: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1f57: c7 40 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rax)  # imm = 0xFFFFFFFF
    1f5e: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    1f62: 8b 00                        	movl	(%rax), %eax
    1f64: 83 c0 01                     	addl	$0x1, %eax
    1f67: 48 8b 4d d0                  	movq	-0x30(%rbp), %rcx
    1f6b: 89 41 08                     	movl	%eax, 0x8(%rcx)
    1f6e: eb 0f                        	jmp	0x1f7f <jsmn_parse+0x1df>
    1f70: eb 00                        	jmp	0x1f72 <jsmn_parse+0x1d2>
    1f72: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    1f75: 83 c0 ff                     	addl	$-0x1, %eax
    1f78: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    1f7b: eb 92                        	jmp	0x1f0f <jsmn_parse+0x16f>
    1f7d: eb 00                        	jmp	0x1f7f <jsmn_parse+0x1df>
    1f7f: 83 7d fc ff                  	cmpl	$-0x1, -0x4(%rbp)
    1f83: 75 0c                        	jne	0x1f91 <jsmn_parse+0x1f1>
    1f85: c7 45 dc fe ff ff ff         	movl	$0xfffffffe, -0x24(%rbp) # imm = 0xFFFFFFFE
    1f8c: e9 e0 02 00 00               	jmp	0x2271 <jsmn_parse+0x4d1>
    1f91: eb 00                        	jmp	0x1f93 <jsmn_parse+0x1f3>
    1f93: 83 7d fc 00                  	cmpl	$0x0, -0x4(%rbp)
    1f97: 7c 40                        	jl	0x1fd9 <jsmn_parse+0x239>
    1f99: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    1f9d: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    1fa1: 48 c1 e1 04                  	shlq	$0x4, %rcx
    1fa5: 48 01 c8                     	addq	%rcx, %rax
    1fa8: 48 89 45 d0                  	movq	%rax, -0x30(%rbp)
    1fac: 48 8b 45 d0                  	movq	-0x30(%rbp), %rax
    1fb0: 83 78 04 ff                  	cmpl	$-0x1, 0x4(%rax)
    1fb4: 74 16                        	je	0x1fcc <jsmn_parse+0x22c>
    1fb6: 48 8b 45 d0                  	movq	-0x30(%rbp), %rax
    1fba: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    1fbe: 75 0c                        	jne	0x1fcc <jsmn_parse+0x22c>
    1fc0: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    1fc3: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    1fc7: 89 41 08                     	movl	%eax, 0x8(%rcx)
    1fca: eb 0f                        	jmp	0x1fdb <jsmn_parse+0x23b>
    1fcc: eb 00                        	jmp	0x1fce <jsmn_parse+0x22e>
    1fce: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    1fd1: 83 c0 ff                     	addl	$-0x1, %eax
    1fd4: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    1fd7: eb ba                        	jmp	0x1f93 <jsmn_parse+0x1f3>
    1fd9: eb 00                        	jmp	0x1fdb <jsmn_parse+0x23b>
    1fdb: e9 1d 02 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    1fe0: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
    1fe4: 48 8b 75 c0                  	movq	-0x40(%rbp), %rsi
    1fe8: 48 8b 55 b0                  	movq	-0x50(%rbp), %rdx
    1fec: 48 8b 4d e0                  	movq	-0x20(%rbp), %rcx
    1ff0: 44 8b 45 c8                  	movl	-0x38(%rbp), %r8d
    1ff4: e8 07 03 00 00               	callq	0x2300 <jsmn_parse_string>
    1ff9: 89 45 cc                     	movl	%eax, -0x34(%rbp)
    1ffc: 83 7d cc 00                  	cmpl	$0x0, -0x34(%rbp)
    2000: 7d 0b                        	jge	0x200d <jsmn_parse+0x26d>
    2002: 8b 45 cc                     	movl	-0x34(%rbp), %eax
    2005: 89 45 dc                     	movl	%eax, -0x24(%rbp)
    2008: e9 64 02 00 00               	jmp	0x2271 <jsmn_parse+0x4d1>
    200d: 8b 45 d8                     	movl	-0x28(%rbp), %eax
    2010: 83 c0 01                     	addl	$0x1, %eax
    2013: 89 45 d8                     	movl	%eax, -0x28(%rbp)
    2016: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    201a: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    201e: 74 23                        	je	0x2043 <jsmn_parse+0x2a3>
    2020: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    2025: 74 1c                        	je	0x2043 <jsmn_parse+0x2a3>
    2027: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    202b: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    202f: 48 63 49 08                  	movslq	0x8(%rcx), %rcx
    2033: 48 c1 e1 04                  	shlq	$0x4, %rcx
    2037: 48 01 c8                     	addq	%rcx, %rax
    203a: 8b 48 0c                     	movl	0xc(%rax), %ecx
    203d: 83 c1 01                     	addl	$0x1, %ecx
    2040: 89 48 0c                     	movl	%ecx, 0xc(%rax)
    2043: e9 b5 01 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    2048: e9 b0 01 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    204d: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    2051: 8b 40 04                     	movl	0x4(%rax), %eax
    2054: 83 e8 01                     	subl	$0x1, %eax
    2057: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    205b: 89 41 08                     	movl	%eax, 0x8(%rcx)
    205e: e9 9a 01 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    2063: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    2068: 0f 84 ca 00 00 00            	je	0x2138 <jsmn_parse+0x398>
    206e: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    2072: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    2076: 0f 84 bc 00 00 00            	je	0x2138 <jsmn_parse+0x398>
    207c: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2080: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    2084: 48 63 49 08                  	movslq	0x8(%rcx), %rcx
    2088: 48 c1 e1 04                  	shlq	$0x4, %rcx
    208c: 48 01 c8                     	addq	%rcx, %rax
    208f: 83 38 02                     	cmpl	$0x2, (%rax)
    2092: 0f 84 a0 00 00 00            	je	0x2138 <jsmn_parse+0x398>
    2098: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    209c: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    20a0: 48 63 49 08                  	movslq	0x8(%rcx), %rcx
    20a4: 48 c1 e1 04                  	shlq	$0x4, %rcx
    20a8: 48 01 c8                     	addq	%rcx, %rax
    20ab: 83 38 01                     	cmpl	$0x1, (%rax)
    20ae: 0f 84 84 00 00 00            	je	0x2138 <jsmn_parse+0x398>
    20b4: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    20b8: 8b 40 04                     	movl	0x4(%rax), %eax
    20bb: 83 e8 01                     	subl	$0x1, %eax
    20be: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    20c1: 83 7d fc 00                  	cmpl	$0x0, -0x4(%rbp)
    20c5: 7c 6d                        	jl	0x2134 <jsmn_parse+0x394>
    20c7: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    20cb: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    20cf: 48 c1 e1 04                  	shlq	$0x4, %rcx
    20d3: 48 01 c8                     	addq	%rcx, %rax
    20d6: 83 38 02                     	cmpl	$0x2, (%rax)
    20d9: 74 14                        	je	0x20ef <jsmn_parse+0x34f>
    20db: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    20df: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    20e3: 48 c1 e1 04                  	shlq	$0x4, %rcx
    20e7: 48 01 c8                     	addq	%rcx, %rax
    20ea: 83 38 01                     	cmpl	$0x1, (%rax)
    20ed: 75 38                        	jne	0x2127 <jsmn_parse+0x387>
    20ef: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    20f3: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    20f7: 48 c1 e1 04                  	shlq	$0x4, %rcx
    20fb: 48 01 c8                     	addq	%rcx, %rax
    20fe: 83 78 04 ff                  	cmpl	$-0x1, 0x4(%rax)
    2102: 74 21                        	je	0x2125 <jsmn_parse+0x385>
    2104: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2108: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    210c: 48 c1 e1 04                  	shlq	$0x4, %rcx
    2110: 48 01 c8                     	addq	%rcx, %rax
    2113: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    2117: 75 0c                        	jne	0x2125 <jsmn_parse+0x385>
    2119: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    211c: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    2120: 89 41 08                     	movl	%eax, 0x8(%rcx)
    2123: eb 11                        	jmp	0x2136 <jsmn_parse+0x396>
    2125: eb 00                        	jmp	0x2127 <jsmn_parse+0x387>
    2127: eb 00                        	jmp	0x2129 <jsmn_parse+0x389>
    2129: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    212c: 83 c0 ff                     	addl	$-0x1, %eax
    212f: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    2132: eb 8d                        	jmp	0x20c1 <jsmn_parse+0x321>
    2134: eb 00                        	jmp	0x2136 <jsmn_parse+0x396>
    2136: eb 00                        	jmp	0x2138 <jsmn_parse+0x398>
    2138: e9 c0 00 00 00               	jmp	0x21fd <jsmn_parse+0x45d>
    213d: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    2142: 74 4b                        	je	0x218f <jsmn_parse+0x3ef>
    2144: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    2148: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    214c: 74 41                        	je	0x218f <jsmn_parse+0x3ef>
    214e: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2152: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    2156: 48 63 49 08                  	movslq	0x8(%rcx), %rcx
    215a: 48 c1 e1 04                  	shlq	$0x4, %rcx
    215e: 48 01 c8                     	addq	%rcx, %rax
    2161: 48 89 45 b8                  	movq	%rax, -0x48(%rbp)
    2165: 48 8b 45 b8                  	movq	-0x48(%rbp), %rax
    2169: 83 38 01                     	cmpl	$0x1, (%rax)
    216c: 74 13                        	je	0x2181 <jsmn_parse+0x3e1>
    216e: 48 8b 45 b8                  	movq	-0x48(%rbp), %rax
    2172: 83 38 04                     	cmpl	$0x4, (%rax)
    2175: 75 16                        	jne	0x218d <jsmn_parse+0x3ed>
    2177: 48 8b 45 b8                  	movq	-0x48(%rbp), %rax
    217b: 83 78 0c 00                  	cmpl	$0x0, 0xc(%rax)
    217f: 74 0c                        	je	0x218d <jsmn_parse+0x3ed>
    2181: c7 45 dc fe ff ff ff         	movl	$0xfffffffe, -0x24(%rbp) # imm = 0xFFFFFFFE
    2188: e9 e4 00 00 00               	jmp	0x2271 <jsmn_parse+0x4d1>
    218d: eb 00                        	jmp	0x218f <jsmn_parse+0x3ef>
    218f: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
    2193: 48 8b 75 c0                  	movq	-0x40(%rbp), %rsi
    2197: 48 8b 55 b0                  	movq	-0x50(%rbp), %rdx
    219b: 48 8b 4d e0                  	movq	-0x20(%rbp), %rcx
    219f: 44 8b 45 c8                  	movl	-0x38(%rbp), %r8d
    21a3: e8 c8 03 00 00               	callq	0x2570 <jsmn_parse_primitive>
    21a8: 89 45 cc                     	movl	%eax, -0x34(%rbp)
    21ab: 83 7d cc 00                  	cmpl	$0x0, -0x34(%rbp)
    21af: 7d 0b                        	jge	0x21bc <jsmn_parse+0x41c>
    21b1: 8b 45 cc                     	movl	-0x34(%rbp), %eax
    21b4: 89 45 dc                     	movl	%eax, -0x24(%rbp)
    21b7: e9 b5 00 00 00               	jmp	0x2271 <jsmn_parse+0x4d1>
    21bc: 8b 45 d8                     	movl	-0x28(%rbp), %eax
    21bf: 83 c0 01                     	addl	$0x1, %eax
    21c2: 89 45 d8                     	movl	%eax, -0x28(%rbp)
    21c5: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    21c9: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    21cd: 74 23                        	je	0x21f2 <jsmn_parse+0x452>
    21cf: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    21d4: 74 1c                        	je	0x21f2 <jsmn_parse+0x452>
    21d6: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    21da: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    21de: 48 63 49 08                  	movslq	0x8(%rcx), %rcx
    21e2: 48 c1 e1 04                  	shlq	$0x4, %rcx
    21e6: 48 01 c8                     	addq	%rcx, %rax
    21e9: 8b 48 0c                     	movl	0xc(%rax), %ecx
    21ec: 83 c1 01                     	addl	$0x1, %ecx
    21ef: 89 48 0c                     	movl	%ecx, 0xc(%rax)
    21f2: eb 09                        	jmp	0x21fd <jsmn_parse+0x45d>
    21f4: c7 45 dc fe ff ff ff         	movl	$0xfffffffe, -0x24(%rbp) # imm = 0xFFFFFFFE
    21fb: eb 74                        	jmp	0x2271 <jsmn_parse+0x4d1>
    21fd: eb 00                        	jmp	0x21ff <jsmn_parse+0x45f>
    21ff: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    2203: 8b 08                        	movl	(%rax), %ecx
    2205: 83 c1 01                     	addl	$0x1, %ecx
    2208: 89 08                        	movl	%ecx, (%rax)
    220a: e9 b7 fb ff ff               	jmp	0x1dc6 <jsmn_parse+0x26>
    220f: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    2214: 74 55                        	je	0x226b <jsmn_parse+0x4cb>
    2216: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    221a: 8b 40 04                     	movl	0x4(%rax), %eax
    221d: 83 e8 01                     	subl	$0x1, %eax
    2220: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    2223: 83 7d fc 00                  	cmpl	$0x0, -0x4(%rbp)
    2227: 7c 40                        	jl	0x2269 <jsmn_parse+0x4c9>
    2229: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    222d: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    2231: 48 c1 e1 04                  	shlq	$0x4, %rcx
    2235: 48 01 c8                     	addq	%rcx, %rax
    2238: 83 78 04 ff                  	cmpl	$-0x1, 0x4(%rax)
    223c: 74 1e                        	je	0x225c <jsmn_parse+0x4bc>
    223e: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2242: 48 63 4d fc                  	movslq	-0x4(%rbp), %rcx
    2246: 48 c1 e1 04                  	shlq	$0x4, %rcx
    224a: 48 01 c8                     	addq	%rcx, %rax
    224d: 83 78 08 ff                  	cmpl	$-0x1, 0x8(%rax)
    2251: 75 09                        	jne	0x225c <jsmn_parse+0x4bc>
    2253: c7 45 dc fd ff ff ff         	movl	$0xfffffffd, -0x24(%rbp) # imm = 0xFFFFFFFD
    225a: eb 15                        	jmp	0x2271 <jsmn_parse+0x4d1>
    225c: eb 00                        	jmp	0x225e <jsmn_parse+0x4be>
    225e: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    2261: 83 c0 ff                     	addl	$-0x1, %eax
    2264: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    2267: eb ba                        	jmp	0x2223 <jsmn_parse+0x483>
    2269: eb 00                        	jmp	0x226b <jsmn_parse+0x4cb>
    226b: 8b 45 d8                     	movl	-0x28(%rbp), %eax
    226e: 89 45 dc                     	movl	%eax, -0x24(%rbp)
    2271: 8b 45 dc                     	movl	-0x24(%rbp), %eax
    2274: 48 83 c4 60                  	addq	$0x60, %rsp
    2278: 5d                           	popq	%rbp
    2279: c3                           	retq
    227a: cc                           	int3
    227b: cc                           	int3
    227c: cc                           	int3
    227d: cc                           	int3
    227e: cc                           	int3
    227f: cc                           	int3

0000000000002280 <jsmn_alloc_token>:
    2280: 55                           	pushq	%rbp
    2281: 48 89 e5                     	movq	%rsp, %rbp
    2284: 48 89 7d f0                  	movq	%rdi, -0x10(%rbp)
    2288: 48 89 75 d8                  	movq	%rsi, -0x28(%rbp)
    228c: 48 89 55 e0                  	movq	%rdx, -0x20(%rbp)
    2290: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    2294: 8b 40 04                     	movl	0x4(%rax), %eax
    2297: 48 3b 45 e0                  	cmpq	-0x20(%rbp), %rax
    229b: 72 0a                        	jb	0x22a7 <jsmn_alloc_token+0x27>
    229d: 48 c7 45 e8 00 00 00 00      	movq	$0x0, -0x18(%rbp)
    22a5: eb 49                        	jmp	0x22f0 <jsmn_alloc_token+0x70>
    22a7: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    22ab: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    22af: 8b 51 04                     	movl	0x4(%rcx), %edx
    22b2: 89 d6                        	movl	%edx, %esi
    22b4: 83 c6 01                     	addl	$0x1, %esi
    22b7: 89 71 04                     	movl	%esi, 0x4(%rcx)
    22ba: 89 d1                        	movl	%edx, %ecx
    22bc: 48 c1 e1 04                  	shlq	$0x4, %rcx
    22c0: 48 01 c8                     	addq	%rcx, %rax
    22c3: 48 89 45 f8                  	movq	%rax, -0x8(%rbp)
    22c7: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    22cb: c7 40 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rax)  # imm = 0xFFFFFFFF
    22d2: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    22d6: c7 40 04 ff ff ff ff         	movl	$0xffffffff, 0x4(%rax)  # imm = 0xFFFFFFFF
    22dd: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    22e1: c7 40 0c 00 00 00 00         	movl	$0x0, 0xc(%rax)
    22e8: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    22ec: 48 89 45 e8                  	movq	%rax, -0x18(%rbp)
    22f0: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    22f4: 5d                           	popq	%rbp
    22f5: c3                           	retq
    22f6: cc                           	int3
    22f7: cc                           	int3
    22f8: cc                           	int3
    22f9: cc                           	int3
    22fa: cc                           	int3
    22fb: cc                           	int3
    22fc: cc                           	int3
    22fd: cc                           	int3
    22fe: cc                           	int3
    22ff: cc                           	int3

0000000000002300 <jsmn_parse_string>:
    2300: 55                           	pushq	%rbp
    2301: 48 89 e5                     	movq	%rsp, %rbp
    2304: 48 83 ec 50                  	subq	$0x50, %rsp
    2308: 48 89 7d f8                  	movq	%rdi, -0x8(%rbp)
    230c: 48 89 75 e0                  	movq	%rsi, -0x20(%rbp)
    2310: 48 89 55 d0                  	movq	%rdx, -0x30(%rbp)
    2314: 48 89 4d c0                  	movq	%rcx, -0x40(%rbp)
    2318: 4c 89 45 b8                  	movq	%r8, -0x48(%rbp)
    231c: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2320: 8b 00                        	movl	(%rax), %eax
    2322: 89 45 ec                     	movl	%eax, -0x14(%rbp)
    2325: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2329: 8b 08                        	movl	(%rax), %ecx
    232b: 83 c1 01                     	addl	$0x1, %ecx
    232e: 89 08                        	movl	%ecx, (%rax)
    2330: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2334: 8b 08                        	movl	(%rax), %ecx
    2336: 31 c0                        	xorl	%eax, %eax
    2338: 48 3b 4d d0                  	cmpq	-0x30(%rbp), %rcx
    233c: 73 14                        	jae	0x2352 <jsmn_parse_string+0x52>
    233e: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2342: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2346: 8b 09                        	movl	(%rcx), %ecx
    2348: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    234c: 83 f8 00                     	cmpl	$0x0, %eax
    234f: 0f 95 c0                     	setne	%al
    2352: a8 01                        	testb	$0x1, %al
    2354: 75 05                        	jne	0x235b <jsmn_parse_string+0x5b>
    2356: e9 f5 01 00 00               	jmp	0x2550 <jsmn_parse_string+0x250>
    235b: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    235f: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2363: 8b 09                        	movl	(%rcx), %ecx
    2365: 8a 04 08                     	movb	(%rax,%rcx), %al
    2368: 88 45 f7                     	movb	%al, -0x9(%rbp)
    236b: 0f be 45 f7                  	movsbl	-0x9(%rbp), %eax
    236f: 83 f8 22                     	cmpl	$0x22, %eax
    2372: 75 6a                        	jne	0x23de <jsmn_parse_string+0xde>
    2374: 48 83 7d c0 00               	cmpq	$0x0, -0x40(%rbp)
    2379: 75 0c                        	jne	0x2387 <jsmn_parse_string+0x87>
    237b: c7 45 f0 00 00 00 00         	movl	$0x0, -0x10(%rbp)
    2382: e9 d9 01 00 00               	jmp	0x2560 <jsmn_parse_string+0x260>
    2387: 48 8b 7d f8                  	movq	-0x8(%rbp), %rdi
    238b: 48 8b 75 c0                  	movq	-0x40(%rbp), %rsi
    238f: 48 8b 55 b8                  	movq	-0x48(%rbp), %rdx
    2393: e8 e8 fe ff ff               	callq	0x2280 <jsmn_alloc_token>
    2398: 48 89 45 c8                  	movq	%rax, -0x38(%rbp)
    239c: 48 83 7d c8 00               	cmpq	$0x0, -0x38(%rbp)
    23a1: 75 15                        	jne	0x23b8 <jsmn_parse_string+0xb8>
    23a3: 8b 45 ec                     	movl	-0x14(%rbp), %eax
    23a6: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    23aa: 89 01                        	movl	%eax, (%rcx)
    23ac: c7 45 f0 ff ff ff ff         	movl	$0xffffffff, -0x10(%rbp) # imm = 0xFFFFFFFF
    23b3: e9 a8 01 00 00               	jmp	0x2560 <jsmn_parse_string+0x260>
    23b8: 48 8b 7d c8                  	movq	-0x38(%rbp), %rdi
    23bc: 8b 55 ec                     	movl	-0x14(%rbp), %edx
    23bf: 83 c2 01                     	addl	$0x1, %edx
    23c2: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    23c6: 8b 08                        	movl	(%rax), %ecx
    23c8: be 04 00 00 00               	movl	$0x4, %esi
    23cd: e8 1e 03 00 00               	callq	0x26f0 <jsmn_fill_token>
    23d2: c7 45 f0 00 00 00 00         	movl	$0x0, -0x10(%rbp)
    23d9: e9 82 01 00 00               	jmp	0x2560 <jsmn_parse_string+0x260>
    23de: 0f be 45 f7                  	movsbl	-0x9(%rbp), %eax
    23e2: 83 f8 5c                     	cmpl	$0x5c, %eax
    23e5: 0f 85 53 01 00 00            	jne	0x253e <jsmn_parse_string+0x23e>
    23eb: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    23ef: 8b 00                        	movl	(%rax), %eax
    23f1: 83 c0 01                     	addl	$0x1, %eax
    23f4: 89 c0                        	movl	%eax, %eax
    23f6: 48 3b 45 d0                  	cmpq	-0x30(%rbp), %rax
    23fa: 0f 83 3e 01 00 00            	jae	0x253e <jsmn_parse_string+0x23e>
    2400: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2404: 8b 08                        	movl	(%rax), %ecx
    2406: ff c1                        	incl	%ecx
    2408: 89 08                        	movl	%ecx, (%rax)
    240a: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    240e: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2412: 8b 09                        	movl	(%rcx), %ecx
    2414: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    2418: 83 c0 de                     	addl	$-0x22, %eax
    241b: 89 c1                        	movl	%eax, %ecx
    241d: 83 e9 53                     	subl	$0x53, %ecx
    2420: 0f 87 04 01 00 00            	ja	0x252a <jsmn_parse_string+0x22a>
    2426: 48 8d 0d e7 e3 ff ff         	leaq	-0x1c19(%rip), %rcx     # 0x814 <memset+0x814>
    242d: 48 63 04 81                  	movslq	(%rcx,%rax,4), %rax
    2431: 48 01 c1                     	addq	%rax, %rcx
    2434: ff e1                        	jmpq	*%rcx
    2436: e9 01 01 00 00               	jmp	0x253c <jsmn_parse_string+0x23c>
    243b: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    243f: 8b 08                        	movl	(%rax), %ecx
    2441: 83 c1 01                     	addl	$0x1, %ecx
    2444: 89 08                        	movl	%ecx, (%rax)
    2446: c7 45 dc 00 00 00 00         	movl	$0x0, -0x24(%rbp)
    244d: 31 c0                        	xorl	%eax, %eax
    244f: 83 7d dc 04                  	cmpl	$0x4, -0x24(%rbp)
    2453: 7d 22                        	jge	0x2477 <jsmn_parse_string+0x177>
    2455: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2459: 8b 08                        	movl	(%rax), %ecx
    245b: 31 c0                        	xorl	%eax, %eax
    245d: 48 3b 4d d0                  	cmpq	-0x30(%rbp), %rcx
    2461: 73 14                        	jae	0x2477 <jsmn_parse_string+0x177>
    2463: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2467: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    246b: 8b 09                        	movl	(%rcx), %ecx
    246d: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    2471: 83 f8 00                     	cmpl	$0x0, %eax
    2474: 0f 95 c0                     	setne	%al
    2477: a8 01                        	testb	$0x1, %al
    2479: 75 05                        	jne	0x2480 <jsmn_parse_string+0x180>
    247b: e9 9d 00 00 00               	jmp	0x251d <jsmn_parse_string+0x21d>
    2480: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2484: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2488: 8b 09                        	movl	(%rcx), %ecx
    248a: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    248e: 83 f8 30                     	cmpl	$0x30, %eax
    2491: 7c 13                        	jl	0x24a6 <jsmn_parse_string+0x1a6>
    2493: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    2497: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    249b: 8b 09                        	movl	(%rcx), %ecx
    249d: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    24a1: 83 f8 39                     	cmpl	$0x39, %eax
    24a4: 7e 5e                        	jle	0x2504 <jsmn_parse_string+0x204>
    24a6: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    24aa: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    24ae: 8b 09                        	movl	(%rcx), %ecx
    24b0: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    24b4: 83 f8 41                     	cmpl	$0x41, %eax
    24b7: 7c 13                        	jl	0x24cc <jsmn_parse_string+0x1cc>
    24b9: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    24bd: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    24c1: 8b 09                        	movl	(%rcx), %ecx
    24c3: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    24c7: 83 f8 46                     	cmpl	$0x46, %eax
    24ca: 7e 38                        	jle	0x2504 <jsmn_parse_string+0x204>
    24cc: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    24d0: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    24d4: 8b 09                        	movl	(%rcx), %ecx
    24d6: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    24da: 83 f8 61                     	cmpl	$0x61, %eax
    24dd: 7c 13                        	jl	0x24f2 <jsmn_parse_string+0x1f2>
    24df: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    24e3: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    24e7: 8b 09                        	movl	(%rcx), %ecx
    24e9: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    24ed: 83 f8 66                     	cmpl	$0x66, %eax
    24f0: 7e 12                        	jle	0x2504 <jsmn_parse_string+0x204>
    24f2: 8b 45 ec                     	movl	-0x14(%rbp), %eax
    24f5: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    24f9: 89 01                        	movl	%eax, (%rcx)
    24fb: c7 45 f0 fe ff ff ff         	movl	$0xfffffffe, -0x10(%rbp) # imm = 0xFFFFFFFE
    2502: eb 5c                        	jmp	0x2560 <jsmn_parse_string+0x260>
    2504: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2508: 8b 08                        	movl	(%rax), %ecx
    250a: 83 c1 01                     	addl	$0x1, %ecx
    250d: 89 08                        	movl	%ecx, (%rax)
    250f: 8b 45 dc                     	movl	-0x24(%rbp), %eax
    2512: 83 c0 01                     	addl	$0x1, %eax
    2515: 89 45 dc                     	movl	%eax, -0x24(%rbp)
    2518: e9 30 ff ff ff               	jmp	0x244d <jsmn_parse_string+0x14d>
    251d: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2521: 8b 08                        	movl	(%rax), %ecx
    2523: 83 c1 ff                     	addl	$-0x1, %ecx
    2526: 89 08                        	movl	%ecx, (%rax)
    2528: eb 12                        	jmp	0x253c <jsmn_parse_string+0x23c>
    252a: 8b 45 ec                     	movl	-0x14(%rbp), %eax
    252d: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2531: 89 01                        	movl	%eax, (%rcx)
    2533: c7 45 f0 fe ff ff ff         	movl	$0xfffffffe, -0x10(%rbp) # imm = 0xFFFFFFFE
    253a: eb 24                        	jmp	0x2560 <jsmn_parse_string+0x260>
    253c: eb 00                        	jmp	0x253e <jsmn_parse_string+0x23e>
    253e: eb 00                        	jmp	0x2540 <jsmn_parse_string+0x240>
    2540: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2544: 8b 08                        	movl	(%rax), %ecx
    2546: 83 c1 01                     	addl	$0x1, %ecx
    2549: 89 08                        	movl	%ecx, (%rax)
    254b: e9 e0 fd ff ff               	jmp	0x2330 <jsmn_parse_string+0x30>
    2550: 8b 45 ec                     	movl	-0x14(%rbp), %eax
    2553: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2557: 89 01                        	movl	%eax, (%rcx)
    2559: c7 45 f0 fd ff ff ff         	movl	$0xfffffffd, -0x10(%rbp) # imm = 0xFFFFFFFD
    2560: 8b 45 f0                     	movl	-0x10(%rbp), %eax
    2563: 48 83 c4 50                  	addq	$0x50, %rsp
    2567: 5d                           	popq	%rbp
    2568: c3                           	retq
    2569: cc                           	int3
    256a: cc                           	int3
    256b: cc                           	int3
    256c: cc                           	int3
    256d: cc                           	int3
    256e: cc                           	int3
    256f: cc                           	int3

0000000000002570 <jsmn_parse_primitive>:
    2570: 55                           	pushq	%rbp
    2571: 48 89 e5                     	movq	%rsp, %rbp
    2574: 48 83 ec 40                  	subq	$0x40, %rsp
    2578: 48 89 7d f8                  	movq	%rdi, -0x8(%rbp)
    257c: 48 89 75 e8                  	movq	%rsi, -0x18(%rbp)
    2580: 48 89 55 c8                  	movq	%rdx, -0x38(%rbp)
    2584: 48 89 4d d8                  	movq	%rcx, -0x28(%rbp)
    2588: 4c 89 45 d0                  	movq	%r8, -0x30(%rbp)
    258c: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2590: 8b 00                        	movl	(%rax), %eax
    2592: 89 45 f0                     	movl	%eax, -0x10(%rbp)
    2595: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2599: 8b 08                        	movl	(%rax), %ecx
    259b: 31 c0                        	xorl	%eax, %eax
    259d: 48 3b 4d c8                  	cmpq	-0x38(%rbp), %rcx
    25a1: 73 14                        	jae	0x25b7 <jsmn_parse_primitive+0x47>
    25a3: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    25a7: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    25ab: 8b 09                        	movl	(%rcx), %ecx
    25ad: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    25b1: 83 f8 00                     	cmpl	$0x0, %eax
    25b4: 0f 95 c0                     	setne	%al
    25b7: a8 01                        	testb	$0x1, %al
    25b9: 75 05                        	jne	0x25c0 <jsmn_parse_primitive+0x50>
    25bb: e9 96 00 00 00               	jmp	0x2656 <jsmn_parse_primitive+0xe6>
    25c0: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    25c4: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    25c8: 8b 09                        	movl	(%rcx), %ecx
    25ca: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    25ce: 89 c1                        	movl	%eax, %ecx
    25d0: 83 c1 f7                     	addl	$-0x9, %ecx
    25d3: 83 e9 02                     	subl	$0x2, %ecx
    25d6: 72 2d                        	jb	0x2605 <jsmn_parse_primitive+0x95>
    25d8: eb 00                        	jmp	0x25da <jsmn_parse_primitive+0x6a>
    25da: 89 c1                        	movl	%eax, %ecx
    25dc: 83 e9 0d                     	subl	$0xd, %ecx
    25df: 74 24                        	je	0x2605 <jsmn_parse_primitive+0x95>
    25e1: eb 00                        	jmp	0x25e3 <jsmn_parse_primitive+0x73>
    25e3: 89 c1                        	movl	%eax, %ecx
    25e5: 83 e9 20                     	subl	$0x20, %ecx
    25e8: 74 1b                        	je	0x2605 <jsmn_parse_primitive+0x95>
    25ea: eb 00                        	jmp	0x25ec <jsmn_parse_primitive+0x7c>
    25ec: 89 c1                        	movl	%eax, %ecx
    25ee: 83 e9 2c                     	subl	$0x2c, %ecx
    25f1: 74 12                        	je	0x2605 <jsmn_parse_primitive+0x95>
    25f3: eb 00                        	jmp	0x25f5 <jsmn_parse_primitive+0x85>
    25f5: 89 c1                        	movl	%eax, %ecx
    25f7: 83 e9 5d                     	subl	$0x5d, %ecx
    25fa: 74 09                        	je	0x2605 <jsmn_parse_primitive+0x95>
    25fc: eb 00                        	jmp	0x25fe <jsmn_parse_primitive+0x8e>
    25fe: 83 e8 7d                     	subl	$0x7d, %eax
    2601: 75 04                        	jne	0x2607 <jsmn_parse_primitive+0x97>
    2603: eb 00                        	jmp	0x2605 <jsmn_parse_primitive+0x95>
    2605: eb 61                        	jmp	0x2668 <jsmn_parse_primitive+0xf8>
    2607: eb 00                        	jmp	0x2609 <jsmn_parse_primitive+0x99>
    2609: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    260d: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2611: 8b 09                        	movl	(%rcx), %ecx
    2613: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    2617: 83 f8 20                     	cmpl	$0x20, %eax
    261a: 7c 13                        	jl	0x262f <jsmn_parse_primitive+0xbf>
    261c: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2620: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2624: 8b 09                        	movl	(%rcx), %ecx
    2626: 0f be 04 08                  	movsbl	(%rax,%rcx), %eax
    262a: 83 f8 7f                     	cmpl	$0x7f, %eax
    262d: 7c 15                        	jl	0x2644 <jsmn_parse_primitive+0xd4>
    262f: 8b 45 f0                     	movl	-0x10(%rbp), %eax
    2632: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2636: 89 01                        	movl	%eax, (%rcx)
    2638: c7 45 f4 fe ff ff ff         	movl	$0xfffffffe, -0xc(%rbp) # imm = 0xFFFFFFFE
    263f: e9 96 00 00 00               	jmp	0x26da <jsmn_parse_primitive+0x16a>
    2644: eb 00                        	jmp	0x2646 <jsmn_parse_primitive+0xd6>
    2646: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    264a: 8b 08                        	movl	(%rax), %ecx
    264c: 83 c1 01                     	addl	$0x1, %ecx
    264f: 89 08                        	movl	%ecx, (%rax)
    2651: e9 3f ff ff ff               	jmp	0x2595 <jsmn_parse_primitive+0x25>
    2656: 8b 45 f0                     	movl	-0x10(%rbp), %eax
    2659: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    265d: 89 01                        	movl	%eax, (%rcx)
    265f: c7 45 f4 fd ff ff ff         	movl	$0xfffffffd, -0xc(%rbp) # imm = 0xFFFFFFFD
    2666: eb 72                        	jmp	0x26da <jsmn_parse_primitive+0x16a>
    2668: 48 83 7d d8 00               	cmpq	$0x0, -0x28(%rbp)
    266d: 75 14                        	jne	0x2683 <jsmn_parse_primitive+0x113>
    266f: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2673: 8b 08                        	movl	(%rax), %ecx
    2675: 83 c1 ff                     	addl	$-0x1, %ecx
    2678: 89 08                        	movl	%ecx, (%rax)
    267a: c7 45 f4 00 00 00 00         	movl	$0x0, -0xc(%rbp)
    2681: eb 57                        	jmp	0x26da <jsmn_parse_primitive+0x16a>
    2683: 48 8b 7d f8                  	movq	-0x8(%rbp), %rdi
    2687: 48 8b 75 d8                  	movq	-0x28(%rbp), %rsi
    268b: 48 8b 55 d0                  	movq	-0x30(%rbp), %rdx
    268f: e8 ec fb ff ff               	callq	0x2280 <jsmn_alloc_token>
    2694: 48 89 45 e0                  	movq	%rax, -0x20(%rbp)
    2698: 48 83 7d e0 00               	cmpq	$0x0, -0x20(%rbp)
    269d: 75 12                        	jne	0x26b1 <jsmn_parse_primitive+0x141>
    269f: 8b 45 f0                     	movl	-0x10(%rbp), %eax
    26a2: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    26a6: 89 01                        	movl	%eax, (%rcx)
    26a8: c7 45 f4 ff ff ff ff         	movl	$0xffffffff, -0xc(%rbp) # imm = 0xFFFFFFFF
    26af: eb 29                        	jmp	0x26da <jsmn_parse_primitive+0x16a>
    26b1: 48 8b 7d e0                  	movq	-0x20(%rbp), %rdi
    26b5: 8b 55 f0                     	movl	-0x10(%rbp), %edx
    26b8: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    26bc: 8b 08                        	movl	(%rax), %ecx
    26be: be 08 00 00 00               	movl	$0x8, %esi
    26c3: e8 28 00 00 00               	callq	0x26f0 <jsmn_fill_token>
    26c8: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    26cc: 8b 08                        	movl	(%rax), %ecx
    26ce: 83 c1 ff                     	addl	$-0x1, %ecx
    26d1: 89 08                        	movl	%ecx, (%rax)
    26d3: c7 45 f4 00 00 00 00         	movl	$0x0, -0xc(%rbp)
    26da: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    26dd: 48 83 c4 40                  	addq	$0x40, %rsp
    26e1: 5d                           	popq	%rbp
    26e2: c3                           	retq
    26e3: cc                           	int3
    26e4: cc                           	int3
    26e5: cc                           	int3
    26e6: cc                           	int3
    26e7: cc                           	int3
    26e8: cc                           	int3
    26e9: cc                           	int3
    26ea: cc                           	int3
    26eb: cc                           	int3
    26ec: cc                           	int3
    26ed: cc                           	int3
    26ee: cc                           	int3
    26ef: cc                           	int3

00000000000026f0 <jsmn_fill_token>:
    26f0: 55                           	pushq	%rbp
    26f1: 48 89 e5                     	movq	%rsp, %rbp
    26f4: 48 89 7d f8                  	movq	%rdi, -0x8(%rbp)
    26f8: 89 75 ec                     	movl	%esi, -0x14(%rbp)
    26fb: 89 55 f0                     	movl	%edx, -0x10(%rbp)
    26fe: 89 4d f4                     	movl	%ecx, -0xc(%rbp)
    2701: 8b 45 ec                     	movl	-0x14(%rbp), %eax
    2704: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2708: 89 01                        	movl	%eax, (%rcx)
    270a: 8b 45 f0                     	movl	-0x10(%rbp), %eax
    270d: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    2711: 89 41 04                     	movl	%eax, 0x4(%rcx)
    2714: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    2717: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    271b: 89 41 08                     	movl	%eax, 0x8(%rcx)
    271e: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2722: c7 40 0c 00 00 00 00         	movl	$0x0, 0xc(%rax)
    2729: 5d                           	popq	%rbp
    272a: c3                           	retq
    272b: cc                           	int3
    272c: cc                           	int3
    272d: cc                           	int3
    272e: cc                           	int3
    272f: cc                           	int3

0000000000002730 <jsmn_init>:
    2730: 55                           	pushq	%rbp
    2731: 48 89 e5                     	movq	%rsp, %rbp
    2734: 48 89 7d f8                  	movq	%rdi, -0x8(%rbp)
    2738: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    273c: c7 00 00 00 00 00            	movl	$0x0, (%rax)
    2742: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2746: c7 40 04 00 00 00 00         	movl	$0x0, 0x4(%rax)
    274d: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    2751: c7 40 08 ff ff ff ff         	movl	$0xffffffff, 0x8(%rax)  # imm = 0xFFFFFFFF
    2758: 5d                           	popq	%rbp
    2759: c3                           	retq
    275a: cc                           	int3
    275b: cc                           	int3
    275c: cc                           	int3
    275d: cc                           	int3
    275e: cc                           	int3
    275f: cc                           	int3

0000000000002760 <qoi_encode>:
    2760: 55                           	pushq	%rbp
    2761: 48 89 e5                     	movq	%rsp, %rbp
    2764: 48 81 ec 70 01 00 00         	subq	$0x170, %rsp            # imm = 0x170
    276b: 48 89 7d 98                  	movq	%rdi, -0x68(%rbp)
    276f: 48 89 75 d8                  	movq	%rsi, -0x28(%rbp)
    2773: 48 89 55 a0                  	movq	%rdx, -0x60(%rbp)
    2777: 48 83 7d 98 00               	cmpq	$0x0, -0x68(%rbp)
    277c: 74 60                        	je	0x27de <qoi_encode+0x7e>
    277e: 48 83 7d a0 00               	cmpq	$0x0, -0x60(%rbp)
    2783: 74 59                        	je	0x27de <qoi_encode+0x7e>
    2785: 48 83 7d d8 00               	cmpq	$0x0, -0x28(%rbp)
    278a: 74 52                        	je	0x27de <qoi_encode+0x7e>
    278c: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2790: 83 38 00                     	cmpl	$0x0, (%rax)
    2793: 74 49                        	je	0x27de <qoi_encode+0x7e>
    2795: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2799: 83 78 04 00                  	cmpl	$0x0, 0x4(%rax)
    279d: 74 3f                        	je	0x27de <qoi_encode+0x7e>
    279f: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    27a3: 0f b6 40 08                  	movzbl	0x8(%rax), %eax
    27a7: 83 f8 03                     	cmpl	$0x3, %eax
    27aa: 7c 32                        	jl	0x27de <qoi_encode+0x7e>
    27ac: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    27b0: 0f b6 40 08                  	movzbl	0x8(%rax), %eax
    27b4: 83 f8 04                     	cmpl	$0x4, %eax
    27b7: 7f 25                        	jg	0x27de <qoi_encode+0x7e>
    27b9: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    27bd: 0f b6 40 09                  	movzbl	0x9(%rax), %eax
    27c1: 83 f8 01                     	cmpl	$0x1, %eax
    27c4: 7f 18                        	jg	0x27de <qoi_encode+0x7e>
    27c6: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    27ca: 8b 48 04                     	movl	0x4(%rax), %ecx
    27cd: 48 8b 75 d8                  	movq	-0x28(%rbp), %rsi
    27d1: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    27d6: 31 d2                        	xorl	%edx, %edx
    27d8: f7 36                        	divl	(%rsi)
    27da: 39 c1                        	cmpl	%eax, %ecx
    27dc: 72 0d                        	jb	0x27eb <qoi_encode+0x8b>
    27de: 48 c7 45 b0 00 00 00 00      	movq	$0x0, -0x50(%rbp)
    27e6: e9 f3 04 00 00               	jmp	0x2cde <qoi_encode+0x57e>
    27eb: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    27ef: 8b 00                        	movl	(%rax), %eax
    27f1: 48 8b 4d d8                  	movq	-0x28(%rbp), %rcx
    27f5: 0f af 41 04                  	imull	0x4(%rcx), %eax
    27f9: 48 8b 4d d8                  	movq	-0x28(%rbp), %rcx
    27fd: 0f b6 49 08                  	movzbl	0x8(%rcx), %ecx
    2801: 83 c1 01                     	addl	$0x1, %ecx
    2804: 0f af c1                     	imull	%ecx, %eax
    2807: 83 c0 0e                     	addl	$0xe, %eax
    280a: 89 c0                        	movl	%eax, %eax
    280c: 48 83 c0 08                  	addq	$0x8, %rax
    2810: 89 45 a8                     	movl	%eax, -0x58(%rbp)
    2813: c7 45 fc 00 00 00 00         	movl	$0x0, -0x4(%rbp)
    281a: 48 63 7d a8                  	movslq	-0x58(%rbp), %rdi
    281e: e8 0d 12 00 00               	callq	0x3a30 <malloc@plt>
    2823: 48 89 45 e8                  	movq	%rax, -0x18(%rbp)
    2827: 48 83 7d e8 00               	cmpq	$0x0, -0x18(%rbp)
    282c: 75 0d                        	jne	0x283b <qoi_encode+0xdb>
    282e: 48 c7 45 b0 00 00 00 00      	movq	$0x0, -0x50(%rbp)
    2836: e9 a3 04 00 00               	jmp	0x2cde <qoi_encode+0x57e>
    283b: 48 8b 7d e8                  	movq	-0x18(%rbp), %rdi
    283f: 48 8d 75 fc                  	leaq	-0x4(%rbp), %rsi
    2843: ba 66 69 6f 71               	movl	$0x716f6966, %edx       # imm = 0x716F6966
    2848: e8 a3 04 00 00               	callq	0x2cf0 <qoi_write_32>
    284d: 48 8b 7d e8                  	movq	-0x18(%rbp), %rdi
    2851: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2855: 8b 10                        	movl	(%rax), %edx
    2857: 48 8d 75 fc                  	leaq	-0x4(%rbp), %rsi
    285b: e8 90 04 00 00               	callq	0x2cf0 <qoi_write_32>
    2860: 48 8b 7d e8                  	movq	-0x18(%rbp), %rdi
    2864: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2868: 8b 50 04                     	movl	0x4(%rax), %edx
    286b: 48 8d 75 fc                  	leaq	-0x4(%rbp), %rsi
    286f: e8 7c 04 00 00               	callq	0x2cf0 <qoi_write_32>
    2874: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2878: 8a 40 08                     	movb	0x8(%rax), %al
    287b: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    287f: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2882: 89 d6                        	movl	%edx, %esi
    2884: 83 c6 01                     	addl	$0x1, %esi
    2887: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    288a: 48 63 d2                     	movslq	%edx, %rdx
    288d: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2890: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2894: 8a 40 09                     	movb	0x9(%rax), %al
    2897: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    289b: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    289e: 89 d6                        	movl	%edx, %esi
    28a0: 83 c6 01                     	addl	$0x1, %esi
    28a3: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    28a6: 48 63 d2                     	movslq	%edx, %rdx
    28a9: 88 04 11                     	movb	%al, (%rcx,%rdx)
    28ac: 48 8b 45 98                  	movq	-0x68(%rbp), %rax
    28b0: 48 89 45 b8                  	movq	%rax, -0x48(%rbp)
    28b4: 48 8d bd 90 fe ff ff         	leaq	-0x170(%rbp), %rdi
    28bb: 31 f6                        	xorl	%esi, %esi
    28bd: ba 00 01 00 00               	movl	$0x100, %edx            # imm = 0x100
    28c2: e8 79 11 00 00               	callq	0x3a40 <memset@plt>
    28c7: c7 45 d0 00 00 00 00         	movl	$0x0, -0x30(%rbp)
    28ce: c6 45 e4 00                  	movb	$0x0, -0x1c(%rbp)
    28d2: c6 45 e5 00                  	movb	$0x0, -0x1b(%rbp)
    28d6: c6 45 e6 00                  	movb	$0x0, -0x1a(%rbp)
    28da: c6 45 e7 ff                  	movb	$-0x1, -0x19(%rbp)
    28de: 8b 45 e4                     	movl	-0x1c(%rbp), %eax
    28e1: 89 45 f4                     	movl	%eax, -0xc(%rbp)
    28e4: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    28e8: 8b 00                        	movl	(%rax), %eax
    28ea: 48 8b 4d d8                  	movq	-0x28(%rbp), %rcx
    28ee: 0f af 41 04                  	imull	0x4(%rcx), %eax
    28f2: 48 8b 4d d8                  	movq	-0x28(%rbp), %rcx
    28f6: 0f b6 49 08                  	movzbl	0x8(%rcx), %ecx
    28fa: 0f af c1                     	imull	%ecx, %eax
    28fd: 89 45 c0                     	movl	%eax, -0x40(%rbp)
    2900: 8b 45 c0                     	movl	-0x40(%rbp), %eax
    2903: 48 8b 4d d8                  	movq	-0x28(%rbp), %rcx
    2907: 0f b6 49 08                  	movzbl	0x8(%rcx), %ecx
    290b: 29 c8                        	subl	%ecx, %eax
    290d: 89 45 ac                     	movl	%eax, -0x54(%rbp)
    2910: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2914: 0f b6 40 08                  	movzbl	0x8(%rax), %eax
    2918: 89 45 c4                     	movl	%eax, -0x3c(%rbp)
    291b: c7 45 d4 00 00 00 00         	movl	$0x0, -0x2c(%rbp)
    2922: 8b 45 d4                     	movl	-0x2c(%rbp), %eax
    2925: 3b 45 c0                     	cmpl	-0x40(%rbp), %eax
    2928: 0f 8d 64 03 00 00            	jge	0x2c92 <qoi_encode+0x532>
    292e: 48 8b 45 b8                  	movq	-0x48(%rbp), %rax
    2932: 8b 4d d4                     	movl	-0x2c(%rbp), %ecx
    2935: 83 c1 00                     	addl	$0x0, %ecx
    2938: 48 63 c9                     	movslq	%ecx, %rcx
    293b: 8a 04 08                     	movb	(%rax,%rcx), %al
    293e: 88 45 f4                     	movb	%al, -0xc(%rbp)
    2941: 48 8b 45 b8                  	movq	-0x48(%rbp), %rax
    2945: 8b 4d d4                     	movl	-0x2c(%rbp), %ecx
    2948: 83 c1 01                     	addl	$0x1, %ecx
    294b: 48 63 c9                     	movslq	%ecx, %rcx
    294e: 8a 04 08                     	movb	(%rax,%rcx), %al
    2951: 88 45 f5                     	movb	%al, -0xb(%rbp)
    2954: 48 8b 45 b8                  	movq	-0x48(%rbp), %rax
    2958: 8b 4d d4                     	movl	-0x2c(%rbp), %ecx
    295b: 83 c1 02                     	addl	$0x2, %ecx
    295e: 48 63 c9                     	movslq	%ecx, %rcx
    2961: 8a 04 08                     	movb	(%rax,%rcx), %al
    2964: 88 45 f6                     	movb	%al, -0xa(%rbp)
    2967: 83 7d c4 04                  	cmpl	$0x4, -0x3c(%rbp)
    296b: 75 13                        	jne	0x2980 <qoi_encode+0x220>
    296d: 48 8b 45 b8                  	movq	-0x48(%rbp), %rax
    2971: 8b 4d d4                     	movl	-0x2c(%rbp), %ecx
    2974: 83 c1 03                     	addl	$0x3, %ecx
    2977: 48 63 c9                     	movslq	%ecx, %rcx
    297a: 8a 04 08                     	movb	(%rax,%rcx), %al
    297d: 88 45 f7                     	movb	%al, -0x9(%rbp)
    2980: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    2983: 3b 45 e4                     	cmpl	-0x1c(%rbp), %eax
    2986: 75 43                        	jne	0x29cb <qoi_encode+0x26b>
    2988: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    298b: 83 c0 01                     	addl	$0x1, %eax
    298e: 89 45 d0                     	movl	%eax, -0x30(%rbp)
    2991: 83 7d d0 3e                  	cmpl	$0x3e, -0x30(%rbp)
    2995: 74 08                        	je	0x299f <qoi_encode+0x23f>
    2997: 8b 45 d4                     	movl	-0x2c(%rbp), %eax
    299a: 3b 45 ac                     	cmpl	-0x54(%rbp), %eax
    299d: 75 27                        	jne	0x29c6 <qoi_encode+0x266>
    299f: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    29a2: 83 e8 01                     	subl	$0x1, %eax
    29a5: 0d c0 00 00 00               	orl	$0xc0, %eax
    29aa: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    29ae: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    29b1: 89 d6                        	movl	%edx, %esi
    29b3: 83 c6 01                     	addl	$0x1, %esi
    29b6: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    29b9: 48 63 d2                     	movslq	%edx, %rdx
    29bc: 88 04 11                     	movb	%al, (%rcx,%rdx)
    29bf: c7 45 d0 00 00 00 00         	movl	$0x0, -0x30(%rbp)
    29c6: e9 b3 02 00 00               	jmp	0x2c7e <qoi_encode+0x51e>
    29cb: 83 7d d0 00                  	cmpl	$0x0, -0x30(%rbp)
    29cf: 7e 27                        	jle	0x29f8 <qoi_encode+0x298>
    29d1: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    29d4: 83 e8 01                     	subl	$0x1, %eax
    29d7: 0d c0 00 00 00               	orl	$0xc0, %eax
    29dc: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    29e0: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    29e3: 89 d6                        	movl	%edx, %esi
    29e5: 83 c6 01                     	addl	$0x1, %esi
    29e8: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    29eb: 48 63 d2                     	movslq	%edx, %rdx
    29ee: 88 04 11                     	movb	%al, (%rcx,%rdx)
    29f1: c7 45 d0 00 00 00 00         	movl	$0x0, -0x30(%rbp)
    29f8: 0f b6 45 f4                  	movzbl	-0xc(%rbp), %eax
    29fc: 6b c0 03                     	imull	$0x3, %eax, %eax
    29ff: 0f b6 4d f5                  	movzbl	-0xb(%rbp), %ecx
    2a03: 6b c9 05                     	imull	$0x5, %ecx, %ecx
    2a06: 01 c8                        	addl	%ecx, %eax
    2a08: 0f b6 4d f6                  	movzbl	-0xa(%rbp), %ecx
    2a0c: 6b c9 07                     	imull	$0x7, %ecx, %ecx
    2a0f: 01 c8                        	addl	%ecx, %eax
    2a11: 0f b6 4d f7                  	movzbl	-0x9(%rbp), %ecx
    2a15: 6b c9 0b                     	imull	$0xb, %ecx, %ecx
    2a18: 01 c8                        	addl	%ecx, %eax
    2a1a: 83 e0 3f                     	andl	$0x3f, %eax
    2a1d: 89 45 c8                     	movl	%eax, -0x38(%rbp)
    2a20: 48 63 45 c8                  	movslq	-0x38(%rbp), %rax
    2a24: 8b 84 85 90 fe ff ff         	movl	-0x170(%rbp,%rax,4), %eax
    2a2b: 3b 45 f4                     	cmpl	-0xc(%rbp), %eax
    2a2e: 75 20                        	jne	0x2a50 <qoi_encode+0x2f0>
    2a30: 8b 45 c8                     	movl	-0x38(%rbp), %eax
    2a33: 83 c8 00                     	orl	$0x0, %eax
    2a36: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2a3a: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2a3d: 89 d6                        	movl	%edx, %esi
    2a3f: 83 c6 01                     	addl	$0x1, %esi
    2a42: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2a45: 48 63 d2                     	movslq	%edx, %rdx
    2a48: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2a4b: e9 2c 02 00 00               	jmp	0x2c7c <qoi_encode+0x51c>
    2a50: 48 63 45 c8                  	movslq	-0x38(%rbp), %rax
    2a54: 8b 4d f4                     	movl	-0xc(%rbp), %ecx
    2a57: 89 8c 85 90 fe ff ff         	movl	%ecx, -0x170(%rbp,%rax,4)
    2a5e: 0f b6 45 f7                  	movzbl	-0x9(%rbp), %eax
    2a62: 0f b6 4d e7                  	movzbl	-0x19(%rbp), %ecx
    2a66: 39 c8                        	cmpl	%ecx, %eax
    2a68: 0f 85 96 01 00 00            	jne	0x2c04 <qoi_encode+0x4a4>
    2a6e: 0f b6 45 f4                  	movzbl	-0xc(%rbp), %eax
    2a72: 0f b6 4d e4                  	movzbl	-0x1c(%rbp), %ecx
    2a76: 29 c8                        	subl	%ecx, %eax
    2a78: 88 45 f2                     	movb	%al, -0xe(%rbp)
    2a7b: 0f b6 45 f5                  	movzbl	-0xb(%rbp), %eax
    2a7f: 0f b6 4d e5                  	movzbl	-0x1b(%rbp), %ecx
    2a83: 29 c8                        	subl	%ecx, %eax
    2a85: 88 45 fb                     	movb	%al, -0x5(%rbp)
    2a88: 0f b6 45 f6                  	movzbl	-0xa(%rbp), %eax
    2a8c: 0f b6 4d e6                  	movzbl	-0x1a(%rbp), %ecx
    2a90: 29 c8                        	subl	%ecx, %eax
    2a92: 88 45 f3                     	movb	%al, -0xd(%rbp)
    2a95: 0f be 45 f2                  	movsbl	-0xe(%rbp), %eax
    2a99: 0f be 4d fb                  	movsbl	-0x5(%rbp), %ecx
    2a9d: 29 c8                        	subl	%ecx, %eax
    2a9f: 88 45 f0                     	movb	%al, -0x10(%rbp)
    2aa2: 0f be 45 f3                  	movsbl	-0xd(%rbp), %eax
    2aa6: 0f be 4d fb                  	movsbl	-0x5(%rbp), %ecx
    2aaa: 29 c8                        	subl	%ecx, %eax
    2aac: 88 45 f1                     	movb	%al, -0xf(%rbp)
    2aaf: 0f be 45 f2                  	movsbl	-0xe(%rbp), %eax
    2ab3: 83 f8 fd                     	cmpl	$-0x3, %eax
    2ab6: 7e 69                        	jle	0x2b21 <qoi_encode+0x3c1>
    2ab8: 0f be 45 f2                  	movsbl	-0xe(%rbp), %eax
    2abc: 83 f8 02                     	cmpl	$0x2, %eax
    2abf: 7d 60                        	jge	0x2b21 <qoi_encode+0x3c1>
    2ac1: 0f be 45 fb                  	movsbl	-0x5(%rbp), %eax
    2ac5: 83 f8 fd                     	cmpl	$-0x3, %eax
    2ac8: 7e 57                        	jle	0x2b21 <qoi_encode+0x3c1>
    2aca: 0f be 45 fb                  	movsbl	-0x5(%rbp), %eax
    2ace: 83 f8 02                     	cmpl	$0x2, %eax
    2ad1: 7d 4e                        	jge	0x2b21 <qoi_encode+0x3c1>
    2ad3: 0f be 45 f3                  	movsbl	-0xd(%rbp), %eax
    2ad7: 83 f8 fd                     	cmpl	$-0x3, %eax
    2ada: 7e 45                        	jle	0x2b21 <qoi_encode+0x3c1>
    2adc: 0f be 45 f3                  	movsbl	-0xd(%rbp), %eax
    2ae0: 83 f8 02                     	cmpl	$0x2, %eax
    2ae3: 7d 3c                        	jge	0x2b21 <qoi_encode+0x3c1>
    2ae5: 0f be 45 f2                  	movsbl	-0xe(%rbp), %eax
    2ae9: 83 c0 02                     	addl	$0x2, %eax
    2aec: c1 e0 04                     	shll	$0x4, %eax
    2aef: 83 c8 40                     	orl	$0x40, %eax
    2af2: 0f be 4d fb                  	movsbl	-0x5(%rbp), %ecx
    2af6: 83 c1 02                     	addl	$0x2, %ecx
    2af9: c1 e1 02                     	shll	$0x2, %ecx
    2afc: 09 c8                        	orl	%ecx, %eax
    2afe: 0f be 4d f3                  	movsbl	-0xd(%rbp), %ecx
    2b02: 83 c1 02                     	addl	$0x2, %ecx
    2b05: 09 c8                        	orl	%ecx, %eax
    2b07: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2b0b: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2b0e: 89 d6                        	movl	%edx, %esi
    2b10: 83 c6 01                     	addl	$0x1, %esi
    2b13: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2b16: 48 63 d2                     	movslq	%edx, %rdx
    2b19: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2b1c: e9 e1 00 00 00               	jmp	0x2c02 <qoi_encode+0x4a2>
    2b21: 0f be 45 f0                  	movsbl	-0x10(%rbp), %eax
    2b25: 83 f8 f7                     	cmpl	$-0x9, %eax
    2b28: 7e 78                        	jle	0x2ba2 <qoi_encode+0x442>
    2b2a: 0f be 45 f0                  	movsbl	-0x10(%rbp), %eax
    2b2e: 83 f8 08                     	cmpl	$0x8, %eax
    2b31: 7d 6f                        	jge	0x2ba2 <qoi_encode+0x442>
    2b33: 0f be 45 fb                  	movsbl	-0x5(%rbp), %eax
    2b37: 83 f8 df                     	cmpl	$-0x21, %eax
    2b3a: 7e 66                        	jle	0x2ba2 <qoi_encode+0x442>
    2b3c: 0f be 45 fb                  	movsbl	-0x5(%rbp), %eax
    2b40: 83 f8 20                     	cmpl	$0x20, %eax
    2b43: 7d 5d                        	jge	0x2ba2 <qoi_encode+0x442>
    2b45: 0f be 45 f1                  	movsbl	-0xf(%rbp), %eax
    2b49: 83 f8 f7                     	cmpl	$-0x9, %eax
    2b4c: 7e 54                        	jle	0x2ba2 <qoi_encode+0x442>
    2b4e: 0f be 45 f1                  	movsbl	-0xf(%rbp), %eax
    2b52: 83 f8 08                     	cmpl	$0x8, %eax
    2b55: 7d 4b                        	jge	0x2ba2 <qoi_encode+0x442>
    2b57: 0f be 45 fb                  	movsbl	-0x5(%rbp), %eax
    2b5b: 83 c0 20                     	addl	$0x20, %eax
    2b5e: 0d 80 00 00 00               	orl	$0x80, %eax
    2b63: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2b67: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2b6a: 89 d6                        	movl	%edx, %esi
    2b6c: 83 c6 01                     	addl	$0x1, %esi
    2b6f: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2b72: 48 63 d2                     	movslq	%edx, %rdx
    2b75: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2b78: 0f be 45 f0                  	movsbl	-0x10(%rbp), %eax
    2b7c: 83 c0 08                     	addl	$0x8, %eax
    2b7f: c1 e0 04                     	shll	$0x4, %eax
    2b82: 0f be 4d f1                  	movsbl	-0xf(%rbp), %ecx
    2b86: 83 c1 08                     	addl	$0x8, %ecx
    2b89: 09 c8                        	orl	%ecx, %eax
    2b8b: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2b8f: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2b92: 89 d6                        	movl	%edx, %esi
    2b94: 83 c6 01                     	addl	$0x1, %esi
    2b97: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2b9a: 48 63 d2                     	movslq	%edx, %rdx
    2b9d: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2ba0: eb 5e                        	jmp	0x2c00 <qoi_encode+0x4a0>
    2ba2: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2ba6: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    2ba9: 89 ca                        	movl	%ecx, %edx
    2bab: 83 c2 01                     	addl	$0x1, %edx
    2bae: 89 55 fc                     	movl	%edx, -0x4(%rbp)
    2bb1: 48 63 c9                     	movslq	%ecx, %rcx
    2bb4: c6 04 08 fe                  	movb	$-0x2, (%rax,%rcx)
    2bb8: 8a 45 f4                     	movb	-0xc(%rbp), %al
    2bbb: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2bbf: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2bc2: 89 d6                        	movl	%edx, %esi
    2bc4: 83 c6 01                     	addl	$0x1, %esi
    2bc7: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2bca: 48 63 d2                     	movslq	%edx, %rdx
    2bcd: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2bd0: 8a 45 f5                     	movb	-0xb(%rbp), %al
    2bd3: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2bd7: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2bda: 89 d6                        	movl	%edx, %esi
    2bdc: 83 c6 01                     	addl	$0x1, %esi
    2bdf: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2be2: 48 63 d2                     	movslq	%edx, %rdx
    2be5: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2be8: 8a 45 f6                     	movb	-0xa(%rbp), %al
    2beb: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2bef: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2bf2: 89 d6                        	movl	%edx, %esi
    2bf4: 83 c6 01                     	addl	$0x1, %esi
    2bf7: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2bfa: 48 63 d2                     	movslq	%edx, %rdx
    2bfd: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2c00: eb 00                        	jmp	0x2c02 <qoi_encode+0x4a2>
    2c02: eb 76                        	jmp	0x2c7a <qoi_encode+0x51a>
    2c04: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2c08: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    2c0b: 89 ca                        	movl	%ecx, %edx
    2c0d: 83 c2 01                     	addl	$0x1, %edx
    2c10: 89 55 fc                     	movl	%edx, -0x4(%rbp)
    2c13: 48 63 c9                     	movslq	%ecx, %rcx
    2c16: c6 04 08 ff                  	movb	$-0x1, (%rax,%rcx)
    2c1a: 8a 45 f4                     	movb	-0xc(%rbp), %al
    2c1d: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2c21: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2c24: 89 d6                        	movl	%edx, %esi
    2c26: 83 c6 01                     	addl	$0x1, %esi
    2c29: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2c2c: 48 63 d2                     	movslq	%edx, %rdx
    2c2f: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2c32: 8a 45 f5                     	movb	-0xb(%rbp), %al
    2c35: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2c39: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2c3c: 89 d6                        	movl	%edx, %esi
    2c3e: 83 c6 01                     	addl	$0x1, %esi
    2c41: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2c44: 48 63 d2                     	movslq	%edx, %rdx
    2c47: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2c4a: 8a 45 f6                     	movb	-0xa(%rbp), %al
    2c4d: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2c51: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2c54: 89 d6                        	movl	%edx, %esi
    2c56: 83 c6 01                     	addl	$0x1, %esi
    2c59: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2c5c: 48 63 d2                     	movslq	%edx, %rdx
    2c5f: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2c62: 8a 45 f7                     	movb	-0x9(%rbp), %al
    2c65: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2c69: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2c6c: 89 d6                        	movl	%edx, %esi
    2c6e: 83 c6 01                     	addl	$0x1, %esi
    2c71: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2c74: 48 63 d2                     	movslq	%edx, %rdx
    2c77: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2c7a: eb 00                        	jmp	0x2c7c <qoi_encode+0x51c>
    2c7c: eb 00                        	jmp	0x2c7e <qoi_encode+0x51e>
    2c7e: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    2c81: 89 45 e4                     	movl	%eax, -0x1c(%rbp)
    2c84: 8b 45 c4                     	movl	-0x3c(%rbp), %eax
    2c87: 03 45 d4                     	addl	-0x2c(%rbp), %eax
    2c8a: 89 45 d4                     	movl	%eax, -0x2c(%rbp)
    2c8d: e9 90 fc ff ff               	jmp	0x2922 <qoi_encode+0x1c2>
    2c92: c7 45 cc 00 00 00 00         	movl	$0x0, -0x34(%rbp)
    2c99: 83 7d cc 08                  	cmpl	$0x8, -0x34(%rbp)
    2c9d: 7d 2e                        	jge	0x2ccd <qoi_encode+0x56d>
    2c9f: 48 63 45 cc                  	movslq	-0x34(%rbp), %rax
    2ca3: 48 8d 0d ba dc ff ff         	leaq	-0x2346(%rip), %rcx     # 0x964 <qoi_padding>
    2caa: 8a 04 01                     	movb	(%rcx,%rax), %al
    2cad: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2cb1: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    2cb4: 89 d6                        	movl	%edx, %esi
    2cb6: 83 c6 01                     	addl	$0x1, %esi
    2cb9: 89 75 fc                     	movl	%esi, -0x4(%rbp)
    2cbc: 48 63 d2                     	movslq	%edx, %rdx
    2cbf: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2cc2: 8b 45 cc                     	movl	-0x34(%rbp), %eax
    2cc5: 83 c0 01                     	addl	$0x1, %eax
    2cc8: 89 45 cc                     	movl	%eax, -0x34(%rbp)
    2ccb: eb cc                        	jmp	0x2c99 <qoi_encode+0x539>
    2ccd: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    2cd0: 48 8b 4d a0                  	movq	-0x60(%rbp), %rcx
    2cd4: 89 01                        	movl	%eax, (%rcx)
    2cd6: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2cda: 48 89 45 b0                  	movq	%rax, -0x50(%rbp)
    2cde: 48 8b 45 b0                  	movq	-0x50(%rbp), %rax
    2ce2: 48 81 c4 70 01 00 00         	addq	$0x170, %rsp            # imm = 0x170
    2ce9: 5d                           	popq	%rbp
    2cea: c3                           	retq
    2ceb: cc                           	int3
    2cec: cc                           	int3
    2ced: cc                           	int3
    2cee: cc                           	int3
    2cef: cc                           	int3

0000000000002cf0 <qoi_write_32>:
    2cf0: 55                           	pushq	%rbp
    2cf1: 48 89 e5                     	movq	%rsp, %rbp
    2cf4: 48 89 7d e8                  	movq	%rdi, -0x18(%rbp)
    2cf8: 48 89 75 f0                  	movq	%rsi, -0x10(%rbp)
    2cfc: 89 55 fc                     	movl	%edx, -0x4(%rbp)
    2cff: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    2d02: 25 00 00 00 ff               	andl	$0xff000000, %eax       # imm = 0xFF000000
    2d07: c1 e8 18                     	shrl	$0x18, %eax
    2d0a: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2d0e: 48 8b 55 f0                  	movq	-0x10(%rbp), %rdx
    2d12: 8b 32                        	movl	(%rdx), %esi
    2d14: 89 f7                        	movl	%esi, %edi
    2d16: 83 c7 01                     	addl	$0x1, %edi
    2d19: 89 3a                        	movl	%edi, (%rdx)
    2d1b: 48 63 d6                     	movslq	%esi, %rdx
    2d1e: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2d21: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    2d24: 25 00 00 ff 00               	andl	$0xff0000, %eax         # imm = 0xFF0000
    2d29: c1 e8 10                     	shrl	$0x10, %eax
    2d2c: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2d30: 48 8b 55 f0                  	movq	-0x10(%rbp), %rdx
    2d34: 8b 32                        	movl	(%rdx), %esi
    2d36: 89 f7                        	movl	%esi, %edi
    2d38: 83 c7 01                     	addl	$0x1, %edi
    2d3b: 89 3a                        	movl	%edi, (%rdx)
    2d3d: 48 63 d6                     	movslq	%esi, %rdx
    2d40: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2d43: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    2d46: 25 00 ff 00 00               	andl	$0xff00, %eax           # imm = 0xFF00
    2d4b: c1 e8 08                     	shrl	$0x8, %eax
    2d4e: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2d52: 48 8b 55 f0                  	movq	-0x10(%rbp), %rdx
    2d56: 8b 32                        	movl	(%rdx), %esi
    2d58: 89 f7                        	movl	%esi, %edi
    2d5a: 83 c7 01                     	addl	$0x1, %edi
    2d5d: 89 3a                        	movl	%edi, (%rdx)
    2d5f: 48 63 d6                     	movslq	%esi, %rdx
    2d62: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2d65: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    2d68: 25 ff 00 00 00               	andl	$0xff, %eax
    2d6d: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2d71: 48 8b 55 f0                  	movq	-0x10(%rbp), %rdx
    2d75: 8b 32                        	movl	(%rdx), %esi
    2d77: 89 f7                        	movl	%esi, %edi
    2d79: 83 c7 01                     	addl	$0x1, %edi
    2d7c: 89 3a                        	movl	%edi, (%rdx)
    2d7e: 48 63 d6                     	movslq	%esi, %rdx
    2d81: 88 04 11                     	movb	%al, (%rcx,%rdx)
    2d84: 5d                           	popq	%rbp
    2d85: c3                           	retq
    2d86: cc                           	int3
    2d87: cc                           	int3
    2d88: cc                           	int3
    2d89: cc                           	int3
    2d8a: cc                           	int3
    2d8b: cc                           	int3
    2d8c: cc                           	int3
    2d8d: cc                           	int3
    2d8e: cc                           	int3
    2d8f: cc                           	int3

0000000000002d90 <qoi_decode>:
    2d90: 55                           	pushq	%rbp
    2d91: 48 89 e5                     	movq	%rsp, %rbp
    2d94: 48 81 ec 60 01 00 00         	subq	$0x160, %rsp            # imm = 0x160
    2d9b: 48 89 7d a0                  	movq	%rdi, -0x60(%rbp)
    2d9f: 89 75 bc                     	movl	%esi, -0x44(%rbp)
    2da2: 48 89 55 e8                  	movq	%rdx, -0x18(%rbp)
    2da6: 89 4d f0                     	movl	%ecx, -0x10(%rbp)
    2da9: c7 45 f8 00 00 00 00         	movl	$0x0, -0x8(%rbp)
    2db0: c7 45 d4 00 00 00 00         	movl	$0x0, -0x2c(%rbp)
    2db7: 48 83 7d a0 00               	cmpq	$0x0, -0x60(%rbp)
    2dbc: 74 1f                        	je	0x2ddd <qoi_decode+0x4d>
    2dbe: 48 83 7d e8 00               	cmpq	$0x0, -0x18(%rbp)
    2dc3: 74 18                        	je	0x2ddd <qoi_decode+0x4d>
    2dc5: 83 7d f0 00                  	cmpl	$0x0, -0x10(%rbp)
    2dc9: 74 0c                        	je	0x2dd7 <qoi_decode+0x47>
    2dcb: 83 7d f0 03                  	cmpl	$0x3, -0x10(%rbp)
    2dcf: 74 06                        	je	0x2dd7 <qoi_decode+0x47>
    2dd1: 83 7d f0 04                  	cmpl	$0x4, -0x10(%rbp)
    2dd5: 75 06                        	jne	0x2ddd <qoi_decode+0x4d>
    2dd7: 83 7d bc 16                  	cmpl	$0x16, -0x44(%rbp)
    2ddb: 7d 0d                        	jge	0x2dea <qoi_decode+0x5a>
    2ddd: 48 c7 45 b0 00 00 00 00      	movq	$0x0, -0x50(%rbp)
    2de5: e9 02 04 00 00               	jmp	0x31ec <qoi_decode+0x45c>
    2dea: 48 8b 45 a0                  	movq	-0x60(%rbp), %rax
    2dee: 48 89 45 d8                  	movq	%rax, -0x28(%rbp)
    2df2: 48 8b 7d d8                  	movq	-0x28(%rbp), %rdi
    2df6: 48 8d 75 f8                  	leaq	-0x8(%rbp), %rsi
    2dfa: e8 01 04 00 00               	callq	0x3200 <qoi_read_32>
    2dff: 89 45 a8                     	movl	%eax, -0x58(%rbp)
    2e02: 48 8b 7d d8                  	movq	-0x28(%rbp), %rdi
    2e06: 48 8d 75 f8                  	leaq	-0x8(%rbp), %rsi
    2e0a: e8 f1 03 00 00               	callq	0x3200 <qoi_read_32>
    2e0f: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2e13: 89 01                        	movl	%eax, (%rcx)
    2e15: 48 8b 7d d8                  	movq	-0x28(%rbp), %rdi
    2e19: 48 8d 75 f8                  	leaq	-0x8(%rbp), %rsi
    2e1d: e8 de 03 00 00               	callq	0x3200 <qoi_read_32>
    2e22: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2e26: 89 41 04                     	movl	%eax, 0x4(%rcx)
    2e29: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2e2d: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    2e30: 89 ca                        	movl	%ecx, %edx
    2e32: 83 c2 01                     	addl	$0x1, %edx
    2e35: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    2e38: 48 63 c9                     	movslq	%ecx, %rcx
    2e3b: 8a 04 08                     	movb	(%rax,%rcx), %al
    2e3e: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2e42: 88 41 08                     	movb	%al, 0x8(%rcx)
    2e45: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2e49: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    2e4c: 89 ca                        	movl	%ecx, %edx
    2e4e: 83 c2 01                     	addl	$0x1, %edx
    2e51: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    2e54: 48 63 c9                     	movslq	%ecx, %rcx
    2e57: 8a 04 08                     	movb	(%rax,%rcx), %al
    2e5a: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2e5e: 88 41 09                     	movb	%al, 0x9(%rcx)
    2e61: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2e65: 83 38 00                     	cmpl	$0x0, (%rax)
    2e68: 74 52                        	je	0x2ebc <qoi_decode+0x12c>
    2e6a: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2e6e: 83 78 04 00                  	cmpl	$0x0, 0x4(%rax)
    2e72: 74 48                        	je	0x2ebc <qoi_decode+0x12c>
    2e74: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2e78: 0f b6 40 08                  	movzbl	0x8(%rax), %eax
    2e7c: 83 f8 03                     	cmpl	$0x3, %eax
    2e7f: 7c 3b                        	jl	0x2ebc <qoi_decode+0x12c>
    2e81: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2e85: 0f b6 40 08                  	movzbl	0x8(%rax), %eax
    2e89: 83 f8 04                     	cmpl	$0x4, %eax
    2e8c: 7f 2e                        	jg	0x2ebc <qoi_decode+0x12c>
    2e8e: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2e92: 0f b6 40 09                  	movzbl	0x9(%rax), %eax
    2e96: 83 f8 01                     	cmpl	$0x1, %eax
    2e99: 7f 21                        	jg	0x2ebc <qoi_decode+0x12c>
    2e9b: 81 7d a8 66 69 6f 71         	cmpl	$0x716f6966, -0x58(%rbp) # imm = 0x716F6966
    2ea2: 75 18                        	jne	0x2ebc <qoi_decode+0x12c>
    2ea4: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2ea8: 8b 48 04                     	movl	0x4(%rax), %ecx
    2eab: 48 8b 75 e8                  	movq	-0x18(%rbp), %rsi
    2eaf: b8 00 84 d7 17               	movl	$0x17d78400, %eax       # imm = 0x17D78400
    2eb4: 31 d2                        	xorl	%edx, %edx
    2eb6: f7 36                        	divl	(%rsi)
    2eb8: 39 c1                        	cmpl	%eax, %ecx
    2eba: 72 0d                        	jb	0x2ec9 <qoi_decode+0x139>
    2ebc: 48 c7 45 b0 00 00 00 00      	movq	$0x0, -0x50(%rbp)
    2ec4: e9 23 03 00 00               	jmp	0x31ec <qoi_decode+0x45c>
    2ec9: 83 7d f0 00                  	cmpl	$0x0, -0x10(%rbp)
    2ecd: 75 0b                        	jne	0x2eda <qoi_decode+0x14a>
    2ecf: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2ed3: 0f b6 40 08                  	movzbl	0x8(%rax), %eax
    2ed7: 89 45 f0                     	movl	%eax, -0x10(%rbp)
    2eda: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    2ede: 8b 00                        	movl	(%rax), %eax
    2ee0: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    2ee4: 0f af 41 04                  	imull	0x4(%rcx), %eax
    2ee8: 0f af 45 f0                  	imull	-0x10(%rbp), %eax
    2eec: 89 45 c0                     	movl	%eax, -0x40(%rbp)
    2eef: 48 63 7d c0                  	movslq	-0x40(%rbp), %rdi
    2ef3: e8 38 0b 00 00               	callq	0x3a30 <malloc@plt>
    2ef8: 48 89 45 c8                  	movq	%rax, -0x38(%rbp)
    2efc: 48 83 7d c8 00               	cmpq	$0x0, -0x38(%rbp)
    2f01: 75 0d                        	jne	0x2f10 <qoi_decode+0x180>
    2f03: 48 c7 45 b0 00 00 00 00      	movq	$0x0, -0x50(%rbp)
    2f0b: e9 dc 02 00 00               	jmp	0x31ec <qoi_decode+0x45c>
    2f10: 48 8d bd a0 fe ff ff         	leaq	-0x160(%rbp), %rdi
    2f17: 31 f6                        	xorl	%esi, %esi
    2f19: ba 00 01 00 00               	movl	$0x100, %edx            # imm = 0x100
    2f1e: e8 1d 0b 00 00               	callq	0x3a40 <memset@plt>
    2f23: c6 45 fc 00                  	movb	$0x0, -0x4(%rbp)
    2f27: c6 45 fd 00                  	movb	$0x0, -0x3(%rbp)
    2f2b: c6 45 fe 00                  	movb	$0x0, -0x2(%rbp)
    2f2f: c6 45 ff ff                  	movb	$-0x1, -0x1(%rbp)
    2f33: 8b 45 bc                     	movl	-0x44(%rbp), %eax
    2f36: 83 e8 08                     	subl	$0x8, %eax
    2f39: 89 45 ac                     	movl	%eax, -0x54(%rbp)
    2f3c: c7 45 e4 00 00 00 00         	movl	$0x0, -0x1c(%rbp)
    2f43: 8b 45 e4                     	movl	-0x1c(%rbp), %eax
    2f46: 3b 45 c0                     	cmpl	-0x40(%rbp), %eax
    2f49: 0f 8d 95 02 00 00            	jge	0x31e4 <qoi_decode+0x454>
    2f4f: 83 7d d4 00                  	cmpl	$0x0, -0x2c(%rbp)
    2f53: 7e 0e                        	jle	0x2f63 <qoi_decode+0x1d3>
    2f55: 8b 45 d4                     	movl	-0x2c(%rbp), %eax
    2f58: 83 c0 ff                     	addl	$-0x1, %eax
    2f5b: 89 45 d4                     	movl	%eax, -0x2c(%rbp)
    2f5e: e9 1f 02 00 00               	jmp	0x3182 <qoi_decode+0x3f2>
    2f63: 8b 45 f8                     	movl	-0x8(%rbp), %eax
    2f66: 3b 45 ac                     	cmpl	-0x54(%rbp), %eax
    2f69: 0f 8d 11 02 00 00            	jge	0x3180 <qoi_decode+0x3f0>
    2f6f: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2f73: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    2f76: 89 ca                        	movl	%ecx, %edx
    2f78: 83 c2 01                     	addl	$0x1, %edx
    2f7b: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    2f7e: 48 63 c9                     	movslq	%ecx, %rcx
    2f81: 0f b6 04 08                  	movzbl	(%rax,%rcx), %eax
    2f85: 89 45 f4                     	movl	%eax, -0xc(%rbp)
    2f88: 81 7d f4 fe 00 00 00         	cmpl	$0xfe, -0xc(%rbp)
    2f8f: 75 4d                        	jne	0x2fde <qoi_decode+0x24e>
    2f91: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2f95: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    2f98: 89 ca                        	movl	%ecx, %edx
    2f9a: 83 c2 01                     	addl	$0x1, %edx
    2f9d: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    2fa0: 48 63 c9                     	movslq	%ecx, %rcx
    2fa3: 8a 04 08                     	movb	(%rax,%rcx), %al
    2fa6: 88 45 fc                     	movb	%al, -0x4(%rbp)
    2fa9: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2fad: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    2fb0: 89 ca                        	movl	%ecx, %edx
    2fb2: 83 c2 01                     	addl	$0x1, %edx
    2fb5: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    2fb8: 48 63 c9                     	movslq	%ecx, %rcx
    2fbb: 8a 04 08                     	movb	(%rax,%rcx), %al
    2fbe: 88 45 fd                     	movb	%al, -0x3(%rbp)
    2fc1: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2fc5: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    2fc8: 89 ca                        	movl	%ecx, %edx
    2fca: 83 c2 01                     	addl	$0x1, %edx
    2fcd: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    2fd0: 48 63 c9                     	movslq	%ecx, %rcx
    2fd3: 8a 04 08                     	movb	(%rax,%rcx), %al
    2fd6: 88 45 fe                     	movb	%al, -0x2(%rbp)
    2fd9: e9 71 01 00 00               	jmp	0x314f <qoi_decode+0x3bf>
    2fde: 81 7d f4 ff 00 00 00         	cmpl	$0xff, -0xc(%rbp)
    2fe5: 75 65                        	jne	0x304c <qoi_decode+0x2bc>
    2fe7: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    2feb: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    2fee: 89 ca                        	movl	%ecx, %edx
    2ff0: 83 c2 01                     	addl	$0x1, %edx
    2ff3: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    2ff6: 48 63 c9                     	movslq	%ecx, %rcx
    2ff9: 8a 04 08                     	movb	(%rax,%rcx), %al
    2ffc: 88 45 fc                     	movb	%al, -0x4(%rbp)
    2fff: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    3003: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    3006: 89 ca                        	movl	%ecx, %edx
    3008: 83 c2 01                     	addl	$0x1, %edx
    300b: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    300e: 48 63 c9                     	movslq	%ecx, %rcx
    3011: 8a 04 08                     	movb	(%rax,%rcx), %al
    3014: 88 45 fd                     	movb	%al, -0x3(%rbp)
    3017: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    301b: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    301e: 89 ca                        	movl	%ecx, %edx
    3020: 83 c2 01                     	addl	$0x1, %edx
    3023: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    3026: 48 63 c9                     	movslq	%ecx, %rcx
    3029: 8a 04 08                     	movb	(%rax,%rcx), %al
    302c: 88 45 fe                     	movb	%al, -0x2(%rbp)
    302f: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    3033: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    3036: 89 ca                        	movl	%ecx, %edx
    3038: 83 c2 01                     	addl	$0x1, %edx
    303b: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    303e: 48 63 c9                     	movslq	%ecx, %rcx
    3041: 8a 04 08                     	movb	(%rax,%rcx), %al
    3044: 88 45 ff                     	movb	%al, -0x1(%rbp)
    3047: e9 01 01 00 00               	jmp	0x314d <qoi_decode+0x3bd>
    304c: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    304f: 25 c0 00 00 00               	andl	$0xc0, %eax
    3054: 83 f8 00                     	cmpl	$0x0, %eax
    3057: 75 13                        	jne	0x306c <qoi_decode+0x2dc>
    3059: 48 63 45 f4                  	movslq	-0xc(%rbp), %rax
    305d: 8b 84 85 a0 fe ff ff         	movl	-0x160(%rbp,%rax,4), %eax
    3064: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    3067: e9 df 00 00 00               	jmp	0x314b <qoi_decode+0x3bb>
    306c: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    306f: 25 c0 00 00 00               	andl	$0xc0, %eax
    3074: 83 f8 40                     	cmpl	$0x40, %eax
    3077: 75 41                        	jne	0x30ba <qoi_decode+0x32a>
    3079: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    307c: c1 f8 04                     	sarl	$0x4, %eax
    307f: 83 e0 03                     	andl	$0x3, %eax
    3082: 83 e8 02                     	subl	$0x2, %eax
    3085: 0f b6 4d fc                  	movzbl	-0x4(%rbp), %ecx
    3089: 01 c1                        	addl	%eax, %ecx
    308b: 88 4d fc                     	movb	%cl, -0x4(%rbp)
    308e: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    3091: c1 f8 02                     	sarl	$0x2, %eax
    3094: 83 e0 03                     	andl	$0x3, %eax
    3097: 83 e8 02                     	subl	$0x2, %eax
    309a: 0f b6 4d fd                  	movzbl	-0x3(%rbp), %ecx
    309e: 01 c1                        	addl	%eax, %ecx
    30a0: 88 4d fd                     	movb	%cl, -0x3(%rbp)
    30a3: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    30a6: 83 e0 03                     	andl	$0x3, %eax
    30a9: 83 e8 02                     	subl	$0x2, %eax
    30ac: 0f b6 4d fe                  	movzbl	-0x2(%rbp), %ecx
    30b0: 01 c1                        	addl	%eax, %ecx
    30b2: 88 4d fe                     	movb	%cl, -0x2(%rbp)
    30b5: e9 8f 00 00 00               	jmp	0x3149 <qoi_decode+0x3b9>
    30ba: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    30bd: 25 c0 00 00 00               	andl	$0xc0, %eax
    30c2: 3d 80 00 00 00               	cmpl	$0x80, %eax
    30c7: 75 64                        	jne	0x312d <qoi_decode+0x39d>
    30c9: 48 8b 45 d8                  	movq	-0x28(%rbp), %rax
    30cd: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    30d0: 89 ca                        	movl	%ecx, %edx
    30d2: 83 c2 01                     	addl	$0x1, %edx
    30d5: 89 55 f8                     	movl	%edx, -0x8(%rbp)
    30d8: 48 63 c9                     	movslq	%ecx, %rcx
    30db: 0f b6 04 08                  	movzbl	(%rax,%rcx), %eax
    30df: 89 45 c4                     	movl	%eax, -0x3c(%rbp)
    30e2: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    30e5: 83 e0 3f                     	andl	$0x3f, %eax
    30e8: 83 e8 20                     	subl	$0x20, %eax
    30eb: 89 45 d0                     	movl	%eax, -0x30(%rbp)
    30ee: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    30f1: 83 e8 08                     	subl	$0x8, %eax
    30f4: 8b 4d c4                     	movl	-0x3c(%rbp), %ecx
    30f7: c1 f9 04                     	sarl	$0x4, %ecx
    30fa: 83 e1 0f                     	andl	$0xf, %ecx
    30fd: 01 c8                        	addl	%ecx, %eax
    30ff: 0f b6 4d fc                  	movzbl	-0x4(%rbp), %ecx
    3103: 01 c1                        	addl	%eax, %ecx
    3105: 88 4d fc                     	movb	%cl, -0x4(%rbp)
    3108: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    310b: 0f b6 4d fd                  	movzbl	-0x3(%rbp), %ecx
    310f: 01 c1                        	addl	%eax, %ecx
    3111: 88 4d fd                     	movb	%cl, -0x3(%rbp)
    3114: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    3117: 83 e8 08                     	subl	$0x8, %eax
    311a: 8b 4d c4                     	movl	-0x3c(%rbp), %ecx
    311d: 83 e1 0f                     	andl	$0xf, %ecx
    3120: 01 c8                        	addl	%ecx, %eax
    3122: 0f b6 4d fe                  	movzbl	-0x2(%rbp), %ecx
    3126: 01 c1                        	addl	%eax, %ecx
    3128: 88 4d fe                     	movb	%cl, -0x2(%rbp)
    312b: eb 1a                        	jmp	0x3147 <qoi_decode+0x3b7>
    312d: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    3130: 25 c0 00 00 00               	andl	$0xc0, %eax
    3135: 3d c0 00 00 00               	cmpl	$0xc0, %eax
    313a: 75 09                        	jne	0x3145 <qoi_decode+0x3b5>
    313c: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    313f: 83 e0 3f                     	andl	$0x3f, %eax
    3142: 89 45 d4                     	movl	%eax, -0x2c(%rbp)
    3145: eb 00                        	jmp	0x3147 <qoi_decode+0x3b7>
    3147: eb 00                        	jmp	0x3149 <qoi_decode+0x3b9>
    3149: eb 00                        	jmp	0x314b <qoi_decode+0x3bb>
    314b: eb 00                        	jmp	0x314d <qoi_decode+0x3bd>
    314d: eb 00                        	jmp	0x314f <qoi_decode+0x3bf>
    314f: 0f b6 45 fc                  	movzbl	-0x4(%rbp), %eax
    3153: 6b c0 03                     	imull	$0x3, %eax, %eax
    3156: 0f b6 4d fd                  	movzbl	-0x3(%rbp), %ecx
    315a: 6b c9 05                     	imull	$0x5, %ecx, %ecx
    315d: 01 c8                        	addl	%ecx, %eax
    315f: 0f b6 4d fe                  	movzbl	-0x2(%rbp), %ecx
    3163: 6b c9 07                     	imull	$0x7, %ecx, %ecx
    3166: 01 c8                        	addl	%ecx, %eax
    3168: 0f b6 4d ff                  	movzbl	-0x1(%rbp), %ecx
    316c: 6b c9 0b                     	imull	$0xb, %ecx, %ecx
    316f: 01 c8                        	addl	%ecx, %eax
    3171: 83 e0 3f                     	andl	$0x3f, %eax
    3174: 48 98                        	cltq
    3176: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    3179: 89 8c 85 a0 fe ff ff         	movl	%ecx, -0x160(%rbp,%rax,4)
    3180: eb 00                        	jmp	0x3182 <qoi_decode+0x3f2>
    3182: 8a 45 fc                     	movb	-0x4(%rbp), %al
    3185: 48 8b 4d c8                  	movq	-0x38(%rbp), %rcx
    3189: 8b 55 e4                     	movl	-0x1c(%rbp), %edx
    318c: 83 c2 00                     	addl	$0x0, %edx
    318f: 48 63 d2                     	movslq	%edx, %rdx
    3192: 88 04 11                     	movb	%al, (%rcx,%rdx)
    3195: 8a 45 fd                     	movb	-0x3(%rbp), %al
    3198: 48 8b 4d c8                  	movq	-0x38(%rbp), %rcx
    319c: 8b 55 e4                     	movl	-0x1c(%rbp), %edx
    319f: 83 c2 01                     	addl	$0x1, %edx
    31a2: 48 63 d2                     	movslq	%edx, %rdx
    31a5: 88 04 11                     	movb	%al, (%rcx,%rdx)
    31a8: 8a 45 fe                     	movb	-0x2(%rbp), %al
    31ab: 48 8b 4d c8                  	movq	-0x38(%rbp), %rcx
    31af: 8b 55 e4                     	movl	-0x1c(%rbp), %edx
    31b2: 83 c2 02                     	addl	$0x2, %edx
    31b5: 48 63 d2                     	movslq	%edx, %rdx
    31b8: 88 04 11                     	movb	%al, (%rcx,%rdx)
    31bb: 83 7d f0 04                  	cmpl	$0x4, -0x10(%rbp)
    31bf: 75 13                        	jne	0x31d4 <qoi_decode+0x444>
    31c1: 8a 45 ff                     	movb	-0x1(%rbp), %al
    31c4: 48 8b 4d c8                  	movq	-0x38(%rbp), %rcx
    31c8: 8b 55 e4                     	movl	-0x1c(%rbp), %edx
    31cb: 83 c2 03                     	addl	$0x3, %edx
    31ce: 48 63 d2                     	movslq	%edx, %rdx
    31d1: 88 04 11                     	movb	%al, (%rcx,%rdx)
    31d4: eb 00                        	jmp	0x31d6 <qoi_decode+0x446>
    31d6: 8b 45 f0                     	movl	-0x10(%rbp), %eax
    31d9: 03 45 e4                     	addl	-0x1c(%rbp), %eax
    31dc: 89 45 e4                     	movl	%eax, -0x1c(%rbp)
    31df: e9 5f fd ff ff               	jmp	0x2f43 <qoi_decode+0x1b3>
    31e4: 48 8b 45 c8                  	movq	-0x38(%rbp), %rax
    31e8: 48 89 45 b0                  	movq	%rax, -0x50(%rbp)
    31ec: 48 8b 45 b0                  	movq	-0x50(%rbp), %rax
    31f0: 48 81 c4 60 01 00 00         	addq	$0x160, %rsp            # imm = 0x160
    31f7: 5d                           	popq	%rbp
    31f8: c3                           	retq
    31f9: cc                           	int3
    31fa: cc                           	int3
    31fb: cc                           	int3
    31fc: cc                           	int3
    31fd: cc                           	int3
    31fe: cc                           	int3
    31ff: cc                           	int3

0000000000003200 <qoi_read_32>:
    3200: 55                           	pushq	%rbp
    3201: 48 89 e5                     	movq	%rsp, %rbp
    3204: 48 89 7d f0                  	movq	%rdi, -0x10(%rbp)
    3208: 48 89 75 f8                  	movq	%rsi, -0x8(%rbp)
    320c: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3210: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    3214: 8b 11                        	movl	(%rcx), %edx
    3216: 89 d6                        	movl	%edx, %esi
    3218: 83 c6 01                     	addl	$0x1, %esi
    321b: 89 31                        	movl	%esi, (%rcx)
    321d: 48 63 ca                     	movslq	%edx, %rcx
    3220: 0f b6 04 08                  	movzbl	(%rax,%rcx), %eax
    3224: 89 45 e0                     	movl	%eax, -0x20(%rbp)
    3227: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    322b: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    322f: 8b 11                        	movl	(%rcx), %edx
    3231: 89 d6                        	movl	%edx, %esi
    3233: 83 c6 01                     	addl	$0x1, %esi
    3236: 89 31                        	movl	%esi, (%rcx)
    3238: 48 63 ca                     	movslq	%edx, %rcx
    323b: 0f b6 04 08                  	movzbl	(%rax,%rcx), %eax
    323f: 89 45 e4                     	movl	%eax, -0x1c(%rbp)
    3242: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3246: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    324a: 8b 11                        	movl	(%rcx), %edx
    324c: 89 d6                        	movl	%edx, %esi
    324e: 83 c6 01                     	addl	$0x1, %esi
    3251: 89 31                        	movl	%esi, (%rcx)
    3253: 48 63 ca                     	movslq	%edx, %rcx
    3256: 0f b6 04 08                  	movzbl	(%rax,%rcx), %eax
    325a: 89 45 e8                     	movl	%eax, -0x18(%rbp)
    325d: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3261: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
    3265: 8b 11                        	movl	(%rcx), %edx
    3267: 89 d6                        	movl	%edx, %esi
    3269: 83 c6 01                     	addl	$0x1, %esi
    326c: 89 31                        	movl	%esi, (%rcx)
    326e: 48 63 ca                     	movslq	%edx, %rcx
    3271: 0f b6 04 08                  	movzbl	(%rax,%rcx), %eax
    3275: 89 45 ec                     	movl	%eax, -0x14(%rbp)
    3278: 8b 45 e0                     	movl	-0x20(%rbp), %eax
    327b: c1 e0 18                     	shll	$0x18, %eax
    327e: 8b 4d e4                     	movl	-0x1c(%rbp), %ecx
    3281: c1 e1 10                     	shll	$0x10, %ecx
    3284: 09 c8                        	orl	%ecx, %eax
    3286: 8b 4d e8                     	movl	-0x18(%rbp), %ecx
    3289: c1 e1 08                     	shll	$0x8, %ecx
    328c: 09 c8                        	orl	%ecx, %eax
    328e: 0b 45 ec                     	orl	-0x14(%rbp), %eax
    3291: 5d                           	popq	%rbp
    3292: c3                           	retq
    3293: cc                           	int3
    3294: cc                           	int3
    3295: cc                           	int3
    3296: cc                           	int3
    3297: cc                           	int3
    3298: cc                           	int3
    3299: cc                           	int3
    329a: cc                           	int3
    329b: cc                           	int3
    329c: cc                           	int3
    329d: cc                           	int3
    329e: cc                           	int3
    329f: cc                           	int3

00000000000032a0 <sha256_transform>:
    32a0: 55                           	pushq	%rbp
    32a1: 48 89 e5                     	movq	%rsp, %rbp
    32a4: 48 81 ec d0 00 00 00         	subq	$0xd0, %rsp
    32ab: 48 89 7d e8                  	movq	%rdi, -0x18(%rbp)
    32af: 48 89 75 c0                  	movq	%rsi, -0x40(%rbp)
    32b3: c7 45 fc 00 00 00 00         	movl	$0x0, -0x4(%rbp)
    32ba: c7 45 e4 00 00 00 00         	movl	$0x0, -0x1c(%rbp)
    32c1: 83 7d fc 10                  	cmpl	$0x10, -0x4(%rbp)
    32c5: 73 68                        	jae	0x332f <sha256_transform+0x8f>
    32c7: 48 8b 45 c0                  	movq	-0x40(%rbp), %rax
    32cb: 8b 4d e4                     	movl	-0x1c(%rbp), %ecx
    32ce: 0f b6 04 08                  	movzbl	(%rax,%rcx), %eax
    32d2: c1 e0 18                     	shll	$0x18, %eax
    32d5: 48 8b 4d c0                  	movq	-0x40(%rbp), %rcx
    32d9: 8b 55 e4                     	movl	-0x1c(%rbp), %edx
    32dc: 83 c2 01                     	addl	$0x1, %edx
    32df: 89 d2                        	movl	%edx, %edx
    32e1: 0f b6 0c 11                  	movzbl	(%rcx,%rdx), %ecx
    32e5: c1 e1 10                     	shll	$0x10, %ecx
    32e8: 09 c8                        	orl	%ecx, %eax
    32ea: 48 8b 4d c0                  	movq	-0x40(%rbp), %rcx
    32ee: 8b 55 e4                     	movl	-0x1c(%rbp), %edx
    32f1: 83 c2 02                     	addl	$0x2, %edx
    32f4: 89 d2                        	movl	%edx, %edx
    32f6: 0f b6 0c 11                  	movzbl	(%rcx,%rdx), %ecx
    32fa: c1 e1 08                     	shll	$0x8, %ecx
    32fd: 09 c8                        	orl	%ecx, %eax
    32ff: 48 8b 4d c0                  	movq	-0x40(%rbp), %rcx
    3303: 8b 55 e4                     	movl	-0x1c(%rbp), %edx
    3306: 83 c2 03                     	addl	$0x3, %edx
    3309: 89 d2                        	movl	%edx, %edx
    330b: 0f b6 0c 11                  	movzbl	(%rcx,%rdx), %ecx
    330f: 09 c8                        	orl	%ecx, %eax
    3311: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    3314: 89 84 8d b0 fe ff ff         	movl	%eax, -0x150(%rbp,%rcx,4)
    331b: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    331e: 83 c0 01                     	addl	$0x1, %eax
    3321: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    3324: 8b 45 e4                     	movl	-0x1c(%rbp), %eax
    3327: 83 c0 04                     	addl	$0x4, %eax
    332a: 89 45 e4                     	movl	%eax, -0x1c(%rbp)
    332d: eb 92                        	jmp	0x32c1 <sha256_transform+0x21>
    332f: eb 00                        	jmp	0x3331 <sha256_transform+0x91>
    3331: 83 7d fc 40                  	cmpl	$0x40, -0x4(%rbp)
    3335: 0f 83 fc 00 00 00            	jae	0x3437 <sha256_transform+0x197>
    333b: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    333e: 83 e8 02                     	subl	$0x2, %eax
    3341: 89 c0                        	movl	%eax, %eax
    3343: 8b 84 85 b0 fe ff ff         	movl	-0x150(%rbp,%rax,4), %eax
    334a: c1 e8 11                     	shrl	$0x11, %eax
    334d: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    3350: 83 e9 02                     	subl	$0x2, %ecx
    3353: 89 c9                        	movl	%ecx, %ecx
    3355: 8b 8c 8d b0 fe ff ff         	movl	-0x150(%rbp,%rcx,4), %ecx
    335c: c1 e1 0f                     	shll	$0xf, %ecx
    335f: 09 c8                        	orl	%ecx, %eax
    3361: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    3364: 83 e9 02                     	subl	$0x2, %ecx
    3367: 89 c9                        	movl	%ecx, %ecx
    3369: 8b 8c 8d b0 fe ff ff         	movl	-0x150(%rbp,%rcx,4), %ecx
    3370: c1 e9 13                     	shrl	$0x13, %ecx
    3373: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    3376: 83 ea 02                     	subl	$0x2, %edx
    3379: 89 d2                        	movl	%edx, %edx
    337b: 8b 94 95 b0 fe ff ff         	movl	-0x150(%rbp,%rdx,4), %edx
    3382: c1 e2 0d                     	shll	$0xd, %edx
    3385: 09 d1                        	orl	%edx, %ecx
    3387: 31 c8                        	xorl	%ecx, %eax
    3389: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    338c: 83 e9 02                     	subl	$0x2, %ecx
    338f: 89 c9                        	movl	%ecx, %ecx
    3391: 8b 8c 8d b0 fe ff ff         	movl	-0x150(%rbp,%rcx,4), %ecx
    3398: c1 e9 0a                     	shrl	$0xa, %ecx
    339b: 31 c8                        	xorl	%ecx, %eax
    339d: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    33a0: 83 e9 07                     	subl	$0x7, %ecx
    33a3: 89 c9                        	movl	%ecx, %ecx
    33a5: 03 84 8d b0 fe ff ff         	addl	-0x150(%rbp,%rcx,4), %eax
    33ac: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    33af: 83 e9 0f                     	subl	$0xf, %ecx
    33b2: 89 c9                        	movl	%ecx, %ecx
    33b4: 8b 8c 8d b0 fe ff ff         	movl	-0x150(%rbp,%rcx,4), %ecx
    33bb: c1 e9 07                     	shrl	$0x7, %ecx
    33be: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    33c1: 83 ea 0f                     	subl	$0xf, %edx
    33c4: 89 d2                        	movl	%edx, %edx
    33c6: 8b 94 95 b0 fe ff ff         	movl	-0x150(%rbp,%rdx,4), %edx
    33cd: c1 e2 19                     	shll	$0x19, %edx
    33d0: 09 d1                        	orl	%edx, %ecx
    33d2: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    33d5: 83 ea 0f                     	subl	$0xf, %edx
    33d8: 89 d2                        	movl	%edx, %edx
    33da: 8b 94 95 b0 fe ff ff         	movl	-0x150(%rbp,%rdx,4), %edx
    33e1: c1 ea 12                     	shrl	$0x12, %edx
    33e4: 8b 75 fc                     	movl	-0x4(%rbp), %esi
    33e7: 83 ee 0f                     	subl	$0xf, %esi
    33ea: 89 f6                        	movl	%esi, %esi
    33ec: 8b b4 b5 b0 fe ff ff         	movl	-0x150(%rbp,%rsi,4), %esi
    33f3: c1 e6 0e                     	shll	$0xe, %esi
    33f6: 09 f2                        	orl	%esi, %edx
    33f8: 31 d1                        	xorl	%edx, %ecx
    33fa: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    33fd: 83 ea 0f                     	subl	$0xf, %edx
    3400: 89 d2                        	movl	%edx, %edx
    3402: 8b 94 95 b0 fe ff ff         	movl	-0x150(%rbp,%rdx,4), %edx
    3409: c1 ea 03                     	shrl	$0x3, %edx
    340c: 31 d1                        	xorl	%edx, %ecx
    340e: 01 c8                        	addl	%ecx, %eax
    3410: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    3413: 83 e9 10                     	subl	$0x10, %ecx
    3416: 89 c9                        	movl	%ecx, %ecx
    3418: 03 84 8d b0 fe ff ff         	addl	-0x150(%rbp,%rcx,4), %eax
    341f: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    3422: 89 84 8d b0 fe ff ff         	movl	%eax, -0x150(%rbp,%rcx,4)
    3429: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    342c: 83 c0 01                     	addl	$0x1, %eax
    342f: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    3432: e9 fa fe ff ff               	jmp	0x3331 <sha256_transform+0x91>
    3437: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    343b: 8b 40 50                     	movl	0x50(%rax), %eax
    343e: 89 45 f4                     	movl	%eax, -0xc(%rbp)
    3441: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    3445: 8b 40 54                     	movl	0x54(%rax), %eax
    3448: 89 45 dc                     	movl	%eax, -0x24(%rbp)
    344b: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    344f: 8b 40 58                     	movl	0x58(%rax), %eax
    3452: 89 45 e0                     	movl	%eax, -0x20(%rbp)
    3455: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    3459: 8b 40 5c                     	movl	0x5c(%rax), %eax
    345c: 89 45 cc                     	movl	%eax, -0x34(%rbp)
    345f: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    3463: 8b 40 60                     	movl	0x60(%rax), %eax
    3466: 89 45 f8                     	movl	%eax, -0x8(%rbp)
    3469: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    346d: 8b 40 64                     	movl	0x64(%rax), %eax
    3470: 89 45 d4                     	movl	%eax, -0x2c(%rbp)
    3473: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    3477: 8b 40 68                     	movl	0x68(%rax), %eax
    347a: 89 45 d8                     	movl	%eax, -0x28(%rbp)
    347d: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
    3481: 8b 40 6c                     	movl	0x6c(%rax), %eax
    3484: 89 45 d0                     	movl	%eax, -0x30(%rbp)
    3487: c7 45 fc 00 00 00 00         	movl	$0x0, -0x4(%rbp)
    348e: 83 7d fc 40                  	cmpl	$0x40, -0x4(%rbp)
    3492: 0f 83 ed 00 00 00            	jae	0x3585 <sha256_transform+0x2e5>
    3498: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    349b: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    349e: c1 e9 06                     	shrl	$0x6, %ecx
    34a1: 8b 55 f8                     	movl	-0x8(%rbp), %edx
    34a4: c1 e2 1a                     	shll	$0x1a, %edx
    34a7: 09 d1                        	orl	%edx, %ecx
    34a9: 8b 55 f8                     	movl	-0x8(%rbp), %edx
    34ac: c1 ea 0b                     	shrl	$0xb, %edx
    34af: 8b 75 f8                     	movl	-0x8(%rbp), %esi
    34b2: c1 e6 15                     	shll	$0x15, %esi
    34b5: 09 f2                        	orl	%esi, %edx
    34b7: 31 d1                        	xorl	%edx, %ecx
    34b9: 8b 55 f8                     	movl	-0x8(%rbp), %edx
    34bc: c1 ea 19                     	shrl	$0x19, %edx
    34bf: 8b 75 f8                     	movl	-0x8(%rbp), %esi
    34c2: c1 e6 07                     	shll	$0x7, %esi
    34c5: 09 f2                        	orl	%esi, %edx
    34c7: 31 d1                        	xorl	%edx, %ecx
    34c9: 01 c8                        	addl	%ecx, %eax
    34cb: 8b 4d f8                     	movl	-0x8(%rbp), %ecx
    34ce: 23 4d d4                     	andl	-0x2c(%rbp), %ecx
    34d1: 8b 55 f8                     	movl	-0x8(%rbp), %edx
    34d4: 83 f2 ff                     	xorl	$-0x1, %edx
    34d7: 23 55 d8                     	andl	-0x28(%rbp), %edx
    34da: 31 d1                        	xorl	%edx, %ecx
    34dc: 01 c8                        	addl	%ecx, %eax
    34de: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    34e1: 48 8d 15 88 d4 ff ff         	leaq	-0x2b78(%rip), %rdx     # 0x970 <k>
    34e8: 03 04 8a                     	addl	(%rdx,%rcx,4), %eax
    34eb: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    34ee: 03 84 8d b0 fe ff ff         	addl	-0x150(%rbp,%rcx,4), %eax
    34f5: 89 45 c8                     	movl	%eax, -0x38(%rbp)
    34f8: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    34fb: c1 e8 02                     	shrl	$0x2, %eax
    34fe: 8b 4d f4                     	movl	-0xc(%rbp), %ecx
    3501: c1 e1 1e                     	shll	$0x1e, %ecx
    3504: 09 c8                        	orl	%ecx, %eax
    3506: 8b 4d f4                     	movl	-0xc(%rbp), %ecx
    3509: c1 e9 0d                     	shrl	$0xd, %ecx
    350c: 8b 55 f4                     	movl	-0xc(%rbp), %edx
    350f: c1 e2 13                     	shll	$0x13, %edx
    3512: 09 d1                        	orl	%edx, %ecx
    3514: 31 c8                        	xorl	%ecx, %eax
    3516: 8b 4d f4                     	movl	-0xc(%rbp), %ecx
    3519: c1 e9 16                     	shrl	$0x16, %ecx
    351c: 8b 55 f4                     	movl	-0xc(%rbp), %edx
    351f: c1 e2 0a                     	shll	$0xa, %edx
    3522: 09 d1                        	orl	%edx, %ecx
    3524: 31 c8                        	xorl	%ecx, %eax
    3526: 8b 4d f4                     	movl	-0xc(%rbp), %ecx
    3529: 23 4d dc                     	andl	-0x24(%rbp), %ecx
    352c: 8b 55 f4                     	movl	-0xc(%rbp), %edx
    352f: 23 55 e0                     	andl	-0x20(%rbp), %edx
    3532: 31 d1                        	xorl	%edx, %ecx
    3534: 8b 55 dc                     	movl	-0x24(%rbp), %edx
    3537: 23 55 e0                     	andl	-0x20(%rbp), %edx
    353a: 31 d1                        	xorl	%edx, %ecx
    353c: 01 c8                        	addl	%ecx, %eax
    353e: 89 45 bc                     	movl	%eax, -0x44(%rbp)
    3541: 8b 45 d8                     	movl	-0x28(%rbp), %eax
    3544: 89 45 d0                     	movl	%eax, -0x30(%rbp)
    3547: 8b 45 d4                     	movl	-0x2c(%rbp), %eax
    354a: 89 45 d8                     	movl	%eax, -0x28(%rbp)
    354d: 8b 45 f8                     	movl	-0x8(%rbp), %eax
    3550: 89 45 d4                     	movl	%eax, -0x2c(%rbp)
    3553: 8b 45 cc                     	movl	-0x34(%rbp), %eax
    3556: 03 45 c8                     	addl	-0x38(%rbp), %eax
    3559: 89 45 f8                     	movl	%eax, -0x8(%rbp)
    355c: 8b 45 e0                     	movl	-0x20(%rbp), %eax
    355f: 89 45 cc                     	movl	%eax, -0x34(%rbp)
    3562: 8b 45 dc                     	movl	-0x24(%rbp), %eax
    3565: 89 45 e0                     	movl	%eax, -0x20(%rbp)
    3568: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    356b: 89 45 dc                     	movl	%eax, -0x24(%rbp)
    356e: 8b 45 c8                     	movl	-0x38(%rbp), %eax
    3571: 03 45 bc                     	addl	-0x44(%rbp), %eax
    3574: 89 45 f4                     	movl	%eax, -0xc(%rbp)
    3577: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    357a: 83 c0 01                     	addl	$0x1, %eax
    357d: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    3580: e9 09 ff ff ff               	jmp	0x348e <sha256_transform+0x1ee>
    3585: 8b 45 f4                     	movl	-0xc(%rbp), %eax
    3588: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    358c: 03 41 50                     	addl	0x50(%rcx), %eax
    358f: 89 41 50                     	movl	%eax, 0x50(%rcx)
    3592: 8b 45 dc                     	movl	-0x24(%rbp), %eax
    3595: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    3599: 03 41 54                     	addl	0x54(%rcx), %eax
    359c: 89 41 54                     	movl	%eax, 0x54(%rcx)
    359f: 8b 45 e0                     	movl	-0x20(%rbp), %eax
    35a2: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    35a6: 03 41 58                     	addl	0x58(%rcx), %eax
    35a9: 89 41 58                     	movl	%eax, 0x58(%rcx)
    35ac: 8b 45 cc                     	movl	-0x34(%rbp), %eax
    35af: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    35b3: 03 41 5c                     	addl	0x5c(%rcx), %eax
    35b6: 89 41 5c                     	movl	%eax, 0x5c(%rcx)
    35b9: 8b 45 f8                     	movl	-0x8(%rbp), %eax
    35bc: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    35c0: 03 41 60                     	addl	0x60(%rcx), %eax
    35c3: 89 41 60                     	movl	%eax, 0x60(%rcx)
    35c6: 8b 45 d4                     	movl	-0x2c(%rbp), %eax
    35c9: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    35cd: 03 41 64                     	addl	0x64(%rcx), %eax
    35d0: 89 41 64                     	movl	%eax, 0x64(%rcx)
    35d3: 8b 45 d8                     	movl	-0x28(%rbp), %eax
    35d6: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    35da: 03 41 68                     	addl	0x68(%rcx), %eax
    35dd: 89 41 68                     	movl	%eax, 0x68(%rcx)
    35e0: 8b 45 d0                     	movl	-0x30(%rbp), %eax
    35e3: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    35e7: 03 41 6c                     	addl	0x6c(%rcx), %eax
    35ea: 89 41 6c                     	movl	%eax, 0x6c(%rcx)
    35ed: 48 81 c4 d0 00 00 00         	addq	$0xd0, %rsp
    35f4: 5d                           	popq	%rbp
    35f5: c3                           	retq
    35f6: cc                           	int3
    35f7: cc                           	int3
    35f8: cc                           	int3
    35f9: cc                           	int3
    35fa: cc                           	int3
    35fb: cc                           	int3
    35fc: cc                           	int3
    35fd: cc                           	int3
    35fe: cc                           	int3
    35ff: cc                           	int3

0000000000003600 <sha256_init>:
    3600: 55                           	pushq	%rbp
    3601: 48 89 e5                     	movq	%rsp, %rbp
    3604: 48 89 7d f8                  	movq	%rdi, -0x8(%rbp)
    3608: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    360c: c7 40 40 00 00 00 00         	movl	$0x0, 0x40(%rax)
    3613: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    3617: 48 c7 40 48 00 00 00 00      	movq	$0x0, 0x48(%rax)
    361f: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    3623: c7 40 50 67 e6 09 6a         	movl	$0x6a09e667, 0x50(%rax) # imm = 0x6A09E667
    362a: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    362e: c7 40 54 85 ae 67 bb         	movl	$0xbb67ae85, 0x54(%rax) # imm = 0xBB67AE85
    3635: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    3639: c7 40 58 72 f3 6e 3c         	movl	$0x3c6ef372, 0x58(%rax) # imm = 0x3C6EF372
    3640: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    3644: c7 40 5c 3a f5 4f a5         	movl	$0xa54ff53a, 0x5c(%rax) # imm = 0xA54FF53A
    364b: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    364f: c7 40 60 7f 52 0e 51         	movl	$0x510e527f, 0x60(%rax) # imm = 0x510E527F
    3656: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    365a: c7 40 64 8c 68 05 9b         	movl	$0x9b05688c, 0x64(%rax) # imm = 0x9B05688C
    3661: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    3665: c7 40 68 ab d9 83 1f         	movl	$0x1f83d9ab, 0x68(%rax) # imm = 0x1F83D9AB
    366c: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
    3670: c7 40 6c 19 cd e0 5b         	movl	$0x5be0cd19, 0x6c(%rax) # imm = 0x5BE0CD19
    3677: 5d                           	popq	%rbp
    3678: c3                           	retq
    3679: cc                           	int3
    367a: cc                           	int3
    367b: cc                           	int3
    367c: cc                           	int3
    367d: cc                           	int3
    367e: cc                           	int3
    367f: cc                           	int3

0000000000003680 <sha256_update>:
    3680: 55                           	pushq	%rbp
    3681: 48 89 e5                     	movq	%rsp, %rbp
    3684: 48 83 ec 20                  	subq	$0x20, %rsp
    3688: 48 89 7d f0                  	movq	%rdi, -0x10(%rbp)
    368c: 48 89 75 e0                  	movq	%rsi, -0x20(%rbp)
    3690: 48 89 55 e8                  	movq	%rdx, -0x18(%rbp)
    3694: c7 45 fc 00 00 00 00         	movl	$0x0, -0x4(%rbp)
    369b: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    369e: 48 3b 45 e8                  	cmpq	-0x18(%rbp), %rax
    36a2: 73 67                        	jae	0x370b <sha256_update+0x8b>
    36a4: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
    36a8: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    36ab: 8a 04 08                     	movb	(%rax,%rcx), %al
    36ae: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    36b2: 48 8b 55 f0                  	movq	-0x10(%rbp), %rdx
    36b6: 8b 52 40                     	movl	0x40(%rdx), %edx
    36b9: 88 04 11                     	movb	%al, (%rcx,%rdx)
    36bc: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    36c0: 8b 48 40                     	movl	0x40(%rax), %ecx
    36c3: 83 c1 01                     	addl	$0x1, %ecx
    36c6: 89 48 40                     	movl	%ecx, 0x40(%rax)
    36c9: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    36cd: 83 78 40 40                  	cmpl	$0x40, 0x40(%rax)
    36d1: 75 2b                        	jne	0x36fe <sha256_update+0x7e>
    36d3: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
    36d7: 48 8b 75 f0                  	movq	-0x10(%rbp), %rsi
    36db: e8 c0 fb ff ff               	callq	0x32a0 <sha256_transform>
    36e0: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    36e4: 48 8b 48 48                  	movq	0x48(%rax), %rcx
    36e8: 48 81 c1 00 02 00 00         	addq	$0x200, %rcx            # imm = 0x200
    36ef: 48 89 48 48                  	movq	%rcx, 0x48(%rax)
    36f3: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    36f7: c7 40 40 00 00 00 00         	movl	$0x0, 0x40(%rax)
    36fe: eb 00                        	jmp	0x3700 <sha256_update+0x80>
    3700: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    3703: 83 c0 01                     	addl	$0x1, %eax
    3706: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    3709: eb 90                        	jmp	0x369b <sha256_update+0x1b>
    370b: 48 83 c4 20                  	addq	$0x20, %rsp
    370f: 5d                           	popq	%rbp
    3710: c3                           	retq
    3711: cc                           	int3
    3712: cc                           	int3
    3713: cc                           	int3
    3714: cc                           	int3
    3715: cc                           	int3
    3716: cc                           	int3
    3717: cc                           	int3
    3718: cc                           	int3
    3719: cc                           	int3
    371a: cc                           	int3
    371b: cc                           	int3
    371c: cc                           	int3
    371d: cc                           	int3
    371e: cc                           	int3
    371f: cc                           	int3

0000000000003720 <sha256_final>:
    3720: 55                           	pushq	%rbp
    3721: 48 89 e5                     	movq	%rsp, %rbp
    3724: 48 83 ec 20                  	subq	$0x20, %rsp
    3728: 48 89 7d f0                  	movq	%rdi, -0x10(%rbp)
    372c: 48 89 75 e8                  	movq	%rsi, -0x18(%rbp)
    3730: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3734: 8b 40 40                     	movl	0x40(%rax), %eax
    3737: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    373a: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    373e: 83 78 40 38                  	cmpl	$0x38, 0x40(%rax)
    3742: 73 34                        	jae	0x3778 <sha256_final+0x58>
    3744: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3748: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    374b: 89 ca                        	movl	%ecx, %edx
    374d: 83 c2 01                     	addl	$0x1, %edx
    3750: 89 55 fc                     	movl	%edx, -0x4(%rbp)
    3753: 89 c9                        	movl	%ecx, %ecx
    3755: c6 04 08 80                  	movb	$-0x80, (%rax,%rcx)
    3759: 83 7d fc 38                  	cmpl	$0x38, -0x4(%rbp)
    375d: 73 17                        	jae	0x3776 <sha256_final+0x56>
    375f: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3763: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    3766: 89 ca                        	movl	%ecx, %edx
    3768: 83 c2 01                     	addl	$0x1, %edx
    376b: 89 55 fc                     	movl	%edx, -0x4(%rbp)
    376e: 89 c9                        	movl	%ecx, %ecx
    3770: c6 04 08 00                  	movb	$0x0, (%rax,%rcx)
    3774: eb e3                        	jmp	0x3759 <sha256_final+0x39>
    3776: eb 4f                        	jmp	0x37c7 <sha256_final+0xa7>
    3778: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    377c: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    377f: 89 ca                        	movl	%ecx, %edx
    3781: 83 c2 01                     	addl	$0x1, %edx
    3784: 89 55 fc                     	movl	%edx, -0x4(%rbp)
    3787: 89 c9                        	movl	%ecx, %ecx
    3789: c6 04 08 80                  	movb	$-0x80, (%rax,%rcx)
    378d: 83 7d fc 40                  	cmpl	$0x40, -0x4(%rbp)
    3791: 73 17                        	jae	0x37aa <sha256_final+0x8a>
    3793: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3797: 8b 4d fc                     	movl	-0x4(%rbp), %ecx
    379a: 89 ca                        	movl	%ecx, %edx
    379c: 83 c2 01                     	addl	$0x1, %edx
    379f: 89 55 fc                     	movl	%edx, -0x4(%rbp)
    37a2: 89 c9                        	movl	%ecx, %ecx
    37a4: c6 04 08 00                  	movb	$0x0, (%rax,%rcx)
    37a8: eb e3                        	jmp	0x378d <sha256_final+0x6d>
    37aa: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
    37ae: 48 8b 75 f0                  	movq	-0x10(%rbp), %rsi
    37b2: e8 e9 fa ff ff               	callq	0x32a0 <sha256_transform>
    37b7: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
    37bb: 31 f6                        	xorl	%esi, %esi
    37bd: ba 38 00 00 00               	movl	$0x38, %edx
    37c2: e8 79 02 00 00               	callq	0x3a40 <memset@plt>
    37c7: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    37cb: 8b 40 40                     	movl	0x40(%rax), %eax
    37ce: c1 e0 03                     	shll	$0x3, %eax
    37d1: 89 c0                        	movl	%eax, %eax
    37d3: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    37d7: 48 03 41 48                  	addq	0x48(%rcx), %rax
    37db: 48 89 41 48                  	movq	%rax, 0x48(%rcx)
    37df: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    37e3: 48 8b 40 48                  	movq	0x48(%rax), %rax
    37e7: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    37eb: 88 41 3f                     	movb	%al, 0x3f(%rcx)
    37ee: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    37f2: 48 8b 40 48                  	movq	0x48(%rax), %rax
    37f6: 48 c1 e8 08                  	shrq	$0x8, %rax
    37fa: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    37fe: 88 41 3e                     	movb	%al, 0x3e(%rcx)
    3801: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3805: 48 8b 40 48                  	movq	0x48(%rax), %rax
    3809: 48 c1 e8 10                  	shrq	$0x10, %rax
    380d: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    3811: 88 41 3d                     	movb	%al, 0x3d(%rcx)
    3814: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3818: 48 8b 40 48                  	movq	0x48(%rax), %rax
    381c: 48 c1 e8 18                  	shrq	$0x18, %rax
    3820: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    3824: 88 41 3c                     	movb	%al, 0x3c(%rcx)
    3827: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    382b: 48 8b 40 48                  	movq	0x48(%rax), %rax
    382f: 48 c1 e8 20                  	shrq	$0x20, %rax
    3833: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    3837: 88 41 3b                     	movb	%al, 0x3b(%rcx)
    383a: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    383e: 48 8b 40 48                  	movq	0x48(%rax), %rax
    3842: 48 c1 e8 28                  	shrq	$0x28, %rax
    3846: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    384a: 88 41 3a                     	movb	%al, 0x3a(%rcx)
    384d: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3851: 48 8b 40 48                  	movq	0x48(%rax), %rax
    3855: 48 c1 e8 30                  	shrq	$0x30, %rax
    3859: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    385d: 88 41 39                     	movb	%al, 0x39(%rcx)
    3860: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3864: 48 8b 40 48                  	movq	0x48(%rax), %rax
    3868: 48 c1 e8 38                  	shrq	$0x38, %rax
    386c: 48 8b 4d f0                  	movq	-0x10(%rbp), %rcx
    3870: 88 41 38                     	movb	%al, 0x38(%rcx)
    3873: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
    3877: 48 8b 75 f0                  	movq	-0x10(%rbp), %rsi
    387b: e8 20 fa ff ff               	callq	0x32a0 <sha256_transform>
    3880: c7 45 fc 00 00 00 00         	movl	$0x0, -0x4(%rbp)
    3887: 83 7d fc 04                  	cmpl	$0x4, -0x4(%rbp)
    388b: 0f 83 59 01 00 00            	jae	0x39ea <sha256_final+0x2ca>
    3891: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3895: 8b 40 50                     	movl	0x50(%rax), %eax
    3898: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    389b: c1 e2 03                     	shll	$0x3, %edx
    389e: b9 18 00 00 00               	movl	$0x18, %ecx
    38a3: 29 d1                        	subl	%edx, %ecx
    38a5: d3 e8                        	shrl	%cl, %eax
    38a7: 25 ff 00 00 00               	andl	$0xff, %eax
    38ac: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    38b0: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    38b3: 88 04 11                     	movb	%al, (%rcx,%rdx)
    38b6: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    38ba: 8b 40 54                     	movl	0x54(%rax), %eax
    38bd: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    38c0: c1 e2 03                     	shll	$0x3, %edx
    38c3: b9 18 00 00 00               	movl	$0x18, %ecx
    38c8: 29 d1                        	subl	%edx, %ecx
    38ca: d3 e8                        	shrl	%cl, %eax
    38cc: 25 ff 00 00 00               	andl	$0xff, %eax
    38d1: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    38d5: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    38d8: 83 c2 04                     	addl	$0x4, %edx
    38db: 89 d2                        	movl	%edx, %edx
    38dd: 88 04 11                     	movb	%al, (%rcx,%rdx)
    38e0: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    38e4: 8b 40 58                     	movl	0x58(%rax), %eax
    38e7: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    38ea: c1 e2 03                     	shll	$0x3, %edx
    38ed: b9 18 00 00 00               	movl	$0x18, %ecx
    38f2: 29 d1                        	subl	%edx, %ecx
    38f4: d3 e8                        	shrl	%cl, %eax
    38f6: 25 ff 00 00 00               	andl	$0xff, %eax
    38fb: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    38ff: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    3902: 83 c2 08                     	addl	$0x8, %edx
    3905: 89 d2                        	movl	%edx, %edx
    3907: 88 04 11                     	movb	%al, (%rcx,%rdx)
    390a: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    390e: 8b 40 5c                     	movl	0x5c(%rax), %eax
    3911: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    3914: c1 e2 03                     	shll	$0x3, %edx
    3917: b9 18 00 00 00               	movl	$0x18, %ecx
    391c: 29 d1                        	subl	%edx, %ecx
    391e: d3 e8                        	shrl	%cl, %eax
    3920: 25 ff 00 00 00               	andl	$0xff, %eax
    3925: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    3929: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    392c: 83 c2 0c                     	addl	$0xc, %edx
    392f: 89 d2                        	movl	%edx, %edx
    3931: 88 04 11                     	movb	%al, (%rcx,%rdx)
    3934: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3938: 8b 40 60                     	movl	0x60(%rax), %eax
    393b: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    393e: c1 e2 03                     	shll	$0x3, %edx
    3941: b9 18 00 00 00               	movl	$0x18, %ecx
    3946: 29 d1                        	subl	%edx, %ecx
    3948: d3 e8                        	shrl	%cl, %eax
    394a: 25 ff 00 00 00               	andl	$0xff, %eax
    394f: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    3953: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    3956: 83 c2 10                     	addl	$0x10, %edx
    3959: 89 d2                        	movl	%edx, %edx
    395b: 88 04 11                     	movb	%al, (%rcx,%rdx)
    395e: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    3962: 8b 40 64                     	movl	0x64(%rax), %eax
    3965: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    3968: c1 e2 03                     	shll	$0x3, %edx
    396b: b9 18 00 00 00               	movl	$0x18, %ecx
    3970: 29 d1                        	subl	%edx, %ecx
    3972: d3 e8                        	shrl	%cl, %eax
    3974: 25 ff 00 00 00               	andl	$0xff, %eax
    3979: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    397d: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    3980: 83 c2 14                     	addl	$0x14, %edx
    3983: 89 d2                        	movl	%edx, %edx
    3985: 88 04 11                     	movb	%al, (%rcx,%rdx)
    3988: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    398c: 8b 40 68                     	movl	0x68(%rax), %eax
    398f: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    3992: c1 e2 03                     	shll	$0x3, %edx
    3995: b9 18 00 00 00               	movl	$0x18, %ecx
    399a: 29 d1                        	subl	%edx, %ecx
    399c: d3 e8                        	shrl	%cl, %eax
    399e: 25 ff 00 00 00               	andl	$0xff, %eax
    39a3: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    39a7: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    39aa: 83 c2 18                     	addl	$0x18, %edx
    39ad: 89 d2                        	movl	%edx, %edx
    39af: 88 04 11                     	movb	%al, (%rcx,%rdx)
    39b2: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
    39b6: 8b 40 6c                     	movl	0x6c(%rax), %eax
    39b9: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    39bc: c1 e2 03                     	shll	$0x3, %edx
    39bf: b9 18 00 00 00               	movl	$0x18, %ecx
    39c4: 29 d1                        	subl	%edx, %ecx
    39c6: d3 e8                        	shrl	%cl, %eax
    39c8: 25 ff 00 00 00               	andl	$0xff, %eax
    39cd: 48 8b 4d e8                  	movq	-0x18(%rbp), %rcx
    39d1: 8b 55 fc                     	movl	-0x4(%rbp), %edx
    39d4: 83 c2 1c                     	addl	$0x1c, %edx
    39d7: 89 d2                        	movl	%edx, %edx
    39d9: 88 04 11                     	movb	%al, (%rcx,%rdx)
    39dc: 8b 45 fc                     	movl	-0x4(%rbp), %eax
    39df: 83 c0 01                     	addl	$0x1, %eax
    39e2: 89 45 fc                     	movl	%eax, -0x4(%rbp)
    39e5: e9 9d fe ff ff               	jmp	0x3887 <sha256_final+0x167>
    39ea: 48 83 c4 20                  	addq	$0x20, %rsp
    39ee: 5d                           	popq	%rbp
    39ef: c3                           	retq

Disassembly of section .init:

00000000000039f0 <_init>:
    39f0: f3 0f 1e fa                  	endbr64
    39f4: 48 83 ec 08                  	subq	$0x8, %rsp
    39f8: 48 8b 05 f1 11 00 00         	movq	0x11f1(%rip), %rax      # 0x4bf0 <memset+0x4bf0>
    39ff: 48 85 c0                     	testq	%rax, %rax
    3a02: 74 02                        	je	0x3a06 <_init+0x16>
    3a04: ff d0                        	callq	*%rax
    3a06: 48 83 c4 08                  	addq	$0x8, %rsp
    3a0a: c3                           	retq

Disassembly of section .fini:

0000000000003a0c <_fini>:
    3a0c: f3 0f 1e fa                  	endbr64
    3a10: 48 83 ec 08                  	subq	$0x8, %rsp
    3a14: 48 83 c4 08                  	addq	$0x8, %rsp
    3a18: c3                           	retq

Disassembly of section .plt:

0000000000003a20 <.plt>:
    3a20: ff 35 fa 21 00 00            	pushq	0x21fa(%rip)            # 0x5c20 <_GLOBAL_OFFSET_TABLE_+0x8>
    3a26: ff 25 fc 21 00 00            	jmpq	*0x21fc(%rip)           # 0x5c28 <_GLOBAL_OFFSET_TABLE_+0x10>
    3a2c: 0f 1f 40 00                  	nopl	(%rax)

0000000000003a30 <malloc@plt>:
    3a30: ff 25 fa 21 00 00            	jmpq	*0x21fa(%rip)           # 0x5c30 <_GLOBAL_OFFSET_TABLE_+0x18>
    3a36: 68 00 00 00 00               	pushq	$0x0
    3a3b: e9 e0 ff ff ff               	jmp	0x3a20 <.plt>

0000000000003a40 <memset@plt>:
    3a40: ff 25 f2 21 00 00            	jmpq	*0x21f2(%rip)           # 0x5c38 <_GLOBAL_OFFSET_TABLE_+0x20>
    3a46: 68 01 00 00 00               	pushq	$0x1
    3a4b: e9 d0 ff ff ff               	jmp	0x3a20 <.plt>
