52952f:	8b 10                	mov    (%eax),%edx
529531:	89 55 f0             	mov    %edx,-0x10(%ebp)
529534:	e9 05 02 00 00       	jmp    0x52973e
529539:	8b 4d e8             	mov    -0x18(%ebp),%ecx
52953c:	8d 84 8d f8 fe ff ff 	lea    -0x108(%ebp,%ecx,4),%eax
529543:	89 45 b4             	mov    %eax,-0x4c(%ebp)
529546:	8b 55 e8             	mov    -0x18(%ebp),%edx
529549:	8d 8c 95 38 ff ff ff 	lea    -0xc8(%ebp,%edx,4),%ecx
529550:	89 4d b8             	mov    %ecx,-0x48(%ebp)
529553:	e9 ec 00 00 00       	jmp    0x529644
529558:	ff 45 e8             	incl   -0x18(%ebp)
52955b:	83 45 b4 04          	addl   $0x4,-0x4c(%ebp)
52955f:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
529563:	8b 45 dc             	mov    -0x24(%ebp),%eax
529566:	01 45 c8             	add    %eax,-0x38(%ebp)
529569:	8b 75 ec             	mov    -0x14(%ebp),%esi
52956c:	2b 75 c8             	sub    -0x38(%ebp),%esi
52956f:	3b 75 dc             	cmp    -0x24(%ebp),%esi
529572:	76 05                	jbe    0x529579
529574:	8b 45 dc             	mov    -0x24(%ebp),%eax
529577:	eb 02                	jmp    0x52957b
529579:	8b c6                	mov    %esi,%eax
52957b:	8b f0                	mov    %eax,%esi
52957d:	8b 45 e0             	mov    -0x20(%ebp),%eax
529580:	2b 45 c8             	sub    -0x38(%ebp),%eax
529583:	ba 01 00 00 00       	mov    $0x1,%edx
529588:	8b c8                	mov    %eax,%ecx
52958a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
52958d:	d3 e2                	shl    %cl,%edx
52958f:	43                   	inc    %ebx
529590:	3b d3                	cmp    %ebx,%edx
529592:	76 26                	jbe    0x5295ba
529594:	2b d3                	sub    %ebx,%edx
529596:	8b 4d e0             	mov    -0x20(%ebp),%ecx
529599:	c1 e1 02             	shl    $0x2,%ecx
52959c:	8d 9d 74 ff ff ff    	lea    -0x8c(%ebp),%ebx
5295a2:	03 cb                	add    %ebx,%ecx
5295a4:	3b f0                	cmp    %eax,%esi
5295a6:	76 12                	jbe    0x5295ba
5295a8:	eb 0b                	jmp    0x5295b5
5295aa:	03 d2                	add    %edx,%edx
5295ac:	83 c1 04             	add    $0x4,%ecx
5295af:	3b 11                	cmp    (%ecx),%edx
5295b1:	76 07                	jbe    0x5295ba
5295b3:	2b 11                	sub    (%ecx),%edx
5295b5:	40                   	inc    %eax
5295b6:	3b f0                	cmp    %eax,%esi
5295b8:	77 f0                	ja     0x5295aa
5295ba:	8b c8                	mov    %eax,%ecx
5295bc:	be 01 00 00 00       	mov    $0x1,%esi
5295c1:	d3 e6                	shl    %cl,%esi
5295c3:	8b 55 0c             	mov    0xc(%ebp),%edx
5295c6:	8b 12                	mov    (%edx),%edx
5295c8:	8b ca                	mov    %edx,%ecx
5295ca:	03 ce                	add    %esi,%ecx
5295cc:	81 f9 a0 05 00 00    	cmp    $0x5a0,%ecx
5295d2:	76 0a                	jbe    0x5295de
5295d4:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
5295d9:	e9 97 01 00 00       	jmp    0x529775
5295de:	c1 e2 03             	shl    $0x3,%edx
5295e1:	03 55 10             	add    0x10(%ebp),%edx
5295e4:	89 55 d4             	mov    %edx,-0x2c(%ebp)
5295e7:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5295ea:	89 11                	mov    %edx,(%ecx)
5295ec:	8b 55 0c             	mov    0xc(%ebp),%edx
5295ef:	01 32                	add    %esi,(%edx)
5295f1:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
5295f5:	74 45                	je     0x52963c
5295f7:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5295fa:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5295fd:	89 11                	mov    %edx,(%ecx)
5295ff:	8a 4d dc             	mov    -0x24(%ebp),%cl
529602:	88 4d cd             	mov    %cl,-0x33(%ebp)
529605:	88 45 cc             	mov    %al,-0x34(%ebp)
529608:	8b 4d c8             	mov    -0x38(%ebp),%ecx
52960b:	2b 4d dc             	sub    -0x24(%ebp),%ecx
52960e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
529611:	d3 e8                	shr    %cl,%eax
529613:	8b 55 b8             	mov    -0x48(%ebp),%edx
529616:	8b 52 fc             	mov    -0x4(%edx),%edx
529619:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
52961c:	2b ca                	sub    %edx,%ecx
52961e:	85 c9                	test   %ecx,%ecx
529620:	79 03                	jns    0x529625
529622:	83 c1 07             	add    $0x7,%ecx
529625:	c1 f9 03             	sar    $0x3,%ecx
529628:	2b c8                	sub    %eax,%ecx
52962a:	89 4d d0             	mov    %ecx,-0x30(%ebp)
52962d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
529630:	89 0c c2             	mov    %ecx,(%edx,%eax,8)
529633:	8b 4d d0             	mov    -0x30(%ebp),%ecx
529636:	89 4c c2 04          	mov    %ecx,0x4(%edx,%eax,8)
52963a:	eb 08                	jmp    0x529644
52963c:	8b 45 18             	mov    0x18(%ebp),%eax
52963f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
529642:	89 10                	mov    %edx,(%eax)
529644:	8b 45 c8             	mov    -0x38(%ebp),%eax
529647:	03 45 dc             	add    -0x24(%ebp),%eax
52964a:	3b 45 e0             	cmp    -0x20(%ebp),%eax
52964d:	0f 8c 05 ff ff ff    	jl     0x529558
529653:	8a 55 e0             	mov    -0x20(%ebp),%dl
529656:	2a 55 c8             	sub    -0x38(%ebp),%dl
529659:	88 55 cd             	mov    %dl,-0x33(%ebp)
52965c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
52965f:	c1 e1 02             	shl    $0x2,%ecx
529662:	03 4d 08             	add    0x8(%ebp),%ecx
529665:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
529668:	77 06                	ja     0x529670
52966a:	c6 45 cc c0          	movb   $0xc0,-0x34(%ebp)
52966e:	eb 49                	jmp    0x5296b9
529670:	8b 45 d8             	mov    -0x28(%ebp),%eax
529673:	8b 00                	mov    (%eax),%eax
529675:	3b 45 f4             	cmp    -0xc(%ebp),%eax
529678:	73 1e                	jae    0x529698
52967a:	3d 00 01 00 00       	cmp    $0x100,%eax
52967f:	73 04                	jae    0x529685
529681:	33 d2                	xor    %edx,%edx
529683:	eb 02                	jmp    0x529687
529685:	b2 60                	mov    $0x60,%dl
529687:	88 55 cc             	mov    %dl,-0x34(%ebp)
52968a:	8b 45 d8             	mov    -0x28(%ebp),%eax
52968d:	8b 08                	mov    (%eax),%ecx
52968f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
529692:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
529696:	eb 21                	jmp    0x5296b9
529698:	8b 45 d8             	mov    -0x28(%ebp),%eax
52969b:	8b 00                	mov    (%eax),%eax
52969d:	2b 45 f4             	sub    -0xc(%ebp),%eax
5296a0:	8b 55 1c             	mov    0x1c(%ebp),%edx
5296a3:	8a 0c 82             	mov    (%edx,%eax,4),%cl
5296a6:	80 c1 50             	add    $0x50,%cl
5296a9:	88 4d cc             	mov    %cl,-0x34(%ebp)
5296ac:	8b 55 20             	mov    0x20(%ebp),%edx
5296af:	8b 04 82             	mov    (%edx,%eax,4),%eax
5296b2:	89 45 d0             	mov    %eax,-0x30(%ebp)
5296b5:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5296b9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5296bc:	2b 4d c8             	sub    -0x38(%ebp),%ecx
5296bf:	ba 01 00 00 00       	mov    $0x1,%edx
5296c4:	d3 e2                	shl    %cl,%edx
5296c6:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5296c9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5296cc:	d3 e8                	shr    %cl,%eax
5296ce:	3b f0                	cmp    %eax,%esi
5296d0:	76 16                	jbe    0x5296e8
5296d2:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5296d5:	8b 5d cc             	mov    -0x34(%ebp),%ebx
5296d8:	89 1c c1             	mov    %ebx,(%ecx,%eax,8)
5296db:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5296de:	89 5c c1 04          	mov    %ebx,0x4(%ecx,%eax,8)
5296e2:	03 c2                	add    %edx,%eax
5296e4:	3b f0                	cmp    %eax,%esi
5296e6:	77 ea                	ja     0x5296d2
5296e8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5296eb:	49                   	dec    %ecx
5296ec:	b8 01 00 00 00       	mov    $0x1,%eax
5296f1:	d3 e0                	shl    %cl,%eax
5296f3:	eb 05                	jmp    0x5296fa
5296f5:	31 45 e4             	xor    %eax,-0x1c(%ebp)
5296f8:	d1 e8                	shr    $1,%eax
5296fa:	85 45 e4             	test   %eax,-0x1c(%ebp)
5296fd:	75 f6                	jne    0x5296f5
5296ff:	31 45 e4             	xor    %eax,-0x1c(%ebp)
529702:	b8 01 00 00 00       	mov    $0x1,%eax
529707:	8b 4d c8             	mov    -0x38(%ebp),%ecx
52970a:	8b 55 e8             	mov    -0x18(%ebp),%edx
52970d:	d3 e0                	shl    %cl,%eax
52970f:	8d 94 95 f8 fe ff ff 	lea    -0x108(%ebp,%edx,4),%edx
529716:	48                   	dec    %eax
529717:	89 55 b4             	mov    %edx,-0x4c(%ebp)
52971a:	eb 18                	jmp    0x529734
52971c:	ff 4d e8             	decl   -0x18(%ebp)
52971f:	83 45 b4 fc          	addl   $0xfffffffc,-0x4c(%ebp)
529723:	8b 45 dc             	mov    -0x24(%ebp),%eax
529726:	29 45 c8             	sub    %eax,-0x38(%ebp)
529729:	8b 4d c8             	mov    -0x38(%ebp),%ecx
52972c:	b8 01 00 00 00       	mov    $0x1,%eax
529731:	d3 e0                	shl    %cl,%eax
529733:	48                   	dec    %eax
529734:	23 45 e4             	and    -0x1c(%ebp),%eax
529737:	8b 55 b4             	mov    -0x4c(%ebp),%edx
52973a:	3b 02                	cmp    (%edx),%eax
52973c:	75 de                	jne    0x52971c
52973e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
529741:	83 45 f0 ff          	addl   $0xffffffff,-0x10(%ebp)
529745:	85 c9                	test   %ecx,%ecx
529747:	0f 85 ec fd ff ff    	jne    0x529539
52974d:	ff 45 e0             	incl   -0x20(%ebp)
529750:	83 45 bc 04          	addl   $0x4,-0x44(%ebp)
529754:	8b 45 e0             	mov    -0x20(%ebp),%eax
529757:	3b 45 ec             	cmp    -0x14(%ebp),%eax
52975a:	0f 8e cc fd ff ff    	jle    0x52952c
529760:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
529764:	74 0d                	je     0x529773
529766:	83 7d ec 01          	cmpl   $0x1,-0x14(%ebp)
52976a:	74 07                	je     0x529773
52976c:	b8 fb ff ff ff       	mov    $0xfffffffb,%eax
529771:	eb 02                	jmp    0x529775
529773:	33 c0                	xor    %eax,%eax
529775:	5e                   	pop    %esi
529776:	5b                   	pop    %ebx
529777:	8b e5                	mov    %ebp,%esp
529779:	5d                   	pop    %ebp
52977a:	c2 1c 00             	ret    $0x1c
52977d:	90                   	nop
52977e:	90                   	nop
52977f:	90                   	nop
529780:	55                   	push   %ebp
529781:	8b ec                	mov    %esp,%ebp
529783:	83 c4 f0             	add    $0xfffffff0,%esp
529786:	53                   	push   %ebx
529787:	56                   	push   %esi
529788:	89 4d f8             	mov    %ecx,-0x8(%ebp)
52978b:	89 55 fc             	mov    %edx,-0x4(%ebp)
52978e:	8b f0                	mov    %eax,%esi
529790:	8b 5d 08             	mov    0x8(%ebp),%ebx
529793:	33 c0                	xor    %eax,%eax
529795:	89 45 f4             	mov    %eax,-0xc(%ebp)
529798:	b9 04 00 00 00       	mov    $0x4,%ecx
52979d:	ba 13 00 00 00       	mov    $0x13,%edx
5297a2:	8b 43 28             	mov    0x28(%ebx),%eax
5297a5:	ff 53 20             	call   *0x20(%ebx)
5297a8:	89 45 f0             	mov    %eax,-0x10(%ebp)
5297ab:	85 c0                	test   %eax,%eax
5297ad:	75 07                	jne    0x5297b6
5297af:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
5297b4:	eb 5d                	jmp    0x529813
5297b6:	6a 00                	push   $0x0
5297b8:	6a 00                	push   $0x0
5297ba:	8b 55 f8             	mov    -0x8(%ebp),%edx
5297bd:	52                   	push   %edx
5297be:	8d 55 f4             	lea    -0xc(%ebp),%edx
5297c1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5297c4:	51                   	push   %ecx
5297c5:	8b 45 0c             	mov    0xc(%ebp),%eax
5297c8:	50                   	push   %eax
5297c9:	52                   	push   %edx
5297ca:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5297cd:	ba 13 00 00 00       	mov    $0x13,%edx
5297d2:	51                   	push   %ecx
5297d3:	b9 13 00 00 00       	mov    $0x13,%ecx
5297d8:	8b c6                	mov    %esi,%eax
5297da:	e8 a9 fa ff ff       	call   0x529288
5297df:	8b f0                	mov    %eax,%esi
5297e1:	83 fe fd             	cmp    $0xfffffffd,%esi
5297e4:	75 09                	jne    0x5297ef
5297e6:	c7 43 18 ab 90 69 00 	movl   $0x6990ab,0x18(%ebx)
5297ed:	eb 19                	jmp    0x529808
5297ef:	83 fe fb             	cmp    $0xfffffffb,%esi
5297f2:	74 08                	je     0x5297fc
5297f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5297f7:	83 38 00             	cmpl   $0x0,(%eax)
5297fa:	75 0c                	jne    0x529808
5297fc:	c7 43 18 d3 90 69 00 	movl   $0x6990d3,0x18(%ebx)
529803:	be fd ff ff ff       	mov    $0xfffffffd,%esi
529808:	8b 55 f0             	mov    -0x10(%ebp),%edx
52980b:	8b 43 28             	mov    0x28(%ebx),%eax
52980e:	ff 53 24             	call   *0x24(%ebx)
529811:	8b c6                	mov    %esi,%eax
529813:	5e                   	pop    %esi
529814:	5b                   	pop    %ebx
529815:	8b e5                	mov    %ebp,%esp
529817:	5d                   	pop    %ebp
529818:	c2 08 00             	ret    $0x8
52981b:	90                   	nop
52981c:	55                   	push   %ebp
52981d:	8b ec                	mov    %esp,%ebp
52981f:	83 c4 ec             	add    $0xffffffec,%esp
529822:	53                   	push   %ebx
529823:	56                   	push   %esi
529824:	89 4d f4             	mov    %ecx,-0xc(%ebp)
529827:	89 55 f8             	mov    %edx,-0x8(%ebp)
52982a:	89 45 fc             	mov    %eax,-0x4(%ebp)
52982d:	8b 75 08             	mov    0x8(%ebp),%esi
529830:	33 c0                	xor    %eax,%eax
529832:	89 45 f0             	mov    %eax,-0x10(%ebp)
529835:	b9 04 00 00 00       	mov    $0x4,%ecx
52983a:	ba 20 01 00 00       	mov    $0x120,%edx
52983f:	8b 46 28             	mov    0x28(%esi),%eax
529842:	ff 56 20             	call   *0x20(%esi)
529845:	89 45 ec             	mov    %eax,-0x14(%ebp)
529848:	85 c0                	test   %eax,%eax
52984a:	75 0a                	jne    0x529856
52984c:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
529851:	e9 fd 00 00 00       	jmp    0x529953
529856:	68 8c 7d 69 00       	push   $0x697d8c
52985b:	68 08 7e 69 00       	push   $0x697e08
529860:	8b 55 14             	mov    0x14(%ebp),%edx
529863:	52                   	push   %edx
529864:	8d 55 f0             	lea    -0x10(%ebp),%edx
529867:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
52986a:	51                   	push   %ecx
52986b:	8b 45 0c             	mov    0xc(%ebp),%eax
52986e:	50                   	push   %eax
52986f:	52                   	push   %edx
529870:	8b 4d ec             	mov    -0x14(%ebp),%ecx
529873:	51                   	push   %ecx
529874:	b9 01 01 00 00       	mov    $0x101,%ecx
529879:	8b 55 fc             	mov    -0x4(%ebp),%edx
52987c:	8b 45 f4             	mov    -0xc(%ebp),%eax
52987f:	e8 04 fa ff ff       	call   0x529288
529884:	8b d8                	mov    %eax,%ebx
529886:	85 db                	test   %ebx,%ebx
529888:	75 08                	jne    0x529892
52988a:	8b 45 1c             	mov    0x1c(%ebp),%eax
52988d:	83 38 00             	cmpl   $0x0,(%eax)
529890:	75 2f                	jne    0x5298c1
529892:	83 fb fd             	cmp    $0xfffffffd,%ebx
529895:	75 09                	jne    0x5298a0
529897:	c7 46 18 f7 90 69 00 	movl   $0x6990f7,0x18(%esi)
52989e:	eb 11                	jmp    0x5298b1
5298a0:	83 fb fc             	cmp    $0xfffffffc,%ebx
5298a3:	74 0c                	je     0x5298b1
5298a5:	c7 46 18 1a 91 69 00 	movl   $0x69911a,0x18(%esi)
5298ac:	bb fd ff ff ff       	mov    $0xfffffffd,%ebx
5298b1:	8b 55 ec             	mov    -0x14(%ebp),%edx
5298b4:	8b 46 28             	mov    0x28(%esi),%eax
5298b7:	ff 56 24             	call   *0x24(%esi)
5298ba:	8b c3                	mov    %ebx,%eax
5298bc:	e9 92 00 00 00       	jmp    0x529953
5298c1:	68 84 7e 69 00       	push   $0x697e84
5298c6:	68 fc 7e 69 00       	push   $0x697efc
5298cb:	8b 55 10             	mov    0x10(%ebp),%edx
5298ce:	52                   	push   %edx
5298cf:	8d 55 f0             	lea    -0x10(%ebp),%edx
5298d2:	8b 4d 18             	mov    0x18(%ebp),%ecx
5298d5:	51                   	push   %ecx
5298d6:	8b 45 0c             	mov    0xc(%ebp),%eax
5298d9:	50                   	push   %eax
5298da:	52                   	push   %edx
5298db:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5298de:	51                   	push   %ecx
5298df:	8b 45 fc             	mov    -0x4(%ebp),%eax
5298e2:	8b 55 f8             	mov    -0x8(%ebp),%edx
5298e5:	c1 e0 02             	shl    $0x2,%eax
5298e8:	03 45 f4             	add    -0xc(%ebp),%eax
5298eb:	33 c9                	xor    %ecx,%ecx
5298ed:	e8 96 f9 ff ff       	call   0x529288
5298f2:	8b d8                	mov    %eax,%ebx
5298f4:	85 db                	test   %ebx,%ebx
5298f6:	75 11                	jne    0x529909
5298f8:	8b 45 18             	mov    0x18(%ebp),%eax
5298fb:	83 38 00             	cmpl   $0x0,(%eax)
5298fe:	75 48                	jne    0x529948
529900:	81 7d fc 01 01 00 00 	cmpl   $0x101,-0x4(%ebp)
529907:	76 3f                	jbe    0x529948
529909:	83 fb fd             	cmp    $0xfffffffd,%ebx
52990c:	75 09                	jne    0x529917
52990e:	c7 46 18 39 91 69 00 	movl   $0x699139,0x18(%esi)
529915:	eb 24                	jmp    0x52993b