5285da:	74 07                	je     0x5285e3
5285dc:	33 d2                	xor    %edx,%edx
5285de:	89 14 24             	mov    %edx,(%esp)
5285e1:	eb 38                	jmp    0x52861b
5285e3:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5285e7:	89 4b 20             	mov    %ecx,0x20(%ebx)
5285ea:	89 7b 1c             	mov    %edi,0x1c(%ebx)
5285ed:	8b 44 24 10          	mov    0x10(%esp),%eax
5285f1:	89 46 04             	mov    %eax,0x4(%esi)
5285f4:	8b 54 24 0c          	mov    0xc(%esp),%edx
5285f8:	2b 16                	sub    (%esi),%edx
5285fa:	01 56 08             	add    %edx,0x8(%esi)
5285fd:	8b d6                	mov    %esi,%edx
5285ff:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
528603:	89 0e                	mov    %ecx,(%esi)
528605:	8b 44 24 14          	mov    0x14(%esp),%eax
528609:	89 43 34             	mov    %eax,0x34(%ebx)
52860c:	8b c3                	mov    %ebx,%eax
52860e:	8b 0c 24             	mov    (%esp),%ecx
528611:	e8 6a 1c 00 00       	call   0x52a280
528616:	e9 03 0c 00 00       	jmp    0x52921e
52861b:	8b cf                	mov    %edi,%ecx
52861d:	ff 4c 24 10          	decl   0x10(%esp)
528621:	8b 54 24 0c          	mov    0xc(%esp),%edx
528625:	8a 02                	mov    (%edx),%al
528627:	33 d2                	xor    %edx,%edx
528629:	8a d0                	mov    %al,%dl
52862b:	d3 e2                	shl    %cl,%edx
52862d:	09 54 24 08          	or     %edx,0x8(%esp)
528631:	ff 44 24 0c          	incl   0xc(%esp)
528635:	83 c7 08             	add    $0x8,%edi
528638:	83 ff 03             	cmp    $0x3,%edi
52863b:	72 98                	jb     0x5285d5
52863d:	8b 4c 24 08          	mov    0x8(%esp),%ecx
528641:	83 e1 07             	and    $0x7,%ecx
528644:	89 4c 24 04          	mov    %ecx,0x4(%esp)
528648:	8b 44 24 04          	mov    0x4(%esp),%eax
52864c:	83 e0 01             	and    $0x1,%eax
52864f:	89 43 18             	mov    %eax,0x18(%ebx)
528652:	8b 54 24 04          	mov    0x4(%esp),%edx
528656:	d1 ea                	shr    $1,%edx
528658:	83 ea 01             	sub    $0x1,%edx
52865b:	72 15                	jb     0x528672
52865d:	74 3b                	je     0x52869a
52865f:	4a                   	dec    %edx
528660:	0f 84 bd 00 00 00    	je     0x528723
528666:	4a                   	dec    %edx
528667:	0f 84 c9 00 00 00    	je     0x528736
52866d:	e9 24 ff ff ff       	jmp    0x528596
528672:	c1 6c 24 08 03       	shrl   $0x3,0x8(%esp)
528677:	83 ef 03             	sub    $0x3,%edi
52867a:	8b cf                	mov    %edi,%ecx
52867c:	83 e1 07             	and    $0x7,%ecx
52867f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
528683:	8b 4c 24 04          	mov    0x4(%esp),%ecx
528687:	d3 6c 24 08          	shrl   %cl,0x8(%esp)
52868b:	2b 7c 24 04          	sub    0x4(%esp),%edi
52868f:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
528695:	e9 fc fe ff ff       	jmp    0x528596
52869a:	8d 44 24 24          	lea    0x24(%esp),%eax
52869e:	50                   	push   %eax
52869f:	56                   	push   %esi
5286a0:	8d 4c 24 28          	lea    0x28(%esp),%ecx
5286a4:	8d 54 24 24          	lea    0x24(%esp),%edx
5286a8:	8d 44 24 20          	lea    0x20(%esp),%eax
5286ac:	e8 ab 12 00 00       	call   0x52995c
5286b1:	8b 44 24 24          	mov    0x24(%esp),%eax
5286b5:	50                   	push   %eax
5286b6:	56                   	push   %esi
5286b7:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5286bb:	8b 54 24 24          	mov    0x24(%esp),%edx
5286bf:	8b 44 24 20          	mov    0x20(%esp),%eax
5286c3:	e8 c0 12 00 00       	call   0x529988
5286c8:	89 43 04             	mov    %eax,0x4(%ebx)
5286cb:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
5286cf:	75 3f                	jne    0x528710
5286d1:	c7 04 24 fc ff ff ff 	movl   $0xfffffffc,(%esp)
5286d8:	8b 54 24 08          	mov    0x8(%esp),%edx
5286dc:	89 53 20             	mov    %edx,0x20(%ebx)
5286df:	89 7b 1c             	mov    %edi,0x1c(%ebx)
5286e2:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5286e6:	89 4e 04             	mov    %ecx,0x4(%esi)
5286e9:	8b 44 24 0c          	mov    0xc(%esp),%eax
5286ed:	2b 06                	sub    (%esi),%eax
5286ef:	01 46 08             	add    %eax,0x8(%esi)
5286f2:	8b c3                	mov    %ebx,%eax
5286f4:	8b 54 24 0c          	mov    0xc(%esp),%edx
5286f8:	89 16                	mov    %edx,(%esi)
5286fa:	8b d6                	mov    %esi,%edx
5286fc:	8b 4c 24 14          	mov    0x14(%esp),%ecx
528700:	89 4b 34             	mov    %ecx,0x34(%ebx)
528703:	8b 0c 24             	mov    (%esp),%ecx
528706:	e8 75 1b 00 00       	call   0x52a280
52870b:	e9 0e 0b 00 00       	jmp    0x52921e
528710:	c1 6c 24 08 03       	shrl   $0x3,0x8(%esp)
528715:	83 ef 03             	sub    $0x3,%edi
528718:	c7 03 06 00 00 00    	movl   $0x6,(%ebx)
52871e:	e9 73 fe ff ff       	jmp    0x528596
528723:	c1 6c 24 08 03       	shrl   $0x3,0x8(%esp)
528728:	83 ef 03             	sub    $0x3,%edi
52872b:	c7 03 03 00 00 00    	movl   $0x3,(%ebx)
528731:	e9 60 fe ff ff       	jmp    0x528596
528736:	c1 6c 24 08 03       	shrl   $0x3,0x8(%esp)
52873b:	c7 03 09 00 00 00    	movl   $0x9,(%ebx)
528741:	83 ef 03             	sub    $0x3,%edi
528744:	c7 46 18 1c 7d 69 00 	movl   $0x697d1c,0x18(%esi)
52874b:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
528752:	8b 44 24 08          	mov    0x8(%esp),%eax
528756:	89 43 20             	mov    %eax,0x20(%ebx)
528759:	89 7b 1c             	mov    %edi,0x1c(%ebx)
52875c:	8b 54 24 10          	mov    0x10(%esp),%edx
528760:	89 56 04             	mov    %edx,0x4(%esi)
528763:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
528767:	2b 0e                	sub    (%esi),%ecx
528769:	01 4e 08             	add    %ecx,0x8(%esi)
52876c:	8b 44 24 0c          	mov    0xc(%esp),%eax
528770:	89 06                	mov    %eax,(%esi)
528772:	8b c3                	mov    %ebx,%eax
528774:	8b 54 24 14          	mov    0x14(%esp),%edx
528778:	89 53 34             	mov    %edx,0x34(%ebx)
52877b:	8b d6                	mov    %esi,%edx
52877d:	8b 0c 24             	mov    (%esp),%ecx
528780:	e8 fb 1a 00 00       	call   0x52a280
528785:	e9 94 0a 00 00       	jmp    0x52921e
52878a:	83 ff 20             	cmp    $0x20,%edi
52878d:	73 68                	jae    0x5287f7
52878f:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
528794:	74 07                	je     0x52879d
528796:	33 c9                	xor    %ecx,%ecx
528798:	89 0c 24             	mov    %ecx,(%esp)
52879b:	eb 38                	jmp    0x5287d5
52879d:	8b 44 24 08          	mov    0x8(%esp),%eax
5287a1:	89 43 20             	mov    %eax,0x20(%ebx)
5287a4:	89 7b 1c             	mov    %edi,0x1c(%ebx)
5287a7:	8b 54 24 10          	mov    0x10(%esp),%edx
5287ab:	89 56 04             	mov    %edx,0x4(%esi)
5287ae:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5287b2:	2b 0e                	sub    (%esi),%ecx
5287b4:	01 4e 08             	add    %ecx,0x8(%esi)
5287b7:	8b 44 24 0c          	mov    0xc(%esp),%eax
5287bb:	89 06                	mov    %eax,(%esi)
5287bd:	8b c3                	mov    %ebx,%eax
5287bf:	8b 54 24 14          	mov    0x14(%esp),%edx
5287c3:	89 53 34             	mov    %edx,0x34(%ebx)
5287c6:	8b d6                	mov    %esi,%edx
5287c8:	8b 0c 24             	mov    (%esp),%ecx
5287cb:	e8 b0 1a 00 00       	call   0x52a280
5287d0:	e9 49 0a 00 00       	jmp    0x52921e
5287d5:	8b cf                	mov    %edi,%ecx
5287d7:	ff 4c 24 10          	decl   0x10(%esp)
5287db:	8b 44 24 0c          	mov    0xc(%esp),%eax
5287df:	8a 10                	mov    (%eax),%dl
5287e1:	33 c0                	xor    %eax,%eax
5287e3:	8a c2                	mov    %dl,%al
5287e5:	d3 e0                	shl    %cl,%eax
5287e7:	09 44 24 08          	or     %eax,0x8(%esp)
5287eb:	ff 44 24 0c          	incl   0xc(%esp)
5287ef:	83 c7 08             	add    $0x8,%edi
5287f2:	83 ff 20             	cmp    $0x20,%edi
5287f5:	72 98                	jb     0x52878f
5287f7:	8b 54 24 08          	mov    0x8(%esp),%edx
5287fb:	8b 44 24 08          	mov    0x8(%esp),%eax
5287ff:	f7 d2                	not    %edx
528801:	c1 ea 10             	shr    $0x10,%edx
528804:	25 ff ff 00 00       	and    $0xffff,%eax
528809:	81 e2 ff ff 00 00    	and    $0xffff,%edx
52880f:	3b c2                	cmp    %edx,%eax
528811:	74 4c                	je     0x52885f
528813:	c7 03 09 00 00 00    	movl   $0x9,(%ebx)
528819:	c7 46 18 2f 7d 69 00 	movl   $0x697d2f,0x18(%esi)
528820:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
528827:	8b 4c 24 08          	mov    0x8(%esp),%ecx
52882b:	89 4b 20             	mov    %ecx,0x20(%ebx)
52882e:	89 7b 1c             	mov    %edi,0x1c(%ebx)
528831:	8b 44 24 10          	mov    0x10(%esp),%eax
528835:	89 46 04             	mov    %eax,0x4(%esi)
528838:	8b 54 24 0c          	mov    0xc(%esp),%edx
52883c:	2b 16                	sub    (%esi),%edx
52883e:	01 56 08             	add    %edx,0x8(%esi)
528841:	8b d6                	mov    %esi,%edx
528843:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
528847:	89 0e                	mov    %ecx,(%esi)
528849:	8b 44 24 14          	mov    0x14(%esp),%eax
52884d:	89 43 34             	mov    %eax,0x34(%ebx)
528850:	8b c3                	mov    %ebx,%eax
528852:	8b 0c 24             	mov    (%esp),%ecx
528855:	e8 26 1a 00 00       	call   0x52a280
52885a:	e9 bf 09 00 00       	jmp    0x52921e
52885f:	8b d0                	mov    %eax,%edx
528861:	89 53 04             	mov    %edx,0x4(%ebx)
528864:	33 c9                	xor    %ecx,%ecx
528866:	89 cf                	mov    %ecx,%edi
528868:	89 4c 24 08          	mov    %ecx,0x8(%esp)
52886c:	85 d2                	test   %edx,%edx
52886e:	74 07                	je     0x528877
528870:	b8 02 00 00 00       	mov    $0x2,%eax
528875:	eb 0f                	jmp    0x528886
528877:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
52887b:	74 07                	je     0x528884
52887d:	b8 07 00 00 00       	mov    $0x7,%eax
528882:	eb 02                	jmp    0x528886
528884:	33 c0                	xor    %eax,%eax
528886:	89 03                	mov    %eax,(%ebx)
528888:	e9 09 fd ff ff       	jmp    0x528596
52888d:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
528892:	75 38                	jne    0x5288cc
528894:	8b 54 24 08          	mov    0x8(%esp),%edx
528898:	89 53 20             	mov    %edx,0x20(%ebx)
52889b:	89 7b 1c             	mov    %edi,0x1c(%ebx)
52889e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5288a2:	89 4e 04             	mov    %ecx,0x4(%esi)
5288a5:	8b 44 24 0c          	mov    0xc(%esp),%eax
5288a9:	2b 06                	sub    (%esi),%eax
5288ab:	01 46 08             	add    %eax,0x8(%esi)
5288ae:	8b c3                	mov    %ebx,%eax
5288b0:	8b 54 24 0c          	mov    0xc(%esp),%edx
5288b4:	89 16                	mov    %edx,(%esi)
5288b6:	8b d6                	mov    %esi,%edx
5288b8:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5288bc:	89 4b 34             	mov    %ecx,0x34(%ebx)
5288bf:	8b 0c 24             	mov    (%esp),%ecx
5288c2:	e8 b9 19 00 00       	call   0x52a280
5288c7:	e9 52 09 00 00       	jmp    0x52921e
5288cc:	85 ed                	test   %ebp,%ebp
5288ce:	0f 85 df 00 00 00    	jne    0x5289b3
5288d4:	8b 44 24 14          	mov    0x14(%esp),%eax
5288d8:	3b 43 2c             	cmp    0x2c(%ebx),%eax
5288db:	75 29                	jne    0x528906
5288dd:	8b 53 30             	mov    0x30(%ebx),%edx
5288e0:	3b 53 28             	cmp    0x28(%ebx),%edx
5288e3:	74 21                	je     0x528906
5288e5:	8b 4b 28             	mov    0x28(%ebx),%ecx
5288e8:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5288ec:	8b 44 24 14          	mov    0x14(%esp),%eax
5288f0:	3b 43 30             	cmp    0x30(%ebx),%eax
5288f3:	73 0a                	jae    0x5288ff
5288f5:	8b 6b 30             	mov    0x30(%ebx),%ebp
5288f8:	2b 6c 24 14          	sub    0x14(%esp),%ebp
5288fc:	4d                   	dec    %ebp
5288fd:	eb 07                	jmp    0x528906
5288ff:	8b 6b 2c             	mov    0x2c(%ebx),%ebp
528902:	2b 6c 24 14          	sub    0x14(%esp),%ebp
528906:	85 ed                	test   %ebp,%ebp
528908:	0f 85 a5 00 00 00    	jne    0x5289b3
52890e:	8b 44 24 14          	mov    0x14(%esp),%eax
528912:	8b d6                	mov    %esi,%edx
528914:	89 43 34             	mov    %eax,0x34(%ebx)
528917:	8b c3                	mov    %ebx,%eax
528919:	8b 0c 24             	mov    (%esp),%ecx
52891c:	e8 5f 19 00 00       	call   0x52a280
528921:	89 04 24             	mov    %eax,(%esp)
528924:	8b 53 34             	mov    0x34(%ebx),%edx
528927:	89 54 24 14          	mov    %edx,0x14(%esp)
52892b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
52892f:	3b 4b 30             	cmp    0x30(%ebx),%ecx
528932:	73 0a                	jae    0x52893e
528934:	8b 6b 30             	mov    0x30(%ebx),%ebp
528937:	2b 6c 24 14          	sub    0x14(%esp),%ebp
52893b:	4d                   	dec    %ebp
52893c:	eb 07                	jmp    0x528945
52893e:	8b 6b 2c             	mov    0x2c(%ebx),%ebp
528941:	2b 6c 24 14          	sub    0x14(%esp),%ebp
528945:	8b 44 24 14          	mov    0x14(%esp),%eax
528949:	3b 43 2c             	cmp    0x2c(%ebx),%eax
52894c:	75 29                	jne    0x528977
52894e:	8b 53 30             	mov    0x30(%ebx),%edx
528951:	3b 53 28             	cmp    0x28(%ebx),%edx
528954:	74 21                	je     0x528977
528956:	8b 4b 28             	mov    0x28(%ebx),%ecx
528959:	89 4c 24 14          	mov    %ecx,0x14(%esp)
52895d:	8b 44 24 14          	mov    0x14(%esp),%eax
528961:	3b 43 30             	cmp    0x30(%ebx),%eax
528964:	73 0a                	jae    0x528970
528966:	8b 6b 30             	mov    0x30(%ebx),%ebp
528969:	2b 6c 24 14          	sub    0x14(%esp),%ebp
52896d:	4d                   	dec    %ebp
52896e:	eb 07                	jmp    0x528977
528970:	8b 6b 2c             	mov    0x2c(%ebx),%ebp
528973:	2b 6c 24 14          	sub    0x14(%esp),%ebp
528977:	85 ed                	test   %ebp,%ebp
528979:	75 38                	jne    0x5289b3
52897b:	8b 44 24 08          	mov    0x8(%esp),%eax
52897f:	89 43 20             	mov    %eax,0x20(%ebx)
528982:	89 7b 1c             	mov    %edi,0x1c(%ebx)
528985:	8b 54 24 10          	mov    0x10(%esp),%edx
528989:	89 56 04             	mov    %edx,0x4(%esi)
52898c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
528990:	2b 0e                	sub    (%esi),%ecx
528992:	01 4e 08             	add    %ecx,0x8(%esi)
528995:	8b 44 24 0c          	mov    0xc(%esp),%eax
528999:	89 06                	mov    %eax,(%esi)
52899b:	8b c3                	mov    %ebx,%eax
52899d:	8b 54 24 14          	mov    0x14(%esp),%edx
5289a1:	89 53 34             	mov    %edx,0x34(%ebx)
5289a4:	8b d6                	mov    %esi,%edx
5289a6:	8b 0c 24             	mov    (%esp),%ecx
5289a9:	e8 d2 18 00 00       	call   0x52a280
5289ae:	e9 6b 08 00 00       	jmp    0x52921e
5289b3:	33 c9                	xor    %ecx,%ecx
5289b5:	89 0c 24             	mov    %ecx,(%esp)
5289b8:	8b 43 04             	mov    0x4(%ebx),%eax
5289bb:	89 44 24 04          	mov    %eax,0x4(%esp)
5289bf:	8b 54 24 04          	mov    0x4(%esp),%edx
5289c3:	3b 54 24 10          	cmp    0x10(%esp),%edx
5289c7:	76 08                	jbe    0x5289d1
5289c9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5289cd:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5289d1:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
5289d5:	73 04                	jae    0x5289db
5289d7:	89 6c 24 04          	mov    %ebp,0x4(%esp)
5289db:	8b 44 24 04          	mov    0x4(%esp),%eax
5289df:	50                   	push   %eax
5289e0:	8b 54 24 10          	mov    0x10(%esp),%edx
5289e4:	52                   	push   %edx
5289e5:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5289e9:	51                   	push   %ecx
5289ea:	e8 f1 d9 ff ff       	call   0x5263e0
5289ef:	83 c4 0c             	add    $0xc,%esp
5289f2:	8b 44 24 04          	mov    0x4(%esp),%eax
5289f6:	01 44 24 0c          	add    %eax,0xc(%esp)
5289fa:	8b 54 24 04          	mov    0x4(%esp),%edx
5289fe:	29 54 24 10          	sub    %edx,0x10(%esp)
528a02:	01 44 24 14          	add    %eax,0x14(%esp)
528a06:	2b 6c 24 04          	sub    0x4(%esp),%ebp
528a0a:	8b 4c 24 04          	mov    0x4(%esp),%ecx
528a0e:	29 4b 04             	sub    %ecx,0x4(%ebx)
528a11:	0f 85 7f fb ff ff    	jne    0x528596
528a17:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
528a1b:	74 07                	je     0x528a24
528a1d:	b8 07 00 00 00       	mov    $0x7,%eax
528a22:	eb 02                	jmp    0x528a26
528a24:	33 c0                	xor    %eax,%eax
528a26:	89 03                	mov    %eax,(%ebx)
528a28:	e9 69 fb ff ff       	jmp    0x528596
528a2d:	83 ff 0e             	cmp    $0xe,%edi
528a30:	73 68                	jae    0x528a9a
528a32:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
528a37:	74 07                	je     0x528a40
528a39:	33 d2                	xor    %edx,%edx
528a3b:	89 14 24             	mov    %edx,(%esp)
528a3e:	eb 38                	jmp    0x528a78
528a40:	8b 4c 24 08          	mov    0x8(%esp),%ecx
528a44:	89 4b 20             	mov    %ecx,0x20(%ebx)
528a47:	89 7b 1c             	mov    %edi,0x1c(%ebx)
528a4a:	8b 44 24 10          	mov    0x10(%esp),%eax
528a4e:	89 46 04             	mov    %eax,0x4(%esi)
528a51:	8b 54 24 0c          	mov    0xc(%esp),%edx
528a55:	2b 16                	sub    (%esi),%edx
528a57:	01 56 08             	add    %edx,0x8(%esi)
528a5a:	8b d6                	mov    %esi,%edx