180070266:	e8 e5 9b 02 00       	call   0x180099e50
18007026b:	0f b7 4d f8          	movzwl -0x8(%rbp),%ecx
18007026f:	41 89 0e             	mov    %ecx,(%r14)
180070272:	49 89 07             	mov    %rax,(%r15)
180070275:	48 85 c0             	test   %rax,%rax
180070278:	75 32                	jne    0x1800702ac
18007027a:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18007027f:	e9 7d 01 00 00       	jmp    0x180070401
180070284:	4c 8b c7             	mov    %rdi,%r8
180070287:	e8 f0 06 00 00       	call   0x18007097c
18007028c:	85 c0                	test   %eax,%eax
18007028e:	0f 88 6d 01 00 00    	js     0x180070401
180070294:	48 8b 4b 78          	mov    0x78(%rbx),%rcx
180070298:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18007029c:	4c 8b cf             	mov    %rdi,%r9
18007029f:	45 8b c6             	mov    %r14d,%r8d
1800702a2:	4c 2b ce             	sub    %rsi,%r9
1800702a5:	e8 ea 0d 00 00       	call   0x180071094
1800702aa:	eb 87                	jmp    0x180070233
1800702ac:	66 89 48 08          	mov    %cx,0x8(%rax)
1800702b0:	0f b7 55 f8          	movzwl -0x8(%rbp),%edx
1800702b4:	48 8b 43 18          	mov    0x18(%rbx),%rax
1800702b8:	49 8b 0f             	mov    (%r15),%rcx
1800702bb:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
1800702c0:	44 0f b7 ca          	movzwl %dx,%r9d
1800702c4:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1800702c9:	48 39 83 a0 00 00 00 	cmp    %rax,0xa0(%rbx)
1800702d0:	73 15                	jae    0x1800702e7
1800702d2:	4d 8b c4             	mov    %r12,%r8
1800702d5:	48 8d 53 08          	lea    0x8(%rbx),%rdx
1800702d9:	4c 8b 65 58          	mov    0x58(%rbp),%r12
1800702dd:	49 8b cc             	mov    %r12,%rcx
1800702e0:	e8 97 06 00 00       	call   0x18007097c
1800702e5:	eb 32                	jmp    0x180070319
1800702e7:	4c 8b 65 58          	mov    0x58(%rbp),%r12
1800702eb:	48 8d 53 28          	lea    0x28(%rbx),%rdx
1800702ef:	49 8b cc             	mov    %r12,%rcx
1800702f2:	4c 8b c7             	mov    %rdi,%r8
1800702f5:	e8 82 06 00 00       	call   0x18007097c
1800702fa:	85 c0                	test   %eax,%eax
1800702fc:	0f 88 ff 00 00 00    	js     0x180070401
180070302:	44 0f b7 45 f8       	movzwl -0x8(%rbp),%r8d
180070307:	4c 8b cf             	mov    %rdi,%r9
18007030a:	49 8b 17             	mov    (%r15),%rdx
18007030d:	4c 2b ce             	sub    %rsi,%r9
180070310:	48 8b 4b 78          	mov    0x78(%rbx),%rcx
180070314:	e8 7b 0d 00 00       	call   0x180071094
180070319:	8b d0                	mov    %eax,%edx
18007031b:	85 c0                	test   %eax,%eax
18007031d:	0f 88 d9 00 00 00    	js     0x1800703fc
180070323:	f6 45 fc 02          	testb  $0x2,-0x4(%rbp)
180070327:	0f 84 c0 00 00 00    	je     0x1800703ed
18007032d:	44 8a 75 40          	mov    0x40(%rbp),%r14b
180070331:	8b 4b 68             	mov    0x68(%rbx),%ecx
180070334:	48 8d 71 ff          	lea    -0x1(%rcx),%rsi
180070338:	48 03 f7             	add    %rdi,%rsi
18007033b:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
18007033f:	48 f7 d0             	not    %rax
180070342:	48 23 f0             	and    %rax,%rsi
180070345:	48 3b f7             	cmp    %rdi,%rsi
180070348:	0f 82 8a 00 00 00    	jb     0x1800703d8
18007034e:	48 8b c6             	mov    %rsi,%rax
180070351:	48 8b fe             	mov    %rsi,%rdi
180070354:	48 99                	cqto
180070356:	48 f7 f9             	idiv   %rcx
180070359:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
18007035d:	48 8b d0             	mov    %rax,%rdx
180070360:	4c 8b f8             	mov    %rax,%r15
180070363:	e8 b4 00 00 00       	call   0x18007041c
180070368:	85 c0                	test   %eax,%eax
18007036a:	78 61                	js     0x1800703cd
18007036c:	8b bb 80 00 00 00    	mov    0x80(%rbx),%edi
180070372:	48 8d 45 58          	lea    0x58(%rbp),%rax
180070376:	48 83 c7 18          	add    $0x18,%rdi
18007037a:	45 8b c7             	mov    %r15d,%r8d
18007037d:	48 03 fe             	add    %rsi,%rdi
180070380:	49 c1 e8 03          	shr    $0x3,%r8
180070384:	48 8d 53 48          	lea    0x48(%rbx),%rdx
180070388:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
18007038d:	41 b9 01 00 00 00    	mov    $0x1,%r9d
180070393:	41 8b f7             	mov    %r15d,%esi
180070396:	49 8b cc             	mov    %r12,%rcx
180070399:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18007039e:	e8 d9 05 00 00       	call   0x18007097c
1800703a3:	8b d0                	mov    %eax,%edx
1800703a5:	85 c0                	test   %eax,%eax
1800703a7:	78 16                	js     0x1800703bf
1800703a9:	83 e6 07             	and    $0x7,%esi
1800703ac:	ba 01 00 00 00       	mov    $0x1,%edx
1800703b1:	40 8a ce             	mov    %sil,%cl
1800703b4:	d3 e2                	shl    %cl,%edx
1800703b6:	84 55 58             	test   %dl,0x58(%rbp)
1800703b9:	41 0f 95 c6          	setne  %r14b
1800703bd:	33 d2                	xor    %edx,%edx
1800703bf:	85 d2                	test   %edx,%edx
1800703c1:	78 39                	js     0x1800703fc
1800703c3:	45 84 f6             	test   %r14b,%r14b
1800703c6:	75 15                	jne    0x1800703dd
1800703c8:	e9 64 ff ff ff       	jmp    0x180070331
1800703cd:	3d 0d 00 00 c0       	cmp    $0xc000000d,%eax
1800703d2:	75 2d                	jne    0x180070401
1800703d4:	33 d2                	xor    %edx,%edx
1800703d6:	eb 05                	jmp    0x1800703dd
1800703d8:	ba 95 00 00 c0       	mov    $0xc0000095,%edx
1800703dd:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1800703e1:	48 03 cf             	add    %rdi,%rcx
1800703e4:	48 89 8b a0 00 00 00 	mov    %rcx,0xa0(%rbx)
1800703eb:	eb 0b                	jmp    0x1800703f8
1800703ed:	0f b7 45 f8          	movzwl -0x8(%rbp),%eax
1800703f1:	48 01 83 a0 00 00 00 	add    %rax,0xa0(%rbx)
1800703f8:	8b c2                	mov    %edx,%eax
1800703fa:	eb 05                	jmp    0x180070401
1800703fc:	b8 e9 00 00 c0       	mov    $0xc00000e9,%eax
180070401:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
180070408:	00
180070409:	48 83 c4 40          	add    $0x40,%rsp
18007040d:	41 5f                	pop    %r15
18007040f:	41 5e                	pop    %r14
180070411:	41 5d                	pop    %r13
180070413:	41 5c                	pop    %r12
180070415:	5f                   	pop    %rdi
180070416:	5e                   	pop    %rsi
180070417:	5d                   	pop    %rbp
180070418:	c3                   	ret
180070419:	cc                   	int3
18007041a:	cc                   	int3
18007041b:	cc                   	int3
18007041c:	4c 8b dc             	mov    %rsp,%r11
18007041f:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180070423:	49 89 6b 10          	mov    %rbp,0x10(%r11)
180070427:	49 89 73 18          	mov    %rsi,0x18(%r11)
18007042b:	49 89 7b 20          	mov    %rdi,0x20(%r11)
18007042f:	41 54                	push   %r12
180070431:	41 56                	push   %r14
180070433:	41 57                	push   %r15
180070435:	48 83 ec 60          	sub    $0x60,%rsp
180070439:	48 8b 59 78          	mov    0x78(%rcx),%rbx
18007043d:	4c 8b f2             	mov    %rdx,%r14
180070440:	48 8b 05 e9 46 13 00 	mov    0x1346e9(%rip),%rax        # 0x1801a4b30
180070447:	41 b9 2c 00 00 00    	mov    $0x2c,%r9d
18007044d:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
180070452:	8b 8b e0 00 00 00    	mov    0xe0(%rbx),%ecx
180070458:	8b 6b 68             	mov    0x68(%rbx),%ebp
18007045b:	48 0f af ea          	imul   %rdx,%rbp
18007045f:	4c 8b 3c c8          	mov    (%rax,%rcx,8),%r15
180070463:	48 8d 53 28          	lea    0x28(%rbx),%rdx
180070467:	49 8d 43 b8          	lea    -0x48(%r11),%rax
18007046b:	4c 8b c5             	mov    %rbp,%r8
18007046e:	49 8b cf             	mov    %r15,%rcx
180070471:	49 89 43 a8          	mov    %rax,-0x58(%r11)
180070475:	e8 02 05 00 00       	call   0x18007097c
18007047a:	85 c0                	test   %eax,%eax
18007047c:	78 76                	js     0x1800704f4
18007047e:	0f b7 44 24 36       	movzwl 0x36(%rsp),%eax
180070483:	8d 34 45 2c 00 00 00 	lea    0x2c(,%rax,2),%esi
18007048a:	8b ce                	mov    %esi,%ecx
18007048c:	e8 bf 99 02 00       	call   0x180099e50
180070491:	48 8b f8             	mov    %rax,%rdi
180070494:	48 85 c0             	test   %rax,%rax
180070497:	75 07                	jne    0x1800704a0
180070499:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18007049e:	eb 54                	jmp    0x1800704f4
1800704a0:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
1800704a5:	48 8d 53 28          	lea    0x28(%rbx),%rdx
1800704a9:	44 8b ce             	mov    %esi,%r9d
1800704ac:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1800704b1:	4c 8b c5             	mov    %rbp,%r8
1800704b4:	49 8b cf             	mov    %r15,%rcx
1800704b7:	e8 c0 04 00 00       	call   0x18007097c
1800704bc:	8b f0                	mov    %eax,%esi
1800704be:	85 c0                	test   %eax,%eax
1800704c0:	79 0c                	jns    0x1800704ce
1800704c2:	48 8b cf             	mov    %rdi,%rcx
1800704c5:	e8 32 9b 02 00       	call   0x180099ffc
1800704ca:	8b c6                	mov    %esi,%eax
1800704cc:	eb 26                	jmp    0x1800704f4
1800704ce:	48 8b 4b 78          	mov    0x78(%rbx),%rcx
1800704d2:	49 8d 46 01          	lea    0x1(%r14),%rax
1800704d6:	48 89 43 70          	mov    %rax,0x70(%rbx)
1800704da:	8b 44 24 48          	mov    0x48(%rsp),%eax
1800704de:	89 83 80 00 00 00    	mov    %eax,0x80(%rbx)
1800704e4:	48 85 c9             	test   %rcx,%rcx
1800704e7:	74 05                	je     0x1800704ee
1800704e9:	e8 0e 9b 02 00       	call   0x180099ffc
1800704ee:	48 89 7b 78          	mov    %rdi,0x78(%rbx)
1800704f2:	33 c0                	xor    %eax,%eax
1800704f4:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1800704f9:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1800704fd:	49 8b 6b 28          	mov    0x28(%r11),%rbp
180070501:	49 8b 73 30          	mov    0x30(%r11),%rsi
180070505:	49 8b 7b 38          	mov    0x38(%r11),%rdi
180070509:	49 8b e3             	mov    %r11,%rsp
18007050c:	41 5f                	pop    %r15
18007050e:	41 5e                	pop    %r14
180070510:	41 5c                	pop    %r12
180070512:	c3                   	ret
180070513:	cc                   	int3
180070514:	48 8b c4             	mov    %rsp,%rax
180070517:	48 89 58 08          	mov    %rbx,0x8(%rax)
18007051b:	48 89 68 10          	mov    %rbp,0x10(%rax)
18007051f:	48 89 70 18          	mov    %rsi,0x18(%rax)
180070523:	57                   	push   %rdi
180070524:	48 83 ec 50          	sub    $0x50,%rsp
180070528:	41 8b e8             	mov    %r8d,%ebp
18007052b:	49 8b f1             	mov    %r9,%rsi
18007052e:	4c 8d 40 e8          	lea    -0x18(%rax),%r8
180070532:	48 8b da             	mov    %rdx,%rbx
180070535:	48 8b f9             	mov    %rcx,%rdi
180070538:	e8 a7 0d 00 00       	call   0x1800712e4
18007053d:	85 c0                	test   %eax,%eax
18007053f:	78 32                	js     0x180070573
180070541:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
180070548:	00
180070549:	44 8b cd             	mov    %ebp,%r9d
18007054c:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
180070551:	4c 8b c3             	mov    %rbx,%r8
180070554:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
180070559:	48 8b cf             	mov    %rdi,%rcx
18007055c:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
180070563:	00
180070564:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180070569:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18007056e:	e8 19 00 00 00       	call   0x18007058c
180070573:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180070578:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18007057d:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180070582:	48 83 c4 50          	add    $0x50,%rsp
180070586:	5f                   	pop    %rdi
180070587:	c3                   	ret
180070588:	cc                   	int3
180070589:	cc                   	int3
18007058a:	cc                   	int3
18007058b:	cc                   	int3
18007058c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
180070591:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
180070596:	55                   	push   %rbp
180070597:	56                   	push   %rsi
180070598:	57                   	push   %rdi
180070599:	41 54                	push   %r12
18007059b:	41 55                	push   %r13
18007059d:	41 56                	push   %r14
18007059f:	41 57                	push   %r15
1800705a1:	48 8d 6c 24 f1       	lea    -0xf(%rsp),%rbp
1800705a6:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1800705ad:	0f b7 5a 14          	movzwl 0x14(%rdx),%ebx
1800705b1:	0f 57 c0             	xorps  %xmm0,%xmm0
1800705b4:	44 8b 61 38          	mov    0x38(%rcx),%r12d
1800705b8:	45 33 d2             	xor    %r10d,%r10d
1800705bb:	48 8b 7d 7f          	mov    0x7f(%rbp),%rdi
1800705bf:	48 03 da             	add    %rdx,%rbx
1800705c2:	4c 03 e2             	add    %rdx,%r12
1800705c5:	4c 89 55 4f          	mov    %r10,0x4f(%rbp)
1800705c9:	45 8b f9             	mov    %r9d,%r15d
1800705cc:	48 8b f2             	mov    %rdx,%rsi
1800705cf:	4c 8b e9             	mov    %rcx,%r13
1800705d2:	0f 11 45 bf          	movups %xmm0,-0x41(%rbp)
1800705d6:	0f 11 45 cf          	movups %xmm0,-0x31(%rbp)
1800705da:	f6 c3 03             	test   $0x3,%bl
1800705dd:	0f 85 0e 02 00 00    	jne    0x1800707f1
1800705e3:	48 8d 43 04          	lea    0x4(%rbx),%rax
1800705e7:	48 89 45 57          	mov    %rax,0x57(%rbp)
1800705eb:	49 3b c4             	cmp    %r12,%rax
1800705ee:	0f 87 ec 01 00 00    	ja     0x1800707e0
1800705f4:	83 3b ff             	cmpl   $0xffffffff,(%rbx)
1800705f7:	0f 84 09 02 00 00    	je     0x180070806
1800705fd:	44 3b 3b             	cmp    (%rbx),%r15d
180070600:	73 0a                	jae    0x18007060c
180070602:	83 7d cb 20          	cmpl   $0x20,-0x35(%rbp)
180070606:	0f 84 04 02 00 00    	je     0x180070810
18007060c:	4c 8d 73 10          	lea    0x10(%rbx),%r14
180070610:	4d 3b f4             	cmp    %r12,%r14
180070613:	0f 87 be 01 00 00    	ja     0x1800707d7
180070619:	80 7b 08 01          	cmpb   $0x1,0x8(%rbx)
18007061d:	b8 48 00 00 00       	mov    $0x48,%eax
180070622:	8d 48 d0             	lea    -0x30(%rax),%ecx
180070625:	0f 45 c1             	cmovne %ecx,%eax
180070628:	48 03 c3             	add    %rbx,%rax
18007062b:	49 3b c4             	cmp    %r12,%rax
18007062e:	0f 87 a3 01 00 00    	ja     0x1800707d7
180070634:	44 39 3b             	cmp    %r15d,(%rbx)
180070637:	75 58                	jne    0x180070691
180070639:	41 81 ff 80 00 00 00 	cmp    $0x80,%r15d
180070640:	75 32                	jne    0x180070674
180070642:	4c 8b 4d 6f          	mov    0x6f(%rbp),%r9
180070646:	0f b6 4b 09          	movzbl 0x9(%rbx),%ecx
18007064a:	41 0f b7 01          	movzwl (%r9),%eax
18007064e:	66 d1 e8             	shr    $1,%ax
180070651:	66 3b c1             	cmp    %cx,%ax
180070654:	75 3b                	jne    0x180070691
180070656:	0f b7 53 0a          	movzwl 0xa(%rbx),%edx
18007065a:	44 8b c1             	mov    %ecx,%r8d
18007065d:	49 8b 49 08          	mov    0x8(%r9),%rcx
180070661:	48 03 d3             	add    %rbx,%rdx
180070664:	e8 d3 a7 0b 00       	call   0x18012ae3c
180070669:	45 33 d2             	xor    %r10d,%r10d
18007066c:	85 c0                	test   %eax,%eax
18007066e:	75 21                	jne    0x180070691
180070670:	4c 8b 45 5f          	mov    0x5f(%rbp),%r8
180070674:	80 7b 08 01          	cmpb   $0x1,0x8(%rbx)
180070678:	48 8b 4d 77          	mov    0x77(%rbp),%rcx
18007067c:	0f 85 b4 00 00 00    	jne    0x180070736
180070682:	49 39 0e             	cmp    %rcx,(%r14)
180070685:	7f 0a                	jg     0x180070691
180070687:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
18007068b:	0f 8e a5 00 00 00    	jle    0x180070736
180070691:	83 3b 20             	cmpl   $0x20,(%rbx)
180070694:	4c 8b 45 5f          	mov    0x5f(%rbp),%r8
180070698:	75 7d                	jne    0x180070717
18007069a:	4c 89 45 bf          	mov    %r8,-0x41(%rbp)
18007069e:	8b c3                	mov    %ebx,%eax
1800706a0:	2b c6                	sub    %esi,%eax
1800706a2:	89 45 c7             	mov    %eax,-0x39(%rbp)
1800706a5:	8b 03                	mov    (%rbx),%eax
1800706a7:	89 45 cb             	mov    %eax,-0x35(%rbp)
1800706aa:	c7 45 d7 00 00 00 40 	movl   $0x40000000,-0x29(%rbp)
1800706b1:	44 38 53 08          	cmp    %r10b,0x8(%rbx)
1800706b5:	75 10                	jne    0x1800706c7
1800706b7:	c7 45 d7 00 00 00 c0 	movl   $0xc0000000,-0x29(%rbp)
1800706be:	41 8b 06             	mov    (%r14),%eax
1800706c1:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
1800706c5:	eb 50                	jmp    0x180070717
1800706c7:	48 8b 43 30          	mov    0x30(%rbx),%rax
1800706cb:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
1800706cf:	0f b7 43 0c          	movzwl 0xc(%rbx),%eax
1800706d3:	0f b6 c8             	movzbl %al,%ecx
1800706d6:	84 c0                	test   %al,%al
1800706d8:	74 3d                	je     0x180070717
1800706da:	41 0f be 45 0a       	movsbl 0xa(%r13),%eax
1800706df:	0f ba e9 1e          	bts    $0x1e,%ecx
1800706e3:	89 4d d7             	mov    %ecx,-0x29(%rbp)
1800706e6:	3c 80                	cmp    $0x80,%al
1800706e8:	77 05                	ja     0x1800706ef
1800706ea:	0f b6 d0             	movzbl %al,%edx
1800706ed:	eb 0b                	jmp    0x1800706fa
1800706ef:	8b c8                	mov    %eax,%ecx
1800706f1:	ba 01 00 00 00       	mov    $0x1,%edx
1800706f6:	f7 d9                	neg    %ecx
1800706f8:	d3 e2                	shl    %cl,%edx
1800706fa:	41 0f b7 45 08       	movzwl 0x8(%r13),%eax
1800706ff:	0f af c2             	imul   %edx,%eax
180070702:	44 38 53 22          	cmp    %r10b,0x22(%rbx)
180070706:	76 0c                	jbe    0x180070714
180070708:	0f b6 4b 22          	movzbl 0x22(%rbx),%ecx
18007070c:	03 c0                	add    %eax,%eax
18007070e:	48 83 e9 01          	sub    $0x1,%rcx
180070712:	75 f8                	jne    0x18007070c
180070714:	89 45 db             	mov    %eax,-0x25(%rbp)
180070717:	48 8b 4d 57          	mov    0x57(%rbp),%rcx
18007071b:	48 8b c3             	mov    %rbx,%rax
18007071e:	8b 19                	mov    (%rcx),%ebx