14098febc:	32 c0                	xor    %al,%al
14098febe:	48 83 c4 28          	add    $0x28,%rsp
14098fec2:	41 5f                	pop    %r15
14098fec4:	41 5c                	pop    %r12
14098fec6:	5e                   	pop    %rsi
14098fec7:	5d                   	pop    %rbp
14098fec8:	c3                   	ret
14098fec9:	cc                   	int3
14098feca:	cc                   	int3
14098fecb:	cc                   	int3
14098fecc:	cc                   	int3
14098fecd:	cc                   	int3
14098fece:	cc                   	int3
14098fecf:	cc                   	int3
14098fed0:	48 85 c9             	test   %rcx,%rcx
14098fed3:	74 72                	je     0x14098ff47
14098fed5:	56                   	push   %rsi
14098fed6:	48 83 ec 20          	sub    $0x20,%rsp
14098feda:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
14098fedf:	48 8b f1             	mov    %rcx,%rsi
14098fee2:	74 56                	je     0x14098ff3a
14098fee4:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14098fee9:	33 ff                	xor    %edi,%edi
14098feeb:	39 39                	cmp    %edi,(%rcx)
14098feed:	76 3d                	jbe    0x14098ff2c
14098feef:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14098fef4:	0f 1f 40 00          	nopl   0x0(%rax)
14098fef8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14098feff:	00
14098ff00:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14098ff04:	48 8b 0c f9          	mov    (%rcx,%rdi,8),%rcx
14098ff08:	48 85 c9             	test   %rcx,%rcx
14098ff0b:	74 14                	je     0x14098ff21
14098ff0d:	0f 1f 00             	nopl   (%rax)
14098ff10:	48 8b 59 18          	mov    0x18(%rcx),%rbx
14098ff14:	e8 77 11 4a 00       	call   0x140e31090
14098ff19:	48 8b cb             	mov    %rbx,%rcx
14098ff1c:	48 85 db             	test   %rbx,%rbx
14098ff1f:	75 ef                	jne    0x14098ff10
14098ff21:	ff c7                	inc    %edi
14098ff23:	3b 3e                	cmp    (%rsi),%edi
14098ff25:	72 d9                	jb     0x14098ff00
14098ff27:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14098ff2c:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14098ff30:	e8 5b 11 4a 00       	call   0x140e31090
14098ff35:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
14098ff3a:	48 8b ce             	mov    %rsi,%rcx
14098ff3d:	e8 4e 11 4a 00       	call   0x140e31090
14098ff42:	48 83 c4 20          	add    $0x20,%rsp
14098ff46:	5e                   	pop    %rsi
14098ff47:	c3                   	ret
14098ff48:	cc                   	int3
14098ff49:	cc                   	int3
14098ff4a:	cc                   	int3
14098ff4b:	cc                   	int3
14098ff4c:	cc                   	int3
14098ff4d:	cc                   	int3
14098ff4e:	cc                   	int3
14098ff4f:	cc                   	int3
14098ff50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14098ff55:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14098ff5a:	57                   	push   %rdi
14098ff5b:	48 83 ec 20          	sub    $0x20,%rsp
14098ff5f:	49 8b f9             	mov    %r9,%rdi
14098ff62:	41 8b f0             	mov    %r8d,%esi
14098ff65:	48 8b da             	mov    %rdx,%rbx
14098ff68:	4c 8b d9             	mov    %rcx,%r11
14098ff6b:	48 85 c9             	test   %rcx,%rcx
14098ff6e:	0f 84 c3 00 00 00    	je     0x140990037
14098ff74:	48 85 d2             	test   %rdx,%rdx
14098ff77:	0f 84 ba 00 00 00    	je     0x140990037
14098ff7d:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
14098ff82:	0f 86 a8 00 00 00    	jbe    0x140990030
14098ff88:	44 0f b6 02          	movzbl (%rdx),%r8d
14098ff8c:	4c 8b d2             	mov    %rdx,%r10
14098ff8f:	b8 05 15 00 00       	mov    $0x1505,%eax
14098ff94:	45 84 c0             	test   %r8b,%r8b
14098ff97:	74 1f                	je     0x14098ffb8
14098ff99:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14098ffa0:	48 6b c0 21          	imul   $0x21,%rax,%rax
14098ffa4:	41 0f b6 c8          	movzbl %r8b,%ecx
14098ffa8:	4d 8d 52 01          	lea    0x1(%r10),%r10
14098ffac:	45 0f b6 02          	movzbl (%r10),%r8d
14098ffb0:	48 03 c1             	add    %rcx,%rax
14098ffb3:	45 84 c0             	test   %r8b,%r8b
14098ffb6:	75 e8                	jne    0x14098ffa0
14098ffb8:	33 d2                	xor    %edx,%edx
14098ffba:	41 f7 33             	divl   (%r11)
14098ffbd:	49 8b 43 10          	mov    0x10(%r11),%rax
14098ffc1:	4c 8b 0c d0          	mov    (%rax,%rdx,8),%r9
14098ffc5:	4d 85 c9             	test   %r9,%r9
14098ffc8:	74 66                	je     0x140990030
14098ffca:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14098ffd0:	4d 8b 01             	mov    (%r9),%r8
14098ffd3:	48 8b c3             	mov    %rbx,%rax
14098ffd6:	4c 2b c3             	sub    %rbx,%r8
14098ffd9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14098ffe0:	0f b6 10             	movzbl (%rax),%edx
14098ffe3:	42 0f b6 0c 00       	movzbl (%rax,%r8,1),%ecx
14098ffe8:	2b d1                	sub    %ecx,%edx
14098ffea:	75 07                	jne    0x14098fff3
14098ffec:	48 ff c0             	inc    %rax
14098ffef:	85 c9                	test   %ecx,%ecx
14098fff1:	75 ed                	jne    0x14098ffe0
14098fff3:	85 d2                	test   %edx,%edx
14098fff5:	74 0f                	je     0x140990006
14098fff7:	4d 8b 49 18          	mov    0x18(%r9),%r9
14098fffb:	4d 85 c9             	test   %r9,%r9
14098fffe:	75 d0                	jne    0x14098ffd0
140990000:	41 8d 51 09          	lea    0x9(%r9),%edx
140990004:	eb 36                	jmp    0x14099003c
140990006:	40 f6 c6 08          	test   $0x8,%sil
14099000a:	74 1a                	je     0x140990026
14099000c:	49 8b 41 08          	mov    0x8(%r9),%rax
140990010:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140990014:	74 1a                	je     0x140990030
140990016:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14099001b:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140990020:	48 83 c4 20          	add    $0x20,%rsp
140990024:	5f                   	pop    %rdi
140990025:	c3                   	ret
140990026:	49 8b 41 10          	mov    0x10(%r9),%rax
14099002a:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14099002e:	75 1e                	jne    0x14099004e
140990030:	ba 09 00 00 00       	mov    $0x9,%edx
140990035:	eb 05                	jmp    0x14099003c
140990037:	ba 12 00 00 00       	mov    $0x12,%edx
14099003c:	45 33 c0             	xor    %r8d,%r8d
14099003f:	48 8b cf             	mov    %rdi,%rcx
140990042:	e8 49 79 ff ff       	call   0x140987990
140990047:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14099004e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140990053:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140990058:	48 83 c4 20          	add    $0x20,%rsp
14099005c:	5f                   	pop    %rdi
14099005d:	c3                   	ret
14099005e:	cc                   	int3
14099005f:	cc                   	int3
140990060:	40 53                	rex push %rbx
140990062:	48 83 ec 20          	sub    $0x20,%rsp
140990066:	48 8b d9             	mov    %rcx,%rbx
140990069:	b9 18 00 00 00       	mov    $0x18,%ecx
14099006e:	e8 b9 26 4a 00       	call   0x140e3272c
140990073:	48 85 c0             	test   %rax,%rax
140990076:	75 16                	jne    0x14099008e
140990078:	45 33 c0             	xor    %r8d,%r8d
14099007b:	8d 50 0e             	lea    0xe(%rax),%edx
14099007e:	48 8b cb             	mov    %rbx,%rcx
140990081:	e8 0a 79 ff ff       	call   0x140987990
140990086:	33 c0                	xor    %eax,%eax
140990088:	48 83 c4 20          	add    $0x20,%rsp
14099008c:	5b                   	pop    %rbx
14099008d:	c3                   	ret
14099008e:	33 c9                	xor    %ecx,%ecx
140990090:	89 08                	mov    %ecx,(%rax)
140990092:	48 89 48 08          	mov    %rcx,0x8(%rax)
140990096:	48 89 48 10          	mov    %rcx,0x10(%rax)
14099009a:	48 83 c4 20          	add    $0x20,%rsp
14099009e:	5b                   	pop    %rbx
14099009f:	c3                   	ret
1409900a0:	48 83 ec 28          	sub    $0x28,%rsp
1409900a4:	4c 8b c9             	mov    %rcx,%r9
1409900a7:	48 85 d2             	test   %rdx,%rdx
1409900aa:	74 7e                	je     0x14099012a
1409900ac:	0f 57 c0             	xorps  %xmm0,%xmm0
1409900af:	78 07                	js     0x1409900b8
1409900b1:	f2 48 0f 2a c2       	cvtsi2sd %rdx,%xmm0
1409900b6:	eb 15                	jmp    0x1409900cd
1409900b8:	48 8b c2             	mov    %rdx,%rax
1409900bb:	83 e2 01             	and    $0x1,%edx
1409900be:	48 d1 e8             	shr    $1,%rax
1409900c1:	48 0b c2             	or     %rdx,%rax
1409900c4:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
1409900c9:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
1409900cd:	f2 0f 5e 05 1b 55 6d 	divsd  0x6d551b(%rip),%xmm0        # 0x1410655f0
1409900d4:	00
1409900d5:	ba 00 00 00 80       	mov    $0x80000000,%edx
1409900da:	66 0f 2f 05 16 55 6d 	comisd 0x6d5516(%rip),%xmm0        # 0x1410655f8
1409900e1:	00
1409900e2:	77 2f                	ja     0x140990113
1409900e4:	f2 48 0f 2c c8       	cvttsd2si %xmm0,%rcx
1409900e9:	3b ca                	cmp    %edx,%ecx
1409900eb:	77 26                	ja     0x140990113
1409900ed:	ff c9                	dec    %ecx
1409900ef:	8b c1                	mov    %ecx,%eax
1409900f1:	d1 e8                	shr    $1,%eax
1409900f3:	0b c8                	or     %eax,%ecx
1409900f5:	8b c1                	mov    %ecx,%eax
1409900f7:	c1 e8 02             	shr    $0x2,%eax
1409900fa:	0b c8                	or     %eax,%ecx
1409900fc:	8b c1                	mov    %ecx,%eax
1409900fe:	c1 e8 04             	shr    $0x4,%eax
140990101:	0b c8                	or     %eax,%ecx
140990103:	8b c1                	mov    %ecx,%eax
140990105:	c1 e8 08             	shr    $0x8,%eax
140990108:	0b c8                	or     %eax,%ecx
14099010a:	8b d1                	mov    %ecx,%edx
14099010c:	c1 ea 10             	shr    $0x10,%edx
14099010f:	0b d1                	or     %ecx,%edx
140990111:	ff c2                	inc    %edx
140990113:	41 3b 11             	cmp    (%r9),%edx
140990116:	76 12                	jbe    0x14099012a
140990118:	49 8b c9             	mov    %r9,%rcx
14099011b:	e8 20 00 00 00       	call   0x140990140
140990120:	84 c0                	test   %al,%al
140990122:	0f 95 c0             	setne  %al
140990125:	48 83 c4 28          	add    $0x28,%rsp
140990129:	c3                   	ret
14099012a:	b0 01                	mov    $0x1,%al
14099012c:	48 83 c4 28          	add    $0x28,%rsp
140990130:	c3                   	ret
140990131:	cc                   	int3
140990132:	cc                   	int3
140990133:	cc                   	int3
140990134:	cc                   	int3
140990135:	cc                   	int3
140990136:	cc                   	int3
140990137:	cc                   	int3
140990138:	cc                   	int3
140990139:	cc                   	int3
14099013a:	cc                   	int3
14099013b:	cc                   	int3
14099013c:	cc                   	int3
14099013d:	cc                   	int3
14099013e:	cc                   	int3
14099013f:	cc                   	int3
140990140:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140990145:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14099014a:	57                   	push   %rdi
14099014b:	48 83 ec 20          	sub    $0x20,%rsp
14099014f:	49 8b e8             	mov    %r8,%rbp
140990152:	8b fa                	mov    %edx,%edi
140990154:	48 8b d9             	mov    %rcx,%rbx
140990157:	3b 11                	cmp    (%rcx),%edx
140990159:	75 12                	jne    0x14099016d
14099015b:	b0 01                	mov    $0x1,%al
14099015d:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140990162:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140990167:	48 83 c4 20          	add    $0x20,%rsp
14099016b:	5f                   	pop    %rdi
14099016c:	c3                   	ret
14099016d:	48 8b cf             	mov    %rdi,%rcx
140990170:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140990175:	ba 08 00 00 00       	mov    $0x8,%edx
14099017a:	e8 09 0f 4a 00       	call   0x140e31088
14099017f:	48 8b f0             	mov    %rax,%rsi
140990182:	48 85 c0             	test   %rax,%rax
140990185:	75 12                	jne    0x140990199
140990187:	45 33 c0             	xor    %r8d,%r8d
14099018a:	8d 50 0e             	lea    0xe(%rax),%edx
14099018d:	48 8b cd             	mov    %rbp,%rcx
140990190:	e8 fb 77 ff ff       	call   0x140987990
140990195:	32 c0                	xor    %al,%al
140990197:	eb 5f                	jmp    0x1409901f8
140990199:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
14099019e:	76 47                	jbe    0x1409901e7
1409901a0:	45 33 d2             	xor    %r10d,%r10d
1409901a3:	44 39 13             	cmp    %r10d,(%rbx)
1409901a6:	76 3f                	jbe    0x1409901e7
1409901a8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1409901af:	00
1409901b0:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1409901b4:	4a 8b 0c d1          	mov    (%rcx,%r10,8),%rcx
1409901b8:	48 85 c9             	test   %rcx,%rcx
1409901bb:	74 22                	je     0x1409901df
1409901bd:	0f 1f 00             	nopl   (%rax)
1409901c0:	8b 41 20             	mov    0x20(%rcx),%eax
1409901c3:	33 d2                	xor    %edx,%edx
1409901c5:	4c 8b 49 18          	mov    0x18(%rcx),%r9
1409901c9:	f7 f7                	div    %edi
1409901cb:	48 8b 04 d6          	mov    (%rsi,%rdx,8),%rax
1409901cf:	48 89 41 18          	mov    %rax,0x18(%rcx)
1409901d3:	48 89 0c d6          	mov    %rcx,(%rsi,%rdx,8)
1409901d7:	49 8b c9             	mov    %r9,%rcx
1409901da:	4d 85 c9             	test   %r9,%r9
1409901dd:	75 e1                	jne    0x1409901c0
1409901df:	41 ff c2             	inc    %r10d
1409901e2:	44 3b 13             	cmp    (%rbx),%r10d
1409901e5:	72 c9                	jb     0x1409901b0
1409901e7:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1409901eb:	e8 a0 0e 4a 00       	call   0x140e31090
1409901f0:	b0 01                	mov    $0x1,%al
1409901f2:	48 89 73 10          	mov    %rsi,0x10(%rbx)
1409901f6:	89 3b                	mov    %edi,(%rbx)
1409901f8:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
1409901fd:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140990202:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140990207:	48 83 c4 20          	add    $0x20,%rsp
14099020b:	5f                   	pop    %rdi
14099020c:	c3                   	ret
14099020d:	cc                   	int3
14099020e:	cc                   	int3
14099020f:	cc                   	int3
140990210:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140990215:	57                   	push   %rdi
140990216:	48 83 ec 20          	sub    $0x20,%rsp
14099021a:	49 8b d9             	mov    %r9,%rbx
14099021d:	41 8b f8             	mov    %r8d,%edi
140990220:	e8 cb dd ff ff       	call   0x14098dff0
140990225:	48 85 c0             	test   %rax,%rax
140990228:	74 1b                	je     0x140990245
14099022a:	48 8b 48 38          	mov    0x38(%rax),%rcx
14099022e:	4c 8b cb             	mov    %rbx,%r9
140990231:	44 8b c7             	mov    %edi,%r8d
140990234:	33 d2                	xor    %edx,%edx
140990236:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14099023b:	48 83 c4 20          	add    $0x20,%rsp
14099023f:	5f                   	pop    %rdi
140990240:	e9 6b 01 00 00       	jmp    0x1409903b0
140990245:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14099024a:	48 83 c4 20          	add    $0x20,%rsp
14099024e:	5f                   	pop    %rdi
14099024f:	c3                   	ret
140990250:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140990255:	57                   	push   %rdi
140990256:	48 83 ec 20          	sub    $0x20,%rsp
14099025a:	48 8d 79 10          	lea    0x10(%rcx),%rdi
14099025e:	41 8b d8             	mov    %r8d,%ebx
140990261:	4c 8b cf             	mov    %rdi,%r9
140990264:	e8 87 dd ff ff       	call   0x14098dff0
140990269:	48 85 c0             	test   %rax,%rax
14099026c:	75 0b                	jne    0x140990279
14099026e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140990273:	48 83 c4 20          	add    $0x20,%rsp
140990277:	5f                   	pop    %rdi
140990278:	c3                   	ret
140990279:	48 8b 48 38          	mov    0x38(%rax),%rcx
14099027d:	4c 8b cf             	mov    %rdi,%r9
140990280:	44 8b c3             	mov    %ebx,%r8d
140990283:	33 d2                	xor    %edx,%edx
140990285:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14099028a:	48 83 c4 20          	add    $0x20,%rsp
14099028e:	5f                   	pop    %rdi
14099028f:	e9 1c 01 00 00       	jmp    0x1409903b0
140990294:	cc                   	int3
140990295:	cc                   	int3
140990296:	cc                   	int3
140990297:	cc                   	int3
140990298:	cc                   	int3
140990299:	cc                   	int3
14099029a:	cc                   	int3
14099029b:	cc                   	int3
14099029c:	cc                   	int3
14099029d:	cc                   	int3
14099029e:	cc                   	int3
14099029f:	cc                   	int3
1409902a0:	40 53                	rex push %rbx
1409902a2:	48 83 ec 20          	sub    $0x20,%rsp
1409902a6:	48 8b d9             	mov    %rcx,%rbx
1409902a9:	e8 a2 24 00 00       	call   0x140992750