562664:	75 1b                	jne    0x562681
562666:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
56266a:	b8 01 00 00 00       	mov    $0x1,%eax
56266f:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
562676:	0f 44 f8             	cmove  %eax,%edi
562679:	89 7d c8             	mov    %edi,-0x38(%ebp)
56267c:	eb 03                	jmp    0x562681
56267e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
562681:	85 c9                	test   %ecx,%ecx
562683:	0f 84 17 ff ff ff    	je     0x5625a0
562689:	8b 75 fc             	mov    -0x4(%ebp),%esi
56268c:	eb 61                	jmp    0x5626ef
56268e:	8b 75 fc             	mov    -0x4(%ebp),%esi
562691:	85 f6                	test   %esi,%esi
562693:	75 5a                	jne    0x5626ef
562695:	39 75 f0             	cmp    %esi,-0x10(%ebp)
562698:	75 30                	jne    0x5626ca
56269a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
56269d:	8d 45 f8             	lea    -0x8(%ebp),%eax
5626a0:	50                   	push   %eax
5626a1:	ff 75 f4             	push   -0xc(%ebp)
5626a4:	8b 45 10             	mov    0x10(%ebp),%eax
5626a7:	53                   	push   %ebx
5626a8:	56                   	push   %esi
5626a9:	50                   	push   %eax
5626aa:	51                   	push   %ecx
5626ab:	50                   	push   %eax
5626ac:	51                   	push   %ecx
5626ad:	ff 75 08             	push   0x8(%ebp)
5626b0:	e8 cb 00 00 00       	call   0x562780
5626b5:	83 c4 24             	add    $0x24,%esp
5626b8:	8b f0                	mov    %eax,%esi
5626ba:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
5626be:	b8 01 00 00 00       	mov    $0x1,%eax
5626c3:	0f 44 f8             	cmove  %eax,%edi
5626c6:	85 f6                	test   %esi,%esi
5626c8:	75 25                	jne    0x5626ef
5626ca:	85 ff                	test   %edi,%edi
5626cc:	75 21                	jne    0x5626ef
5626ce:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5626d1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5626d4:	50                   	push   %eax
5626d5:	ff 75 f4             	push   -0xc(%ebp)
5626d8:	8b 45 10             	mov    0x10(%ebp),%eax
5626db:	53                   	push   %ebx
5626dc:	6a 01                	push   $0x1
5626de:	50                   	push   %eax
5626df:	51                   	push   %ecx
5626e0:	50                   	push   %eax
5626e1:	51                   	push   %ecx
5626e2:	ff 75 08             	push   0x8(%ebp)
5626e5:	e8 96 00 00 00       	call   0x562780
5626ea:	83 c4 24             	add    $0x24,%esp
5626ed:	8b f0                	mov    %eax,%esi
5626ef:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
5626f3:	74 0b                	je     0x562700
5626f5:	ff 73 18             	push   0x18(%ebx)
5626f8:	e8 93 86 f8 ff       	call   0x4ead90
5626fd:	83 c4 04             	add    $0x4,%esp
562700:	8b 4d a8             	mov    -0x58(%ebp),%ecx
562703:	8b 09                	mov    (%ecx),%ecx
562705:	85 c9                	test   %ecx,%ecx
562707:	74 62                	je     0x56276b
562709:	83 b9 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%ecx)
562710:	74 13                	je     0x562725
562712:	53                   	push   %ebx
562713:	51                   	push   %ecx
562714:	e8 57 6d fa ff       	call   0x509470
562719:	83 c4 08             	add    $0x8,%esp
56271c:	8b c6                	mov    %esi,%eax
56271e:	5f                   	pop    %edi
56271f:	5e                   	pop    %esi
562720:	5b                   	pop    %ebx
562721:	8b e5                	mov    %ebp,%esp
562723:	5d                   	pop    %ebp
562724:	c3                   	ret
562725:	3b 99 4c 01 00 00    	cmp    0x14c(%ecx),%ebx
56272b:	73 3e                	jae    0x56276b
56272d:	3b 99 44 01 00 00    	cmp    0x144(%ecx),%ebx
562733:	72 17                	jb     0x56274c
562735:	8b 81 40 01 00 00    	mov    0x140(%ecx),%eax
56273b:	89 03                	mov    %eax,(%ebx)
56273d:	8b c6                	mov    %esi,%eax
56273f:	5f                   	pop    %edi
562740:	5e                   	pop    %esi
562741:	89 99 40 01 00 00    	mov    %ebx,0x140(%ecx)
562747:	5b                   	pop    %ebx
562748:	8b e5                	mov    %ebp,%esp
56274a:	5d                   	pop    %ebp
56274b:	c3                   	ret
56274c:	3b 99 48 01 00 00    	cmp    0x148(%ecx),%ebx
562752:	72 17                	jb     0x56276b
562754:	8b 81 38 01 00 00    	mov    0x138(%ecx),%eax
56275a:	89 03                	mov    %eax,(%ebx)
56275c:	8b c6                	mov    %esi,%eax
56275e:	5f                   	pop    %edi
56275f:	5e                   	pop    %esi
562760:	89 99 38 01 00 00    	mov    %ebx,0x138(%ecx)
562766:	5b                   	pop    %ebx
562767:	8b e5                	mov    %ebp,%esp
562769:	5d                   	pop    %ebp
56276a:	c3                   	ret
56276b:	53                   	push   %ebx
56276c:	e8 1f 86 f8 ff       	call   0x4ead90
562771:	83 c4 04             	add    $0x4,%esp
562774:	8b c6                	mov    %esi,%eax
562776:	5f                   	pop    %edi
562777:	5e                   	pop    %esi
562778:	5b                   	pop    %ebx
562779:	8b e5                	mov    %ebp,%esp
56277b:	5d                   	pop    %ebp
56277c:	c3                   	ret
56277d:	cc                   	int3
56277e:	cc                   	int3
56277f:	cc                   	int3
562780:	55                   	push   %ebp
562781:	8b ec                	mov    %esp,%ebp
562783:	83 ec 20             	sub    $0x20,%esp
562786:	8b 4d 08             	mov    0x8(%ebp),%ecx
562789:	53                   	push   %ebx
56278a:	56                   	push   %esi
56278b:	57                   	push   %edi
56278c:	8b 41 04             	mov    0x4(%ecx),%eax
56278f:	8b 71 0c             	mov    0xc(%ecx),%esi
562792:	8b 09                	mov    (%ecx),%ecx
562794:	8b 7d 20             	mov    0x20(%ebp),%edi
562797:	89 45 f8             	mov    %eax,-0x8(%ebp)
56279a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
56279d:	8b 47 10             	mov    0x10(%edi),%eax
5627a0:	89 45 f4             	mov    %eax,-0xc(%ebp)
5627a3:	8b 01                	mov    (%ecx),%eax
5627a5:	8b 49 04             	mov    0x4(%ecx),%ecx
5627a8:	89 45 e8             	mov    %eax,-0x18(%ebp)
5627ab:	0f b6 46 10          	movzbl 0x10(%esi),%eax
5627af:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5627b2:	8b 0f                	mov    (%edi),%ecx
5627b4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5627b7:	8d 1c c0             	lea    (%eax,%eax,8),%ebx
5627ba:	8b 45 28             	mov    0x28(%ebp),%eax
5627bd:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5627c0:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5627c6:	8b 45 0c             	mov    0xc(%ebp),%eax
5627c9:	89 06                	mov    %eax,(%esi)
5627cb:	8b 45 10             	mov    0x10(%ebp),%eax
5627ce:	89 46 04             	mov    %eax,0x4(%esi)
5627d1:	8b 57 04             	mov    0x4(%edi),%edx
5627d4:	85 c9                	test   %ecx,%ecx
5627d6:	7e 57                	jle    0x56282f
5627d8:	83 c2 05             	add    $0x5,%edx
5627db:	8b f9                	mov    %ecx,%edi
5627dd:	0f 1f 00             	nopl   (%eax)
5627e0:	8b 42 03             	mov    0x3(%edx),%eax
5627e3:	8d 1c 40             	lea    (%eax,%eax,2),%ebx
5627e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5627e9:	c1 e3 04             	shl    $0x4,%ebx
5627ec:	03 58 14             	add    0x14(%eax),%ebx
5627ef:	c6 02 00             	movb   $0x0,(%edx)
5627f2:	8b 73 24             	mov    0x24(%ebx),%esi
5627f5:	8b 43 20             	mov    0x20(%ebx),%eax
5627f8:	23 45 14             	and    0x14(%ebp),%eax
5627fb:	89 75 10             	mov    %esi,0x10(%ebp)
5627fe:	8b 75 18             	mov    0x18(%ebp),%esi
562801:	21 75 10             	and    %esi,0x10(%ebp)
562804:	3b 43 20             	cmp    0x20(%ebx),%eax
562807:	75 15                	jne    0x56281e
562809:	8b 43 24             	mov    0x24(%ebx),%eax
56280c:	39 45 10             	cmp    %eax,0x10(%ebp)
56280f:	75 0d                	jne    0x56281e
562811:	66 8b 45 1c          	mov    0x1c(%ebp),%ax
562815:	66 85 43 0c          	test   %ax,0xc(%ebx)
562819:	75 03                	jne    0x56281e
56281b:	c6 02 01             	movb   $0x1,(%edx)
56281e:	83 c2 0c             	add    $0xc,%edx
562821:	83 ef 01             	sub    $0x1,%edi
562824:	75 ba                	jne    0x5627e0
562826:	8b 75 e4             	mov    -0x1c(%ebp),%esi
562829:	8b 7d 20             	mov    0x20(%ebp),%edi
56282c:	8b 5d f0             	mov    -0x10(%ebp),%ebx
56282f:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
562836:	50                   	push   %eax
562837:	6a 00                	push   $0x0
562839:	ff 75 f4             	push   -0xc(%ebp)
56283c:	e8 bf 11 08 00       	call   0x5e3a00
562841:	8b 4d ec             	mov    -0x14(%ebp),%ecx
562844:	f2 0f 10 05 08 c6 6b 	movsd  0x6bc608,%xmm0
56284b:	00
56284c:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
562853:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
56285a:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
562861:	f2 0f 11 47 28       	movsd  %xmm0,0x28(%edi)
562866:	c7 47 30 19 00 00 00 	movl   $0x19,0x30(%edi)
56286d:	c7 47 34 00 00 00 00 	movl   $0x0,0x34(%edi)
562874:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
56287b:	8b 44 d9 40          	mov    0x40(%ecx,%ebx,8),%eax
56287f:	89 47 40             	mov    %eax,0x40(%edi)
562882:	8b 44 d9 44          	mov    0x44(%ecx,%ebx,8),%eax
562886:	57                   	push   %edi
562887:	89 47 44             	mov    %eax,0x44(%edi)
56288a:	ff 74 d9 18          	push   0x18(%ecx,%ebx,8)
56288e:	ff 75 e8             	push   -0x18(%ebp)
562891:	e8 ba ae ff ff       	call   0x55d750
562896:	83 c4 18             	add    $0x18,%esp
562899:	85 c0                	test   %eax,%eax
56289b:	74 0f                	je     0x5628ac
56289d:	33 c9                	xor    %ecx,%ecx
56289f:	83 f8 13             	cmp    $0x13,%eax
5628a2:	5f                   	pop    %edi
5628a3:	5e                   	pop    %esi
5628a4:	0f 44 c1             	cmove  %ecx,%eax
5628a7:	5b                   	pop    %ebx
5628a8:	8b e5                	mov    %ebp,%esp
5628aa:	5d                   	pop    %ebp
5628ab:	c3                   	ret
5628ac:	8b 55 fc             	mov    -0x4(%ebp),%edx
5628af:	33 db                	xor    %ebx,%ebx
5628b1:	c7 45 10 ff ff ff ff 	movl   $0xffffffff,0x10(%ebp)
5628b8:	85 d2                	test   %edx,%edx
5628ba:	7e 66                	jle    0x562922
5628bc:	83 fa 04             	cmp    $0x4,%edx
5628bf:	72 4e                	jb     0x56290f
5628c1:	8b 4e 30             	mov    0x30(%esi),%ecx
5628c4:	8d 46 30             	lea    0x30(%esi),%eax
5628c7:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5628ca:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
5628cd:	83 c1 fc             	add    $0xfffffffc,%ecx
5628d0:	39 00                	cmp    %eax,(%eax)
5628d2:	77 04                	ja     0x5628d8
5628d4:	3b c8                	cmp    %eax,%ecx
5628d6:	73 37                	jae    0x56290f
5628d8:	8b c2                	mov    %edx,%eax
5628da:	25 03 00 00 80       	and    $0x80000003,%eax
5628df:	79 05                	jns    0x5628e6
5628e1:	48                   	dec    %eax
5628e2:	83 c8 fc             	or     $0xfffffffc,%eax
5628e5:	40                   	inc    %eax
5628e6:	2b d0                	sub    %eax,%edx
5628e8:	83 c3 04             	add    $0x4,%ebx
5628eb:	3b da                	cmp    %edx,%ebx
5628ed:	7c f9                	jl     0x5628e8
5628ef:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5628f2:	8d 42 03             	lea    0x3(%edx),%eax
5628f5:	99                   	cltd
5628f6:	83 e2 03             	and    $0x3,%edx
5628f9:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
5628fc:	8b 55 fc             	mov    -0x4(%ebp),%edx
5628ff:	c1 f9 02             	sar    $0x2,%ecx
562902:	c1 e1 04             	shl    $0x4,%ecx
562905:	c1 e9 02             	shr    $0x2,%ecx
562908:	33 c0                	xor    %eax,%eax
56290a:	f3 ab                	rep stos %eax,%es:(%edi)
56290c:	8b 7d 20             	mov    0x20(%ebp),%edi
56290f:	3b da                	cmp    %edx,%ebx
562911:	7d 0f                	jge    0x562922
562913:	8b 46 30             	mov    0x30(%esi),%eax
562916:	c7 04 98 00 00 00 00 	movl   $0x0,(%eax,%ebx,4)
56291d:	43                   	inc    %ebx
56291e:	3b da                	cmp    %edx,%ebx
562920:	7c f1                	jl     0x562913
562922:	33 c0                	xor    %eax,%eax
562924:	33 c9                	xor    %ecx,%ecx
562926:	66 89 46 1e          	mov    %ax,0x1e(%esi)
56292a:	8b 47 04             	mov    0x4(%edi),%eax
56292d:	85 d2                	test   %edx,%edx
56292f:	0f 8e d8 00 00 00    	jle    0x562a0d
562935:	83 c0 05             	add    $0x5,%eax
562938:	89 45 20             	mov    %eax,0x20(%ebp)
56293b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
562940:	8b 5d f4             	mov    -0xc(%ebp),%ebx
562943:	8b 1c cb             	mov    (%ebx,%ecx,8),%ebx
562946:	83 eb 01             	sub    $0x1,%ebx
562949:	0f 88 af 00 00 00    	js     0x5629fe
56294f:	8b 40 03             	mov    0x3(%eax),%eax
562952:	3b da                	cmp    %edx,%ebx
562954:	0f 8d f7 00 00 00    	jge    0x562a51
56295a:	85 c0                	test   %eax,%eax
56295c:	0f 88 ef 00 00 00    	js     0x562a51
562962:	8b 55 f8             	mov    -0x8(%ebp),%edx
562965:	3b 42 0c             	cmp    0xc(%edx),%eax
562968:	0f 8d e3 00 00 00    	jge    0x562a51
56296e:	8b 56 30             	mov    0x30(%esi),%edx
562971:	83 3c 9a 00          	cmpl   $0x0,(%edx,%ebx,4)
562975:	0f 85 d6 00 00 00    	jne    0x562a51
56297b:	8b 55 20             	mov    0x20(%ebp),%edx
56297e:	80 3a 00             	cmpb   $0x0,(%edx)
562981:	0f 84 ca 00 00 00    	je     0x562a51
562987:	8d 14 40             	lea    (%eax,%eax,2),%edx
56298a:	8b 45 f8             	mov    -0x8(%ebp),%eax
56298d:	c1 e2 04             	shl    $0x4,%edx
562990:	03 50 14             	add    0x14(%eax),%edx
562993:	89 55 e4             	mov    %edx,-0x1c(%ebp)
562996:	8b 42 20             	mov    0x20(%edx),%eax
562999:	09 06                	or     %eax,(%esi)
56299b:	8b 42 24             	mov    0x24(%edx),%eax
56299e:	09 46 04             	or     %eax,0x4(%esi)
5629a1:	8b 46 30             	mov    0x30(%esi),%eax
5629a4:	89 14 98             	mov    %edx,(%eax,%ebx,4)
5629a7:	8b 45 10             	mov    0x10(%ebp),%eax
5629aa:	3b d8                	cmp    %eax,%ebx
5629ac:	0f 4f c3             	cmovg  %ebx,%eax
5629af:	89 45 10             	mov    %eax,0x10(%ebp)
5629b2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5629b5:	80 7c c8 04 00       	cmpb   $0x0,0x4(%eax,%ecx,8)
5629ba:	74 22                	je     0x5629de
5629bc:	83 f9 10             	cmp    $0x10,%ecx
5629bf:	7d 1d                	jge    0x5629de
5629c1:	0f b7 45 24          	movzwl 0x24(%ebp),%eax
5629c5:	ba 01 00 00 00       	mov    $0x1,%edx
5629ca:	d3 e2                	shl    %cl,%edx
5629cc:	85 d0                	test   %edx,%eax
5629ce:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5629d1:	75 0b                	jne    0x5629de
5629d3:	0f b7 46 1e          	movzwl 0x1e(%esi),%eax
5629d7:	0f ab d8             	bts    %ebx,%eax
5629da:	66 89 46 1e          	mov    %ax,0x1e(%esi)
5629de:	f6 42 0c 01          	testb  $0x1,0xc(%edx)
5629e2:	8b 55 fc             	mov    -0x4(%ebp),%edx
5629e5:	74 14                	je     0x5629fb
5629e7:	8b 45 28             	mov    0x28(%ebp),%eax
5629ea:	83 67 38 fe          	andl   $0xfffffffe,0x38(%edi)
5629ee:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
5629f5:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5629fb:	8b 45 20             	mov    0x20(%ebp),%eax
5629fe:	41                   	inc    %ecx
5629ff:	83 c0 0c             	add    $0xc,%eax
562a02:	89 45 20             	mov    %eax,0x20(%ebp)
562a05:	3b ca                	cmp    %edx,%ecx
562a07:	0f 8c 33 ff ff ff    	jl     0x562940
562a0d:	8b 55 10             	mov    0x10(%ebp),%edx
562a10:	33 c9                	xor    %ecx,%ecx
562a12:	8d 42 01             	lea    0x1(%edx),%eax
562a15:	66 89 46 28          	mov    %ax,0x28(%esi)
562a19:	85 d2                	test   %edx,%edx
562a1b:	78 10                	js     0x562a2d
562a1d:	8b 46 30             	mov    0x30(%esi),%eax
562a20:	83 38 00             	cmpl   $0x0,(%eax)
562a23:	74 54                	je     0x562a79
562a25:	41                   	inc    %ecx
562a26:	83 c0 04             	add    $0x4,%eax
562a29:	3b ca                	cmp    %edx,%ecx
562a2b:	7e f3                	jle    0x562a20
562a2d:	8b 47 14             	mov    0x14(%edi),%eax
562a30:	89 46 18             	mov    %eax,0x18(%esi)
562a33:	8a 47 1c             	mov    0x1c(%edi),%al
562a36:	88 46 1c             	mov    %al,0x1c(%esi)
562a39:	8b 47 18             	mov    0x18(%edi),%eax
562a3c:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
562a43:	89 46 20             	mov    %eax,0x20(%esi)
562a46:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
562a4a:	74 3b                	je     0x562a87
562a4c:	8b 47 08             	mov    0x8(%edi),%eax