140586519:	4c 8d 4d 50          	lea    0x50(%rbp),%r9
14058651d:	4d 8b c4             	mov    %r12,%r8
140586520:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
140586525:	49 8b cf             	mov    %r15,%rcx
140586528:	e8 93 63 00 00       	call   0x14058c8c0
14058652d:	0f b6 f8             	movzbl %al,%edi
140586530:	48 8b 55 68          	mov    0x68(%rbp),%rdx
140586534:	48 83 fa 0f          	cmp    $0xf,%rdx
140586538:	76 31                	jbe    0x14058656b
14058653a:	48 ff c2             	inc    %rdx
14058653d:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
140586541:	48 8b c1             	mov    %rcx,%rax
140586544:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14058654b:	72 19                	jb     0x140586566
14058654d:	48 83 c2 27          	add    $0x27,%rdx
140586551:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140586555:	48 2b c1             	sub    %rcx,%rax
140586558:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14058655c:	48 83 f8 1f          	cmp    $0x1f,%rax
140586560:	0f 87 d1 04 00 00    	ja     0x140586a37
140586566:	e8 d9 4b 89 00       	call   0x140e1b144
14058656b:	40 84 ff             	test   %dil,%dil
14058656e:	75 73                	jne    0x1405865e3
140586570:	4c 8d 45 30          	lea    0x30(%rbp),%r8
140586574:	48 83 7d 48 0f       	cmpq   $0xf,0x48(%rbp)
140586579:	4c 0f 47 45 30       	cmova  0x30(%rbp),%r8
14058657e:	48 8d 15 cb a6 a8 00 	lea    0xa8a6cb(%rip),%rdx        # 0x141010c50
140586585:	48 8b 0d 6c af ea 00 	mov    0xeaaf6c(%rip),%rcx        # 0x1414314f8
14058658c:	e8 2f d0 20 00       	call   0x1407935c0
140586591:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140586596:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14058659b:	48 3b de             	cmp    %rsi,%rbx
14058659e:	0f 84 57 01 00 00    	je     0x1405866fb
1405865a4:	48 8b 3b             	mov    (%rbx),%rdi
1405865a7:	48 85 ff             	test   %rdi,%rdi
1405865aa:	74 1e                	je     0x1405865ca
1405865ac:	48 8b 0f             	mov    (%rdi),%rcx
1405865af:	e8 90 4b 89 00       	call   0x140e1b144
1405865b4:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405865b8:	e8 87 4b 89 00       	call   0x140e1b144
1405865bd:	ba 20 00 00 00       	mov    $0x20,%edx
1405865c2:	48 8b cf             	mov    %rdi,%rcx
1405865c5:	e8 7a 4b 89 00       	call   0x140e1b144
1405865ca:	48 83 c3 08          	add    $0x8,%rbx
1405865ce:	48 3b de             	cmp    %rsi,%rbx
1405865d1:	75 d1                	jne    0x1405865a4
1405865d3:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1405865d8:	40 32 ff             	xor    %dil,%dil
1405865db:	45 33 ed             	xor    %r13d,%r13d
1405865de:	e9 7b 02 00 00       	jmp    0x14058685e
1405865e3:	b9 70 00 00 00       	mov    $0x70,%ecx
1405865e8:	e8 1b 4b 89 00       	call   0x140e1b108
1405865ed:	48 8b f8             	mov    %rax,%rdi
1405865f0:	48 89 45 50          	mov    %rax,0x50(%rbp)
1405865f4:	48 8d 05 f5 a2 a8 00 	lea    0xa8a2f5(%rip),%rax        # 0x1410108f0
1405865fb:	45 33 ed             	xor    %r13d,%r13d
1405865fe:	48 85 ff             	test   %rdi,%rdi
140586601:	74 4b                	je     0x14058664e
140586603:	0f 57 c0             	xorps  %xmm0,%xmm0
140586606:	0f 11 47 08          	movups %xmm0,0x8(%rdi)
14058660a:	4c 89 6f 18          	mov    %r13,0x18(%rdi)
14058660e:	48 c7 47 20 0f 00 00 	movq   $0xf,0x20(%rdi)
140586615:	00
140586616:	44 88 6f 08          	mov    %r13b,0x8(%rdi)
14058661a:	44 88 6f 28          	mov    %r13b,0x28(%rdi)
14058661e:	c7 47 2c 01 00 00 00 	movl   $0x1,0x2c(%rdi)
140586625:	4c 89 6f 30          	mov    %r13,0x30(%rdi)
140586629:	4c 89 6f 38          	mov    %r13,0x38(%rdi)
14058662d:	4c 89 6f 40          	mov    %r13,0x40(%rdi)
140586631:	4c 89 6f 48          	mov    %r13,0x48(%rdi)
140586635:	4c 89 6f 50          	mov    %r13,0x50(%rdi)
140586639:	48 89 07             	mov    %rax,(%rdi)
14058663c:	4c 89 6f 58          	mov    %r13,0x58(%rdi)
140586640:	4c 89 6f 60          	mov    %r13,0x60(%rdi)
140586644:	44 89 6f 68          	mov    %r13d,0x68(%rdi)
140586648:	44 88 6f 6c          	mov    %r13b,0x6c(%rdi)
14058664c:	eb 03                	jmp    0x140586651
14058664e:	49 8b fd             	mov    %r13,%rdi
140586651:	4d 8b c6             	mov    %r14,%r8
140586654:	48 8b d7             	mov    %rdi,%rdx
140586657:	49 8b cf             	mov    %r15,%rcx
14058665a:	e8 21 04 00 00       	call   0x140586a80
14058665f:	84 c0                	test   %al,%al
140586661:	0f 85 9f 00 00 00    	jne    0x140586706
140586667:	48 85 ff             	test   %rdi,%rdi
14058666a:	74 4c                	je     0x1405866b8
14058666c:	48 8d 05 7d a2 a8 00 	lea    0xa8a27d(%rip),%rax        # 0x1410108f0
140586673:	48 89 07             	mov    %rax,(%rdi)
140586676:	48 8b 4f 60          	mov    0x60(%rdi),%rcx
14058667a:	48 85 c9             	test   %rcx,%rcx
14058667d:	74 23                	je     0x1405866a2
14058667f:	8b 41 10             	mov    0x10(%rcx),%eax
140586682:	ff c8                	dec    %eax
140586684:	89 41 10             	mov    %eax,0x10(%rcx)
140586687:	85 c0                	test   %eax,%eax
140586689:	7f 17                	jg     0x1405866a2
14058668b:	0f 88 ac 03 00 00    	js     0x140586a3d
140586691:	48 8b 01             	mov    (%rcx),%rax
140586694:	ba 01 00 00 00       	mov    $0x1,%edx
140586699:	48 8b 00             	mov    (%rax),%rax
14058669c:	ff 15 7e d3 9f 00    	call   *0x9fd37e(%rip)        # 0x140f83a20
1405866a2:	48 8b cf             	mov    %rdi,%rcx
1405866a5:	e8 46 e6 ff ff       	call   0x140584cf0
1405866aa:	90                   	nop
1405866ab:	ba 70 00 00 00       	mov    $0x70,%edx
1405866b0:	48 8b cf             	mov    %rdi,%rcx
1405866b3:	e8 8c 4a 89 00       	call   0x140e1b144
1405866b8:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1405866bd:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1405866c2:	48 3b de             	cmp    %rsi,%rbx
1405866c5:	74 34                	je     0x1405866fb
1405866c7:	48 8b 3b             	mov    (%rbx),%rdi
1405866ca:	48 85 ff             	test   %rdi,%rdi
1405866cd:	74 1e                	je     0x1405866ed
1405866cf:	48 8b 0f             	mov    (%rdi),%rcx
1405866d2:	e8 6d 4a 89 00       	call   0x140e1b144
1405866d7:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405866db:	e8 64 4a 89 00       	call   0x140e1b144
1405866e0:	ba 20 00 00 00       	mov    $0x20,%edx
1405866e5:	48 8b cf             	mov    %rdi,%rcx
1405866e8:	e8 57 4a 89 00       	call   0x140e1b144
1405866ed:	48 83 c3 08          	add    $0x8,%rbx
1405866f1:	48 3b de             	cmp    %rsi,%rbx
1405866f4:	75 d1                	jne    0x1405866c7
1405866f6:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1405866fb:	40 32 ff             	xor    %dil,%dil
1405866fe:	45 33 ed             	xor    %r13d,%r13d
140586701:	e9 58 01 00 00       	jmp    0x14058685e
140586706:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14058670b:	48 2b 4c 24 48       	sub    0x48(%rsp),%rcx
140586710:	48 c1 f9 03          	sar    $0x3,%rcx
140586714:	b8 08 00 00 00       	mov    $0x8,%eax
140586719:	48 f7 e1             	mul    %rcx
14058671c:	48 0f 42 c6          	cmovb  %rsi,%rax
140586720:	48 8b c8             	mov    %rax,%rcx
140586723:	e8 f4 4e 89 00       	call   0x140e1b61c
140586728:	4c 8b f0             	mov    %rax,%r14
14058672b:	49 8b d5             	mov    %r13,%rdx
14058672e:	4c 8b 4c 24 50       	mov    0x50(%rsp),%r9
140586733:	49 8b c9             	mov    %r9,%rcx
140586736:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
14058673b:	49 2b c8             	sub    %r8,%rcx
14058673e:	48 c1 f9 03          	sar    $0x3,%rcx
140586742:	48 85 c9             	test   %rcx,%rcx
140586745:	74 2d                	je     0x140586774
140586747:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14058674e:	00 00
140586750:	49 8b 04 d0          	mov    (%r8,%rdx,8),%rax
140586754:	49 89 04 d6          	mov    %rax,(%r14,%rdx,8)
140586758:	48 ff c2             	inc    %rdx
14058675b:	4c 8b 4c 24 50       	mov    0x50(%rsp),%r9
140586760:	49 8b c1             	mov    %r9,%rax
140586763:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140586768:	49 2b c0             	sub    %r8,%rax
14058676b:	48 c1 f8 03          	sar    $0x3,%rax
14058676f:	48 3b d0             	cmp    %rax,%rdx
140586772:	72 dc                	jb     0x140586750
140586774:	4d 2b c8             	sub    %r8,%r9
140586777:	49 c1 f9 03          	sar    $0x3,%r9
14058677b:	44 89 4f 68          	mov    %r9d,0x68(%rdi)
14058677f:	49 8b cc             	mov    %r12,%rcx
140586782:	e8 e9 4a f3 ff       	call   0x1404bb270
140586787:	48 8b c8             	mov    %rax,%rcx
14058678a:	e8 b1 3d 1c 00       	call   0x14074a540
14058678f:	48 89 47 60          	mov    %rax,0x60(%rdi)
140586793:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140586798:	48 83 c1 48          	add    $0x48,%rcx
14058679c:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
1405867a1:	76 03                	jbe    0x1405867a6
1405867a3:	48 8b 09             	mov    (%rcx),%rcx
1405867a6:	48 89 4d 50          	mov    %rcx,0x50(%rbp)
1405867aa:	48 8b c6             	mov    %rsi,%rax
1405867ad:	0f 1f 00             	nopl   (%rax)
1405867b0:	48 ff c0             	inc    %rax
1405867b3:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1)
1405867b7:	75 f7                	jne    0x1405867b0
1405867b9:	48 89 45 58          	mov    %rax,0x58(%rbp)
1405867bd:	0f 28 45 50          	movaps 0x50(%rbp),%xmm0
1405867c1:	66 0f 7f 45 50       	movdqa %xmm0,0x50(%rbp)
1405867c6:	48 8d 55 50          	lea    0x50(%rbp),%rdx
1405867ca:	48 8b 0d 8f c6 ea 00 	mov    0xeac68f(%rip),%rcx        # 0x141432e60
1405867d1:	e8 7a d9 28 00       	call   0x140814150
1405867d6:	48 89 47 58          	mov    %rax,0x58(%rdi)
1405867da:	48 85 db             	test   %rbx,%rbx
1405867dd:	74 3a                	je     0x140586819
1405867df:	48 8d 43 48          	lea    0x48(%rbx),%rax
1405867e3:	48 83 78 18 0f       	cmpq   $0xf,0x18(%rax)
1405867e8:	76 03                	jbe    0x1405867ed
1405867ea:	48 8b 00             	mov    (%rax),%rax
1405867ed:	48 89 45 50          	mov    %rax,0x50(%rbp)
1405867f1:	48 ff c6             	inc    %rsi
1405867f4:	80 3c 30 00          	cmpb   $0x0,(%rax,%rsi,1)
1405867f8:	75 f7                	jne    0x1405867f1
1405867fa:	48 89 75 58          	mov    %rsi,0x58(%rbp)
1405867fe:	0f 28 45 50          	movaps 0x50(%rbp),%xmm0
140586802:	66 0f 7f 45 50       	movdqa %xmm0,0x50(%rbp)
140586807:	48 8d 55 50          	lea    0x50(%rbp),%rdx
14058680b:	48 8b 0d 4e c6 ea 00 	mov    0xeac64e(%rip),%rcx        # 0x141432e60
140586812:	e8 39 d9 28 00       	call   0x140814150
140586817:	eb 03                	jmp    0x14058681c
140586819:	49 8b c5             	mov    %r13,%rax
14058681c:	48 89 47 48          	mov    %rax,0x48(%rdi)
140586820:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140586825:	e8 56 76 1b 00       	call   0x14073de80
14058682a:	48 83 f8 01          	cmp    $0x1,%rax
14058682e:	0f 94 c0             	sete   %al
140586831:	88 47 6c             	mov    %al,0x6c(%rdi)
140586834:	4d 8b c6             	mov    %r14,%r8
140586837:	8b 57 68             	mov    0x68(%rdi),%edx
14058683a:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
14058683e:	e8 fd d2 ff ff       	call   0x140583b40
140586843:	49 8d 8f 80 00 00 00 	lea    0x80(%r15),%rcx
14058684a:	48 8d 57 38          	lea    0x38(%rdi),%rdx
14058684e:	e8 bd b5 e3 ff       	call   0x1403c1e10
140586853:	48 89 38             	mov    %rdi,(%rax)
140586856:	40 b7 01             	mov    $0x1,%dil
140586859:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14058685e:	48 85 db             	test   %rbx,%rbx
140586861:	74 4f                	je     0x1405868b2
140586863:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140586868:	48 2b c3             	sub    %rbx,%rax
14058686b:	48 c1 f8 03          	sar    $0x3,%rax
14058686f:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
140586876:	00
140586877:	48 8b c3             	mov    %rbx,%rax
14058687a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140586881:	72 19                	jb     0x14058689c
140586883:	48 83 c2 27          	add    $0x27,%rdx
140586887:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
14058688b:	48 2b c3             	sub    %rbx,%rax
14058688e:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140586892:	48 83 f8 1f          	cmp    $0x1f,%rax
140586896:	0f 87 ac 01 00 00    	ja     0x140586a48
14058689c:	48 8b cb             	mov    %rbx,%rcx
14058689f:	e8 a0 48 89 00       	call   0x140e1b144
1405868a4:	0f 57 c0             	xorps  %xmm0,%xmm0
1405868a7:	f3 0f 7f 44 24 48    	movdqu %xmm0,0x48(%rsp)
1405868ad:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
1405868b2:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
1405868b7:	48 85 c9             	test   %rcx,%rcx
1405868ba:	74 24                	je     0x1405868e0
1405868bc:	8b 41 10             	mov    0x10(%rcx),%eax
1405868bf:	ff c8                	dec    %eax
1405868c1:	89 41 10             	mov    %eax,0x10(%rcx)
1405868c4:	85 c0                	test   %eax,%eax
1405868c6:	7f 18                	jg     0x1405868e0
1405868c8:	0f 88 80 01 00 00    	js     0x140586a4e
1405868ce:	48 8b 01             	mov    (%rcx),%rax
1405868d1:	ba 01 00 00 00       	mov    $0x1,%edx
1405868d6:	48 8b 00             	mov    (%rax),%rax
1405868d9:	ff 15 41 d1 9f 00    	call   *0x9fd141(%rip)        # 0x140f83a20
1405868df:	90                   	nop
1405868e0:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1405868e5:	48 85 c9             	test   %rcx,%rcx
1405868e8:	74 24                	je     0x14058690e
1405868ea:	8b 41 10             	mov    0x10(%rcx),%eax
1405868ed:	ff c8                	dec    %eax
1405868ef:	89 41 10             	mov    %eax,0x10(%rcx)
1405868f2:	85 c0                	test   %eax,%eax
1405868f4:	7f 18                	jg     0x14058690e
1405868f6:	0f 88 5d 01 00 00    	js     0x140586a59
1405868fc:	48 8b 01             	mov    (%rcx),%rax
1405868ff:	ba 01 00 00 00       	mov    $0x1,%edx
140586904:	48 8b 00             	mov    (%rax),%rax
140586907:	ff 15 13 d1 9f 00    	call   *0x9fd113(%rip)        # 0x140f83a20
14058690d:	90                   	nop
14058690e:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140586913:	48 85 c9             	test   %rcx,%rcx
140586916:	74 24                	je     0x14058693c
140586918:	8b 41 10             	mov    0x10(%rcx),%eax
14058691b:	ff c8                	dec    %eax
14058691d:	89 41 10             	mov    %eax,0x10(%rcx)
140586920:	85 c0                	test   %eax,%eax
140586922:	7f 18                	jg     0x14058693c
140586924:	0f 88 3a 01 00 00    	js     0x140586a64
14058692a:	48 8b 01             	mov    (%rcx),%rax
14058692d:	ba 01 00 00 00       	mov    $0x1,%edx
140586932:	48 8b 00             	mov    (%rax),%rax
140586935:	ff 15 e5 d0 9f 00    	call   *0x9fd0e5(%rip)        # 0x140f83a20
14058693b:	90                   	nop
14058693c:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140586941:	48 85 c9             	test   %rcx,%rcx
140586944:	74 24                	je     0x14058696a
140586946:	8b 41 10             	mov    0x10(%rcx),%eax
140586949:	ff c8                	dec    %eax
14058694b:	89 41 10             	mov    %eax,0x10(%rcx)
14058694e:	85 c0                	test   %eax,%eax
140586950:	7f 18                	jg     0x14058696a
140586952:	0f 88 17 01 00 00    	js     0x140586a6f
140586958:	48 8b 01             	mov    (%rcx),%rax
14058695b:	ba 01 00 00 00       	mov    $0x1,%edx
140586960:	48 8b 00             	mov    (%rax),%rax
140586963:	ff 15 b7 d0 9f 00    	call   *0x9fd0b7(%rip)        # 0x140f83a20
140586969:	90                   	nop
14058696a:	48 8b 55 48          	mov    0x48(%rbp),%rdx
14058696e:	48 83 fa 0f          	cmp    $0xf,%rdx
140586972:	76 2d                	jbe    0x1405869a1
140586974:	48 ff c2             	inc    %rdx
140586977:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
14058697b:	48 8b c1             	mov    %rcx,%rax
14058697e:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140586985:	72 15                	jb     0x14058699c
140586987:	48 83 c2 27          	add    $0x27,%rdx
14058698b:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14058698f:	48 2b c1             	sub    %rcx,%rax
140586992:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140586996:	48 83 f8 1f          	cmp    $0x1f,%rax
14058699a:	77 30                	ja     0x1405869cc
14058699c:	e8 a3 47 89 00       	call   0x140e1b144
1405869a1:	40 0f b6 c7          	movzbl %dil,%eax
1405869a5:	48 8b 4d 70          	mov    0x70(%rbp),%rcx
1405869a9:	48 33 cc             	xor    %rsp,%rcx
1405869ac:	e8 4f 4b 89 00       	call   0x140e1b500
1405869b1:	48 8b 9c 24 d0 01 00 	mov    0x1d0(%rsp),%rbx
1405869b8:	00
1405869b9:	48 81 c4 80 01 00 00 	add    $0x180,%rsp
1405869c0:	41 5f                	pop    %r15
1405869c2:	41 5e                	pop    %r14
1405869c4:	41 5d                	pop    %r13
1405869c6:	41 5c                	pop    %r12
1405869c8:	5f                   	pop    %rdi
1405869c9:	5e                   	pop    %rsi
1405869ca:	5d                   	pop    %rbp
1405869cb:	c3                   	ret
1405869cc:	e8 d3 37 8a 00       	call   0x140e2a1a4
1405869d1:	90                   	nop
1405869d2:	33 c9                	xor    %ecx,%ecx
1405869d4:	e8 27 3d 20 00       	call   0x14078a700
1405869d9:	cc                   	int3
1405869da:	b9 01 00 00 00       	mov    $0x1,%ecx
1405869df:	e8 1c 3d 20 00       	call   0x14078a700
1405869e4:	90                   	nop
1405869e5:	b9 02 00 00 00       	mov    $0x2,%ecx
1405869ea:	e8 11 3d 20 00       	call   0x14078a700
1405869ef:	90                   	nop
1405869f0:	b9 02 00 00 00       	mov    $0x2,%ecx
1405869f5:	e8 06 3d 20 00       	call   0x14078a700
1405869fa:	90                   	nop
1405869fb:	33 c9                	xor    %ecx,%ecx
1405869fd:	e8 fe 3c 20 00       	call   0x14078a700
140586a02:	cc                   	int3
140586a03:	b9 01 00 00 00       	mov    $0x1,%ecx
140586a08:	e8 f3 3c 20 00       	call   0x14078a700
140586a0d:	90                   	nop
140586a0e:	b9 02 00 00 00       	mov    $0x2,%ecx
140586a13:	e8 e8 3c 20 00       	call   0x14078a700
140586a18:	90                   	nop
140586a19:	33 c9                	xor    %ecx,%ecx
140586a1b:	e8 e0 3c 20 00       	call   0x14078a700
140586a20:	cc                   	int3