140029f4a:	5f                   	pop    %rdi
140029f4b:	c3                   	ret
140029f4c:	48 83 ec 28          	sub    $0x28,%rsp
140029f50:	e8 9b 91 ff ff       	call   0x1400230f0
140029f55:	33 c9                	xor    %ecx,%ecx
140029f57:	84 c0                	test   %al,%al
140029f59:	0f 94 c1             	sete   %cl
140029f5c:	8b c1                	mov    %ecx,%eax
140029f5e:	48 83 c4 28          	add    $0x28,%rsp
140029f62:	c3                   	ret
140029f63:	cc                   	int3
140029f64:	48 83 ec 28          	sub    $0x28,%rsp
140029f68:	48 85 c9             	test   %rcx,%rcx
140029f6b:	75 19                	jne    0x140029f86
140029f6d:	e8 7a aa fe ff       	call   0x1400149ec
140029f72:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140029f78:	e8 1b 68 fe ff       	call   0x140010798
140029f7d:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140029f81:	48 83 c4 28          	add    $0x28,%rsp
140029f85:	c3                   	ret
140029f86:	4c 8b c1             	mov    %rcx,%r8
140029f89:	33 d2                	xor    %edx,%edx
140029f8b:	48 8b 0d 7e d2 01 00 	mov    0x1d27e(%rip),%rcx        # 0x140047210
140029f92:	48 83 c4 28          	add    $0x28,%rsp
140029f96:	48 ff 25 fb 20 00 00 	rex.W jmp *0x20fb(%rip)        # 0x14002c098
140029f9d:	cc                   	int3
140029f9e:	cc                   	int3
140029f9f:	cc                   	int3
140029fa0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140029fa5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140029faa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140029faf:	57                   	push   %rdi
140029fb0:	41 56                	push   %r14
140029fb2:	41 57                	push   %r15
140029fb4:	48 83 ec 20          	sub    $0x20,%rsp
140029fb8:	45 33 ff             	xor    %r15d,%r15d
140029fbb:	41 8b e9             	mov    %r9d,%ebp
140029fbe:	49 8b f8             	mov    %r8,%rdi
140029fc1:	4c 8b da             	mov    %rdx,%r11
140029fc4:	4c 8b d2             	mov    %rdx,%r10
140029fc7:	41 8b df             	mov    %r15d,%ebx
140029fca:	44 38 7c 24 60       	cmp    %r15b,0x60(%rsp)
140029fcf:	74 10                	je     0x140029fe1
140029fd1:	41 8d 47 2d          	lea    0x2d(%r15),%eax
140029fd5:	f7 d9                	neg    %ecx
140029fd7:	66 89 02             	mov    %ax,(%rdx)
140029fda:	8d 58 d4             	lea    -0x2c(%rax),%ebx
140029fdd:	4c 8d 52 02          	lea    0x2(%rdx),%r10
140029fe1:	4d 8b c2             	mov    %r10,%r8
140029fe4:	33 d2                	xor    %edx,%edx
140029fe6:	49 8d 72 02          	lea    0x2(%r10),%rsi
140029fea:	8b c1                	mov    %ecx,%eax
140029fec:	4d 8b ca             	mov    %r10,%r9
140029fef:	f7 f5                	div    %ebp
140029ff1:	8b c8                	mov    %eax,%ecx
140029ff3:	83 fa 09             	cmp    $0x9,%edx
140029ff6:	b8 57 00 00 00       	mov    $0x57,%eax
140029ffb:	44 8d 70 d9          	lea    -0x27(%rax),%r14d
140029fff:	66 41 0f 46 c6       	cmovbe %r14w,%ax
14002a004:	48 ff c3             	inc    %rbx
14002a007:	66 03 c2             	add    %dx,%ax
14002a00a:	66 41 89 02          	mov    %ax,(%r10)
14002a00e:	85 c9                	test   %ecx,%ecx
14002a010:	74 08                	je     0x14002a01a
14002a012:	4c 8b d6             	mov    %rsi,%r10
14002a015:	48 3b df             	cmp    %rdi,%rbx
14002a018:	72 ca                	jb     0x140029fe4
14002a01a:	48 3b df             	cmp    %rdi,%rbx
14002a01d:	72 19                	jb     0x14002a038
14002a01f:	66 45 89 3b          	mov    %r15w,(%r11)
14002a023:	e8 c4 a9 fe ff       	call   0x1400149ec
14002a028:	bb 22 00 00 00       	mov    $0x22,%ebx
14002a02d:	89 18                	mov    %ebx,(%rax)
14002a02f:	e8 64 67 fe ff       	call   0x140010798
14002a034:	8b c3                	mov    %ebx,%eax
14002a036:	eb 23                	jmp    0x14002a05b
14002a038:	66 44 89 3e          	mov    %r15w,(%rsi)
14002a03c:	41 0f b7 00          	movzwl (%r8),%eax
14002a040:	41 0f b7 09          	movzwl (%r9),%ecx
14002a044:	66 41 89 01          	mov    %ax,(%r9)
14002a048:	49 83 e9 02          	sub    $0x2,%r9
14002a04c:	66 41 89 08          	mov    %cx,(%r8)
14002a050:	49 83 c0 02          	add    $0x2,%r8
14002a054:	4d 3b c1             	cmp    %r9,%r8
14002a057:	72 e3                	jb     0x14002a03c
14002a059:	33 c0                	xor    %eax,%eax
14002a05b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002a060:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002a065:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14002a06a:	48 83 c4 20          	add    $0x20,%rsp
14002a06e:	41 5f                	pop    %r15
14002a070:	41 5e                	pop    %r14
14002a072:	5f                   	pop    %rdi
14002a073:	c3                   	ret
14002a074:	40 53                	rex push %rbx
14002a076:	48 83 ec 30          	sub    $0x30,%rsp
14002a07a:	33 c0                	xor    %eax,%eax
14002a07c:	44 8b d1             	mov    %ecx,%r10d
14002a07f:	48 85 d2             	test   %rdx,%rdx
14002a082:	75 19                	jne    0x14002a09d
14002a084:	e8 63 a9 fe ff       	call   0x1400149ec
14002a089:	bb 16 00 00 00       	mov    $0x16,%ebx
14002a08e:	89 18                	mov    %ebx,(%rax)
14002a090:	e8 03 67 fe ff       	call   0x140010798
14002a095:	8b c3                	mov    %ebx,%eax
14002a097:	48 83 c4 30          	add    $0x30,%rsp
14002a09b:	5b                   	pop    %rbx
14002a09c:	c3                   	ret
14002a09d:	4d 85 c0             	test   %r8,%r8
14002a0a0:	74 e2                	je     0x14002a084
14002a0a2:	0f b6 4c 24 60       	movzbl 0x60(%rsp),%ecx
14002a0a7:	66 89 02             	mov    %ax,(%rdx)
14002a0aa:	48 8d 41 01          	lea    0x1(%rcx),%rax
14002a0ae:	4c 3b c0             	cmp    %rax,%r8
14002a0b1:	77 0c                	ja     0x14002a0bf
14002a0b3:	e8 34 a9 fe ff       	call   0x1400149ec
14002a0b8:	bb 22 00 00 00       	mov    $0x22,%ebx
14002a0bd:	eb cf                	jmp    0x14002a08e
14002a0bf:	41 8d 41 fe          	lea    -0x2(%r9),%eax
14002a0c3:	bb 22 00 00 00       	mov    $0x22,%ebx
14002a0c8:	3b c3                	cmp    %ebx,%eax
14002a0ca:	77 b8                	ja     0x14002a084
14002a0cc:	88 4c 24 60          	mov    %cl,0x60(%rsp)
14002a0d0:	41 8b ca             	mov    %r10d,%ecx
14002a0d3:	48 83 c4 30          	add    $0x30,%rsp
14002a0d7:	5b                   	pop    %rbx
14002a0d8:	e9 c3 fe ff ff       	jmp    0x140029fa0
14002a0dd:	cc                   	int3
14002a0de:	cc                   	int3
14002a0df:	cc                   	int3
14002a0e0:	48 83 ec 38          	sub    $0x38,%rsp
14002a0e4:	33 c0                	xor    %eax,%eax
14002a0e6:	41 83 f9 0a          	cmp    $0xa,%r9d
14002a0ea:	75 06                	jne    0x14002a0f2
14002a0ec:	85 c9                	test   %ecx,%ecx
14002a0ee:	79 02                	jns    0x14002a0f2
14002a0f0:	b0 01                	mov    $0x1,%al
14002a0f2:	88 44 24 20          	mov    %al,0x20(%rsp)
14002a0f6:	e8 79 ff ff ff       	call   0x14002a074
14002a0fb:	48 83 c4 38          	add    $0x38,%rsp
14002a0ff:	c3                   	ret
14002a100:	0f b7 02             	movzwl (%rdx),%eax
14002a103:	44 0f b7 01          	movzwl (%rcx),%r8d
14002a107:	44 2b c0             	sub    %eax,%r8d
14002a10a:	75 19                	jne    0x14002a125
14002a10c:	48 2b ca             	sub    %rdx,%rcx
14002a10f:	66 85 c0             	test   %ax,%ax
14002a112:	74 11                	je     0x14002a125
14002a114:	48 83 c2 02          	add    $0x2,%rdx
14002a118:	0f b7 02             	movzwl (%rdx),%eax
14002a11b:	44 0f b7 04 11       	movzwl (%rcx,%rdx,1),%r8d
14002a120:	44 2b c0             	sub    %eax,%r8d
14002a123:	74 ea                	je     0x14002a10f
14002a125:	41 8b c0             	mov    %r8d,%eax
14002a128:	41 c1 e8 1f          	shr    $0x1f,%r8d
14002a12c:	f7 d8                	neg    %eax
14002a12e:	c1 e8 1f             	shr    $0x1f,%eax
14002a131:	41 2b c0             	sub    %r8d,%eax
14002a134:	c3                   	ret
14002a135:	cc                   	int3
14002a136:	cc                   	int3
14002a137:	cc                   	int3
14002a138:	48 8b c4             	mov    %rsp,%rax
14002a13b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14002a13f:	48 89 68 10          	mov    %rbp,0x10(%rax)
14002a143:	48 89 70 18          	mov    %rsi,0x18(%rax)
14002a147:	48 89 78 20          	mov    %rdi,0x20(%rax)
14002a14b:	41 54                	push   %r12
14002a14d:	41 56                	push   %r14
14002a14f:	41 57                	push   %r15
14002a151:	48 83 ec 20          	sub    $0x20,%rsp
14002a155:	48 8b da             	mov    %rdx,%rbx
14002a158:	41 be 01 00 00 00    	mov    $0x1,%r14d
14002a15e:	45 8b c6             	mov    %r14d,%r8d
14002a161:	33 d2                	xor    %edx,%edx
14002a163:	8b e9                	mov    %ecx,%ebp
14002a165:	e8 66 5e ff ff       	call   0x14001ffd0
14002a16a:	33 d2                	xor    %edx,%edx
14002a16c:	45 8d 46 01          	lea    0x1(%r14),%r8d
14002a170:	8b cd                	mov    %ebp,%ecx
14002a172:	4c 8b f8             	mov    %rax,%r15
14002a175:	e8 56 5e ff ff       	call   0x14001ffd0
14002a17a:	48 8b f3             	mov    %rbx,%rsi
14002a17d:	48 2b f0             	sub    %rax,%rsi
14002a180:	49 83 ff ff          	cmp    $0xffffffffffffffff,%r15
14002a184:	0f 84 e5 00 00 00    	je     0x14002a26f
14002a18a:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14002a18e:	0f 84 db 00 00 00    	je     0x14002a26f
14002a194:	33 ff                	xor    %edi,%edi
14002a196:	48 85 f6             	test   %rsi,%rsi
14002a199:	0f 8e 8c 00 00 00    	jle    0x14002a22b
14002a19f:	41 bc 00 10 00 00    	mov    $0x1000,%r12d
14002a1a5:	41 8b d6             	mov    %r14d,%edx
14002a1a8:	41 8b cc             	mov    %r12d,%ecx
14002a1ab:	e8 60 0c ff ff       	call   0x14001ae10
14002a1b0:	48 8b d8             	mov    %rax,%rbx
14002a1b3:	48 85 c0             	test   %rax,%rax
14002a1b6:	75 0d                	jne    0x14002a1c5
14002a1b8:	e8 2f a8 fe ff       	call   0x1400149ec
14002a1bd:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
14002a1c3:	eb 49                	jmp    0x14002a20e
14002a1c5:	ba 00 80 00 00       	mov    $0x8000,%edx
14002a1ca:	8b cd                	mov    %ebp,%ecx
14002a1cc:	e8 ab ec fe ff       	call   0x140018e7c
14002a1d1:	44 8b f0             	mov    %eax,%r14d
14002a1d4:	eb 0a                	jmp    0x14002a1e0
14002a1d6:	48 98                	cltq
14002a1d8:	48 2b f0             	sub    %rax,%rsi
14002a1db:	48 85 f6             	test   %rsi,%rsi
14002a1de:	7e 3f                	jle    0x14002a21f
14002a1e0:	44 8b c6             	mov    %esi,%r8d
14002a1e3:	49 3b f4             	cmp    %r12,%rsi
14002a1e6:	48 8b d3             	mov    %rbx,%rdx
14002a1e9:	8b cd                	mov    %ebp,%ecx
14002a1eb:	45 0f 4d c4          	cmovge %r12d,%r8d
14002a1ef:	e8 10 42 ff ff       	call   0x14001e404
14002a1f4:	83 f8 ff             	cmp    $0xffffffff,%eax
14002a1f7:	75 dd                	jne    0x14002a1d6
14002a1f9:	e8 ce a7 fe ff       	call   0x1400149cc
14002a1fe:	83 38 05             	cmpl   $0x5,(%rax)
14002a201:	75 0b                	jne    0x14002a20e
14002a203:	e8 e4 a7 fe ff       	call   0x1400149ec
14002a208:	c7 00 0d 00 00 00    	movl   $0xd,(%rax)
14002a20e:	e8 d9 a7 fe ff       	call   0x1400149ec
14002a213:	8b 38                	mov    (%rax),%edi
14002a215:	48 8b cb             	mov    %rbx,%rcx
14002a218:	e8 6b 0c ff ff       	call   0x14001ae88
14002a21d:	eb 57                	jmp    0x14002a276
14002a21f:	41 8b d6             	mov    %r14d,%edx
14002a222:	8b cd                	mov    %ebp,%ecx
14002a224:	e8 53 ec fe ff       	call   0x140018e7c
14002a229:	eb ea                	jmp    0x14002a215
14002a22b:	79 49                	jns    0x14002a276
14002a22d:	45 33 c0             	xor    %r8d,%r8d
14002a230:	48 8b d3             	mov    %rbx,%rdx
14002a233:	8b cd                	mov    %ebp,%ecx
14002a235:	e8 96 5d ff ff       	call   0x14001ffd0
14002a23a:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14002a23e:	74 2f                	je     0x14002a26f
14002a240:	8b cd                	mov    %ebp,%ecx
14002a242:	e8 25 9b ff ff       	call   0x140023d6c
14002a247:	48 8b c8             	mov    %rax,%rcx
14002a24a:	ff 15 f8 1d 00 00    	call   *0x1df8(%rip)        # 0x14002c048
14002a250:	85 c0                	test   %eax,%eax
14002a252:	75 22                	jne    0x14002a276
14002a254:	e8 93 a7 fe ff       	call   0x1400149ec
14002a259:	c7 00 0d 00 00 00    	movl   $0xd,(%rax)
14002a25f:	e8 68 a7 fe ff       	call   0x1400149cc
14002a264:	48 8b d8             	mov    %rax,%rbx
14002a267:	ff 15 f3 1d 00 00    	call   *0x1df3(%rip)        # 0x14002c060
14002a26d:	89 03                	mov    %eax,(%rbx)
14002a26f:	e8 78 a7 fe ff       	call   0x1400149ec
14002a274:	8b 38                	mov    (%rax),%edi
14002a276:	45 33 c0             	xor    %r8d,%r8d
14002a279:	49 8b d7             	mov    %r15,%rdx
14002a27c:	8b cd                	mov    %ebp,%ecx
14002a27e:	e8 4d 5d ff ff       	call   0x14001ffd0
14002a283:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002a288:	8b c7                	mov    %edi,%eax
14002a28a:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14002a28f:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002a294:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14002a299:	48 83 c4 20          	add    $0x20,%rsp
14002a29d:	41 5f                	pop    %r15
14002a29f:	41 5e                	pop    %r14
14002a2a1:	41 5c                	pop    %r12
14002a2a3:	c3                   	ret
14002a2a4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14002a2a9:	55                   	push   %rbp
14002a2aa:	56                   	push   %rsi
14002a2ab:	57                   	push   %rdi
14002a2ac:	41 56                	push   %r14
14002a2ae:	41 57                	push   %r15
14002a2b0:	48 83 ec 40          	sub    $0x40,%rsp
14002a2b4:	48 8b 05 c5 9d 01 00 	mov    0x19dc5(%rip),%rax        # 0x140044080
14002a2bb:	48 33 c4             	xor    %rsp,%rax
14002a2be:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14002a2c3:	45 33 db             	xor    %r11d,%r11d
14002a2c6:	4c 8d 15 53 cf 01 00 	lea    0x1cf53(%rip),%r10        # 0x140047220
14002a2cd:	4d 85 c9             	test   %r9,%r9
14002a2d0:	48 8d 3d 9d 25 01 00 	lea    0x1259d(%rip),%rdi        # 0x14003c874
14002a2d7:	48 8b c2             	mov    %rdx,%rax
14002a2da:	4c 8b fa             	mov    %rdx,%r15
14002a2dd:	4d 0f 45 d1          	cmovne %r9,%r10
14002a2e1:	48 85 d2             	test   %rdx,%rdx
14002a2e4:	41 8d 6b 01          	lea    0x1(%r11),%ebp
14002a2e8:	48 0f 45 fa          	cmovne %rdx,%rdi
14002a2ec:	44 8b f5             	mov    %ebp,%r14d
14002a2ef:	4d 0f 45 f0          	cmovne %r8,%r14
14002a2f3:	48 f7 d8             	neg    %rax
14002a2f6:	48 1b f6             	sbb    %rsi,%rsi
14002a2f9:	48 23 f1             	and    %rcx,%rsi
14002a2fc:	4d 85 f6             	test   %r14,%r14
14002a2ff:	75 0c                	jne    0x14002a30d
14002a301:	48 c7 c0 fe ff ff ff 	mov    $0xfffffffffffffffe,%rax
14002a308:	e9 52 01 00 00       	jmp    0x14002a45f
14002a30d:	45 0f b7 4a 06       	movzwl 0x6(%r10),%r9d
14002a312:	66 45 85 c9          	test   %r9w,%r9w
14002a316:	75 65                	jne    0x14002a37d
14002a318:	8a 1f                	mov    (%rdi),%bl
14002a31a:	48 ff c7             	inc    %rdi
14002a31d:	84 db                	test   %bl,%bl
14002a31f:	78 18                	js     0x14002a339
14002a321:	48 85 f6             	test   %rsi,%rsi
14002a324:	74 05                	je     0x14002a32b
14002a326:	0f b6 cb             	movzbl %bl,%ecx
14002a329:	89 0e                	mov    %ecx,(%rsi)
14002a32b:	84 db                	test   %bl,%bl
14002a32d:	41 0f 95 c3          	setne  %r11b
14002a331:	49 8b c3             	mov    %r11,%rax
14002a334:	e9 26 01 00 00       	jmp    0x14002a45f
14002a339:	8a c3                	mov    %bl,%al
14002a33b:	24 e0                	and    $0xe0,%al
14002a33d:	3c c0                	cmp    $0xc0,%al
14002a33f:	75 05                	jne    0x14002a346
14002a341:	41 b0 02             	mov    $0x2,%r8b
14002a344:	eb 1c                	jmp    0x14002a362
14002a346:	8a c3                	mov    %bl,%al
14002a348:	24 f0                	and    $0xf0,%al
14002a34a:	3c e0                	cmp    $0xe0,%al
14002a34c:	75 05                	jne    0x14002a353
14002a34e:	41 b0 03             	mov    $0x3,%r8b
14002a351:	eb 0f                	jmp    0x14002a362
14002a353:	8a c3                	mov    %bl,%al
14002a355:	24 f8                	and    $0xf8,%al
14002a357:	3c f0                	cmp    $0xf0,%al
14002a359:	0f 85 ec 00 00 00    	jne    0x14002a44b
14002a35f:	41 b0 04             	mov    $0x4,%r8b
14002a362:	41 0f b6 c0          	movzbl %r8b,%eax
14002a366:	b9 07 00 00 00       	mov    $0x7,%ecx
14002a36b:	2b c8                	sub    %eax,%ecx
14002a36d:	8b d5                	mov    %ebp,%edx
14002a36f:	d3 e2                	shl    %cl,%edx
14002a371:	45 8a c8             	mov    %r8b,%r9b
14002a374:	2b d5                	sub    %ebp,%edx
14002a376:	0f b6 c3             	movzbl %bl,%eax
14002a379:	23 d0                	and    %eax,%edx
14002a37b:	eb 25                	jmp    0x14002a3a2
14002a37d:	45 8a 42 04          	mov    0x4(%r10),%r8b
14002a381:	41 8b 12             	mov    (%r10),%edx
14002a384:	41 8d 40 fe          	lea    -0x2(%r8),%eax
14002a388:	3c 02                	cmp    $0x2,%al
14002a38a:	0f 87 bb 00 00 00    	ja     0x14002a44b
14002a390:	44 3a cd             	cmp    %bpl,%r9b
14002a393:	0f 82 b2 00 00 00    	jb     0x14002a44b
14002a399:	45 3a c8             	cmp    %r8b,%r9b
14002a39c:	0f 83 a9 00 00 00    	jae    0x14002a44b
14002a3a2:	41 0f b6 e9          	movzbl %r9b,%ebp
14002a3a6:	49 3b ee             	cmp    %r14,%rbp
14002a3a9:	8b dd                	mov    %ebp,%ebx