14022bf19:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
14022bf1e:	8b ee                	mov    %esi,%ebp
14022bf20:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
14022bf25:	8d 7b ff             	lea    -0x1(%rbx),%edi
14022bf28:	44 8b 61 0c          	mov    0xc(%rcx),%r12d
14022bf2c:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14022bf31:	44 8b fe             	mov    %esi,%r15d
14022bf34:	45 85 e4             	test   %r12d,%r12d
14022bf37:	7e 44                	jle    0x14022bf7d
14022bf39:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
14022bf3e:	4c 8b 31             	mov    (%rcx),%r14
14022bf41:	49 8b 0e             	mov    (%r14),%rcx
14022bf44:	8b c5                	mov    %ebp,%eax
14022bf46:	33 c7                	xor    %edi,%eax
14022bf48:	8d 58 ff             	lea    -0x1(%rax),%ebx
14022bf4b:	f7 d0                	not    %eax
14022bf4d:	c1 e8 1f             	shr    $0x1f,%eax
14022bf50:	c1 eb 1f             	shr    $0x1f,%ebx
14022bf53:	23 d8                	and    %eax,%ebx
14022bf55:	f7 db                	neg    %ebx
14022bf57:	0b f3                	or     %ebx,%esi
14022bf59:	e8 82 00 00 00       	call   0x14022bfe0
14022bf5e:	23 c3                	and    %ebx,%eax
14022bf60:	4d 8d 76 08          	lea    0x8(%r14),%r14
14022bf64:	8b ce                	mov    %esi,%ecx
14022bf66:	ff c5                	inc    %ebp
14022bf68:	f7 d1                	not    %ecx
14022bf6a:	83 e1 40             	and    $0x40,%ecx
14022bf6d:	44 03 f9             	add    %ecx,%r15d
14022bf70:	44 03 f8             	add    %eax,%r15d
14022bf73:	41 3b ec             	cmp    %r12d,%ebp
14022bf76:	7c c9                	jl     0x14022bf41
14022bf78:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
14022bf7d:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12
14022bf82:	8b c7                	mov    %edi,%eax
14022bf84:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14022bf89:	f7 d0                	not    %eax
14022bf8b:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14022bf90:	ff c8                	dec    %eax
14022bf92:	c1 e8 1f             	shr    $0x1f,%eax
14022bf95:	c1 ef 1f             	shr    $0x1f,%edi
14022bf98:	23 c7                	and    %edi,%eax
14022bf9a:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
14022bf9f:	ff c8                	dec    %eax
14022bfa1:	41 23 c7             	and    %r15d,%eax
14022bfa4:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
14022bfa9:	48 83 c4 30          	add    $0x30,%rsp
14022bfad:	5b                   	pop    %rbx
14022bfae:	c3                   	ret
14022bfaf:	85 db                	test   %ebx,%ebx
14022bfb1:	75 08                	jne    0x14022bfbb
14022bfb3:	33 c0                	xor    %eax,%eax
14022bfb5:	48 83 c4 30          	add    $0x30,%rsp
14022bfb9:	5b                   	pop    %rbx
14022bfba:	c3                   	ret
14022bfbb:	48 8b 09             	mov    (%rcx),%rcx
14022bfbe:	48 8b 4c d9 f8       	mov    -0x8(%rcx,%rbx,8),%rcx
14022bfc3:	e8 18 00 00 00       	call   0x14022bfe0
14022bfc8:	c1 e3 06             	shl    $0x6,%ebx
14022bfcb:	83 c3 c0             	add    $0xffffffc0,%ebx
14022bfce:	03 c3                	add    %ebx,%eax
14022bfd0:	48 83 c4 30          	add    $0x30,%rsp
14022bfd4:	5b                   	pop    %rbx
14022bfd5:	c3                   	ret
14022bfd6:	cc                   	int3
14022bfd7:	cc                   	int3
14022bfd8:	cc                   	int3
14022bfd9:	cc                   	int3
14022bfda:	cc                   	int3
14022bfdb:	cc                   	int3
14022bfdc:	cc                   	int3
14022bfdd:	cc                   	int3
14022bfde:	cc                   	int3
14022bfdf:	cc                   	int3
14022bfe0:	4c 8b c1             	mov    %rcx,%r8
14022bfe3:	4c 8b c9             	mov    %rcx,%r9
14022bfe6:	45 33 d2             	xor    %r10d,%r10d
14022bfe9:	49 c1 e8 20          	shr    $0x20,%r8
14022bfed:	49 8b d0             	mov    %r8,%rdx
14022bff0:	48 f7 da             	neg    %rdx
14022bff3:	48 c1 ea 3f          	shr    $0x3f,%rdx
14022bff7:	48 f7 da             	neg    %rdx
14022bffa:	48 85 c9             	test   %rcx,%rcx
14022bffd:	8b c2                	mov    %edx,%eax
14022bfff:	41 0f 95 c2          	setne  %r10b
14022c003:	4c 33 c1             	xor    %rcx,%r8
14022c006:	4c 23 c2             	and    %rdx,%r8
14022c009:	83 e0 20             	and    $0x20,%eax
14022c00c:	44 03 d0             	add    %eax,%r10d
14022c00f:	4d 33 c8             	xor    %r8,%r9
14022c012:	49 8b d1             	mov    %r9,%rdx
14022c015:	48 c1 ea 10          	shr    $0x10,%rdx
14022c019:	48 8b ca             	mov    %rdx,%rcx
14022c01c:	49 33 d1             	xor    %r9,%rdx
14022c01f:	48 f7 d9             	neg    %rcx
14022c022:	48 c1 e9 3f          	shr    $0x3f,%rcx
14022c026:	48 f7 d9             	neg    %rcx
14022c029:	48 23 d1             	and    %rcx,%rdx
14022c02c:	8b c1                	mov    %ecx,%eax
14022c02e:	83 e0 10             	and    $0x10,%eax
14022c031:	4c 33 ca             	xor    %rdx,%r9
14022c034:	44 03 d0             	add    %eax,%r10d
14022c037:	49 8b d1             	mov    %r9,%rdx
14022c03a:	48 c1 ea 08          	shr    $0x8,%rdx
14022c03e:	48 8b ca             	mov    %rdx,%rcx
14022c041:	49 33 d1             	xor    %r9,%rdx
14022c044:	48 f7 d9             	neg    %rcx
14022c047:	48 c1 e9 3f          	shr    $0x3f,%rcx
14022c04b:	48 f7 d9             	neg    %rcx
14022c04e:	48 23 d1             	and    %rcx,%rdx
14022c051:	8b c1                	mov    %ecx,%eax
14022c053:	83 e0 08             	and    $0x8,%eax
14022c056:	4c 33 ca             	xor    %rdx,%r9
14022c059:	44 03 d0             	add    %eax,%r10d
14022c05c:	49 8b d1             	mov    %r9,%rdx
14022c05f:	48 c1 ea 04          	shr    $0x4,%rdx
14022c063:	48 8b ca             	mov    %rdx,%rcx
14022c066:	49 33 d1             	xor    %r9,%rdx
14022c069:	48 f7 d9             	neg    %rcx
14022c06c:	48 c1 e9 3f          	shr    $0x3f,%rcx
14022c070:	48 f7 d9             	neg    %rcx
14022c073:	8b c1                	mov    %ecx,%eax
14022c075:	48 23 d1             	and    %rcx,%rdx
14022c078:	83 e0 04             	and    $0x4,%eax
14022c07b:	4c 33 ca             	xor    %rdx,%r9
14022c07e:	44 03 d0             	add    %eax,%r10d
14022c081:	49 8b c9             	mov    %r9,%rcx
14022c084:	48 c1 e9 02          	shr    $0x2,%rcx
14022c088:	48 8b c1             	mov    %rcx,%rax
14022c08b:	49 33 c9             	xor    %r9,%rcx
14022c08e:	48 f7 d8             	neg    %rax
14022c091:	48 c1 e8 3f          	shr    $0x3f,%rax
14022c095:	48 f7 d8             	neg    %rax
14022c098:	48 23 c8             	and    %rax,%rcx
14022c09b:	83 e0 02             	and    $0x2,%eax
14022c09e:	49 33 c9             	xor    %r9,%rcx
14022c0a1:	48 d1 e9             	shr    $1,%rcx
14022c0a4:	48 f7 d9             	neg    %rcx
14022c0a7:	48 c1 e9 3f          	shr    $0x3f,%rcx
14022c0ab:	f7 d9                	neg    %ecx
14022c0ad:	83 e1 01             	and    $0x1,%ecx
14022c0b0:	41 03 ca             	add    %r10d,%ecx
14022c0b3:	03 c1                	add    %ecx,%eax
14022c0b5:	c3                   	ret
14022c0b6:	cc                   	int3
14022c0b7:	cc                   	int3
14022c0b8:	cc                   	int3
14022c0b9:	cc                   	int3
14022c0ba:	cc                   	int3
14022c0bb:	cc                   	int3
14022c0bc:	cc                   	int3
14022c0bd:	cc                   	int3
14022c0be:	cc                   	int3
14022c0bf:	cc                   	int3
14022c0c0:	b8 38 00 00 00       	mov    $0x38,%eax
14022c0c5:	e8 16 e5 0c 00       	call   0x1402fa5e0
14022c0ca:	48 2b e0             	sub    %rax,%rsp
14022c0cd:	41 b8 f6 00 00 00    	mov    $0xf6,%r8d
14022c0d3:	48 8d 15 1e 0e 13 00 	lea    0x130e1e(%rip),%rdx        # 0x14035cef8
14022c0da:	8d 48 e0             	lea    -0x20(%rax),%ecx
14022c0dd:	e8 5e d5 ff ff       	call   0x140229640
14022c0e2:	48 85 c0             	test   %rax,%rax
14022c0e5:	75 25                	jne    0x14022c10c
14022c0e7:	4c 8d 0d 0a 0e 13 00 	lea    0x130e0a(%rip),%r9        # 0x14035cef8
14022c0ee:	c7 44 24 20 f7 00 00 	movl   $0xf7,0x20(%rsp)
14022c0f5:	00
14022c0f6:	8d 50 71             	lea    0x71(%rax),%edx
14022c0f9:	44 8d 40 41          	lea    0x41(%rax),%r8d
14022c0fd:	8d 48 03             	lea    0x3(%rax),%ecx
14022c100:	e8 9b 52 ff ff       	call   0x1402213a0
14022c105:	33 c0                	xor    %eax,%eax
14022c107:	48 83 c4 38          	add    $0x38,%rsp
14022c10b:	c3                   	ret
14022c10c:	c7 40 14 09 00 00 00 	movl   $0x9,0x14(%rax)
14022c113:	48 83 c4 38          	add    $0x38,%rsp
14022c117:	c3                   	ret
14022c118:	cc                   	int3
14022c119:	cc                   	int3
14022c11a:	cc                   	int3
14022c11b:	cc                   	int3
14022c11c:	cc                   	int3
14022c11d:	cc                   	int3
14022c11e:	cc                   	int3
14022c11f:	cc                   	int3
14022c120:	81 f9 00 3c 00 00    	cmp    $0x3c00,%ecx
14022c126:	7c 07                	jl     0x14022c12f
14022c128:	b9 00 01 00 00       	mov    $0x100,%ecx
14022c12d:	eb 3a                	jmp    0x14022c169
14022c12f:	81 f9 00 1e 00 00    	cmp    $0x1e00,%ecx
14022c135:	7c 07                	jl     0x14022c13e
14022c137:	b9 c0 00 00 00       	mov    $0xc0,%ecx
14022c13c:	eb 2b                	jmp    0x14022c169
14022c13e:	81 f9 00 0c 00 00    	cmp    $0xc00,%ecx
14022c144:	7c 07                	jl     0x14022c14d
14022c146:	b9 80 00 00 00       	mov    $0x80,%ecx
14022c14b:	eb 1c                	jmp    0x14022c169
14022c14d:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
14022c153:	7c 07                	jl     0x14022c15c
14022c155:	b9 70 00 00 00       	mov    $0x70,%ecx
14022c15a:	eb 0d                	jmp    0x14022c169
14022c15c:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
14022c162:	7c 1f                	jl     0x14022c183
14022c164:	b9 50 00 00 00       	mov    $0x50,%ecx
14022c169:	83 fa ff             	cmp    $0xffffffff,%edx
14022c16c:	75 03                	jne    0x14022c171
14022c16e:	8b c1                	mov    %ecx,%eax
14022c170:	c3                   	ret
14022c171:	8b c2                	mov    %edx,%eax
14022c173:	99                   	cltd
14022c174:	2b c2                	sub    %edx,%eax
14022c176:	d1 f8                	sar    $1,%eax
14022c178:	83 f8 50             	cmp    $0x50,%eax
14022c17b:	7c 06                	jl     0x14022c183
14022c17d:	3b c1                	cmp    %ecx,%eax
14022c17f:	0f 4d c1             	cmovge %ecx,%eax
14022c182:	c3                   	ret
14022c183:	33 c0                	xor    %eax,%eax
14022c185:	c3                   	ret
14022c186:	cc                   	int3
14022c187:	cc                   	int3
14022c188:	cc                   	int3
14022c189:	cc                   	int3
14022c18a:	cc                   	int3
14022c18b:	cc                   	int3
14022c18c:	cc                   	int3
14022c18d:	cc                   	int3
14022c18e:	cc                   	int3
14022c18f:	cc                   	int3
14022c190:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14022c195:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14022c19a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14022c19f:	57                   	push   %rdi
14022c1a0:	b8 20 00 00 00       	mov    $0x20,%eax
14022c1a5:	e8 36 e4 0c 00       	call   0x1402fa5e0
14022c1aa:	48 2b e0             	sub    %rax,%rsp
14022c1ad:	8b fa                	mov    %edx,%edi
14022c1af:	48 8b d9             	mov    %rcx,%rbx
14022c1b2:	85 d2                	test   %edx,%edx
14022c1b4:	78 67                	js     0x14022c21d
14022c1b6:	8b f2                	mov    %edx,%esi
14022c1b8:	83 e7 3f             	and    $0x3f,%edi
14022c1bb:	c1 ee 06             	shr    $0x6,%esi
14022c1be:	39 71 08             	cmp    %esi,0x8(%rcx)
14022c1c1:	7f 3f                	jg     0x14022c202
14022c1c3:	8d 6e 01             	lea    0x1(%rsi),%ebp
14022c1c6:	3b 69 0c             	cmp    0xc(%rcx),%ebp
14022c1c9:	7f 05                	jg     0x14022c1d0
14022c1cb:	48 8b c1             	mov    %rcx,%rax
14022c1ce:	eb 07                	jmp    0x14022c1d7
14022c1d0:	8b d5                	mov    %ebp,%edx
14022c1d2:	e8 e9 04 00 00       	call   0x14022c6c0
14022c1d7:	48 85 c0             	test   %rax,%rax
14022c1da:	74 41                	je     0x14022c21d
14022c1dc:	48 63 4b 08          	movslq 0x8(%rbx),%rcx
14022c1e0:	8b d5                	mov    %ebp,%edx
14022c1e2:	48 3b ca             	cmp    %rdx,%rcx
14022c1e5:	7d 18                	jge    0x14022c1ff
14022c1e7:	45 33 c0             	xor    %r8d,%r8d
14022c1ea:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14022c1f0:	48 8b 03             	mov    (%rbx),%rax
14022c1f3:	4c 89 04 c8          	mov    %r8,(%rax,%rcx,8)
14022c1f7:	48 ff c1             	inc    %rcx
14022c1fa:	48 3b ca             	cmp    %rdx,%rcx
14022c1fd:	7c f1                	jl     0x14022c1f0
14022c1ff:	89 6b 08             	mov    %ebp,0x8(%rbx)
14022c202:	48 8b 03             	mov    (%rbx),%rax
14022c205:	48 8b 0c f0          	mov    (%rax,%rsi,8),%rcx
14022c209:	48 8d 14 f0          	lea    (%rax,%rsi,8),%rdx
14022c20d:	8b c7                	mov    %edi,%eax
14022c20f:	48 0f ab c1          	bts    %rax,%rcx
14022c213:	b8 01 00 00 00       	mov    $0x1,%eax
14022c218:	48 89 0a             	mov    %rcx,(%rdx)
14022c21b:	eb 02                	jmp    0x14022c21f
14022c21d:	33 c0                	xor    %eax,%eax
14022c21f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14022c224:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14022c229:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14022c22e:	48 83 c4 20          	add    $0x20,%rsp
14022c232:	5f                   	pop    %rdi
14022c233:	c3                   	ret
14022c234:	cc                   	int3
14022c235:	cc                   	int3
14022c236:	cc                   	int3
14022c237:	cc                   	int3
14022c238:	cc                   	int3
14022c239:	cc                   	int3
14022c23a:	cc                   	int3
14022c23b:	cc                   	int3
14022c23c:	cc                   	int3
14022c23d:	cc                   	int3
14022c23e:	cc                   	int3
14022c23f:	cc                   	int3
14022c240:	09 51 14             	or     %edx,0x14(%rcx)
14022c243:	c3                   	ret
14022c244:	cc                   	int3
14022c245:	cc                   	int3
14022c246:	cc                   	int3
14022c247:	cc                   	int3
14022c248:	cc                   	int3
14022c249:	cc                   	int3
14022c24a:	cc                   	int3
14022c24b:	cc                   	int3
14022c24c:	cc                   	int3
14022c24d:	cc                   	int3
14022c24e:	cc                   	int3
14022c24f:	cc                   	int3
14022c250:	85 d2                	test   %edx,%edx
14022c252:	74 0e                	je     0x14022c262
14022c254:	83 79 08 00          	cmpl   $0x0,0x8(%rcx)
14022c258:	74 08                	je     0x14022c262
14022c25a:	c7 41 10 01 00 00 00 	movl   $0x1,0x10(%rcx)
14022c261:	c3                   	ret
14022c262:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%rcx)
14022c269:	c3                   	ret
14022c26a:	cc                   	int3
14022c26b:	cc                   	int3
14022c26c:	cc                   	int3
14022c26d:	cc                   	int3
14022c26e:	cc                   	int3
14022c26f:	cc                   	int3
14022c270:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14022c275:	57                   	push   %rdi
14022c276:	b8 20 00 00 00       	mov    $0x20,%eax
14022c27b:	e8 60 e3 0c 00       	call   0x1402fa5e0
14022c280:	48 2b e0             	sub    %rax,%rsp
14022c283:	83 79 0c 01          	cmpl   $0x1,0xc(%rcx)
14022c287:	48 8b fa             	mov    %rdx,%rdi
14022c28a:	48 8b d9             	mov    %rcx,%rbx
14022c28d:	7c 05                	jl     0x14022c294
14022c28f:	48 8b c1             	mov    %rcx,%rax
14022c292:	eb 0a                	jmp    0x14022c29e
14022c294:	ba 01 00 00 00       	mov    $0x1,%edx
14022c299:	e8 22 04 00 00       	call   0x14022c6c0
14022c29e:	48 85 c0             	test   %rax,%rax
14022c2a1:	75 0b                	jne    0x14022c2ae
14022c2a3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14022c2a8:	48 83 c4 20          	add    $0x20,%rsp
14022c2ac:	5f                   	pop    %rdi
14022c2ad:	c3                   	ret
14022c2ae:	48 8b 0b             	mov    (%rbx),%rcx
14022c2b1:	33 d2                	xor    %edx,%edx
14022c2b3:	89 53 10             	mov    %edx,0x10(%rbx)
14022c2b6:	48 85 ff             	test   %rdi,%rdi
14022c2b9:	b8 01 00 00 00       	mov    $0x1,%eax
14022c2be:	0f 95 c2             	setne  %dl
14022c2c1:	48 89 39             	mov    %rdi,(%rcx)
14022c2c4:	89 53 08             	mov    %edx,0x8(%rbx)
14022c2c7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14022c2cc:	48 83 c4 20          	add    $0x20,%rsp
14022c2d0:	5f                   	pop    %rdi