180071280:	44 8b c8             	mov    %eax,%r9d
180071283:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
180071288:	48 8b cb             	mov    %rbx,%rcx
18007128b:	e8 ec f6 ff ff       	call   0x18007097c
180071290:	8b f0                	mov    %eax,%esi
180071292:	8b 0b                	mov    (%rbx),%ecx
180071294:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180071299:	44 89 7c 24 40       	mov    %r15d,0x40(%rsp)
18007129e:	e8 ed 5a fb ff       	call   0x180026d90
1800712a3:	85 f6                	test   %esi,%esi
1800712a5:	79 04                	jns    0x1800712ab
1800712a7:	8b c6                	mov    %esi,%eax
1800712a9:	eb 19                	jmp    0x1800712c4
1800712ab:	44 8b 43 38          	mov    0x38(%rbx),%r8d
1800712af:	45 33 c9             	xor    %r9d,%r9d
1800712b2:	48 8b d5             	mov    %rbp,%rdx
1800712b5:	48 8b cd             	mov    %rbp,%rcx
1800712b8:	e8 d7 fd ff ff       	call   0x180071094
1800712bd:	85 c0                	test   %eax,%eax
1800712bf:	0f 48 f8             	cmovs  %eax,%edi
1800712c2:	8b c7                	mov    %edi,%eax
1800712c4:	4c 8d 9c 24 50 01 00 	lea    0x150(%rsp),%r11
1800712cb:	00
1800712cc:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1800712d0:	49 8b 6b 28          	mov    0x28(%r11),%rbp
1800712d4:	49 8b 73 30          	mov    0x30(%r11),%rsi
1800712d8:	49 8b e3             	mov    %r11,%rsp
1800712db:	41 5f                	pop    %r15
1800712dd:	41 5e                	pop    %r14
1800712df:	5f                   	pop    %rdi
1800712e0:	c3                   	ret
1800712e1:	cc                   	int3
1800712e2:	cc                   	int3
1800712e3:	cc                   	int3
1800712e4:	4c 8b dc             	mov    %rsp,%r11
1800712e7:	49 89 5b 18          	mov    %rbx,0x18(%r11)
1800712eb:	49 89 6b 20          	mov    %rbp,0x20(%r11)
1800712ef:	56                   	push   %rsi
1800712f0:	57                   	push   %rdi
1800712f1:	41 54                	push   %r12
1800712f3:	41 56                	push   %r14
1800712f5:	41 57                	push   %r15
1800712f7:	48 83 ec 30          	sub    $0x30,%rsp
1800712fb:	49 8d 43 08          	lea    0x8(%r11),%rax
1800712ff:	49 89 53 08          	mov    %rdx,0x8(%r11)
180071303:	4d 8b e0             	mov    %r8,%r12
180071306:	c7 44 24 20 08 00 00 	movl   $0x8,0x20(%rsp)
18007130d:	00
18007130e:	4c 8b fa             	mov    %rdx,%r15
180071311:	49 89 43 d0          	mov    %rax,-0x30(%r11)
180071315:	83 64 24 24 00       	andl   $0x0,0x24(%rsp)
18007131a:	4d 8d 43 10          	lea    0x10(%r11),%r8
18007131e:	48 8b e9             	mov    %rcx,%rbp
180071321:	49 8d 53 c8          	lea    -0x38(%r11),%rdx
180071325:	8b 49 60             	mov    0x60(%rcx),%ecx
180071328:	e8 e7 3b 02 00       	call   0x180094f14
18007132d:	85 c0                	test   %eax,%eax
18007132f:	79 7a                	jns    0x1800713ab
180071331:	8b 75 38             	mov    0x38(%rbp),%esi
180071334:	8d 46 08             	lea    0x8(%rsi),%eax
180071337:	3b c6                	cmp    %esi,%eax
180071339:	72 69                	jb     0x1800713a4
18007133b:	8b c8                	mov    %eax,%ecx
18007133d:	e8 0e 8b 02 00       	call   0x180099e50
180071342:	48 8b d8             	mov    %rax,%rbx
180071345:	48 85 c0             	test   %rax,%rax
180071348:	75 07                	jne    0x180071351
18007134a:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18007134f:	eb 69                	jmp    0x1800713ba
180071351:	48 8d 78 08          	lea    0x8(%rax),%rdi
180071355:	49 8b d7             	mov    %r15,%rdx
180071358:	4c 8b c7             	mov    %rdi,%r8
18007135b:	48 8b cd             	mov    %rbp,%rcx
18007135e:	e8 6d fe ff ff       	call   0x1800711d0
180071363:	44 8b f0             	mov    %eax,%r14d
180071366:	85 c0                	test   %eax,%eax
180071368:	79 0d                	jns    0x180071377
18007136a:	48 8b cb             	mov    %rbx,%rcx
18007136d:	e8 8a 8c 02 00       	call   0x180099ffc
180071372:	41 8b c6             	mov    %r14d,%eax
180071375:	eb 43                	jmp    0x1800713ba
180071377:	4c 89 3b             	mov    %r15,(%rbx)
18007137a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
18007137f:	8b 4d 60             	mov    0x60(%rbp),%ecx
180071382:	44 8b ce             	mov    %esi,%r9d
180071385:	4c 8b c7             	mov    %rdi,%r8
180071388:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
18007138d:	e8 46 3c 02 00       	call   0x180094fd8
180071392:	8b f0                	mov    %eax,%esi
180071394:	85 c0                	test   %eax,%eax
180071396:	79 1c                	jns    0x1800713b4
180071398:	48 8b cb             	mov    %rbx,%rcx
18007139b:	e8 5c 8c 02 00       	call   0x180099ffc
1800713a0:	8b c6                	mov    %esi,%eax
1800713a2:	eb 16                	jmp    0x1800713ba
1800713a4:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
1800713a9:	eb 0f                	jmp    0x1800713ba
1800713ab:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1800713b0:	48 8b 78 08          	mov    0x8(%rax),%rdi
1800713b4:	49 89 3c 24          	mov    %rdi,(%r12)
1800713b8:	33 c0                	xor    %eax,%eax
1800713ba:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1800713bf:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
1800713c4:	48 83 c4 30          	add    $0x30,%rsp
1800713c8:	41 5f                	pop    %r15
1800713ca:	41 5e                	pop    %r14
1800713cc:	41 5c                	pop    %r12
1800713ce:	5f                   	pop    %rdi
1800713cf:	5e                   	pop    %rsi
1800713d0:	c3                   	ret
1800713d1:	cc                   	int3
1800713d2:	cc                   	int3
1800713d3:	cc                   	int3
1800713d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800713d9:	57                   	push   %rdi
1800713da:	48 83 ec 30          	sub    $0x30,%rsp
1800713de:	4c 8b d1             	mov    %rcx,%r10
1800713e1:	45 8b d9             	mov    %r9d,%r11d
1800713e4:	49 8d 48 ff          	lea    -0x1(%r8),%rcx
1800713e8:	49 8b d8             	mov    %r8,%rbx
1800713eb:	49 03 cb             	add    %r11,%rcx
1800713ee:	8b fa                	mov    %edx,%edi
1800713f0:	4d 85 d2             	test   %r10,%r10
1800713f3:	75 36                	jne    0x18007142b
1800713f5:	48 81 f9 00 00 10 00 	cmp    $0x100000,%rcx
1800713fc:	73 41                	jae    0x18007143f
1800713fe:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
180071403:	45 8b c3             	mov    %r11d,%r8d
180071406:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18007140b:	48 8b d3             	mov    %rbx,%rdx
18007140e:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
180071413:	8b cf                	mov    %edi,%ecx
180071415:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18007141a:	e8 fd 5a fb ff       	call   0x180026f1c
18007141f:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180071424:	48 83 c4 30          	add    $0x30,%rsp
180071428:	5f                   	pop    %rdi
180071429:	c3                   	ret
18007142a:	cc                   	int3
18007142b:	41 8b 42 64          	mov    0x64(%r10),%eax
18007142f:	48 03 c1             	add    %rcx,%rax
180071432:	41 8b 4a 68          	mov    0x68(%r10),%ecx
180071436:	48 d3 e8             	shr    %cl,%rax
180071439:	49 3b 42 70          	cmp    0x70(%r10),%rax
18007143d:	76 bf                	jbe    0x1800713fe
18007143f:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
180071444:	eb d9                	jmp    0x18007141f
180071446:	cc                   	int3
180071447:	cc                   	int3
180071448:	48 8b 42 08          	mov    0x8(%rdx),%rax
18007144c:	4c 8b 41 08          	mov    0x8(%rcx),%r8
180071450:	48 8b 08             	mov    (%rax),%rcx
180071453:	49 39 08             	cmp    %rcx,(%r8)
180071456:	0f 94 c0             	sete   %al
180071459:	c3                   	ret
18007145a:	cc                   	int3
18007145b:	cc                   	int3
18007145c:	48 8b 51 08          	mov    0x8(%rcx),%rdx
180071460:	0f b6 42 06          	movzbl 0x6(%rdx),%eax
180071464:	0f b6 4a 03          	movzbl 0x3(%rdx),%ecx
180071468:	44 0f b6 42 07       	movzbl 0x7(%rdx),%r8d
18007146d:	44 03 c0             	add    %eax,%r8d
180071470:	0f b6 42 05          	movzbl 0x5(%rdx),%eax
180071474:	44 03 c0             	add    %eax,%r8d
180071477:	0f b6 42 04          	movzbl 0x4(%rdx),%eax
18007147b:	41 03 c0             	add    %r8d,%eax
18007147e:	03 c1                	add    %ecx,%eax
180071480:	0f b6 4a 02          	movzbl 0x2(%rdx),%ecx
180071484:	03 c1                	add    %ecx,%eax
180071486:	0f b6 4a 01          	movzbl 0x1(%rdx),%ecx
18007148a:	03 c1                	add    %ecx,%eax
18007148c:	0f b6 0a             	movzbl (%rdx),%ecx
18007148f:	03 c1                	add    %ecx,%eax
180071491:	83 e0 7f             	and    $0x7f,%eax
180071494:	c3                   	ret
180071495:	cc                   	int3
180071496:	cc                   	int3
180071497:	cc                   	int3
180071498:	48 8b c4             	mov    %rsp,%rax
18007149b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18007149f:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800714a3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800714a7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800714ab:	41 54                	push   %r12
1800714ad:	41 56                	push   %r14
1800714af:	41 57                	push   %r15
1800714b1:	48 83 ec 30          	sub    $0x30,%rsp
1800714b5:	45 8b f1             	mov    %r9d,%r14d
1800714b8:	33 f6                	xor    %esi,%esi
1800714ba:	49 c1 e6 02          	shl    $0x2,%r14
1800714be:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1800714c3:	41 8b e9             	mov    %r9d,%ebp
1800714c6:	45 8b f8             	mov    %r8d,%r15d
1800714c9:	8b fa                	mov    %edx,%edi
1800714cb:	4c 8b e1             	mov    %rcx,%r12
1800714ce:	4c 3b f0             	cmp    %rax,%r14
1800714d1:	0f 87 c8 00 00 00    	ja     0x18007159f
1800714d7:	41 8d 46 08          	lea    0x8(%r14),%eax
1800714db:	41 3b c6             	cmp    %r14d,%eax
1800714de:	0f 82 bb 00 00 00    	jb     0x18007159f
1800714e4:	8b c8                	mov    %eax,%ecx
1800714e6:	33 db                	xor    %ebx,%ebx
1800714e8:	e8 63 89 02 00       	call   0x180099e50
1800714ed:	48 8b f0             	mov    %rax,%rsi
1800714f0:	48 85 c0             	test   %rax,%rax
1800714f3:	75 0a                	jne    0x1800714ff
1800714f5:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
1800714fa:	e9 a5 00 00 00       	jmp    0x1800715a4
1800714ff:	85 ed                	test   %ebp,%ebp
180071501:	74 36                	je     0x180071539
180071503:	49 8b 44 24 78       	mov    0x78(%r12),%rax
180071508:	44 8b 90 e0 00 00 00 	mov    0xe0(%rax),%r10d
18007150f:	48 8d 50 08          	lea    0x8(%rax),%rdx
180071513:	48 8b 0d 16 36 13 00 	mov    0x133616(%rip),%rcx        # 0x1801a4b30
18007151a:	45 8b ce             	mov    %r14d,%r9d
18007151d:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
180071522:	45 33 c0             	xor    %r8d,%r8d
180071525:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18007152a:	4a 8b 0c d1          	mov    (%rcx,%r10,8),%rcx
18007152e:	e8 49 f4 ff ff       	call   0x18007097c
180071533:	8b d8                	mov    %eax,%ebx
180071535:	85 c0                	test   %eax,%eax
180071537:	78 6b                	js     0x1800715a4
180071539:	8b d5                	mov    %ebp,%edx
18007153b:	49 8d 0c 36          	lea    (%r14,%rsi,1),%rcx
18007153f:	c1 e2 02             	shl    $0x2,%edx
180071542:	89 79 04             	mov    %edi,0x4(%rcx)
180071545:	85 ed                	test   %ebp,%ebp
180071547:	74 2d                	je     0x180071576
180071549:	45 33 c9             	xor    %r9d,%r9d
18007154c:	85 ed                	test   %ebp,%ebp
18007154e:	74 26                	je     0x180071576
180071550:	44 8b 41 fc          	mov    -0x4(%rcx),%r8d
180071554:	44 03 c2             	add    %edx,%r8d
180071557:	44 3b c7             	cmp    %edi,%r8d
18007155a:	77 31                	ja     0x18007158d
18007155c:	41 2b f8             	sub    %r8d,%edi
18007155f:	41 3b ff             	cmp    %r15d,%edi
180071562:	77 29                	ja     0x18007158d
180071564:	44 89 01             	mov    %r8d,(%rcx)
180071567:	41 ff c1             	inc    %r9d
18007156a:	48 83 e9 04          	sub    $0x4,%rcx
18007156e:	41 8b f8             	mov    %r8d,%edi
180071571:	44 3b cd             	cmp    %ebp,%r9d
180071574:	72 da                	jb     0x180071550
180071576:	3b d7                	cmp    %edi,%edx
180071578:	77 1a                	ja     0x180071594
18007157a:	2b fa                	sub    %edx,%edi
18007157c:	41 3b ff             	cmp    %r15d,%edi
18007157f:	77 13                	ja     0x180071594
180071581:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
180071586:	89 11                	mov    %edx,(%rcx)
180071588:	48 89 30             	mov    %rsi,(%rax)
18007158b:	eb 0c                	jmp    0x180071599
18007158d:	bb 02 01 00 c0       	mov    $0xc0000102,%ebx
180071592:	eb 10                	jmp    0x1800715a4
180071594:	bb 02 01 00 c0       	mov    $0xc0000102,%ebx
180071599:	85 db                	test   %ebx,%ebx
18007159b:	79 25                	jns    0x1800715c2
18007159d:	eb 05                	jmp    0x1800715a4
18007159f:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
1800715a4:	49 8b 04 24          	mov    (%r12),%rax
1800715a8:	44 8b cb             	mov    %ebx,%r9d
1800715ab:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800715b0:	e8 5b da ff ff       	call   0x18006f010
1800715b5:	48 85 f6             	test   %rsi,%rsi
1800715b8:	74 08                	je     0x1800715c2
1800715ba:	48 8b ce             	mov    %rsi,%rcx
1800715bd:	e8 3a 8a 02 00       	call   0x180099ffc
1800715c2:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1800715c7:	8b c3                	mov    %ebx,%eax
1800715c9:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1800715ce:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1800715d3:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
1800715d8:	48 83 c4 30          	add    $0x30,%rsp
1800715dc:	41 5f                	pop    %r15
1800715de:	41 5e                	pop    %r14
1800715e0:	41 5c                	pop    %r12
1800715e2:	c3                   	ret
1800715e3:	cc                   	int3
1800715e4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1800715e9:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1800715ee:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1800715f3:	55                   	push   %rbp
1800715f4:	56                   	push   %rsi
1800715f5:	57                   	push   %rdi
1800715f6:	41 54                	push   %r12
1800715f8:	41 55                	push   %r13
1800715fa:	41 56                	push   %r14
1800715fc:	41 57                	push   %r15
1800715fe:	48 83 ec 70          	sub    $0x70,%rsp
180071602:	f7 41 10 00 00 01 00 	testl  $0x10000,0x10(%rcx)
180071609:	4d 8b f1             	mov    %r9,%r14
18007160c:	48 8b 59 78          	mov    0x78(%rcx),%rbx
180071610:	41 8b f0             	mov    %r8d,%esi
180071613:	4c 8b ea             	mov    %rdx,%r13
180071616:	4c 8b d9             	mov    %rcx,%r11
180071619:	74 0a                	je     0x180071625
18007161b:	b8 ba 00 00 c0       	mov    $0xc00000ba,%eax
180071620:	e9 fb 02 00 00       	jmp    0x180071920
180071625:	44 8b 43 38          	mov    0x38(%rbx),%r8d
180071629:	4c 8d 53 28          	lea    0x28(%rbx),%r10
18007162d:	8b 43 34             	mov    0x34(%rbx),%eax
180071630:	33 d2                	xor    %edx,%edx
180071632:	ff c8                	dec    %eax
180071634:	45 33 c9             	xor    %r9d,%r9d
180071637:	41 03 c0             	add    %r8d,%eax
18007163a:	44 89 4c 24 48       	mov    %r9d,0x48(%rsp)
18007163f:	41 f7 f0             	div    %r8d
180071642:	33 ff                	xor    %edi,%edi
180071644:	ff c8                	dec    %eax
180071646:	89 44 24 50          	mov    %eax,0x50(%rsp)
18007164a:	49 39 3a             	cmp    %rdi,(%r10)
18007164d:	75 2b                	jne    0x18007167a
18007164f:	8b 53 30             	mov    0x30(%rbx),%edx
180071652:	44 8b c8             	mov    %eax,%r9d
180071655:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
18007165a:	e8 39 fe ff ff       	call   0x180071498
18007165f:	8b f8                	mov    %eax,%edi
180071661:	85 c0                	test   %eax,%eax
180071663:	0f 88 b5 02 00 00    	js     0x18007191e
180071669:	44 8b 4c 24 48       	mov    0x48(%rsp),%r9d
18007166e:	4c 8d 53 28          	lea    0x28(%rbx),%r10
180071672:	4c 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%r11
180071679:	00
18007167a:	44 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%r8d
180071681:	33 d2                	xor    %edx,%edx
180071683:	41 8b c0             	mov    %r8d,%eax
180071686:	44 89 44 24 4c       	mov    %r8d,0x4c(%rsp)
18007168b:	f7 73 38             	divl   0x38(%rbx)
18007168e:	41 8d 0c 30          	lea    (%r8,%rsi,1),%ecx
180071692:	44 8b fa             	mov    %edx,%r15d
180071695:	89 54 24 44          	mov    %edx,0x44(%rsp)
180071699:	8b e8                	mov    %eax,%ebp
18007169b:	3b 4b 34             	cmp    0x34(%rbx),%ecx
18007169e:	76 06                	jbe    0x1800716a6
1800716a0:	8b 73 34             	mov    0x34(%rbx),%esi
1800716a3:	41 2b f0             	sub    %r8d,%esi
1800716a6:	85 ff                	test   %edi,%edi
1800716a8:	0f 88 5e 02 00 00    	js     0x18007190c
1800716ae:	8b 0d 74 34 13 00    	mov    0x133474(%rip),%ecx        # 0x1801a4b28
1800716b4:	85 f6                	test   %esi,%esi
1800716b6:	0f 84 48 02 00 00    	je     0x180071904
1800716bc:	4d 8b 12             	mov    (%r10),%r10
1800716bf:	44 8d 65 01          	lea    0x1(%rbp),%r12d
1800716c3:	4c 8b 35 36 34 13 00 	mov    0x133436(%rip),%r14        # 0x1801a4b00
1800716ca:	8b c5                	mov    %ebp,%eax
1800716cc:	48 c1 e0 02          	shl    $0x2,%rax
1800716d0:	47 8b 0c a2          	mov    (%r10,%r12,4),%r9d
1800716d4:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)