1405a2488:	aa aa 2a
1405a248b:	48 f7 e9             	imul   %rcx
1405a248e:	48 c1 fa 03          	sar    $0x3,%rdx
1405a2492:	48 8b c2             	mov    %rdx,%rax
1405a2495:	48 c1 e8 3f          	shr    $0x3f,%rax
1405a2499:	48 03 d0             	add    %rax,%rdx
1405a249c:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1405a24a0:	48 c1 e2 04          	shl    $0x4,%rdx
1405a24a4:	48 8b c3             	mov    %rbx,%rax
1405a24a7:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a24ae:	72 15                	jb     0x1405a24c5
1405a24b0:	48 83 c2 27          	add    $0x27,%rdx
1405a24b4:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1405a24b8:	48 2b c3             	sub    %rbx,%rax
1405a24bb:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405a24bf:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a24c3:	77 66                	ja     0x1405a252b
1405a24c5:	48 8b cb             	mov    %rbx,%rcx
1405a24c8:	e8 77 8c 87 00       	call   0x140e1b144
1405a24cd:	0f 57 c0             	xorps  %xmm0,%xmm0
1405a24d0:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
1405a24d6:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
1405a24db:	41 83 cf 01          	or     $0x1,%r15d
1405a24df:	44 89 7c 24 38       	mov    %r15d,0x38(%rsp)
1405a24e4:	4c 8d 0d 55 f8 e1 ff 	lea    -0x1e07ab(%rip),%r9        # 0x1403c1d40
1405a24eb:	ba 30 00 00 00       	mov    $0x30,%edx
1405a24f0:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1405a24f6:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
1405a24fa:	e8 4d 90 87 00       	call   0x140e1b54c
1405a24ff:	90                   	nop
1405a2500:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
1405a2504:	80 7d 8f 00          	cmpb   $0x0,-0x71(%rbp)
1405a2508:	74 07                	je     0x1405a2511
1405a250a:	e8 91 f7 e1 ff       	call   0x1403c1ca0
1405a250f:	eb 05                	jmp    0x1405a2516
1405a2511:	e8 3a cd 41 00       	call   0x1409bf250
1405a2516:	49 8b c4             	mov    %r12,%rax
1405a2519:	48 81 c4 f0 00 00 00 	add    $0xf0,%rsp
1405a2520:	41 5f                	pop    %r15
1405a2522:	41 5e                	pop    %r14
1405a2524:	41 5c                	pop    %r12
1405a2526:	5f                   	pop    %rdi
1405a2527:	5e                   	pop    %rsi
1405a2528:	5b                   	pop    %rbx
1405a2529:	5d                   	pop    %rbp
1405a252a:	c3                   	ret
1405a252b:	e8 74 7c 88 00       	call   0x140e2a1a4
1405a2530:	cc                   	int3
1405a2531:	cc                   	int3
1405a2532:	cc                   	int3
1405a2533:	cc                   	int3
1405a2534:	cc                   	int3
1405a2535:	cc                   	int3
1405a2536:	cc                   	int3
1405a2537:	cc                   	int3
1405a2538:	cc                   	int3
1405a2539:	cc                   	int3
1405a253a:	cc                   	int3
1405a253b:	cc                   	int3
1405a253c:	cc                   	int3
1405a253d:	cc                   	int3
1405a253e:	cc                   	int3
1405a253f:	cc                   	int3
1405a2540:	40 53                	rex push %rbx
1405a2542:	48 83 ec 20          	sub    $0x20,%rsp
1405a2546:	48 8b d9             	mov    %rcx,%rbx
1405a2549:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1405a254d:	e8 ce d7 ea ff       	call   0x14044fd20
1405a2552:	33 d2                	xor    %edx,%edx
1405a2554:	48 f7 73 10          	divq   0x10(%rbx)
1405a2558:	48 83 c4 20          	add    $0x20,%rsp
1405a255c:	5b                   	pop    %rbx
1405a255d:	c3                   	ret
1405a255e:	cc                   	int3
1405a255f:	cc                   	int3
1405a2560:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a2565:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a256a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a256f:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1405a2574:	57                   	push   %rdi
1405a2575:	41 56                	push   %r14
1405a2577:	41 57                	push   %r15
1405a2579:	48 83 ec 50          	sub    $0x50,%rsp
1405a257d:	4c 8b fa             	mov    %rdx,%r15
1405a2580:	48 8b f1             	mov    %rcx,%rsi
1405a2583:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1405a258a:	00
1405a258b:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1405a258f:	e8 8c d7 ea ff       	call   0x14044fd20
1405a2594:	33 d2                	xor    %edx,%edx
1405a2596:	48 f7 76 10          	divq   0x10(%rsi)
1405a259a:	45 33 c0             	xor    %r8d,%r8d
1405a259d:	48 8b d0             	mov    %rax,%rdx
1405a25a0:	49 8b cf             	mov    %r15,%rcx
1405a25a3:	e8 b8 26 00 00       	call   0x1405a4c60
1405a25a8:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
1405a25af:	00
1405a25b0:	45 33 f6             	xor    %r14d,%r14d
1405a25b3:	48 8b 6e 10          	mov    0x10(%rsi),%rbp
1405a25b7:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405a25bb:	e8 60 d7 ea ff       	call   0x14044fd20
1405a25c0:	33 d2                	xor    %edx,%edx
1405a25c2:	48 f7 f5             	div    %rbp
1405a25c5:	48 85 c0             	test   %rax,%rax
1405a25c8:	0f 84 7d 00 00 00    	je     0x1405a264b
1405a25ce:	66 90                	xchg   %ax,%ax
1405a25d0:	48 8b c5             	mov    %rbp,%rax
1405a25d3:	49 0f af c6          	imul   %r14,%rax
1405a25d7:	40 32 ff             	xor    %dil,%dil
1405a25da:	33 db                	xor    %ebx,%ebx
1405a25dc:	48 85 ed             	test   %rbp,%rbp
1405a25df:	74 34                	je     0x1405a2615
1405a25e1:	48 8d 68 01          	lea    0x1(%rax),%rbp
1405a25e5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1405a25ec:	00 00 00 00
1405a25f0:	4c 8b c5             	mov    %rbp,%r8
1405a25f3:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1405a25f8:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405a25fc:	e8 7f 27 00 00       	call   0x1405a4d80
1405a2601:	48 8b c8             	mov    %rax,%rcx
1405a2604:	e8 b7 27 00 00       	call   0x1405a4dc0
1405a2609:	40 0a f8             	or     %al,%dil
1405a260c:	48 ff c3             	inc    %rbx
1405a260f:	48 3b 5e 10          	cmp    0x10(%rsi),%rbx
1405a2613:	72 db                	jb     0x1405a25f0
1405a2615:	4d 8b c6             	mov    %r14,%r8
1405a2618:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
1405a261d:	49 8b cf             	mov    %r15,%rcx
1405a2620:	e8 5b 27 00 00       	call   0x1405a4d80
1405a2625:	48 8b c8             	mov    %rax,%rcx
1405a2628:	40 0f b6 d7          	movzbl %dil,%edx
1405a262c:	e8 1f 27 00 00       	call   0x1405a4d50
1405a2631:	49 ff c6             	inc    %r14
1405a2634:	48 8b 6e 10          	mov    0x10(%rsi),%rbp
1405a2638:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405a263c:	e8 df d6 ea ff       	call   0x14044fd20
1405a2641:	33 d2                	xor    %edx,%edx
1405a2643:	48 f7 f5             	div    %rbp
1405a2646:	4c 3b f0             	cmp    %rax,%r14
1405a2649:	72 85                	jb     0x1405a25d0
1405a264b:	49 8b c7             	mov    %r15,%rax
1405a264e:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1405a2653:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1405a2657:	49 8b 6b 30          	mov    0x30(%r11),%rbp
1405a265b:	49 8b 73 38          	mov    0x38(%r11),%rsi
1405a265f:	49 8b e3             	mov    %r11,%rsp
1405a2662:	41 5f                	pop    %r15
1405a2664:	41 5e                	pop    %r14
1405a2666:	5f                   	pop    %rdi
1405a2667:	c3                   	ret
1405a2668:	cc                   	int3
1405a2669:	cc                   	int3
1405a266a:	cc                   	int3
1405a266b:	cc                   	int3
1405a266c:	cc                   	int3
1405a266d:	cc                   	int3
1405a266e:	cc                   	int3
1405a266f:	cc                   	int3
1405a2670:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a2675:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a267a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a267f:	57                   	push   %rdi
1405a2680:	48 83 ec 30          	sub    $0x30,%rsp
1405a2684:	48 8b d9             	mov    %rcx,%rbx
1405a2687:	33 ed                	xor    %ebp,%ebp
1405a2689:	48 85 d2             	test   %rdx,%rdx
1405a268c:	0f 84 13 01 00 00    	je     0x1405a27a5
1405a2692:	80 7a 28 0e          	cmpb   $0xe,0x28(%rdx)
1405a2696:	0f 85 09 01 00 00    	jne    0x1405a27a5
1405a269c:	48 8b 0a             	mov    (%rdx),%rcx
1405a269f:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1405a26a3:	48 2b d1             	sub    %rcx,%rdx
1405a26a6:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1405a26ad:	aa aa 2a
1405a26b0:	48 f7 ea             	imul   %rdx
1405a26b3:	48 c1 fa 03          	sar    $0x3,%rdx
1405a26b7:	48 8b c2             	mov    %rdx,%rax
1405a26ba:	48 c1 e8 3f          	shr    $0x3f,%rax
1405a26be:	48 03 d0             	add    %rax,%rdx
1405a26c1:	48 83 fa 02          	cmp    $0x2,%rdx
1405a26c5:	0f 82 da 00 00 00    	jb     0x1405a27a5
1405a26cb:	48 85 c9             	test   %rcx,%rcx
1405a26ce:	74 09                	je     0x1405a26d9
1405a26d0:	80 79 28 02          	cmpb   $0x2,0x28(%rcx)
1405a26d4:	48 8b f1             	mov    %rcx,%rsi
1405a26d7:	74 03                	je     0x1405a26dc
1405a26d9:	48 8b f5             	mov    %rbp,%rsi
1405a26dc:	48 8d 51 30          	lea    0x30(%rcx),%rdx
1405a26e0:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1405a26e5:	e8 06 2c 00 00       	call   0x1405a52f0
1405a26ea:	90                   	nop
1405a26eb:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1405a26f0:	48 85 f6             	test   %rsi,%rsi
1405a26f3:	0f 84 a7 00 00 00    	je     0x1405a27a0
1405a26f9:	48 85 ff             	test   %rdi,%rdi
1405a26fc:	0f 84 9e 00 00 00    	je     0x1405a27a0
1405a2702:	b9 18 00 00 00       	mov    $0x18,%ecx
1405a2707:	e8 fc 89 87 00       	call   0x140e1b108
1405a270c:	48 8b c8             	mov    %rax,%rcx
1405a270f:	48 85 c0             	test   %rax,%rax
1405a2712:	74 14                	je     0x1405a2728
1405a2714:	48 8d 05 8d 01 a7 00 	lea    0xa7018d(%rip),%rax        # 0x1410128a8
1405a271b:	48 89 01             	mov    %rax,(%rcx)
1405a271e:	48 89 69 08          	mov    %rbp,0x8(%rcx)
1405a2722:	48 89 69 10          	mov    %rbp,0x10(%rcx)
1405a2726:	eb 03                	jmp    0x1405a272b
1405a2728:	48 8b cd             	mov    %rbp,%rcx
1405a272b:	48 8b 06             	mov    (%rsi),%rax
1405a272e:	48 89 41 10          	mov    %rax,0x10(%rcx)
1405a2732:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1405a2737:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
1405a273c:	48 89 41 08          	mov    %rax,0x8(%rcx)
1405a2740:	48 89 0b             	mov    %rcx,(%rbx)
1405a2743:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1405a2748:	48 85 ff             	test   %rdi,%rdi
1405a274b:	74 5b                	je     0x1405a27a8
1405a274d:	48 8b 0f             	mov    (%rdi),%rcx
1405a2750:	48 85 c9             	test   %rcx,%rcx
1405a2753:	74 3c                	je     0x1405a2791
1405a2755:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1405a2759:	48 2b d1             	sub    %rcx,%rdx
1405a275c:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
1405a2760:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a2767:	72 18                	jb     0x1405a2781
1405a2769:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405a276d:	49 2b c8             	sub    %r8,%rcx
1405a2770:	48 83 c2 27          	add    $0x27,%rdx
1405a2774:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405a2778:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a277c:	77 42                	ja     0x1405a27c0
1405a277e:	49 8b c8             	mov    %r8,%rcx
1405a2781:	e8 be 89 87 00       	call   0x140e1b144
1405a2786:	48 89 2f             	mov    %rbp,(%rdi)
1405a2789:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
1405a278d:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
1405a2791:	ba 20 00 00 00       	mov    $0x20,%edx
1405a2796:	48 8b cf             	mov    %rdi,%rcx
1405a2799:	e8 a6 89 87 00       	call   0x140e1b144
1405a279e:	eb 08                	jmp    0x1405a27a8
1405a27a0:	48 89 2b             	mov    %rbp,(%rbx)
1405a27a3:	eb a3                	jmp    0x1405a2748
1405a27a5:	48 89 2b             	mov    %rbp,(%rbx)
1405a27a8:	48 8b c3             	mov    %rbx,%rax
1405a27ab:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1405a27b0:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1405a27b5:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1405a27ba:	48 83 c4 30          	add    $0x30,%rsp
1405a27be:	5f                   	pop    %rdi
1405a27bf:	c3                   	ret
1405a27c0:	e8 df 79 88 00       	call   0x140e2a1a4
1405a27c5:	cc                   	int3
1405a27c6:	cc                   	int3
1405a27c7:	cc                   	int3
1405a27c8:	cc                   	int3
1405a27c9:	cc                   	int3
1405a27ca:	cc                   	int3
1405a27cb:	cc                   	int3
1405a27cc:	cc                   	int3
1405a27cd:	cc                   	int3
1405a27ce:	cc                   	int3
1405a27cf:	cc                   	int3
1405a27d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405a27d5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a27da:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a27df:	41 56                	push   %r14
1405a27e1:	48 83 ec 20          	sub    $0x20,%rsp
1405a27e5:	33 ed                	xor    %ebp,%ebp
1405a27e7:	4c 8b f2             	mov    %rdx,%r14
1405a27ea:	48 89 29             	mov    %rbp,(%rcx)
1405a27ed:	48 8b f1             	mov    %rcx,%rsi
1405a27f0:	48 89 69 08          	mov    %rbp,0x8(%rcx)
1405a27f4:	48 89 69 10          	mov    %rbp,0x10(%rcx)
1405a27f8:	48 89 69 18          	mov    %rbp,0x18(%rcx)
1405a27fc:	48 8b 5a 10          	mov    0x10(%rdx),%rbx
1405a2800:	48 2b 5a 08          	sub    0x8(%rdx),%rbx
1405a2804:	0f 84 8b 00 00 00    	je     0x1405a2895
1405a280a:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
1405a2811:	ff ff 7f
1405a2814:	48 3b d8             	cmp    %rax,%rbx
1405a2817:	0f 87 bf 00 00 00    	ja     0x1405a28dc
1405a281d:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
1405a2824:	72 2c                	jb     0x1405a2852
1405a2826:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
1405a282a:	48 3b cb             	cmp    %rbx,%rcx
1405a282d:	0f 86 af 00 00 00    	jbe    0x1405a28e2
1405a2833:	e8 d0 88 87 00       	call   0x140e1b108
1405a2838:	48 8b c8             	mov    %rax,%rcx
1405a283b:	48 85 c0             	test   %rax,%rax
1405a283e:	0f 84 92 00 00 00    	je     0x1405a28d6
1405a2844:	48 83 c0 27          	add    $0x27,%rax
1405a2848:	48 83 e0 e0          	and    $0xffffffffffffffe0,%rax
1405a284c:	48 89 48 f8          	mov    %rcx,-0x8(%rax)
1405a2850:	eb 08                	jmp    0x1405a285a
1405a2852:	48 8b cb             	mov    %rbx,%rcx
1405a2855:	e8 ae 88 87 00       	call   0x140e1b108
1405a285a:	48 89 46 08          	mov    %rax,0x8(%rsi)
1405a285e:	48 89 46 10          	mov    %rax,0x10(%rsi)
1405a2862:	48 03 c3             	add    %rbx,%rax
1405a2865:	48 89 46 18          	mov    %rax,0x18(%rsi)
1405a2869:	49 8b 56 08          	mov    0x8(%r14),%rdx
1405a286d:	49 8b 5e 10          	mov    0x10(%r14),%rbx
1405a2871:	48 2b da             	sub    %rdx,%rbx
1405a2874:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1405a2879:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
1405a287d:	4c 8b c3             	mov    %rbx,%r8
1405a2880:	48 8b cf             	mov    %rdi,%rcx
1405a2883:	e8 88 c7 93 00       	call   0x140edf010
1405a2888:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
1405a288c:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1405a2891:	48 89 46 10          	mov    %rax,0x10(%rsi)
1405a2895:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405a289a:	48 89 6e 20          	mov    %rbp,0x20(%rsi)
1405a289e:	48 89 6e 28          	mov    %rbp,0x28(%rsi)
1405a28a2:	89 6e 30             	mov    %ebp,0x30(%rsi)
1405a28a5:	49 8b 46 20          	mov    0x20(%r14),%rax
1405a28a9:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1405a28ae:	48 89 46 20          	mov    %rax,0x20(%rsi)
1405a28b2:	49 8b 46 28          	mov    0x28(%r14),%rax
1405a28b6:	48 89 46 28          	mov    %rax,0x28(%rsi)
1405a28ba:	49 8b 06             	mov    (%r14),%rax
1405a28bd:	48 89 06             	mov    %rax,(%rsi)
1405a28c0:	41 8b 46 30          	mov    0x30(%r14),%eax
1405a28c4:	89 46 30             	mov    %eax,0x30(%rsi)
1405a28c7:	48 8b c6             	mov    %rsi,%rax
1405a28ca:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1405a28cf:	48 83 c4 20          	add    $0x20,%rsp
1405a28d3:	41 5e                	pop    %r14
1405a28d5:	c3                   	ret
1405a28d6:	e8 c9 78 88 00       	call   0x140e2a1a4
1405a28db:	cc                   	int3
1405a28dc:	e8 af ac bf ff       	call   0x14019d590
1405a28e1:	cc                   	int3
1405a28e2:	e8 a9 a8 bf ff       	call   0x14019d190
1405a28e7:	cc                   	int3
1405a28e8:	cc                   	int3
1405a28e9:	cc                   	int3
1405a28ea:	cc                   	int3
1405a28eb:	cc                   	int3
1405a28ec:	cc                   	int3
1405a28ed:	cc                   	int3
1405a28ee:	cc                   	int3
1405a28ef:	cc                   	int3
1405a28f0:	48 8b c4             	mov    %rsp,%rax
1405a28f3:	48 89 58 10          	mov    %rbx,0x10(%rax)
1405a28f7:	48 89 48 08          	mov    %rcx,0x8(%rax)
1405a28fb:	57                   	push   %rdi
1405a28fc:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1405a2903:	0f 29 70 e8          	movaps %xmm6,-0x18(%rax)
1405a2907:	0f 29 78 d8          	movaps %xmm7,-0x28(%rax)
1405a290b:	44 0f 29 40 c8       	movaps %xmm8,-0x38(%rax)