1800432a9:	48 8d 05 30 a9 10 00 	lea    0x10a930(%rip),%rax        # 0x18014dbe0
1800432b0:	48 8b d9             	mov    %rcx,%rbx
1800432b3:	4c 8b c9             	mov    %rcx,%r9
1800432b6:	49 8b ca             	mov    %r10,%rcx
1800432b9:	44 8b 04 d0          	mov    (%rax,%rdx,8),%r8d
1800432bd:	48 8b 54 d0 08       	mov    0x8(%rax,%rdx,8),%rdx
1800432c2:	e8 e1 44 00 00       	call   0x1800477a8
1800432c7:	85 c0                	test   %eax,%eax
1800432c9:	78 0b                	js     0x1800432d6
1800432cb:	80 7b 18 05          	cmpb   $0x5,0x18(%rbx)
1800432cf:	73 05                	jae    0x1800432d6
1800432d1:	48 c1 63 20 1c       	shlq   $0x1c,0x20(%rbx)
1800432d6:	48 83 c4 20          	add    $0x20,%rsp
1800432da:	5b                   	pop    %rbx
1800432db:	c3                   	ret
1800432dc:	cc                   	int3
1800432dd:	cc                   	int3
1800432de:	cc                   	int3
1800432df:	cc                   	int3
1800432e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800432e5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800432ea:	57                   	push   %rdi
1800432eb:	48 83 ec 20          	sub    $0x20,%rsp
1800432ef:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800432f3:	4c 8b d2             	mov    %rdx,%r10
1800432f6:	0f b6 7a 11          	movzbl 0x11(%rdx),%edi
1800432fa:	48 8b d9             	mov    %rcx,%rbx
1800432fd:	4c 8b 40 10          	mov    0x10(%rax),%r8
180043301:	41 8b b0 d8 00 00 00 	mov    0xd8(%r8),%esi
180043308:	40 80 ff 03          	cmp    $0x3,%dil
18004330c:	73 0c                	jae    0x18004331a
18004330e:	8b 41 28             	mov    0x28(%rcx),%eax
180043311:	0f af c6             	imul   %esi,%eax
180043314:	03 41 2c             	add    0x2c(%rcx),%eax
180043317:	89 41 28             	mov    %eax,0x28(%rcx)
18004331a:	40 80 ff 05          	cmp    $0x5,%dil
18004331e:	73 05                	jae    0x180043325
180043320:	48 c1 69 20 1c       	shrq   $0x1c,0x20(%rcx)
180043325:	48 8d 05 b4 a8 10 00 	lea    0x10a8b4(%rip),%rax        # 0x18014dbe0
18004332c:	48 8b d7             	mov    %rdi,%rdx
18004332f:	48 03 d2             	add    %rdx,%rdx
180043332:	4c 8b cb             	mov    %rbx,%r9
180043335:	49 8b ca             	mov    %r10,%rcx
180043338:	44 8b 04 d0          	mov    (%rax,%rdx,8),%r8d
18004333c:	48 8b 54 d0 08       	mov    0x8(%rax,%rdx,8),%rdx
180043341:	e8 ea 44 00 00       	call   0x180047830
180043346:	40 80 ff 05          	cmp    $0x5,%dil
18004334a:	73 05                	jae    0x180043351
18004334c:	48 c1 63 20 1c       	shlq   $0x1c,0x20(%rbx)
180043351:	40 80 ff 03          	cmp    $0x3,%dil
180043355:	73 0a                	jae    0x180043361
180043357:	8b 43 28             	mov    0x28(%rbx),%eax
18004335a:	33 d2                	xor    %edx,%edx
18004335c:	f7 f6                	div    %esi
18004335e:	89 43 28             	mov    %eax,0x28(%rbx)
180043361:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180043366:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18004336b:	48 83 c4 20          	add    $0x20,%rsp
18004336f:	5f                   	pop    %rdi
180043370:	c3                   	ret
180043371:	cc                   	int3
180043372:	cc                   	int3
180043373:	cc                   	int3
180043374:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043379:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18004337e:	57                   	push   %rdi
18004337f:	48 83 ec 20          	sub    $0x20,%rsp
180043383:	48 8b 41 10          	mov    0x10(%rcx),%rax
180043387:	48 8b d9             	mov    %rcx,%rbx
18004338a:	0f b6 79 18          	movzbl 0x18(%rcx),%edi
18004338e:	48 8b 50 10          	mov    0x10(%rax),%rdx
180043392:	8b b2 d8 00 00 00    	mov    0xd8(%rdx),%esi
180043398:	40 80 ff 03          	cmp    $0x3,%dil
18004339c:	73 0c                	jae    0x1800433aa
18004339e:	8b 41 28             	mov    0x28(%rcx),%eax
1800433a1:	0f af c6             	imul   %esi,%eax
1800433a4:	03 41 2c             	add    0x2c(%rcx),%eax
1800433a7:	89 41 28             	mov    %eax,0x28(%rcx)
1800433aa:	40 80 ff 05          	cmp    $0x5,%dil
1800433ae:	73 05                	jae    0x1800433b5
1800433b0:	48 c1 69 20 1c       	shrq   $0x1c,0x20(%rcx)
1800433b5:	48 8d 05 24 a8 10 00 	lea    0x10a824(%rip),%rax        # 0x18014dbe0
1800433bc:	48 8b cf             	mov    %rdi,%rcx
1800433bf:	48 03 c9             	add    %rcx,%rcx
1800433c2:	4c 8b c3             	mov    %rbx,%r8
1800433c5:	8b 14 c8             	mov    (%rax,%rcx,8),%edx
1800433c8:	48 8b 4c c8 08       	mov    0x8(%rax,%rcx,8),%rcx
1800433cd:	e8 fe cc 00 00       	call   0x1800500d0
1800433d2:	0f b7 c8             	movzwl %ax,%ecx
1800433d5:	40 80 ff 05          	cmp    $0x5,%dil
1800433d9:	73 05                	jae    0x1800433e0
1800433db:	48 c1 63 20 1c       	shlq   $0x1c,0x20(%rbx)
1800433e0:	40 80 ff 03          	cmp    $0x3,%dil
1800433e4:	73 0a                	jae    0x1800433f0
1800433e6:	8b 43 28             	mov    0x28(%rbx),%eax
1800433e9:	33 d2                	xor    %edx,%edx
1800433eb:	f7 f6                	div    %esi
1800433ed:	89 43 28             	mov    %eax,0x28(%rbx)
1800433f0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800433f5:	8b c1                	mov    %ecx,%eax
1800433f7:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1800433fc:	48 83 c4 20          	add    $0x20,%rsp
180043400:	5f                   	pop    %rdi
180043401:	c3                   	ret
180043402:	cc                   	int3
180043403:	cc                   	int3
180043404:	80 79 18 03          	cmpb   $0x3,0x18(%rcx)
180043408:	48 8b 41 10          	mov    0x10(%rcx),%rax
18004340c:	4c 8b 48 10          	mov    0x10(%rax),%r9
180043410:	73 22                	jae    0x180043434
180043412:	44 8b 41 28          	mov    0x28(%rcx),%r8d
180043416:	33 d2                	xor    %edx,%edx
180043418:	41 8b c0             	mov    %r8d,%eax
18004341b:	41 f7 b1 d8 00 00 00 	divl   0xd8(%r9)
180043422:	41 8b c0             	mov    %r8d,%eax
180043425:	89 51 2c             	mov    %edx,0x2c(%rcx)
180043428:	33 d2                	xor    %edx,%edx
18004342a:	41 f7 b1 d8 00 00 00 	divl   0xd8(%r9)
180043431:	89 41 28             	mov    %eax,0x28(%rcx)
180043434:	33 c0                	xor    %eax,%eax
180043436:	c3                   	ret
180043437:	cc                   	int3
180043438:	40 53                	rex push %rbx
18004343a:	48 83 ec 20          	sub    $0x20,%rsp
18004343e:	48 8d 05 33 fc 0f 00 	lea    0xffc33(%rip),%rax        # 0x180143078
180043445:	48 8b d9             	mov    %rcx,%rbx
180043448:	48 89 01             	mov    %rax,(%rcx)
18004344b:	48 8b 49 28          	mov    0x28(%rcx),%rcx
18004344f:	48 85 c9             	test   %rcx,%rcx
180043452:	74 05                	je     0x180043459
180043454:	e8 03 35 00 00       	call   0x18004695c
180043459:	48 8d 05 68 fb 0f 00 	lea    0xffb68(%rip),%rax        # 0x180142fc8
180043460:	48 89 03             	mov    %rax,(%rbx)
180043463:	48 83 c4 20          	add    $0x20,%rsp
180043467:	5b                   	pop    %rbx
180043468:	c3                   	ret
180043469:	cc                   	int3
18004346a:	cc                   	int3
18004346b:	cc                   	int3
18004346c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043471:	57                   	push   %rdi
180043472:	48 83 ec 20          	sub    $0x20,%rsp
180043476:	8b da                	mov    %edx,%ebx
180043478:	48 8b f9             	mov    %rcx,%rdi
18004347b:	e8 b8 ff ff ff       	call   0x180043438
180043480:	f6 c3 01             	test   $0x1,%bl
180043483:	74 08                	je     0x18004348d
180043485:	48 8b cf             	mov    %rdi,%rcx
180043488:	e8 cf 34 00 00       	call   0x18004695c
18004348d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180043492:	48 8b c7             	mov    %rdi,%rax
180043495:	48 83 c4 20          	add    $0x20,%rsp
180043499:	5f                   	pop    %rdi
18004349a:	c3                   	ret
18004349b:	cc                   	int3
18004349c:	48 83 61 28 00       	andq   $0x0,0x28(%rcx)
1800434a1:	33 c0                	xor    %eax,%eax
1800434a3:	c3                   	ret
1800434a4:	cc                   	int3
1800434a5:	cc                   	int3
1800434a6:	cc                   	int3
1800434a7:	cc                   	int3
1800434a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800434ad:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800434b2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800434b7:	57                   	push   %rdi
1800434b8:	48 83 ec 20          	sub    $0x20,%rsp
1800434bc:	48 8b f9             	mov    %rcx,%rdi
1800434bf:	33 f6                	xor    %esi,%esi
1800434c1:	8d 4e 30             	lea    0x30(%rsi),%ecx
1800434c4:	e8 4b 34 00 00       	call   0x180046914
1800434c9:	48 8b d8             	mov    %rax,%rbx
1800434cc:	48 85 c0             	test   %rax,%rax
1800434cf:	74 18                	je     0x1800434e9
1800434d1:	48 21 70 08          	and    %rsi,0x8(%rax)
1800434d5:	48 21 70 10          	and    %rsi,0x10(%rax)
1800434d9:	66 89 70 18          	mov    %si,0x18(%rax)
1800434dd:	48 8d 05 94 fb 0f 00 	lea    0xffb94(%rip),%rax        # 0x180143078
1800434e4:	48 89 03             	mov    %rax,(%rbx)
1800434e7:	eb 02                	jmp    0x1800434eb
1800434e9:	33 db                	xor    %ebx,%ebx
1800434eb:	48 85 db             	test   %rbx,%rbx
1800434ee:	74 64                	je     0x180043554
1800434f0:	0f 10 07             	movups (%rdi),%xmm0
1800434f3:	0f 11 03             	movups %xmm0,(%rbx)
1800434f6:	0f 10 4f 10          	movups 0x10(%rdi),%xmm1
1800434fa:	0f 11 4b 10          	movups %xmm1,0x10(%rbx)
1800434fe:	0f 10 47 20          	movups 0x20(%rdi),%xmm0
180043502:	0f 11 43 20          	movups %xmm0,0x20(%rbx)
180043506:	48 21 73 28          	and    %rsi,0x28(%rbx)
18004350a:	48 39 77 28          	cmp    %rsi,0x28(%rdi)
18004350e:	74 27                	je     0x180043537
180043510:	8b 47 20             	mov    0x20(%rdi),%eax
180043513:	c1 e0 04             	shl    $0x4,%eax
180043516:	8b c8                	mov    %eax,%ecx
180043518:	8b e8                	mov    %eax,%ebp
18004351a:	e8 f5 33 00 00       	call   0x180046914
18004351f:	48 89 43 28          	mov    %rax,0x28(%rbx)
180043523:	48 85 c0             	test   %rax,%rax
180043526:	74 14                	je     0x18004353c
180043528:	48 8b 57 28          	mov    0x28(%rdi),%rdx
18004352c:	44 8b c5             	mov    %ebp,%r8d
18004352f:	48 8b c8             	mov    %rax,%rcx
180043532:	e8 89 24 0f 00       	call   0x1801359c0
180043537:	48 8b f3             	mov    %rbx,%rsi
18004353a:	33 db                	xor    %ebx,%ebx
18004353c:	48 85 db             	test   %rbx,%rbx
18004353f:	74 13                	je     0x180043554
180043541:	48 8b 03             	mov    (%rbx),%rax
180043544:	ba 01 00 00 00       	mov    $0x1,%edx
180043549:	48 8b cb             	mov    %rbx,%rcx
18004354c:	48 8b 00             	mov    (%rax),%rax
18004354f:	ff d0                	call   *%rax
180043551:	0f 1f 00             	nopl   (%rax)
180043554:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180043559:	48 8b c6             	mov    %rsi,%rax
18004355c:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180043561:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180043566:	48 83 c4 20          	add    $0x20,%rsp
18004356a:	5f                   	pop    %rdi
18004356b:	c3                   	ret
18004356c:	cc                   	int3
18004356d:	cc                   	int3
18004356e:	cc                   	int3
18004356f:	cc                   	int3
180043570:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043575:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004357a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18004357f:	57                   	push   %rdi
180043580:	48 83 ec 20          	sub    $0x20,%rsp
180043584:	8a 42 11             	mov    0x11(%rdx),%al
180043587:	48 8b ea             	mov    %rdx,%rbp
18004358a:	88 41 18             	mov    %al,0x18(%rcx)
18004358d:	48 8d 15 ec 98 10 00 	lea    0x1098ec(%rip),%rdx        # 0x18014ce80
180043594:	48 8b d9             	mov    %rcx,%rbx
180043597:	4c 8b c9             	mov    %rcx,%r9
18004359a:	48 8b cd             	mov    %rbp,%rcx
18004359d:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1800435a3:	e8 00 42 00 00       	call   0x1800477a8
1800435a8:	8b f8                	mov    %eax,%edi
1800435aa:	85 c0                	test   %eax,%eax
1800435ac:	78 4f                	js     0x1800435fd
1800435ae:	8b 4b 20             	mov    0x20(%rbx),%ecx
1800435b1:	c1 e1 04             	shl    $0x4,%ecx
1800435b4:	e8 5b 33 00 00       	call   0x180046914
1800435b9:	48 89 43 28          	mov    %rax,0x28(%rbx)
1800435bd:	48 85 c0             	test   %rax,%rax
1800435c0:	75 07                	jne    0x1800435c9
1800435c2:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
1800435c7:	eb 34                	jmp    0x1800435fd
1800435c9:	33 f6                	xor    %esi,%esi
1800435cb:	39 73 20             	cmp    %esi,0x20(%rbx)
1800435ce:	76 2d                	jbe    0x1800435fd
1800435d0:	44 8b ce             	mov    %esi,%r9d
1800435d3:	48 8d 15 86 a6 10 00 	lea    0x10a686(%rip),%rdx        # 0x18014dc60
1800435da:	49 c1 e1 04          	shl    $0x4,%r9
1800435de:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1800435e4:	4c 03 4b 28          	add    0x28(%rbx),%r9
1800435e8:	48 8b cd             	mov    %rbp,%rcx
1800435eb:	e8 b8 41 00 00       	call   0x1800477a8
1800435f0:	8b f8                	mov    %eax,%edi
1800435f2:	85 c0                	test   %eax,%eax
1800435f4:	78 07                	js     0x1800435fd
1800435f6:	ff c6                	inc    %esi
1800435f8:	3b 73 20             	cmp    0x20(%rbx),%esi
1800435fb:	72 d3                	jb     0x1800435d0
1800435fd:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180043602:	8b c7                	mov    %edi,%eax
180043604:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180043609:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18004360e:	48 83 c4 20          	add    $0x20,%rsp
180043612:	5f                   	pop    %rdi
180043613:	c3                   	ret
180043614:	cc                   	int3
180043615:	cc                   	int3
180043616:	cc                   	int3
180043617:	cc                   	int3
180043618:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004361d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180043622:	57                   	push   %rdi
180043623:	48 83 ec 20          	sub    $0x20,%rsp
180043627:	8a 41 18             	mov    0x18(%rcx),%al
18004362a:	48 8b f2             	mov    %rdx,%rsi
18004362d:	88 42 11             	mov    %al,0x11(%rdx)
180043630:	48 8b f9             	mov    %rcx,%rdi
180043633:	4c 8b c9             	mov    %rcx,%r9
180043636:	48 8d 15 43 98 10 00 	lea    0x109843(%rip),%rdx        # 0x18014ce80
18004363d:	41 b8 02 00 00 00    	mov    $0x2,%r8d
180043643:	48 8b ce             	mov    %rsi,%rcx
180043646:	e8 e5 41 00 00       	call   0x180047830
18004364b:	33 db                	xor    %ebx,%ebx
18004364d:	39 5f 20             	cmp    %ebx,0x20(%rdi)
180043650:	76 27                	jbe    0x180043679
180043652:	44 8b cb             	mov    %ebx,%r9d
180043655:	48 8d 15 04 a6 10 00 	lea    0x10a604(%rip),%rdx        # 0x18014dc60
18004365c:	49 c1 e1 04          	shl    $0x4,%r9
180043660:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180043666:	4c 03 4f 28          	add    0x28(%rdi),%r9
18004366a:	48 8b ce             	mov    %rsi,%rcx
18004366d:	e8 be 41 00 00       	call   0x180047830
180043672:	ff c3                	inc    %ebx
180043674:	3b 5f 20             	cmp    0x20(%rdi),%ebx
180043677:	72 d9                	jb     0x180043652
180043679:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004367e:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180043683:	48 83 c4 20          	add    $0x20,%rsp
180043687:	5f                   	pop    %rdi
180043688:	c3                   	ret
180043689:	cc                   	int3
18004368a:	cc                   	int3
18004368b:	cc                   	int3
18004368c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043691:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180043696:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18004369b:	57                   	push   %rdi
18004369c:	48 83 ec 20          	sub    $0x20,%rsp
1800436a0:	48 8b d9             	mov    %rcx,%rbx
1800436a3:	4c 8b c1             	mov    %rcx,%r8
1800436a6:	48 8d 0d d3 97 10 00 	lea    0x1097d3(%rip),%rcx        # 0x18014ce80
1800436ad:	ba 02 00 00 00       	mov    $0x2,%edx
1800436b2:	e8 19 ca 00 00       	call   0x1800500d0
1800436b7:	0f b7 f8             	movzwl %ax,%edi
1800436ba:	33 f6                	xor    %esi,%esi
1800436bc:	8b 43 20             	mov    0x20(%rbx),%eax
1800436bf:	85 c0                	test   %eax,%eax
1800436c1:	74 2f                	je     0x1800436f2
1800436c3:	48 8b 6b 28          	mov    0x28(%rbx),%rbp
1800436c7:	8b d8                	mov    %eax,%ebx
1800436c9:	4c 8b c6             	mov    %rsi,%r8
1800436cc:	48 8d 0d 8d a5 10 00 	lea    0x10a58d(%rip),%rcx        # 0x18014dc60
1800436d3:	49 c1 e0 04          	shl    $0x4,%r8
1800436d7:	ba 01 00 00 00       	mov    $0x1,%edx
1800436dc:	4c 03 c5             	add    %rbp,%r8
1800436df:	e8 ec c9 00 00       	call   0x1800500d0
1800436e4:	0f b7 c8             	movzwl %ax,%ecx
1800436e7:	48 ff c6             	inc    %rsi
1800436ea:	03 f9                	add    %ecx,%edi
1800436ec:	48 83 eb 01          	sub    $0x1,%rbx
1800436f0:	75 d7                	jne    0x1800436c9
1800436f2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800436f7:	8b c7                	mov    %edi,%eax
1800436f9:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800436fe:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180043703:	48 83 c4 20          	add    $0x20,%rsp
180043707:	5f                   	pop    %rdi
180043708:	c3                   	ret
180043709:	cc                   	int3
18004370a:	cc                   	int3
18004370b:	cc                   	int3
18004370c:	33 c0                	xor    %eax,%eax