140027f23:	57                   	push   %rdi
140027f24:	41 54                	push   %r12
140027f26:	41 55                	push   %r13
140027f28:	41 56                	push   %r14
140027f2a:	41 57                	push   %r15
140027f2c:	48 83 ec 30          	sub    $0x30,%rsp
140027f30:	48 83 cd ff          	or     $0xffffffffffffffff,%rbp
140027f34:	49 8b f1             	mov    %r9,%rsi
140027f37:	33 ff                	xor    %edi,%edi
140027f39:	4d 8b f0             	mov    %r8,%r14
140027f3c:	4c 8b ea             	mov    %rdx,%r13
140027f3f:	4c 8b e1             	mov    %rcx,%r12
140027f42:	48 ff c5             	inc    %rbp
140027f45:	40 38 3c 29          	cmp    %dil,(%rcx,%rbp,1)
140027f49:	75 f7                	jne    0x140027f42
140027f4b:	ba 01 00 00 00       	mov    $0x1,%edx
140027f50:	49 8b c6             	mov    %r14,%rax
140027f53:	48 03 ea             	add    %rdx,%rbp
140027f56:	48 f7 d0             	not    %rax
140027f59:	48 3b e8             	cmp    %rax,%rbp
140027f5c:	76 20                	jbe    0x140027f7e
140027f5e:	8d 42 0b             	lea    0xb(%rdx),%eax
140027f61:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140027f66:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140027f6b:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140027f70:	48 83 c4 30          	add    $0x30,%rsp
140027f74:	41 5f                	pop    %r15
140027f76:	41 5e                	pop    %r14
140027f78:	41 5d                	pop    %r13
140027f7a:	41 5c                	pop    %r12
140027f7c:	5f                   	pop    %rdi
140027f7d:	c3                   	ret
140027f7e:	4d 8d 78 01          	lea    0x1(%r8),%r15
140027f82:	4c 03 fd             	add    %rbp,%r15
140027f85:	49 8b cf             	mov    %r15,%rcx
140027f88:	e8 e3 94 fd ff       	call   0x140001470
140027f8d:	48 8b d8             	mov    %rax,%rbx
140027f90:	4d 85 f6             	test   %r14,%r14
140027f93:	74 19                	je     0x140027fae
140027f95:	4d 8b ce             	mov    %r14,%r9
140027f98:	4d 8b c5             	mov    %r13,%r8
140027f9b:	49 8b d7             	mov    %r15,%rdx
140027f9e:	48 8b c8             	mov    %rax,%rcx
140027fa1:	e8 2a 8f 00 00       	call   0x140030ed0
140027fa6:	85 c0                	test   %eax,%eax
140027fa8:	0f 85 d5 00 00 00    	jne    0x140028083
140027fae:	4d 2b fe             	sub    %r14,%r15
140027fb1:	4a 8d 0c 33          	lea    (%rbx,%r14,1),%rcx
140027fb5:	49 8b d7             	mov    %r15,%rdx
140027fb8:	4c 8b cd             	mov    %rbp,%r9
140027fbb:	4d 8b c4             	mov    %r12,%r8
140027fbe:	e8 0d 8f 00 00       	call   0x140030ed0
140027fc3:	85 c0                	test   %eax,%eax
140027fc5:	0f 85 b8 00 00 00    	jne    0x140028083
140027fcb:	4c 8b 76 10          	mov    0x10(%rsi),%r14
140027fcf:	44 8d 78 08          	lea    0x8(%rax),%r15d
140027fd3:	4c 39 76 08          	cmp    %r14,0x8(%rsi)
140027fd7:	0f 85 8d 00 00 00    	jne    0x14002806a
140027fdd:	48 39 3e             	cmp    %rdi,(%rsi)
140027fe0:	75 2b                	jne    0x14002800d
140027fe2:	41 8b d7             	mov    %r15d,%edx
140027fe5:	8d 48 04             	lea    0x4(%rax),%ecx
140027fe8:	e8 83 94 fd ff       	call   0x140001470
140027fed:	33 c9                	xor    %ecx,%ecx
140027fef:	48 89 06             	mov    %rax,(%rsi)
140027ff2:	e8 e9 94 fd ff       	call   0x1400014e0
140027ff7:	48 8b 06             	mov    (%rsi),%rax
140027ffa:	48 85 c0             	test   %rax,%rax
140027ffd:	74 42                	je     0x140028041
140027fff:	48 89 46 08          	mov    %rax,0x8(%rsi)
140028003:	48 83 c0 20          	add    $0x20,%rax
140028007:	48 89 46 10          	mov    %rax,0x10(%rsi)
14002800b:	eb 5d                	jmp    0x14002806a
14002800d:	4c 2b 36             	sub    (%rsi),%r14
140028010:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140028017:	ff ff 7f
14002801a:	49 c1 fe 03          	sar    $0x3,%r14
14002801e:	4c 3b f0             	cmp    %rax,%r14
140028021:	77 1e                	ja     0x140028041
140028023:	48 8b 0e             	mov    (%rsi),%rcx
140028026:	4b 8d 2c 36          	lea    (%r14,%r14,1),%rbp
14002802a:	48 8b d5             	mov    %rbp,%rdx
14002802d:	4d 8b c7             	mov    %r15,%r8
140028030:	e8 1b 95 fd ff       	call   0x140001550
140028035:	48 85 c0             	test   %rax,%rax
140028038:	75 16                	jne    0x140028050
14002803a:	33 c9                	xor    %ecx,%ecx
14002803c:	e8 9f 94 fd ff       	call   0x1400014e0
140028041:	48 8b cb             	mov    %rbx,%rcx
140028044:	bf 0c 00 00 00       	mov    $0xc,%edi
140028049:	e8 92 94 fd ff       	call   0x1400014e0
14002804e:	eb 25                	jmp    0x140028075
140028050:	4a 8d 0c f0          	lea    (%rax,%r14,8),%rcx
140028054:	48 89 06             	mov    %rax,(%rsi)
140028057:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
14002805b:	48 8d 0c e8          	lea    (%rax,%rbp,8),%rcx
14002805f:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
140028063:	33 c9                	xor    %ecx,%ecx
140028065:	e8 76 94 fd ff       	call   0x1400014e0
14002806a:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
14002806e:	48 89 19             	mov    %rbx,(%rcx)
140028071:	4c 01 7e 08          	add    %r15,0x8(%rsi)
140028075:	33 c9                	xor    %ecx,%ecx
140028077:	e8 64 94 fd ff       	call   0x1400014e0
14002807c:	8b c7                	mov    %edi,%eax
14002807e:	e9 de fe ff ff       	jmp    0x140027f61
140028083:	45 33 c9             	xor    %r9d,%r9d
140028086:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14002808b:	45 33 c0             	xor    %r8d,%r8d
14002808e:	33 d2                	xor    %edx,%edx
140028090:	33 c9                	xor    %ecx,%ecx
140028092:	e8 0d 6f fe ff       	call   0x14000efa4
140028097:	cc                   	int3
140028098:	40 55                	rex push %rbp
14002809a:	53                   	push   %rbx
14002809b:	56                   	push   %rsi
14002809c:	57                   	push   %rdi
14002809d:	41 54                	push   %r12
14002809f:	41 55                	push   %r13
1400280a1:	41 56                	push   %r14
1400280a3:	48 8d ac 24 c0 fd ff 	lea    -0x240(%rsp),%rbp
1400280aa:	ff
1400280ab:	48 81 ec 40 03 00 00 	sub    $0x340,%rsp
1400280b2:	48 8b 05 07 61 02 00 	mov    0x26107(%rip),%rax        # 0x14004e1c0
1400280b9:	48 33 c4             	xor    %rsp,%rax
1400280bc:	48 89 85 30 02 00 00 	mov    %rax,0x230(%rbp)
1400280c3:	4d 8b e0             	mov    %r8,%r12
1400280c6:	48 8b f9             	mov    %rcx,%rdi
1400280c9:	48 bb 01 08 00 00 00 	movabs $0x200000000801,%rbx
1400280d0:	20 00 00
1400280d3:	48 3b d1             	cmp    %rcx,%rdx
1400280d6:	74 22                	je     0x1400280fa
1400280d8:	8a 02                	mov    (%rdx),%al
1400280da:	2c 2f                	sub    $0x2f,%al
1400280dc:	3c 2d                	cmp    $0x2d,%al
1400280de:	77 0a                	ja     0x1400280ea
1400280e0:	48 0f be c0          	movsbq %al,%rax
1400280e4:	48 0f a3 c3          	bt     %rax,%rbx
1400280e8:	72 10                	jb     0x1400280fa
1400280ea:	48 8b cf             	mov    %rdi,%rcx
1400280ed:	e8 36 93 00 00       	call   0x140031428
1400280f2:	48 8b d0             	mov    %rax,%rdx
1400280f5:	48 3b c7             	cmp    %rdi,%rax
1400280f8:	75 de                	jne    0x1400280d8
1400280fa:	44 8a 02             	mov    (%rdx),%r8b
1400280fd:	41 80 f8 3a          	cmp    $0x3a,%r8b
140028101:	75 1e                	jne    0x140028121
140028103:	48 8d 47 01          	lea    0x1(%rdi),%rax
140028107:	48 3b d0             	cmp    %rax,%rdx
14002810a:	74 15                	je     0x140028121
14002810c:	4d 8b cc             	mov    %r12,%r9
14002810f:	45 33 c0             	xor    %r8d,%r8d
140028112:	33 d2                	xor    %edx,%edx
140028114:	48 8b cf             	mov    %rdi,%rcx
140028117:	e8 f8 fd ff ff       	call   0x140027f14
14002811c:	e9 a3 02 00 00       	jmp    0x1400283c4
140028121:	41 80 e8 2f          	sub    $0x2f,%r8b
140028125:	45 33 f6             	xor    %r14d,%r14d
140028128:	41 80 f8 2d          	cmp    $0x2d,%r8b
14002812c:	77 0c                	ja     0x14002813a
14002812e:	49 0f be c0          	movsbq %r8b,%rax
140028132:	48 0f a3 c3          	bt     %rax,%rbx
140028136:	b0 01                	mov    $0x1,%al
140028138:	72 03                	jb     0x14002813d
14002813a:	41 8a c6             	mov    %r14b,%al
14002813d:	48 2b d7             	sub    %rdi,%rdx
140028140:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140028145:	48 ff c2             	inc    %rdx
140028148:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
14002814d:	f6 d8                	neg    %al
14002814f:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
140028154:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140028159:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)
14002815e:	4d 1b ed             	sbb    %r13,%r13
140028161:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
140028166:	4c 23 ea             	and    %rdx,%r13
140028169:	44 88 74 24 68       	mov    %r14b,0x68(%rsp)
14002816e:	33 d2                	xor    %edx,%edx
140028170:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140028175:	e8 62 e4 fe ff       	call   0x1400165dc
14002817a:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
14002817f:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140028184:	39 48 0c             	cmp    %ecx,0xc(%rax)
140028187:	75 17                	jne    0x1400281a0
140028189:	44 38 75 88          	cmp    %r14b,-0x78(%rbp)
14002818d:	74 0c                	je     0x14002819b
14002818f:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140028194:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
14002819b:	44 8b c9             	mov    %ecx,%r9d
14002819e:	eb 38                	jmp    0x1400281d8
1400281a0:	e8 27 b3 ff ff       	call   0x1400234cc
1400281a5:	85 c0                	test   %eax,%eax
1400281a7:	75 1a                	jne    0x1400281c3
1400281a9:	44 38 75 88          	cmp    %r14b,-0x78(%rbp)
1400281ad:	74 0c                	je     0x1400281bb
1400281af:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1400281b4:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
1400281bb:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400281c1:	eb 15                	jmp    0x1400281d8
1400281c3:	44 38 75 88          	cmp    %r14b,-0x78(%rbp)
1400281c7:	74 0c                	je     0x1400281d5
1400281c9:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1400281ce:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
1400281d5:	45 8b ce             	mov    %r14d,%r9d
1400281d8:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1400281dd:	48 8b cf             	mov    %rdi,%rcx
1400281e0:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1400281e5:	e8 0a 47 ff ff       	call   0x14001c8f4
1400281ea:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1400281ef:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1400281f3:	85 c0                	test   %eax,%eax
1400281f5:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
1400281fa:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1400281ff:	49 0f 45 ce          	cmovne %r14,%rcx
140028203:	45 33 c9             	xor    %r9d,%r9d
140028206:	33 d2                	xor    %edx,%edx
140028208:	ff 15 aa 40 01 00    	call   *0x140aa(%rip)        # 0x14003c2b8
14002820e:	48 8b d8             	mov    %rax,%rbx
140028211:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140028215:	75 2a                	jne    0x140028241
140028217:	4d 8b cc             	mov    %r12,%r9
14002821a:	45 33 c0             	xor    %r8d,%r8d
14002821d:	33 d2                	xor    %edx,%edx
14002821f:	48 8b cf             	mov    %rdi,%rcx
140028222:	e8 ed fc ff ff       	call   0x140027f14
140028227:	8b d8                	mov    %eax,%ebx
140028229:	44 38 74 24 68       	cmp    %r14b,0x68(%rsp)
14002822e:	74 0a                	je     0x14002823a
140028230:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140028235:	e8 a6 92 fd ff       	call   0x1400014e0
14002823a:	8b c3                	mov    %ebx,%eax
14002823c:	e9 83 01 00 00       	jmp    0x1400283c4
140028241:	49 8b 74 24 08       	mov    0x8(%r12),%rsi
140028246:	49 2b 34 24          	sub    (%r12),%rsi
14002824a:	48 c1 fe 03          	sar    $0x3,%rsi
14002824e:	33 d2                	xor    %edx,%edx
140028250:	4c 89 75 b0          	mov    %r14,-0x50(%rbp)
140028254:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
140028258:	4c 89 75 b8          	mov    %r14,-0x48(%rbp)
14002825c:	4c 89 75 c0          	mov    %r14,-0x40(%rbp)
140028260:	4c 89 75 c8          	mov    %r14,-0x38(%rbp)
140028264:	4c 89 75 d0          	mov    %r14,-0x30(%rbp)
140028268:	44 88 75 d8          	mov    %r14b,-0x28(%rbp)
14002826c:	e8 6b e3 fe ff       	call   0x1400165dc
140028271:	48 8b 45 98          	mov    -0x68(%rbp),%rax
140028275:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
14002827a:	39 48 0c             	cmp    %ecx,0xc(%rax)
14002827d:	75 16                	jne    0x140028295
14002827f:	44 38 75 a8          	cmp    %r14b,-0x58(%rbp)
140028283:	74 0b                	je     0x140028290
140028285:	48 8b 45 90          	mov    -0x70(%rbp),%rax
140028289:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140028290:	44 8b c9             	mov    %ecx,%r9d
140028293:	eb 36                	jmp    0x1400282cb
140028295:	e8 32 b2 ff ff       	call   0x1400234cc
14002829a:	85 c0                	test   %eax,%eax
14002829c:	75 19                	jne    0x1400282b7
14002829e:	44 38 75 a8          	cmp    %r14b,-0x58(%rbp)
1400282a2:	74 0b                	je     0x1400282af
1400282a4:	48 8b 45 90          	mov    -0x70(%rbp),%rax
1400282a8:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
1400282af:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400282b5:	eb 14                	jmp    0x1400282cb
1400282b7:	44 38 75 a8          	cmp    %r14b,-0x58(%rbp)
1400282bb:	74 0b                	je     0x1400282c8
1400282bd:	48 8b 45 90          	mov    -0x70(%rbp),%rax
1400282c1:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
1400282c8:	45 8b ce             	mov    %r14d,%r9d
1400282cb:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1400282d0:	48 8d 55 b0          	lea    -0x50(%rbp),%rdx
1400282d4:	48 8d 4d 0c          	lea    0xc(%rbp),%rcx
1400282d8:	e8 67 f8 ff ff       	call   0x140027b44
1400282dd:	4c 8b 75 c0          	mov    -0x40(%rbp),%r14
1400282e1:	33 d2                	xor    %edx,%edx
1400282e3:	85 c0                	test   %eax,%eax
1400282e5:	49 8b ce             	mov    %r14,%rcx
1400282e8:	48 0f 45 ca          	cmovne %rdx,%rcx
1400282ec:	80 39 2e             	cmpb   $0x2e,(%rcx)
1400282ef:	75 1f                	jne    0x140028310
1400282f1:	8a 41 01             	mov    0x1(%rcx),%al
1400282f4:	84 c0                	test   %al,%al
1400282f6:	75 0f                	jne    0x140028307
1400282f8:	38 55 d8             	cmp    %dl,-0x28(%rbp)
1400282fb:	74 3a                	je     0x140028337
1400282fd:	49 8b ce             	mov    %r14,%rcx
140028300:	e8 db 91 fd ff       	call   0x1400014e0
140028305:	eb 30                	jmp    0x140028337
140028307:	3c 2e                	cmp    $0x2e,%al
140028309:	75 05                	jne    0x140028310
14002830b:	38 51 02             	cmp    %dl,0x2(%rcx)
14002830e:	74 e8                	je     0x1400282f8
140028310:	4d 8b cc             	mov    %r12,%r9
140028313:	4d 8b c5             	mov    %r13,%r8
140028316:	48 8b d7             	mov    %rdi,%rdx
140028319:	e8 f6 fb ff ff       	call   0x140027f14
14002831e:	44 8b e8             	mov    %eax,%r13d
140028321:	85 c0                	test   %eax,%eax
140028323:	75 74                	jne    0x140028399
140028325:	38 45 d8             	cmp    %al,-0x28(%rbp)
140028328:	74 08                	je     0x140028332
14002832a:	49 8b ce             	mov    %r14,%rcx
14002832d:	e8 ae 91 fd ff       	call   0x1400014e0
140028332:	4c 8b 6c 24 38       	mov    0x38(%rsp),%r13
140028337:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
14002833b:	48 8b cb             	mov    %rbx,%rcx
14002833e:	ff 15 7c 3f 01 00    	call   *0x13f7c(%rip)        # 0x14003c2c0
140028344:	45 33 f6             	xor    %r14d,%r14d
140028347:	85 c0                	test   %eax,%eax
140028349:	0f 85 ff fe ff ff    	jne    0x14002824e
14002834f:	49 8b 04 24          	mov    (%r12),%rax
140028353:	49 8b 54 24 08       	mov    0x8(%r12),%rdx
140028358:	48 2b d0             	sub    %rax,%rdx
14002835b:	48 c1 fa 03          	sar    $0x3,%rdx
14002835f:	48 3b f2             	cmp    %rdx,%rsi
140028362:	74 17                	je     0x14002837b
140028364:	48 2b d6             	sub    %rsi,%rdx
140028367:	48 8d 0c f0          	lea    (%rax,%rsi,8),%rcx
14002836b:	4c 8d 0d be f7 ff ff 	lea    -0x842(%rip),%r9        # 0x140027b30
140028372:	45 8d 46 08          	lea    0x8(%r14),%r8d
140028376:	e8 45 87 00 00       	call   0x140030ac0
14002837b:	48 8b cb             	mov    %rbx,%rcx
14002837e:	ff 15 2c 3f 01 00    	call   *0x13f2c(%rip)        # 0x14003c2b0
140028384:	44 38 74 24 68       	cmp    %r14b,0x68(%rsp)
140028389:	74 0a                	je     0x140028395
14002838b:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140028390:	e8 4b 91 fd ff       	call   0x1400014e0
140028395:	33 c0                	xor    %eax,%eax
140028397:	eb 2b                	jmp    0x1400283c4
140028399:	80 7d d8 00          	cmpb   $0x0,-0x28(%rbp)
14002839d:	74 08                	je     0x1400283a7
14002839f:	49 8b ce             	mov    %r14,%rcx
1400283a2:	e8 39 91 fd ff       	call   0x1400014e0
1400283a7:	48 8b cb             	mov    %rbx,%rcx
1400283aa:	ff 15 00 3f 01 00    	call   *0x13f00(%rip)        # 0x14003c2b0
1400283b0:	80 7c 24 68 00       	cmpb   $0x0,0x68(%rsp)
1400283b5:	74 0a                	je     0x1400283c1
1400283b7:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1400283bc:	e8 1f 91 fd ff       	call   0x1400014e0
1400283c1:	41 8b c5             	mov    %r13d,%eax
1400283c4:	48 8b 8d 30 02 00 00 	mov    0x230(%rbp),%rcx
1400283cb:	48 33 cc             	xor    %rsp,%rcx
1400283ce:	e8 cd 0f fe ff       	call   0x1400093a0
1400283d3:	48 81 c4 40 03 00 00 	add    $0x340,%rsp
1400283da:	41 5e                	pop    %r14
1400283dc:	41 5d                	pop    %r13
1400283de:	41 5c                	pop    %r12
1400283e0:	5f                   	pop    %rdi
1400283e1:	5e                   	pop    %rsi
1400283e2:	5b                   	pop    %rbx
1400283e3:	5d                   	pop    %rbp