1801070c0:	e8 47 fb ff ff       	call   0x180106c0c
1801070c5:	33 db                	xor    %ebx,%ebx
1801070c7:	48 8b c3             	mov    %rbx,%rax
1801070ca:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
1801070d1:	00
1801070d2:	48 83 c4 60          	add    $0x60,%rsp
1801070d6:	5f                   	pop    %rdi
1801070d7:	5e                   	pop    %rsi
1801070d8:	5d                   	pop    %rbp
1801070d9:	c3                   	ret
1801070da:	cc                   	int3
1801070db:	cc                   	int3
1801070dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801070e1:	57                   	push   %rdi
1801070e2:	48 83 ec 30          	sub    $0x30,%rsp
1801070e6:	4c 8b d9             	mov    %rcx,%r11
1801070e9:	48 8b 09             	mov    (%rcx),%rcx
1801070ec:	48 85 c9             	test   %rcx,%rcx
1801070ef:	75 0a                	jne    0x1801070fb
1801070f1:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
1801070f6:	e9 c4 00 00 00       	jmp    0x1801071bf
1801070fb:	4d 8d 43 10          	lea    0x10(%r11),%r8
1801070ff:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180107104:	e8 4f 07 00 00       	call   0x180107858
180107109:	85 c0                	test   %eax,%eax
18010710b:	0f 88 ae 00 00 00    	js     0x1801071bf
180107111:	44 8b 0d b0 e8 08 00 	mov    0x8e8b0(%rip),%r9d        # 0x1801959c8
180107118:	48 bf 77 be 9f 1a 2f 	movabs $0x624dd2f1a9fbe77,%rdi
18010711f:	dd 24 06
180107122:	49 69 c9 90 01 00 00 	imul   $0x190,%r9,%rcx
180107129:	48 8b c7             	mov    %rdi,%rax
18010712c:	48 f7 e1             	mul    %rcx
18010712f:	8b 44 24 20          	mov    0x20(%rsp),%eax
180107133:	48 2b ca             	sub    %rdx,%rcx
180107136:	48 d1 e9             	shr    $1,%rcx
180107139:	48 03 ca             	add    %rdx,%rcx
18010713c:	48 c1 e9 09          	shr    $0x9,%rcx
180107140:	48 3b c8             	cmp    %rax,%rcx
180107143:	72 75                	jb     0x1801071ba
180107145:	8b 1d 79 e8 08 00    	mov    0x8e879(%rip),%ebx        # 0x1801959c4
18010714b:	48 8b c7             	mov    %rdi,%rax
18010714e:	44 8b 54 24 24       	mov    0x24(%rsp),%r10d
180107153:	4c 69 c3 90 01 00 00 	imul   $0x190,%rbx,%r8
18010715a:	49 f7 e0             	mul    %r8
18010715d:	4c 2b c2             	sub    %rdx,%r8
180107160:	49 d1 e8             	shr    $1,%r8
180107163:	4c 03 c2             	add    %rdx,%r8
180107166:	49 c1 e8 09          	shr    $0x9,%r8
18010716a:	4d 3b c2             	cmp    %r10,%r8
18010716d:	72 4b                	jb     0x1801071ba
18010716f:	44 2b 4c 24 20       	sub    0x20(%rsp),%r9d
180107174:	48 8b c7             	mov    %rdi,%rax
180107177:	f2 0f 10 44 24 20    	movsd  0x20(%rsp),%xmm0
18010717d:	41 d1 e9             	shr    $1,%r9d
180107180:	45 89 4b 14          	mov    %r9d,0x14(%r11)
180107184:	8b 0d ae e8 08 00    	mov    0x8e8ae(%rip),%ecx        # 0x180195a38
18010718a:	48 0f af cb          	imul   %rbx,%rcx
18010718e:	f2 41 0f 11 43 1c    	movsd  %xmm0,0x1c(%r11)
180107194:	41 d1 ea             	shr    $1,%r10d
180107197:	48 f7 e1             	mul    %rcx
18010719a:	8b 44 24 28          	mov    0x28(%rsp),%eax
18010719e:	48 2b ca             	sub    %rdx,%rcx
1801071a1:	41 89 43 24          	mov    %eax,0x24(%r11)
1801071a5:	48 d1 e9             	shr    $1,%rcx
1801071a8:	48 03 ca             	add    %rdx,%rcx
1801071ab:	48 c1 e9 09          	shr    $0x9,%rcx
1801071af:	41 2b ca             	sub    %r10d,%ecx
1801071b2:	41 89 4b 18          	mov    %ecx,0x18(%r11)
1801071b6:	33 c0                	xor    %eax,%eax
1801071b8:	eb 05                	jmp    0x1801071bf
1801071ba:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
1801071bf:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801071c4:	48 83 c4 30          	add    $0x30,%rsp
1801071c8:	5f                   	pop    %rdi
1801071c9:	c3                   	ret
1801071ca:	cc                   	int3
1801071cb:	cc                   	int3
1801071cc:	4c 8b dc             	mov    %rsp,%r11
1801071cf:	49 89 5b 18          	mov    %rbx,0x18(%r11)
1801071d3:	49 89 73 20          	mov    %rsi,0x20(%r11)
1801071d7:	49 89 4b 08          	mov    %rcx,0x8(%r11)
1801071db:	55                   	push   %rbp
1801071dc:	57                   	push   %rdi
1801071dd:	41 56                	push   %r14
1801071df:	48 8b ec             	mov    %rsp,%rbp
1801071e2:	48 83 ec 60          	sub    $0x60,%rsp
1801071e6:	8b 35 dc e7 08 00    	mov    0x8e7dc(%rip),%esi        # 0x1801959c8
1801071ec:	4c 8d 4d 20          	lea    0x20(%rbp),%r9
1801071f0:	8b 3d ce e7 08 00    	mov    0x8e7ce(%rip),%edi        # 0x1801959c4
1801071f6:	4c 8d 05 3f 59 06 00 	lea    0x6593f(%rip),%r8        # 0x18016cb3c
1801071fd:	b8 52 e0 00 00       	mov    $0xe052,%eax
180107202:	3b fe                	cmp    %esi,%edi
180107204:	66 89 05 31 59 06 00 	mov    %ax,0x65931(%rip)        # 0x18016cb3c
18010720b:	44 8b f6             	mov    %esi,%r14d
18010720e:	44 0f 46 f7          	cmovbe %edi,%r14d
180107212:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
180107217:	41 8b ce             	mov    %r14d,%ecx
18010721a:	0f af 0d 1f e8 08 00 	imul   0x8e81f(%rip),%ecx        # 0x180195a40
180107221:	f7 e1                	mul    %ecx
180107223:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
180107227:	8b ca                	mov    %edx,%ecx
180107229:	49 89 43 b0          	mov    %rax,-0x50(%r11)
18010722d:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
180107231:	c1 e9 06             	shr    $0x6,%ecx
180107234:	33 d2                	xor    %edx,%edx
180107236:	49 89 43 a8          	mov    %rax,-0x58(%r11)
18010723a:	e8 11 11 00 00       	call   0x180108350
18010723f:	85 c0                	test   %eax,%eax
180107241:	0f 88 f9 00 00 00    	js     0x180107340
180107247:	8b 05 5f e9 08 00    	mov    0x8e95f(%rip),%eax        # 0x180195bac
18010724d:	bb 01 00 00 00       	mov    $0x1,%ebx
180107252:	89 45 e0             	mov    %eax,-0x20(%rbp)
180107255:	8b 05 55 e9 08 00    	mov    0x8e955(%rip),%eax        # 0x180195bb0
18010725b:	89 45 e4             	mov    %eax,-0x1c(%rbp)
18010725e:	89 5d f4             	mov    %ebx,-0xc(%rbp)
180107261:	3b f7                	cmp    %edi,%esi
180107263:	72 04                	jb     0x180107269
180107265:	33 ff                	xor    %edi,%edi
180107267:	eb 04                	jmp    0x18010726d
180107269:	2b fe                	sub    %esi,%edi
18010726b:	d1 ef                	shr    $1,%edi
18010726d:	44 0f af 35 c7 e7 08 	imul   0x8e7c7(%rip),%r14d        # 0x180195a3c
180107274:	00
180107275:	4c 8d 4d 20          	lea    0x20(%rbp),%r9
180107279:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18010727e:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
180107282:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
180107287:	d1 ee                	shr    $1,%esi
180107289:	c7 44 24 20 0a 00 00 	movl   $0xa,0x20(%rsp)
180107290:	00
180107291:	41 f7 e6             	mul    %r14d
180107294:	48 8b 45 20          	mov    0x20(%rbp),%rax
180107298:	8b c8                	mov    %eax,%ecx
18010729a:	c1 ea 06             	shr    $0x6,%edx
18010729d:	d1 e9                	shr    $1,%ecx
18010729f:	03 fa                	add    %edx,%edi
1801072a1:	2b f1                	sub    %ecx,%esi
1801072a3:	89 7d 2c             	mov    %edi,0x2c(%rbp)
1801072a6:	8b 4d 24             	mov    0x24(%rbp),%ecx
1801072a9:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
1801072ad:	48 83 65 20 00       	andq   $0x0,0x20(%rbp)
1801072b2:	89 4d d4             	mov    %ecx,-0x2c(%rbp)
1801072b5:	48 8d 4d 28          	lea    0x28(%rbp),%rcx
1801072b9:	89 75 28             	mov    %esi,0x28(%rbp)
1801072bc:	89 45 d0             	mov    %eax,-0x30(%rbp)
1801072bf:	e8 b4 20 00 00       	call   0x180109378
1801072c4:	85 c0                	test   %eax,%eax
1801072c6:	78 78                	js     0x180107340
1801072c8:	f7 05 5e e7 08 00 00 	testl  $0x4000,0x8e75e(%rip)        # 0x180195a30
1801072cf:	40 00 00
1801072d2:	74 66                	je     0x18010733a
1801072d4:	8b 05 f6 e6 08 00    	mov    0x8e6f6(%rip),%eax        # 0x1801959d0
1801072da:	83 f8 04             	cmp    $0x4,%eax
1801072dd:	75 05                	jne    0x1801072e4
1801072df:	8d 58 14             	lea    0x14(%rax),%ebx
1801072e2:	eb 0b                	jmp    0x1801072ef
1801072e4:	83 f8 05             	cmp    $0x5,%eax
1801072e7:	b9 20 00 00 00       	mov    $0x20,%ecx
1801072ec:	0f 44 d9             	cmove  %ecx,%ebx
1801072ef:	0f af 5d d0          	imul   -0x30(%rbp),%ebx
1801072f3:	0f af 5d d4          	imul   -0x2c(%rbp),%ebx
1801072f7:	83 c3 07             	add    $0x7,%ebx
1801072fa:	c1 eb 03             	shr    $0x3,%ebx
1801072fd:	83 c3 48             	add    $0x48,%ebx
180107300:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
180107306:	72 0c                	jb     0x180107314
180107308:	81 c3 ff 0f 00 00    	add    $0xfff,%ebx
18010730e:	81 e3 00 f0 ff ff    	and    $0xfffff000,%ebx
180107314:	8d 43 38             	lea    0x38(%rbx),%eax
180107317:	6b c8 7a             	imul   $0x7a,%eax,%ecx
18010731a:	e8 31 2b f9 ff       	call   0x180099e50
18010731f:	48 85 c0             	test   %rax,%rax
180107322:	75 0e                	jne    0x180107332
180107324:	48 8d 0d e5 5a 05 00 	lea    0x55ae5(%rip),%rcx        # 0x18015ce10
18010732b:	e8 b8 91 f8 ff       	call   0x1800904e8
180107330:	eb 08                	jmp    0x18010733a
180107332:	48 8b c8             	mov    %rax,%rcx
180107335:	e8 c2 2c f9 ff       	call   0x180099ffc
18010733a:	48 8b 45 20          	mov    0x20(%rbp),%rax
18010733e:	eb 02                	jmp    0x180107342
180107340:	33 c0                	xor    %eax,%eax
180107342:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
180107347:	49 8b 5b 30          	mov    0x30(%r11),%rbx
18010734b:	49 8b 73 38          	mov    0x38(%r11),%rsi
18010734f:	49 8b e3             	mov    %r11,%rsp
180107352:	41 5e                	pop    %r14
180107354:	5f                   	pop    %rdi
180107355:	5d                   	pop    %rbp
180107356:	c3                   	ret
180107357:	cc                   	int3
180107358:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18010735d:	83 64 24 18 00       	andl   $0x0,0x18(%rsp)
180107362:	44 8b d2             	mov    %edx,%r10d
180107365:	8b c2                	mov    %edx,%eax
180107367:	45 0f b6 c8          	movzbl %r8b,%r9d
18010736b:	c1 e8 10             	shr    $0x10,%eax
18010736e:	8b d9                	mov    %ecx,%ebx
180107370:	44 0f b6 c0          	movzbl %al,%r8d
180107374:	41 bb ff 00 00 00    	mov    $0xff,%r11d
18010737a:	45 0f af c1          	imul   %r9d,%r8d
18010737e:	45 2b d9             	sub    %r9d,%r11d
180107381:	b8 81 80 80 80       	mov    $0x80808081,%eax
180107386:	41 f7 e0             	mul    %r8d
180107389:	8b c1                	mov    %ecx,%eax
18010738b:	c1 e8 10             	shr    $0x10,%eax
18010738e:	44 8b c2             	mov    %edx,%r8d
180107391:	0f b6 c8             	movzbl %al,%ecx
180107394:	b8 81 80 80 80       	mov    $0x80808081,%eax
180107399:	41 0f af cb          	imul   %r11d,%ecx
18010739d:	41 c1 e8 07          	shr    $0x7,%r8d
1801073a1:	f7 e9                	imul   %ecx
1801073a3:	03 d1                	add    %ecx,%edx
1801073a5:	c1 fa 07             	sar    $0x7,%edx
1801073a8:	8b c2                	mov    %edx,%eax
1801073aa:	c1 e8 1f             	shr    $0x1f,%eax
1801073ad:	03 d0                	add    %eax,%edx
1801073af:	41 8b c2             	mov    %r10d,%eax
1801073b2:	44 02 c2             	add    %dl,%r8b
1801073b5:	c1 e8 08             	shr    $0x8,%eax
1801073b8:	0f b6 c8             	movzbl %al,%ecx
1801073bb:	b8 81 80 80 80       	mov    $0x80808081,%eax
1801073c0:	41 0f af c9          	imul   %r9d,%ecx
1801073c4:	44 88 44 24 1a       	mov    %r8b,0x1a(%rsp)
1801073c9:	f7 e1                	mul    %ecx
1801073cb:	8b c3                	mov    %ebx,%eax
1801073cd:	c1 e8 08             	shr    $0x8,%eax
1801073d0:	44 8b c2             	mov    %edx,%r8d
1801073d3:	0f b6 c8             	movzbl %al,%ecx
1801073d6:	b8 81 80 80 80       	mov    $0x80808081,%eax
1801073db:	41 0f af cb          	imul   %r11d,%ecx
1801073df:	41 c1 e8 07          	shr    $0x7,%r8d
1801073e3:	f7 e9                	imul   %ecx
1801073e5:	b8 81 80 80 80       	mov    $0x80808081,%eax
1801073ea:	03 d1                	add    %ecx,%edx
1801073ec:	c1 fa 07             	sar    $0x7,%edx
1801073ef:	8b ca                	mov    %edx,%ecx
1801073f1:	c1 e9 1f             	shr    $0x1f,%ecx
1801073f4:	03 d1                	add    %ecx,%edx
1801073f6:	41 0f b6 ca          	movzbl %r10b,%ecx
1801073fa:	44 02 c2             	add    %dl,%r8b
1801073fd:	41 0f af c9          	imul   %r9d,%ecx
180107401:	44 88 44 24 19       	mov    %r8b,0x19(%rsp)
180107406:	f7 e1                	mul    %ecx
180107408:	0f b6 cb             	movzbl %bl,%ecx
18010740b:	b8 81 80 80 80       	mov    $0x80808081,%eax
180107410:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180107415:	44 8b c2             	mov    %edx,%r8d
180107418:	41 0f af cb          	imul   %r11d,%ecx
18010741c:	41 c1 e8 07          	shr    $0x7,%r8d
180107420:	f7 e9                	imul   %ecx
180107422:	03 d1                	add    %ecx,%edx
180107424:	c1 fa 07             	sar    $0x7,%edx
180107427:	8b c2                	mov    %edx,%eax
180107429:	c1 e8 1f             	shr    $0x1f,%eax
18010742c:	03 d0                	add    %eax,%edx
18010742e:	44 02 c2             	add    %dl,%r8b
180107431:	44 88 44 24 18       	mov    %r8b,0x18(%rsp)
180107436:	8b 44 24 18          	mov    0x18(%rsp),%eax
18010743a:	c3                   	ret
18010743b:	cc                   	int3
18010743c:	48 8b c4             	mov    %rsp,%rax
18010743f:	48 89 58 18          	mov    %rbx,0x18(%rax)
180107443:	4c 89 48 20          	mov    %r9,0x20(%rax)
180107447:	48 89 50 10          	mov    %rdx,0x10(%rax)
18010744b:	48 89 48 08          	mov    %rcx,0x8(%rax)
18010744f:	55                   	push   %rbp
180107450:	56                   	push   %rsi
180107451:	57                   	push   %rdi
180107452:	41 54                	push   %r12
180107454:	41 55                	push   %r13
180107456:	41 56                	push   %r14
180107458:	41 57                	push   %r15
18010745a:	48 83 ec 70          	sub    $0x70,%rsp
18010745e:	33 ff                	xor    %edi,%edi
180107460:	33 f6                	xor    %esi,%esi
180107462:	48 89 78 80          	mov    %rdi,-0x80(%rax)
180107466:	4d 8b f1             	mov    %r9,%r14
180107469:	89 74 24 24          	mov    %esi,0x24(%rsp)
18010746d:	49 8b d8             	mov    %r8,%rbx
180107470:	48 8b ea             	mov    %rdx,%rbp
180107473:	4c 8b f9             	mov    %rcx,%r15
180107476:	4d 85 c9             	test   %r9,%r9
180107479:	0f 84 c0 01 00 00    	je     0x18010763f
18010747f:	39 31                	cmp    %esi,(%rcx)
180107481:	0f 84 b8 01 00 00    	je     0x18010763f
180107487:	44 8b 02             	mov    (%rdx),%r8d
18010748a:	45 85 c0             	test   %r8d,%r8d
18010748d:	0f 84 ac 01 00 00    	je     0x18010763f
180107493:	44 8b 51 04          	mov    0x4(%rcx),%r10d
180107497:	45 85 d2             	test   %r10d,%r10d
18010749a:	0f 84 9f 01 00 00    	je     0x18010763f
1801074a0:	44 8b 4a 04          	mov    0x4(%rdx),%r9d
1801074a4:	45 85 c9             	test   %r9d,%r9d
1801074a7:	0f 84 92 01 00 00    	je     0x18010763f
1801074ad:	8d 57 20             	lea    0x20(%rdi),%edx
1801074b0:	39 51 08             	cmp    %edx,0x8(%rcx)
1801074b3:	0f 85 86 01 00 00    	jne    0x18010763f
1801074b9:	39 55 08             	cmp    %edx,0x8(%rbp)
1801074bc:	0f 85 7d 01 00 00    	jne    0x18010763f
1801074c2:	44 8b 1b             	mov    (%rbx),%r11d
1801074c5:	43 8d 04 0b          	lea    (%r11,%r9,1),%eax
1801074c9:	44 3b d0             	cmp    %eax,%r10d
1801074cc:	0f 82 6d 01 00 00    	jb     0x18010763f
1801074d2:	8b 4b 04             	mov    0x4(%rbx),%ecx
1801074d5:	42 8d 04 01          	lea    (%rcx,%r8,1),%eax
1801074d9:	41 39 07             	cmp    %eax,(%r15)
1801074dc:	0f 82 5d 01 00 00    	jb     0x18010763f
1801074e2:	49 8b 3e             	mov    (%r14),%rdi
1801074e5:	48 85 ff             	test   %rdi,%rdi
1801074e8:	75 38                	jne    0x180107522
1801074ea:	44 89 44 24 3c       	mov    %r8d,0x3c(%rsp)
1801074ef:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1801074f4:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
1801074f9:	44 89 4c 24 38       	mov    %r9d,0x38(%rsp)
1801074fe:	e8 c5 04 00 00       	call   0x1801079c8
180107503:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
180107508:	8b f0                	mov    %eax,%esi
18010750a:	89 44 24 24          	mov    %eax,0x24(%rsp)
18010750e:	85 c0                	test   %eax,%eax
180107510:	0f 88 32 01 00 00    	js     0x180107648
180107516:	45 8b 57 04          	mov    0x4(%r15),%r10d
18010751a:	8b 4b 04             	mov    0x4(%rbx),%ecx
18010751d:	44 8b 1b             	mov    (%rbx),%r11d
180107520:	eb 13                	jmp    0x180107535
180107522:	44 39 4f 04          	cmp    %r9d,0x4(%rdi)
180107526:	0f 85 0c 01 00 00    	jne    0x180107638
18010752c:	44 39 07             	cmp    %r8d,(%rdi)
18010752f:	0f 85 03 01 00 00    	jne    0x180107638
180107535:	44 8b 0f             	mov    (%rdi),%r9d
180107538:	44 8b 67 08          	mov    0x8(%rdi),%r12d
18010753c:	48 8b 55 18          	mov    0x18(%rbp),%rdx
180107540:	4c 8b 47 18          	mov    0x18(%rdi),%r8
180107544:	41 c1 ec 03          	shr    $0x3,%r12d
180107548:	41 0f af ca          	imul   %r10d,%ecx
18010754c:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
180107551:	4c 89 44 24 50       	mov    %r8,0x50(%rsp)
180107556:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
18010755b:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
180107560:	45 8d 2c 0b          	lea    (%r11,%rcx,1),%r13d
180107564:	45 0f af ec          	imul   %r12d,%r13d
180107568:	4d 03 6f 18          	add    0x18(%r15),%r13
18010756c:	45 85 c9             	test   %r9d,%r9d
18010756f:	0f 84 cf 00 00 00    	je     0x180107644
180107575:	8b 4f 04             	mov    0x4(%rdi),%ecx
180107578:	8b c1                	mov    %ecx,%eax
18010757a:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
18010757f:	85 c9                	test   %ecx,%ecx
180107581:	74 6c                	je     0x1801075ef
180107583:	41 8b c4             	mov    %r12d,%eax
180107586:	49 8b ed             	mov    %r13,%rbp