14055576d:	aa aa 2a
140555770:	48 f7 e9             	imul   %rcx
140555773:	48 c1 fa 03          	sar    $0x3,%rdx
140555777:	48 8b c2             	mov    %rdx,%rax
14055577a:	48 c1 e8 3f          	shr    $0x3f,%rax
14055577e:	48 03 d0             	add    %rax,%rdx
140555781:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140555785:	48 c1 e2 04          	shl    $0x4,%rdx
140555789:	48 8b c3             	mov    %rbx,%rax
14055578c:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140555793:	72 19                	jb     0x1405557ae
140555795:	48 83 c2 27          	add    $0x27,%rdx
140555799:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
14055579d:	48 2b c3             	sub    %rbx,%rax
1405557a0:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405557a4:	48 83 f8 1f          	cmp    $0x1f,%rax
1405557a8:	0f 87 96 08 00 00    	ja     0x140556044
1405557ae:	48 8b cb             	mov    %rbx,%rcx
1405557b1:	e8 8e 59 8c 00       	call   0x140e1b144
1405557b6:	0f 57 c0             	xorps  %xmm0,%xmm0
1405557b9:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
1405557bf:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
1405557c6:	00 00
1405557c8:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1405557cd:	48 85 c9             	test   %rcx,%rcx
1405557d0:	74 24                	je     0x1405557f6
1405557d2:	8b 41 10             	mov    0x10(%rcx),%eax
1405557d5:	ff c8                	dec    %eax
1405557d7:	89 41 10             	mov    %eax,0x10(%rcx)
1405557da:	85 c0                	test   %eax,%eax
1405557dc:	7f 18                	jg     0x1405557f6
1405557de:	0f 88 66 08 00 00    	js     0x14055604a
1405557e4:	48 8b 01             	mov    (%rcx),%rax
1405557e7:	ba 01 00 00 00       	mov    $0x1,%edx
1405557ec:	48 8b 00             	mov    (%rax),%rax
1405557ef:	ff 15 2b e2 a2 00    	call   *0xa2e22b(%rip)        # 0x140f83a20
1405557f5:	90                   	nop
1405557f6:	4d 85 e4             	test   %r12,%r12
1405557f9:	74 16                	je     0x140555811
1405557fb:	49 8b cc             	mov    %r12,%rcx
1405557fe:	e8 8d c3 24 00       	call   0x1407a1b90
140555803:	ba 38 00 00 00       	mov    $0x38,%edx
140555808:	49 8b cc             	mov    %r12,%rcx
14055580b:	e8 34 59 8c 00       	call   0x140e1b144
140555810:	90                   	nop
140555811:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
140555815:	b9 ff ff 00 00       	mov    $0xffff,%ecx
14055581a:	48 85 c0             	test   %rax,%rax
14055581d:	74 04                	je     0x140555823
14055581f:	66 01 48 0c          	add    %cx,0xc(%rax)
140555823:	48 8b 85 c0 00 00 00 	mov    0xc0(%rbp),%rax
14055582a:	66 01 48 0c          	add    %cx,0xc(%rax)
14055582e:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140555832:	e8 69 c4 e6 ff       	call   0x1403c1ca0
140555837:	e9 3d 07 00 00       	jmp    0x140555f79
14055583c:	48 8b cb             	mov    %rbx,%rcx
14055583f:	e8 5c f2 1d 00       	call   0x140734aa0
140555844:	48 8b f8             	mov    %rax,%rdi
140555847:	0f 57 c0             	xorps  %xmm0,%xmm0
14055584a:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
140555850:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
140555857:	00 00
140555859:	48 8b 48 30          	mov    0x30(%rax),%rcx
14055585d:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140555861:	48 2b 11             	sub    (%rcx),%rdx
140555864:	48 c1 fa 04          	sar    $0x4,%rdx
140555868:	8b d2                	mov    %edx,%edx
14055586a:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14055586f:	e8 2c 80 ff ff       	call   0x14054d8a0
140555874:	33 db                	xor    %ebx,%ebx
140555876:	48 8b 47 30          	mov    0x30(%rdi),%rax
14055587a:	48 8b 48 08          	mov    0x8(%rax),%rcx
14055587e:	48 2b 08             	sub    (%rax),%rcx
140555881:	48 c1 f9 04          	sar    $0x4,%rcx
140555885:	85 c9                	test   %ecx,%ecx
140555887:	0f 84 e5 00 00 00    	je     0x140555972
14055588d:	0f 1f 00             	nopl   (%rax)
140555890:	44 8b c3             	mov    %ebx,%r8d
140555893:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140555898:	48 8b cf             	mov    %rdi,%rcx
14055589b:	e8 10 ff 1d 00       	call   0x1407357b0
1405558a0:	90                   	nop
1405558a1:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
1405558a6:	48 85 d2             	test   %rdx,%rdx
1405558a9:	75 05                	jne    0x1405558b0
1405558ab:	e9 a9 00 00 00       	jmp    0x140555959
1405558b0:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
1405558b5:	e8 96 f4 ff ff       	call   0x140554d50
1405558ba:	90                   	nop
1405558bb:	80 7c 24 70 00       	cmpb   $0x0,0x70(%rsp)
1405558c0:	0f 84 0d 01 00 00    	je     0x1405559d3
1405558c6:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
1405558cb:	48 3b 54 24 48       	cmp    0x48(%rsp),%rdx
1405558d0:	74 30                	je     0x140555902
1405558d2:	48 89 95 a0 00 00 00 	mov    %rdx,0xa0(%rbp)
1405558d9:	c6 42 28 ff          	movb   $0xff,0x28(%rdx)
1405558dd:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
1405558e2:	48 0f be 4d a0       	movsbq -0x60(%rbp),%rcx
1405558e7:	48 ff c1             	inc    %rcx
1405558ea:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
1405558ef:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1405558f4:	e8 67 b1 fe ff       	call   0x140540a60
1405558f9:	90                   	nop
1405558fa:	48 83 44 24 40 30    	addq   $0x30,0x40(%rsp)
140555900:	eb 10                	jmp    0x140555912
140555902:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
140555907:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14055590c:	e8 0f a6 fe ff       	call   0x14053ff20
140555911:	90                   	nop
140555912:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
140555917:	80 7c 24 70 00       	cmpb   $0x0,0x70(%rsp)
14055591c:	74 07                	je     0x140555925
14055591e:	e8 7d c3 e6 ff       	call   0x1403c1ca0
140555923:	eb 06                	jmp    0x14055592b
140555925:	e8 26 99 46 00       	call   0x1409bf250
14055592a:	90                   	nop
14055592b:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140555930:	48 85 c9             	test   %rcx,%rcx
140555933:	74 24                	je     0x140555959
140555935:	8b 41 10             	mov    0x10(%rcx),%eax
140555938:	ff c8                	dec    %eax
14055593a:	89 41 10             	mov    %eax,0x10(%rcx)
14055593d:	85 c0                	test   %eax,%eax
14055593f:	7f 18                	jg     0x140555959
140555941:	0f 88 0e 07 00 00    	js     0x140556055
140555947:	48 8b 01             	mov    (%rcx),%rax
14055594a:	ba 01 00 00 00       	mov    $0x1,%edx
14055594f:	48 8b 00             	mov    (%rax),%rax
140555952:	ff 15 c8 e0 a2 00    	call   *0xa2e0c8(%rip)        # 0x140f83a20
140555958:	90                   	nop
140555959:	ff c3                	inc    %ebx
14055595b:	48 8b 47 30          	mov    0x30(%rdi),%rax
14055595f:	48 8b 48 08          	mov    0x8(%rax),%rcx
140555963:	48 2b 08             	sub    (%rax),%rcx
140555966:	48 c1 f9 04          	sar    $0x4,%rcx
14055596a:	3b d9                	cmp    %ecx,%ebx
14055596c:	0f 82 1e ff ff ff    	jb     0x140555890
140555972:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140555977:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
14055597e:	00 00
140555980:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140555985:	48 c7 44 24 40 00 00 	movq   $0x0,0x40(%rsp)
14055598c:	00 00
14055598e:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140555993:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
14055599a:	00 00
14055599c:	48 89 85 80 00 00 00 	mov    %rax,0x80(%rbp)
1405559a3:	48 89 8d 88 00 00 00 	mov    %rcx,0x88(%rbp)
1405559aa:	48 89 95 90 00 00 00 	mov    %rdx,0x90(%rbp)
1405559b1:	45 33 c0             	xor    %r8d,%r8d
1405559b4:	48 8d 95 80 00 00 00 	lea    0x80(%rbp),%rdx
1405559bb:	48 8b ce             	mov    %rsi,%rcx
1405559be:	e8 bd 82 ff ff       	call   0x14054dc80
1405559c3:	90                   	nop
1405559c4:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1405559c9:	e8 82 c3 e6 ff       	call   0x1403c1d50
1405559ce:	e9 a6 05 00 00       	jmp    0x140555f79
1405559d3:	c6 06 00             	movb   $0x0,(%rsi)
1405559d6:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
1405559da:	b2 0c                	mov    $0xc,%dl
1405559dc:	e8 9f 95 46 00       	call   0x1409bef80
1405559e1:	90                   	nop
1405559e2:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
1405559e7:	80 7c 24 70 00       	cmpb   $0x0,0x70(%rsp)
1405559ec:	74 07                	je     0x1405559f5
1405559ee:	e8 ad c2 e6 ff       	call   0x1403c1ca0
1405559f3:	eb 06                	jmp    0x1405559fb
1405559f5:	e8 56 98 46 00       	call   0x1409bf250
1405559fa:	90                   	nop
1405559fb:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140555a00:	e8 eb 8a c4 ff       	call   0x14019e4f0
140555a05:	90                   	nop
140555a06:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140555a0b:	48 85 db             	test   %rbx,%rbx
140555a0e:	0f 84 65 05 00 00    	je     0x140555f79
140555a14:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140555a19:	48 3b df             	cmp    %rdi,%rbx
140555a1c:	0f 84 e8 03 00 00    	je     0x140555e0a
140555a22:	48 8b cb             	mov    %rbx,%rcx
140555a25:	e8 76 c2 e6 ff       	call   0x1403c1ca0
140555a2a:	48 83 c3 30          	add    $0x30,%rbx
140555a2e:	48 3b df             	cmp    %rdi,%rbx
140555a31:	75 ef                	jne    0x140555a22
140555a33:	e9 cd 03 00 00       	jmp    0x140555e05
140555a38:	48 8b cb             	mov    %rbx,%rcx
140555a3b:	e8 00 ed 1d 00       	call   0x140734740
140555a40:	4c 8b f0             	mov    %rax,%r14
140555a43:	0f 57 c0             	xorps  %xmm0,%xmm0
140555a46:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
140555a4c:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
140555a53:	00 00
140555a55:	48 8b c8             	mov    %rax,%rcx
140555a58:	e8 73 d1 e6 ff       	call   0x1403c2bd0
140555a5d:	48 63 d0             	movslq %eax,%rdx
140555a60:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140555a65:	e8 36 7e ff ff       	call   0x14054d8a0
140555a6a:	33 ff                	xor    %edi,%edi
140555a6c:	49 8b 4e 20          	mov    0x20(%r14),%rcx
140555a70:	49 8b 46 28          	mov    0x28(%r14),%rax
140555a74:	48 2b c1             	sub    %rcx,%rax
140555a77:	48 c1 f8 03          	sar    $0x3,%rax
140555a7b:	85 c0                	test   %eax,%eax
140555a7d:	0f 8e 8a 00 00 00    	jle    0x140555b0d
140555a83:	33 db                	xor    %ebx,%ebx
140555a85:	48 8b 14 0b          	mov    (%rbx,%rcx,1),%rdx
140555a89:	48 85 d2             	test   %rdx,%rdx
140555a8c:	74 62                	je     0x140555af0
140555a8e:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140555a93:	e8 b8 f2 ff ff       	call   0x140554d50
140555a98:	90                   	nop
140555a99:	80 7c 24 70 00       	cmpb   $0x0,0x70(%rsp)
140555a9e:	0f 84 f2 00 00 00    	je     0x140555b96
140555aa4:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140555aa9:	48 3b 44 24 48       	cmp    0x48(%rsp),%rax
140555aae:	74 15                	je     0x140555ac5
140555ab0:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
140555ab5:	48 8b c8             	mov    %rax,%rcx
140555ab8:	e8 e3 ce fe ff       	call   0x1405429a0
140555abd:	48 83 44 24 40 30    	addq   $0x30,0x40(%rsp)
140555ac3:	eb 13                	jmp    0x140555ad8
140555ac5:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
140555aca:	48 8b d0             	mov    %rax,%rdx
140555acd:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140555ad2:	e8 49 a4 fe ff       	call   0x14053ff20
140555ad7:	90                   	nop
140555ad8:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
140555add:	80 7c 24 70 00       	cmpb   $0x0,0x70(%rsp)
140555ae2:	74 07                	je     0x140555aeb
140555ae4:	e8 b7 c1 e6 ff       	call   0x1403c1ca0
140555ae9:	eb 05                	jmp    0x140555af0
140555aeb:	e8 60 97 46 00       	call   0x1409bf250
140555af0:	ff c7                	inc    %edi
140555af2:	48 83 c3 08          	add    $0x8,%rbx
140555af6:	49 8b 4e 20          	mov    0x20(%r14),%rcx
140555afa:	49 8b 46 28          	mov    0x28(%r14),%rax
140555afe:	48 2b c1             	sub    %rcx,%rax
140555b01:	48 c1 f8 03          	sar    $0x3,%rax
140555b05:	3b f8                	cmp    %eax,%edi
140555b07:	0f 8c 78 ff ff ff    	jl     0x140555a85
140555b0d:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140555b12:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
140555b19:	00 00
140555b1b:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140555b20:	48 c7 44 24 40 00 00 	movq   $0x0,0x40(%rsp)
140555b27:	00 00
140555b29:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140555b2e:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
140555b35:	00 00
140555b37:	48 89 85 80 00 00 00 	mov    %rax,0x80(%rbp)
140555b3e:	48 89 8d 88 00 00 00 	mov    %rcx,0x88(%rbp)
140555b45:	48 89 95 90 00 00 00 	mov    %rdx,0x90(%rbp)
140555b4c:	45 33 c0             	xor    %r8d,%r8d
140555b4f:	48 8d 95 80 00 00 00 	lea    0x80(%rbp),%rdx
140555b56:	48 8b ce             	mov    %rsi,%rcx
140555b59:	e8 22 81 ff ff       	call   0x14054dc80
140555b5e:	90                   	nop
140555b5f:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140555b64:	48 85 db             	test   %rbx,%rbx
140555b67:	0f 84 0c 04 00 00    	je     0x140555f79
140555b6d:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140555b72:	48 3b df             	cmp    %rdi,%rbx
140555b75:	0f 84 8f 02 00 00    	je     0x140555e0a
140555b7b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140555b80:	48 8b cb             	mov    %rbx,%rcx
140555b83:	e8 18 c1 e6 ff       	call   0x1403c1ca0
140555b88:	48 83 c3 30          	add    $0x30,%rbx
140555b8c:	48 3b df             	cmp    %rdi,%rbx
140555b8f:	75 ef                	jne    0x140555b80
140555b91:	e9 6f 02 00 00       	jmp    0x140555e05
140555b96:	c6 06 00             	movb   $0x0,(%rsi)
140555b99:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140555b9d:	b2 0c                	mov    $0xc,%dl
140555b9f:	e8 dc 93 46 00       	call   0x1409bef80
140555ba4:	90                   	nop
140555ba5:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
140555baa:	80 7c 24 70 00       	cmpb   $0x0,0x70(%rsp)
140555baf:	74 07                	je     0x140555bb8
140555bb1:	e8 ea c0 e6 ff       	call   0x1403c1ca0
140555bb6:	eb 06                	jmp    0x140555bbe
140555bb8:	e8 93 96 46 00       	call   0x1409bf250
140555bbd:	90                   	nop
140555bbe:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140555bc3:	48 85 db             	test   %rbx,%rbx
140555bc6:	0f 84 ad 03 00 00    	je     0x140555f79
140555bcc:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140555bd1:	48 3b df             	cmp    %rdi,%rbx
140555bd4:	0f 84 30 02 00 00    	je     0x140555e0a
140555bda:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140555be0:	48 8b cb             	mov    %rbx,%rcx
140555be3:	e8 b8 c0 e6 ff       	call   0x1403c1ca0
140555be8:	48 83 c3 30          	add    $0x30,%rbx
140555bec:	48 3b df             	cmp    %rdi,%rbx
140555bef:	75 ef                	jne    0x140555be0
140555bf1:	e9 0f 02 00 00       	jmp    0x140555e05
140555bf6:	48 8b cb             	mov    %rbx,%rcx
140555bf9:	e8 c2 ec 1d 00       	call   0x1407348c0
140555bfe:	4c 8b f0             	mov    %rax,%r14
140555c01:	0f 57 c0             	xorps  %xmm0,%xmm0
140555c04:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
140555c0a:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
140555c11:	00 00
140555c13:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140555c17:	e8 24 49 1f 00       	call   0x14074a540
140555c1c:	48 63 78 78          	movslq 0x78(%rax),%rdi
140555c20:	48 8b d7             	mov    %rdi,%rdx
140555c23:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140555c28:	e8 73 7c ff ff       	call   0x14054d8a0
140555c2d:	33 db                	xor    %ebx,%ebx
140555c2f:	48 85 ff             	test   %rdi,%rdi
140555c32:	0f 84 10 01 00 00    	je     0x140555d48
140555c38:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140555c3f:	00
140555c40:	44 8b c3             	mov    %ebx,%r8d
140555c43:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140555c48:	49 8b ce             	mov    %r14,%rcx
140555c4b:	e8 d0 71 1e 00       	call   0x14073ce20
140555c50:	90                   	nop
140555c51:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
140555c56:	48 85 d2             	test   %rdx,%rdx
140555c59:	75 50                	jne    0x140555cab
140555c5b:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140555c60:	48 3b 54 24 48       	cmp    0x48(%rsp),%rdx
140555c65:	74 0c                	je     0x140555c73
140555c67:	c6 42 28 00          	movb   $0x0,0x28(%rdx)
140555c6b:	48 83 44 24 40 30    	addq   $0x30,0x40(%rsp)
140555c71:	eb 12                	jmp    0x140555c85
140555c73:	4c 8d 05 7e 87 ab 00 	lea    0xab877e(%rip),%r8        # 0x14100e3f8
140555c7a:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140555c7f:	e8 ec 8e ff ff       	call   0x14054eb70
140555c84:	90                   	nop
140555c85:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140555c8a:	48 85 c9             	test   %rcx,%rcx
140555c8d:	0f 84 a9 00 00 00    	je     0x140555d3c
140555c93:	8b 41 10             	mov    0x10(%rcx),%eax
140555c96:	ff c8                	dec    %eax
140555c98:	89 41 10             	mov    %eax,0x10(%rcx)
140555c9b:	85 c0                	test   %eax,%eax
140555c9d:	0f 8f 99 00 00 00    	jg     0x140555d3c
140555ca3:	0f 88 08 03 00 00    	js     0x140555fb1
140555ca9:	eb 7f                	jmp    0x140555d2a
140555cab:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140555cb0:	e8 9b f0 ff ff       	call   0x140554d50
140555cb5:	90                   	nop
140555cb6:	80 7c 24 70 00       	cmpb   $0x0,0x70(%rsp)
140555cbb:	0f 84 e8 00 00 00    	je     0x140555da9
140555cc1:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140555cc6:	48 3b 44 24 48       	cmp    0x48(%rsp),%rax
140555ccb:	74 15                	je     0x140555ce2
140555ccd:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
140555cd2:	48 8b c8             	mov    %rax,%rcx