14076650d:	3b d7                	cmp    %edi,%edx
14076650f:	7d 18                	jge    0x140766529
140766511:	41 8b c4             	mov    %r12d,%eax
140766514:	0f af c7             	imul   %edi,%eax
140766517:	ff c8                	dec    %eax
140766519:	41 03 c0             	add    %r8d,%eax
14076651c:	48 63 c8             	movslq %eax,%rcx
14076651f:	48 8d 04 49          	lea    (%rcx,%rcx,2),%rax
140766523:	4d 8d 0c c7          	lea    (%r15,%rax,8),%r9
140766527:	eb 11                	jmp    0x14076653a
140766529:	45 33 c9             	xor    %r9d,%r9d
14076652c:	eb 0c                	jmp    0x14076653a
14076652e:	45 33 c9             	xor    %r9d,%r9d
140766531:	41 8d 50 ff          	lea    -0x1(%r8),%edx
140766535:	45 85 ed             	test   %r13d,%r13d
140766538:	78 25                	js     0x14076655f
14076653a:	44 3b ed             	cmp    %ebp,%r13d
14076653d:	7d 20                	jge    0x14076655f
14076653f:	85 d2                	test   %edx,%edx
140766541:	78 1c                	js     0x14076655f
140766543:	3b d7                	cmp    %edi,%edx
140766545:	7d 18                	jge    0x14076655f
140766547:	8b c7                	mov    %edi,%eax
140766549:	41 0f af c5          	imul   %r13d,%eax
14076654d:	ff c8                	dec    %eax
14076654f:	41 03 c0             	add    %r8d,%eax
140766552:	48 63 c8             	movslq %eax,%rcx
140766555:	48 8d 04 49          	lea    (%rcx,%rcx,2),%rax
140766559:	4d 8d 1c c7          	lea    (%r15,%rax,8),%r11
14076655d:	eb 03                	jmp    0x140766562
14076655f:	45 33 db             	xor    %r11d,%r11d
140766562:	45 85 e4             	test   %r12d,%r12d
140766565:	78 24                	js     0x14076658b
140766567:	44 3b e5             	cmp    %ebp,%r12d
14076656a:	7d 1f                	jge    0x14076658b
14076656c:	45 85 c0             	test   %r8d,%r8d
14076656f:	78 1a                	js     0x14076658b
140766571:	44 3b c7             	cmp    %edi,%r8d
140766574:	7d 15                	jge    0x14076658b
140766576:	41 8b c4             	mov    %r12d,%eax
140766579:	0f af c7             	imul   %edi,%eax
14076657c:	41 03 c0             	add    %r8d,%eax
14076657f:	48 98                	cltq
140766581:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140766585:	49 8d 14 cf          	lea    (%r15,%rcx,8),%rdx
140766589:	eb 02                	jmp    0x14076658d
14076658b:	33 d2                	xor    %edx,%edx
14076658d:	44 8b 7a 08          	mov    0x8(%rdx),%r15d
140766591:	45 8b 73 08          	mov    0x8(%r11),%r14d
140766595:	41 8b 41 08          	mov    0x8(%r9),%eax
140766599:	45 0f b6 12          	movzbl (%r10),%r10d
14076659d:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
1407665a2:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1407665a7:	44 3a 54 29 ff       	cmp    -0x1(%rcx,%rbp,1),%r10b
1407665ac:	75 16                	jne    0x1407665c4
1407665ae:	8d 48 01             	lea    0x1(%rax),%ecx
1407665b1:	8d 41 63             	lea    0x63(%rcx),%eax
1407665b4:	41 80 79 05 00       	cmpb   $0x0,0x5(%r9)
1407665b9:	0f 44 c1             	cmove  %ecx,%eax
1407665bc:	44 88 56 04          	mov    %r10b,0x4(%rsi)
1407665c0:	c6 46 05 01          	movb   $0x1,0x5(%rsi)
1407665c4:	8b c8                	mov    %eax,%ecx
1407665c6:	0f b6 6e 05          	movzbl 0x5(%rsi),%ebp
1407665ca:	40 84 ed             	test   %bpl,%bpl
1407665cd:	75 0f                	jne    0x1407665de
1407665cf:	41 8b c7             	mov    %r15d,%eax
1407665d2:	45 3b fe             	cmp    %r14d,%r15d
1407665d5:	41 0f 4c c6          	cmovl  %r14d,%eax
1407665d9:	3b c1                	cmp    %ecx,%eax
1407665db:	0f 4c c1             	cmovl  %ecx,%eax
1407665de:	44 8b d0             	mov    %eax,%r10d
1407665e1:	89 46 08             	mov    %eax,0x8(%rsi)
1407665e4:	3b c1                	cmp    %ecx,%eax
1407665e6:	75 05                	jne    0x1407665ed
1407665e8:	40 84 ed             	test   %bpl,%bpl
1407665eb:	75 0a                	jne    0x1407665f7
1407665ed:	4d 8b cb             	mov    %r11,%r9
1407665f0:	41 3b c7             	cmp    %r15d,%eax
1407665f3:	4c 0f 44 ca          	cmove  %rdx,%r9
1407665f7:	4c 89 4e 10          	mov    %r9,0x10(%rsi)
1407665fb:	44 3b 94 24 e8 00 00 	cmp    0xe8(%rsp),%r10d
140766602:	00
140766603:	0f 4e 84 24 e8 00 00 	cmovle 0xe8(%rsp),%eax
14076660a:	00
14076660b:	44 3b 54 24 20       	cmp    0x20(%rsp),%r10d
140766610:	48 0f 4e 74 24 58    	cmovle 0x58(%rsp),%rsi
140766616:	41 ff c0             	inc    %r8d
140766619:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
14076661e:	48 ff c1             	inc    %rcx
140766621:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140766626:	4c 63 f7             	movslq %edi,%r14
140766629:	49 3b ce             	cmp    %r14,%rcx
14076662c:	8b ac 24 d0 00 00 00 	mov    0xd0(%rsp),%ebp
140766633:	4c 8b 7c 24 38       	mov    0x38(%rsp),%r15
140766638:	4c 8b 54 24 60       	mov    0x60(%rsp),%r10
14076663d:	0f 8c 7d fe ff ff    	jl     0x1407664c0
140766643:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140766648:	41 ff c5             	inc    %r13d
14076664b:	48 ff c2             	inc    %rdx
14076664e:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
140766653:	48 63 cd             	movslq %ebp,%rcx
140766656:	48 3b d1             	cmp    %rcx,%rdx
140766659:	0f 8c 31 fe ff ff    	jl     0x140766490
14076665f:	4c 8b a4 24 e0 00 00 	mov    0xe0(%rsp),%r12
140766666:	00
140766667:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
14076666c:	41 83 7c 24 04 01    	cmpl   $0x1,0x4(%r12)
140766672:	75 12                	jne    0x140766686
140766674:	4d 8b c4             	mov    %r12,%r8
140766677:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14076667c:	48 8b ce             	mov    %rsi,%rcx
14076667f:	e8 6c 00 00 00       	call   0x1407666f0
140766684:	eb 13                	jmp    0x140766699
140766686:	4d 8b cc             	mov    %r12,%r9
140766689:	4c 8b c6             	mov    %rsi,%r8
14076668c:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
140766691:	48 8b ce             	mov    %rsi,%rcx
140766694:	e8 a7 05 00 00       	call   0x140766c40
140766699:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14076669d:	48 8b 0e             	mov    (%rsi),%rcx
1407666a0:	4c 8b c2             	mov    %rdx,%r8
1407666a3:	4c 2b c1             	sub    %rcx,%r8
1407666a6:	49 c1 f8 03          	sar    $0x3,%r8
1407666aa:	3b ef                	cmp    %edi,%ebp
1407666ac:	7e 05                	jle    0x1407666b3
1407666ae:	45 33 c9             	xor    %r9d,%r9d
1407666b1:	eb 06                	jmp    0x1407666b9
1407666b3:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1407666b9:	e8 b2 f1 ff ff       	call   0x140765870
1407666be:	90                   	nop
1407666bf:	49 8b cf             	mov    %r15,%rcx
1407666c2:	e8 7d 4a 6b 00       	call   0x140e1b144
1407666c7:	48 8b c6             	mov    %rsi,%rax
1407666ca:	eb 03                	jmp    0x1407666cf
1407666cc:	48 8b c2             	mov    %rdx,%rax
1407666cf:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
1407666d6:	41 5f                	pop    %r15
1407666d8:	41 5e                	pop    %r14
1407666da:	41 5d                	pop    %r13
1407666dc:	41 5c                	pop    %r12
1407666de:	5f                   	pop    %rdi
1407666df:	5e                   	pop    %rsi
1407666e0:	5d                   	pop    %rbp
1407666e1:	c3                   	ret
1407666e2:	cc                   	int3
1407666e3:	cc                   	int3
1407666e4:	cc                   	int3
1407666e5:	cc                   	int3
1407666e6:	cc                   	int3
1407666e7:	cc                   	int3
1407666e8:	cc                   	int3
1407666e9:	cc                   	int3
1407666ea:	cc                   	int3
1407666eb:	cc                   	int3
1407666ec:	cc                   	int3
1407666ed:	cc                   	int3
1407666ee:	cc                   	int3
1407666ef:	cc                   	int3
1407666f0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1407666f5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1407666fa:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1407666ff:	53                   	push   %rbx
140766700:	55                   	push   %rbp
140766701:	56                   	push   %rsi
140766702:	57                   	push   %rdi
140766703:	41 54                	push   %r12
140766705:	41 55                	push   %r13
140766707:	41 56                	push   %r14
140766709:	41 57                	push   %r15
14076670b:	48 83 ec 78          	sub    $0x78,%rsp
14076670f:	4d 8b f0             	mov    %r8,%r14
140766712:	48 8b f2             	mov    %rdx,%rsi
140766715:	0f 57 c0             	xorps  %xmm0,%xmm0
140766718:	f3 0f 7f 44 24 28    	movdqu %xmm0,0x28(%rsp)
14076671e:	45 33 e4             	xor    %r12d,%r12d
140766721:	41 8b ec             	mov    %r12d,%ebp
140766724:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
140766729:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
14076672e:	8b 52 10             	mov    0x10(%rdx),%edx
140766731:	ff ca                	dec    %edx
140766733:	89 54 24 20          	mov    %edx,0x20(%rsp)
140766737:	4c 8b 7c 24 28       	mov    0x28(%rsp),%r15
14076673c:	85 d2                	test   %edx,%edx
14076673e:	0f 8e c2 03 00 00    	jle    0x140766b06
140766744:	0f 1f 40 00          	nopl   0x0(%rax)
140766748:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14076674f:	00
140766750:	8b 4e 14             	mov    0x14(%rsi),%ecx
140766753:	ff c9                	dec    %ecx
140766755:	89 8c 24 d8 00 00 00 	mov    %ecx,0xd8(%rsp)
14076675c:	85 c9                	test   %ecx,%ecx
14076675e:	0f 8e 94 03 00 00    	jle    0x140766af8
140766764:	3b 56 10             	cmp    0x10(%rsi),%edx
140766767:	7d 23                	jge    0x14076678c
140766769:	8b 46 14             	mov    0x14(%rsi),%eax
14076676c:	3b c8                	cmp    %eax,%ecx
14076676e:	7d 1c                	jge    0x14076678c
140766770:	0f af c2             	imul   %edx,%eax
140766773:	03 c1                	add    %ecx,%eax
140766775:	48 98                	cltq
140766777:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
14076677b:	48 8b 46 18          	mov    0x18(%rsi),%rax
14076677f:	48 8d 1c c8          	lea    (%rax,%rcx,8),%rbx
140766783:	8b 8c 24 d8 00 00 00 	mov    0xd8(%rsp),%ecx
14076678a:	eb 03                	jmp    0x14076678f
14076678c:	49 8b dc             	mov    %r12,%rbx
14076678f:	80 7b 05 00          	cmpb   $0x0,0x5(%rbx)
140766793:	0f 84 38 03 00 00    	je     0x140766ad1
140766799:	80 7b 06 00          	cmpb   $0x0,0x6(%rbx)
14076679d:	0f 85 2e 03 00 00    	jne    0x140766ad1
1407667a3:	b9 18 00 00 00       	mov    $0x18,%ecx
1407667a8:	e8 5b 49 6b 00       	call   0x140e1b108
1407667ad:	48 8b f8             	mov    %rax,%rdi
1407667b0:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1407667b5:	48 85 c0             	test   %rax,%rax
1407667b8:	74 0d                	je     0x1407667c7
1407667ba:	4c 89 20             	mov    %r12,(%rax)
1407667bd:	4c 89 60 08          	mov    %r12,0x8(%rax)
1407667c1:	4c 89 60 10          	mov    %r12,0x10(%rax)
1407667c5:	eb 08                	jmp    0x1407667cf
1407667c7:	49 8b fc             	mov    %r12,%rdi
1407667ca:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1407667cf:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
1407667d4:	4d 8b ce             	mov    %r14,%r9
1407667d7:	4c 8b c3             	mov    %rbx,%r8
1407667da:	48 8b d6             	mov    %rsi,%rdx
1407667dd:	48 8b cf             	mov    %rdi,%rcx
1407667e0:	e8 5b 04 00 00       	call   0x140766c40
1407667e5:	49 8b c7             	mov    %r15,%rax
1407667e8:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1407667ed:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1407667f2:	4c 3b f9             	cmp    %rcx,%r15
1407667f5:	0f 84 5e 02 00 00    	je     0x140766a59
1407667fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140766800:	48 8b 00             	mov    (%rax),%rax
140766803:	48 85 c0             	test   %rax,%rax
140766806:	0f 84 2c 02 00 00    	je     0x140766a38
14076680c:	4c 8b 28             	mov    (%rax),%r13
14076680f:	48 8b 40 08          	mov    0x8(%rax),%rax
140766813:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140766818:	4c 3b e8             	cmp    %rax,%r13
14076681b:	0f 84 17 02 00 00    	je     0x140766a38
140766821:	48 8b 0f             	mov    (%rdi),%rcx
140766824:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140766829:	4c 8b 7f 08          	mov    0x8(%rdi),%r15
14076682d:	0f 1f 00             	nopl   (%rax)
140766830:	48 8b f9             	mov    %rcx,%rdi
140766833:	49 3b cf             	cmp    %r15,%rcx
140766836:	0f 84 e5 01 00 00    	je     0x140766a21
14076683c:	49 8b 6d 00          	mov    0x0(%r13),%rbp
140766840:	48 8b 75 18          	mov    0x18(%rbp),%rsi
140766844:	4c 8b 65 10          	mov    0x10(%rbp),%r12
140766848:	4c 8b f6             	mov    %rsi,%r14
14076684b:	4d 2b f4             	sub    %r12,%r14
14076684e:	49 c1 fe 04          	sar    $0x4,%r14
140766852:	48 8b 1f             	mov    (%rdi),%rbx
140766855:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140766859:	48 8b 43 18          	mov    0x18(%rbx),%rax
14076685d:	48 2b c1             	sub    %rcx,%rax
140766860:	48 c1 f8 04          	sar    $0x4,%rax
140766864:	4c 3b f0             	cmp    %rax,%r14
140766867:	0f 84 d9 00 00 00    	je     0x140766946
14076686d:	4c 8b d6             	mov    %rsi,%r10
140766870:	4d 8b cc             	mov    %r12,%r9
140766873:	4c 8b 5b 18          	mov    0x18(%rbx),%r11
140766877:	48 8b 43 10          	mov    0x10(%rbx),%rax
14076687b:	49 8b cb             	mov    %r11,%rcx
14076687e:	48 2b c8             	sub    %rax,%rcx
140766881:	4d 2b d4             	sub    %r12,%r10
140766884:	49 33 ca             	xor    %r10,%rcx
140766887:	48 f7 c1 f0 ff ff ff 	test   $0xfffffffffffffff0,%rcx
14076688e:	0f 85 76 01 00 00    	jne    0x140766a0a
140766894:	49 3b c3             	cmp    %r11,%rax
140766897:	74 39                	je     0x1407668d2
140766899:	49 83 c1 08          	add    $0x8,%r9
14076689d:	0f 1f 00             	nopl   (%rax)
1407668a0:	8b 50 08             	mov    0x8(%rax),%edx
1407668a3:	45 8b 11             	mov    (%r9),%r10d
1407668a6:	41 3b d2             	cmp    %r10d,%edx
1407668a9:	0f 8f 5b 01 00 00    	jg     0x140766a0a
1407668af:	44 8b 43 08          	mov    0x8(%rbx),%r8d
1407668b3:	44 03 c2             	add    %edx,%r8d
1407668b6:	8b 55 08             	mov    0x8(%rbp),%edx
1407668b9:	41 03 d2             	add    %r10d,%edx
1407668bc:	44 3b c2             	cmp    %edx,%r8d
1407668bf:	0f 8c 45 01 00 00    	jl     0x140766a0a
1407668c5:	48 83 c0 10          	add    $0x10,%rax
1407668c9:	49 83 c1 10          	add    $0x10,%r9
1407668cd:	49 3b c3             	cmp    %r11,%rax
1407668d0:	75 ce                	jne    0x1407668a0
1407668d2:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
1407668d7:	48 8b 0f             	mov    (%rdi),%rcx
1407668da:	e8 11 f2 ff ff       	call   0x140765af0
1407668df:	48 8b 1f             	mov    (%rdi),%rbx
1407668e2:	48 85 db             	test   %rbx,%rbx
1407668e5:	0f 84 a9 01 00 00    	je     0x140766a94
1407668eb:	48 8b 0b             	mov    (%rbx),%rcx
1407668ee:	48 85 c9             	test   %rcx,%rcx
1407668f1:	0f 84 7f 01 00 00    	je     0x140766a76
1407668f7:	48 8b 43 10          	mov    0x10(%rbx),%rax
1407668fb:	48 2b c1             	sub    %rcx,%rax
1407668fe:	48 c1 f8 03          	sar    $0x3,%rax
140766902:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
140766909:	00
14076690a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140766911:	72 1c                	jb     0x14076692f
140766913:	48 83 c2 27          	add    $0x27,%rdx
140766917:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14076691b:	49 2b c8             	sub    %r8,%rcx
14076691e:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140766922:	48 83 f8 1f          	cmp    $0x1f,%rax
140766926:	0f 87 fb 02 00 00    	ja     0x140766c27
14076692c:	49 8b c8             	mov    %r8,%rcx
14076692f:	e8 10 48 6b 00       	call   0x140e1b144
140766934:	33 f6                	xor    %esi,%esi
140766936:	48 89 33             	mov    %rsi,(%rbx)
140766939:	48 89 73 08          	mov    %rsi,0x8(%rbx)
14076693d:	48 89 73 10          	mov    %rsi,0x10(%rbx)
140766941:	e9 32 01 00 00       	jmp    0x140766a78
140766946:	49 8b c4             	mov    %r12,%rax
140766949:	4c 3b e6             	cmp    %rsi,%r12
14076694c:	74 46                	je     0x140766994
14076694e:	4c 8b d6             	mov    %rsi,%r10
140766951:	48 83 c1 08          	add    $0x8,%rcx
140766955:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14076695c:	00 00 00 00
140766960:	44 8b 40 08          	mov    0x8(%rax),%r8d
140766964:	44 8b 19             	mov    (%rcx),%r11d
140766967:	45 3b c3             	cmp    %r11d,%r8d
14076696a:	0f 8f 00 ff ff ff    	jg     0x140766870
140766970:	44 8b 4d 08          	mov    0x8(%rbp),%r9d
140766974:	45 03 c8             	add    %r8d,%r9d
140766977:	44 8b 43 08          	mov    0x8(%rbx),%r8d
14076697b:	45 03 c3             	add    %r11d,%r8d
14076697e:	45 3b c8             	cmp    %r8d,%r9d
140766981:	0f 8c e9 fe ff ff    	jl     0x140766870
140766987:	48 83 c0 10          	add    $0x10,%rax
14076698b:	48 83 c1 10          	add    $0x10,%rcx
14076698f:	48 3b c6             	cmp    %rsi,%rax
140766992:	75 cc                	jne    0x140766960
140766994:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140766999:	48 8b cb             	mov    %rbx,%rcx
14076699c:	e8 4f f1 ff ff       	call   0x140765af0
1407669a1:	48 8b 0b             	mov    (%rbx),%rcx
1407669a4:	48 85 c9             	test   %rcx,%rcx
1407669a7:	74 4a                	je     0x1407669f3
1407669a9:	48 8b 43 10          	mov    0x10(%rbx),%rax
1407669ad:	48 2b c1             	sub    %rcx,%rax
1407669b0:	48 c1 f8 03          	sar    $0x3,%rax
1407669b4:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx