5ba7a3:	83 f9 10             	cmp    $0x10,%ecx
5ba7a6:	72 2e                	jb     0x5ba7d6
5ba7a8:	8b 06                	mov    (%esi),%eax
5ba7aa:	41                   	inc    %ecx
5ba7ab:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5ba7b1:	72 16                	jb     0x5ba7c9
5ba7b3:	8b 50 fc             	mov    -0x4(%eax),%edx
5ba7b6:	83 c1 23             	add    $0x23,%ecx
5ba7b9:	2b c2                	sub    %edx,%eax
5ba7bb:	83 c0 fc             	add    $0xfffffffc,%eax
5ba7be:	83 f8 1f             	cmp    $0x1f,%eax
5ba7c1:	0f 87 32 0a 00 00    	ja     0x5bb1f9
5ba7c7:	8b c2                	mov    %edx,%eax
5ba7c9:	51                   	push   %ecx
5ba7ca:	50                   	push   %eax
5ba7cb:	e8 a2 68 02 00       	call   0x5e1072
5ba7d0:	8b 45 88             	mov    -0x78(%ebp),%eax
5ba7d3:	83 c4 08             	add    $0x8,%esp
5ba7d6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5ba7dd:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5ba7e4:	c6 06 00             	movb   $0x0,(%esi)
5ba7e7:	83 c6 18             	add    $0x18,%esi
5ba7ea:	3b f0                	cmp    %eax,%esi
5ba7ec:	75 b2                	jne    0x5ba7a0
5ba7ee:	8b 77 18             	mov    0x18(%edi),%esi
5ba7f1:	8d 47 18             	lea    0x18(%edi),%eax
5ba7f4:	8b 48 08             	mov    0x8(%eax),%ecx
5ba7f7:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5ba7fc:	2b ce                	sub    %esi,%ecx
5ba7fe:	f7 e9                	imul   %ecx
5ba800:	c1 fa 02             	sar    $0x2,%edx
5ba803:	8b c2                	mov    %edx,%eax
5ba805:	c1 e8 1f             	shr    $0x1f,%eax
5ba808:	03 c2                	add    %edx,%eax
5ba80a:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5ba80d:	c1 e1 03             	shl    $0x3,%ecx
5ba810:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5ba816:	72 16                	jb     0x5ba82e
5ba818:	8b 56 fc             	mov    -0x4(%esi),%edx
5ba81b:	83 c1 23             	add    $0x23,%ecx
5ba81e:	2b f2                	sub    %edx,%esi
5ba820:	8d 46 fc             	lea    -0x4(%esi),%eax
5ba823:	83 f8 1f             	cmp    $0x1f,%eax
5ba826:	0f 87 cd 09 00 00    	ja     0x5bb1f9
5ba82c:	8b f2                	mov    %edx,%esi
5ba82e:	51                   	push   %ecx
5ba82f:	56                   	push   %esi
5ba830:	e8 3d 68 02 00       	call   0x5e1072
5ba835:	83 c4 08             	add    $0x8,%esp
5ba838:	8d 47 18             	lea    0x18(%edi),%eax
5ba83b:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
5ba841:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5ba847:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
5ba84e:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5ba855:	eb 1a                	jmp    0x5ba871
5ba857:	57                   	push   %edi
5ba858:	56                   	push   %esi
5ba859:	e8 f2 d4 ff ff       	call   0x5b7d50
5ba85e:	ff 75 84             	push   -0x7c(%ebp)
5ba861:	e8 da 2a ea ff       	call   0x45d340
5ba866:	ff 75 8c             	push   -0x74(%ebp)
5ba869:	e8 d2 2a ea ff       	call   0x45d340
5ba86e:	83 c4 10             	add    $0x10,%esp
5ba871:	8d 45 a8             	lea    -0x58(%ebp),%eax
5ba874:	50                   	push   %eax
5ba875:	57                   	push   %edi
5ba876:	e8 15 b9 e8 ff       	call   0x446190
5ba87b:	83 c4 08             	add    $0x8,%esp
5ba87e:	85 f6                	test   %esi,%esi
5ba880:	0f 84 2a 01 00 00    	je     0x5ba9b0
5ba886:	8b 76 18             	mov    0x18(%esi),%esi
5ba889:	85 f6                	test   %esi,%esi
5ba88b:	0f 84 ca 00 00 00    	je     0x5ba95b
5ba891:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
5ba897:	8b 48 1c             	mov    0x1c(%eax),%ecx
5ba89a:	89 4d 88             	mov    %ecx,-0x78(%ebp)
5ba89d:	3b f1                	cmp    %ecx,%esi
5ba89f:	74 59                	je     0x5ba8fa
5ba8a1:	8b c1                	mov    %ecx,%eax
5ba8a3:	8b 4e 14             	mov    0x14(%esi),%ecx
5ba8a6:	83 f9 10             	cmp    $0x10,%ecx
5ba8a9:	72 2e                	jb     0x5ba8d9
5ba8ab:	8b 06                	mov    (%esi),%eax
5ba8ad:	41                   	inc    %ecx
5ba8ae:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5ba8b4:	72 16                	jb     0x5ba8cc
5ba8b6:	8b 50 fc             	mov    -0x4(%eax),%edx
5ba8b9:	83 c1 23             	add    $0x23,%ecx
5ba8bc:	2b c2                	sub    %edx,%eax
5ba8be:	83 c0 fc             	add    $0xfffffffc,%eax
5ba8c1:	83 f8 1f             	cmp    $0x1f,%eax
5ba8c4:	0f 87 2f 09 00 00    	ja     0x5bb1f9
5ba8ca:	8b c2                	mov    %edx,%eax
5ba8cc:	51                   	push   %ecx
5ba8cd:	50                   	push   %eax
5ba8ce:	e8 9f 67 02 00       	call   0x5e1072
5ba8d3:	8b 45 88             	mov    -0x78(%ebp),%eax
5ba8d6:	83 c4 08             	add    $0x8,%esp
5ba8d9:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5ba8e0:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5ba8e7:	c6 06 00             	movb   $0x0,(%esi)
5ba8ea:	83 c6 18             	add    $0x18,%esi
5ba8ed:	3b f0                	cmp    %eax,%esi
5ba8ef:	75 b2                	jne    0x5ba8a3
5ba8f1:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
5ba8f7:	8b 70 18             	mov    0x18(%eax),%esi
5ba8fa:	8b 48 20             	mov    0x20(%eax),%ecx
5ba8fd:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5ba902:	2b ce                	sub    %esi,%ecx
5ba904:	f7 e9                	imul   %ecx
5ba906:	c1 fa 02             	sar    $0x2,%edx
5ba909:	8b c2                	mov    %edx,%eax
5ba90b:	c1 e8 1f             	shr    $0x1f,%eax
5ba90e:	03 c2                	add    %edx,%eax
5ba910:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5ba913:	c1 e1 03             	shl    $0x3,%ecx
5ba916:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5ba91c:	72 16                	jb     0x5ba934
5ba91e:	8b 56 fc             	mov    -0x4(%esi),%edx
5ba921:	83 c1 23             	add    $0x23,%ecx
5ba924:	2b f2                	sub    %edx,%esi
5ba926:	8d 46 fc             	lea    -0x4(%esi),%eax
5ba929:	83 f8 1f             	cmp    $0x1f,%eax
5ba92c:	0f 87 c7 08 00 00    	ja     0x5bb1f9
5ba932:	8b f2                	mov    %edx,%esi
5ba934:	51                   	push   %ecx
5ba935:	56                   	push   %esi
5ba936:	e8 37 67 02 00       	call   0x5e1072
5ba93b:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
5ba941:	83 c4 08             	add    $0x8,%esp
5ba944:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
5ba94b:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
5ba952:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
5ba959:	eb 06                	jmp    0x5ba961
5ba95b:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
5ba961:	8b 4e 14             	mov    0x14(%esi),%ecx
5ba964:	83 f9 10             	cmp    $0x10,%ecx
5ba967:	72 2b                	jb     0x5ba994
5ba969:	8b 06                	mov    (%esi),%eax
5ba96b:	41                   	inc    %ecx
5ba96c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5ba972:	72 16                	jb     0x5ba98a
5ba974:	8b 50 fc             	mov    -0x4(%eax),%edx
5ba977:	83 c1 23             	add    $0x23,%ecx
5ba97a:	2b c2                	sub    %edx,%eax
5ba97c:	83 c0 fc             	add    $0xfffffffc,%eax
5ba97f:	83 f8 1f             	cmp    $0x1f,%eax
5ba982:	0f 87 71 08 00 00    	ja     0x5bb1f9
5ba988:	8b c2                	mov    %edx,%eax
5ba98a:	51                   	push   %ecx
5ba98b:	50                   	push   %eax
5ba98c:	e8 e1 66 02 00       	call   0x5e1072
5ba991:	83 c4 08             	add    $0x8,%esp
5ba994:	6a 24                	push   $0x24
5ba996:	56                   	push   %esi
5ba997:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5ba99e:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5ba9a5:	c6 06 00             	movb   $0x0,(%esi)
5ba9a8:	e8 c5 66 02 00       	call   0x5e1072
5ba9ad:	83 c4 08             	add    $0x8,%esp
5ba9b0:	85 ff                	test   %edi,%edi
5ba9b2:	0f 84 8e 07 00 00    	je     0x5bb146
5ba9b8:	8b 77 18             	mov    0x18(%edi),%esi
5ba9bb:	85 f6                	test   %esi,%esi
5ba9bd:	0f 84 b7 00 00 00    	je     0x5baa7a
5ba9c3:	8b 47 1c             	mov    0x1c(%edi),%eax
5ba9c6:	89 45 88             	mov    %eax,-0x78(%ebp)
5ba9c9:	3b f0                	cmp    %eax,%esi
5ba9cb:	74 54                	je     0x5baa21
5ba9cd:	0f 1f 00             	nopl   (%eax)
5ba9d0:	8b 4e 14             	mov    0x14(%esi),%ecx
5ba9d3:	83 f9 10             	cmp    $0x10,%ecx
5ba9d6:	72 2e                	jb     0x5baa06
5ba9d8:	8b 06                	mov    (%esi),%eax
5ba9da:	41                   	inc    %ecx
5ba9db:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5ba9e1:	72 16                	jb     0x5ba9f9
5ba9e3:	8b 50 fc             	mov    -0x4(%eax),%edx
5ba9e6:	83 c1 23             	add    $0x23,%ecx
5ba9e9:	2b c2                	sub    %edx,%eax
5ba9eb:	83 c0 fc             	add    $0xfffffffc,%eax
5ba9ee:	83 f8 1f             	cmp    $0x1f,%eax
5ba9f1:	0f 87 02 08 00 00    	ja     0x5bb1f9
5ba9f7:	8b c2                	mov    %edx,%eax
5ba9f9:	51                   	push   %ecx
5ba9fa:	50                   	push   %eax
5ba9fb:	e8 72 66 02 00       	call   0x5e1072
5baa00:	8b 45 88             	mov    -0x78(%ebp),%eax
5baa03:	83 c4 08             	add    $0x8,%esp
5baa06:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5baa0d:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5baa14:	c6 06 00             	movb   $0x0,(%esi)
5baa17:	83 c6 18             	add    $0x18,%esi
5baa1a:	3b f0                	cmp    %eax,%esi
5baa1c:	75 b2                	jne    0x5ba9d0
5baa1e:	8b 77 18             	mov    0x18(%edi),%esi
5baa21:	8b 4f 20             	mov    0x20(%edi),%ecx
5baa24:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5baa29:	2b ce                	sub    %esi,%ecx
5baa2b:	f7 e9                	imul   %ecx
5baa2d:	c1 fa 02             	sar    $0x2,%edx
5baa30:	8b c2                	mov    %edx,%eax
5baa32:	c1 e8 1f             	shr    $0x1f,%eax
5baa35:	03 c2                	add    %edx,%eax
5baa37:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5baa3a:	c1 e1 03             	shl    $0x3,%ecx
5baa3d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5baa43:	72 16                	jb     0x5baa5b
5baa45:	8b 56 fc             	mov    -0x4(%esi),%edx
5baa48:	83 c1 23             	add    $0x23,%ecx
5baa4b:	2b f2                	sub    %edx,%esi
5baa4d:	8d 46 fc             	lea    -0x4(%esi),%eax
5baa50:	83 f8 1f             	cmp    $0x1f,%eax
5baa53:	0f 87 a0 07 00 00    	ja     0x5bb1f9
5baa59:	8b f2                	mov    %edx,%esi
5baa5b:	51                   	push   %ecx
5baa5c:	56                   	push   %esi
5baa5d:	e8 10 66 02 00       	call   0x5e1072
5baa62:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
5baa69:	83 c4 08             	add    $0x8,%esp
5baa6c:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
5baa73:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
5baa7a:	8b 4f 14             	mov    0x14(%edi),%ecx
5baa7d:	83 f9 10             	cmp    $0x10,%ecx
5baa80:	72 2b                	jb     0x5baaad
5baa82:	8b 07                	mov    (%edi),%eax
5baa84:	41                   	inc    %ecx
5baa85:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5baa8b:	72 16                	jb     0x5baaa3
5baa8d:	8b 50 fc             	mov    -0x4(%eax),%edx
5baa90:	83 c1 23             	add    $0x23,%ecx
5baa93:	2b c2                	sub    %edx,%eax
5baa95:	83 c0 fc             	add    $0xfffffffc,%eax
5baa98:	83 f8 1f             	cmp    $0x1f,%eax
5baa9b:	0f 87 58 07 00 00    	ja     0x5bb1f9
5baaa1:	8b c2                	mov    %edx,%eax
5baaa3:	51                   	push   %ecx
5baaa4:	50                   	push   %eax
5baaa5:	e8 c8 65 02 00       	call   0x5e1072
5baaaa:	83 c4 08             	add    $0x8,%esp
5baaad:	6a 24                	push   $0x24
5baaaf:	57                   	push   %edi
5baab0:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
5baab7:	c7 47 14 0f 00 00 00 	movl   $0xf,0x14(%edi)
5baabe:	c6 07 00             	movb   $0x0,(%edi)
5baac1:	e8 ac 65 02 00       	call   0x5e1072
5baac6:	83 c4 08             	add    $0x8,%esp
5baac9:	e9 78 06 00 00       	jmp    0x5bb146
5baace:	68 7c c6 68 00       	push   $0x68c67c
5baad3:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
5baada:	e8 71 30 ed ff       	call   0x48db50
5baadf:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
5baae2:	89 45 84             	mov    %eax,-0x7c(%ebp)
5baae5:	51                   	push   %ecx
5baae6:	50                   	push   %eax
5baae7:	e8 a4 31 ed ff       	call   0x48dc90
5baaec:	8b 55 8c             	mov    -0x74(%ebp),%edx
5baaef:	83 c4 0c             	add    $0xc,%esp
5baaf2:	8b ca                	mov    %edx,%ecx
5baaf4:	8d 71 01             	lea    0x1(%ecx),%esi
5baaf7:	8a 01                	mov    (%ecx),%al
5baaf9:	41                   	inc    %ecx
5baafa:	84 c0                	test   %al,%al
5baafc:	75 f9                	jne    0x5baaf7
5baafe:	2b ce                	sub    %esi,%ecx
5bab00:	51                   	push   %ecx
5bab01:	52                   	push   %edx
5bab02:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5bab05:	e8 36 a7 e8 ff       	call   0x445240
5bab0a:	8d 45 84             	lea    -0x7c(%ebp),%eax
5bab0d:	50                   	push   %eax
5bab0e:	e8 dd 30 ed ff       	call   0x48dbf0
5bab13:	83 c4 04             	add    $0x4,%esp
5bab16:	e9 2b 06 00 00       	jmp    0x5bb146
5bab1b:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
5bab22:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5bab29:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5bab30:	8d 45 cc             	lea    -0x34(%ebp),%eax
5bab33:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5bab37:	50                   	push   %eax
5bab38:	8d 45 84             	lea    -0x7c(%ebp),%eax
5bab3b:	50                   	push   %eax
5bab3c:	83 ec 18             	sub    $0x18,%esp
5bab3f:	8d 45 90             	lea    -0x70(%ebp),%eax
5bab42:	8b cc                	mov    %esp,%ecx
5bab44:	50                   	push   %eax
5bab45:	e8 56 22 e8 ff       	call   0x43cda0
5bab4a:	e8 51 b8 e8 ff       	call   0x4463a0
5bab4f:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
5bab56:	00 00 00
5bab59:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
5bab60:	00 00 00
5bab63:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
5bab6a:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
5bab70:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5bab74:	50                   	push   %eax
5bab75:	8d 45 88             	lea    -0x78(%ebp),%eax
5bab78:	50                   	push   %eax
5bab79:	8d 45 cc             	lea    -0x34(%ebp),%eax
5bab7c:	50                   	push   %eax
5bab7d:	ff 75 84             	push   -0x7c(%ebp)
5bab80:	e8 3b e3 ff ff       	call   0x5b8ec0
5bab85:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
5bab8b:	8d 45 a8             	lea    -0x58(%ebp),%eax
5bab8e:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5bab94:	83 c4 30             	add    $0x30,%esp
5bab97:	50                   	push   %eax
5bab98:	83 ec 0c             	sub    $0xc,%esp
5bab9b:	8b c4                	mov    %esp,%eax
5bab9d:	89 45 8c             	mov    %eax,-0x74(%ebp)
5baba0:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5baba6:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
5babad:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5babb4:	3b f7                	cmp    %edi,%esi
5babb6:	0f 84 c3 00 00 00    	je     0x5bac7f
5babbc:	8b cf                	mov    %edi,%ecx
5babbe:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5babc3:	2b ce                	sub    %esi,%ecx
5babc5:	f7 e9                	imul   %ecx
5babc7:	d1 fa                	sar    $1,%edx
5babc9:	8b c2                	mov    %edx,%eax
5babcb:	c1 e8 1f             	shr    $0x1f,%eax
5babce:	03 c2                	add    %edx,%eax
5babd0:	3d 55 55 55 15       	cmp    $0x15555555,%eax
5babd5:	0f 87 23 06 00 00    	ja     0x5bb1fe
5babdb:	8d 3c 40             	lea    (%eax,%eax,2),%edi
5babde:	c1 e7 02             	shl    $0x2,%edi
5babe1:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
5babe7:	72 27                	jb     0x5bac10
5babe9:	8d 47 23             	lea    0x23(%edi),%eax
5babec:	3b c7                	cmp    %edi,%eax
5babee:	0f 86 0a 06 00 00    	jbe    0x5bb1fe
5babf4:	50                   	push   %eax
5babf5:	e8 48 64 02 00       	call   0x5e1042
5babfa:	83 c4 04             	add    $0x4,%esp
5babfd:	85 c0                	test   %eax,%eax
5babff:	0f 84 f4 05 00 00    	je     0x5bb1f9
5bac05:	8d 70 23             	lea    0x23(%eax),%esi
5bac08:	83 e6 e0             	and    $0xffffffe0,%esi
5bac0b:	89 46 fc             	mov    %eax,-0x4(%esi)
5bac0e:	eb 13                	jmp    0x5bac23
5bac10:	85 ff                	test   %edi,%edi
5bac12:	74 0d                	je     0x5bac21
5bac14:	57                   	push   %edi
5bac15:	e8 28 64 02 00       	call   0x5e1042
5bac1a:	83 c4 04             	add    $0x4,%esp
5bac1d:	8b f0                	mov    %eax,%esi
5bac1f:	eb 02                	jmp    0x5bac23
5bac21:	33 f6                	xor    %esi,%esi
5bac23:	8b 4d 8c             	mov    -0x74(%ebp),%ecx