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
528a5c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
528a60:	89 0e                	mov    %ecx,(%esi)
528a62:	8b 44 24 14          	mov    0x14(%esp),%eax
528a66:	89 43 34             	mov    %eax,0x34(%ebx)
528a69:	8b c3                	mov    %ebx,%eax
528a6b:	8b 0c 24             	mov    (%esp),%ecx
528a6e:	e8 0d 18 00 00       	call   0x52a280
528a73:	e9 a6 07 00 00       	jmp    0x52921e
528a78:	8b cf                	mov    %edi,%ecx
528a7a:	ff 4c 24 10          	decl   0x10(%esp)
528a7e:	8b 54 24 0c          	mov    0xc(%esp),%edx
528a82:	8a 02                	mov    (%edx),%al
528a84:	33 d2                	xor    %edx,%edx
528a86:	8a d0                	mov    %al,%dl
528a88:	d3 e2                	shl    %cl,%edx
528a8a:	09 54 24 08          	or     %edx,0x8(%esp)
528a8e:	ff 44 24 0c          	incl   0xc(%esp)
528a92:	83 c7 08             	add    $0x8,%edi
528a95:	83 ff 0e             	cmp    $0xe,%edi
528a98:	72 98                	jb     0x528a32
528a9a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
528a9e:	81 e1 ff 3f 00 00    	and    $0x3fff,%ecx
528aa4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
528aa8:	89 4b 04             	mov    %ecx,0x4(%ebx)
528aab:	8b 44 24 04          	mov    0x4(%esp),%eax
528aaf:	83 e0 1f             	and    $0x1f,%eax
528ab2:	83 f8 1d             	cmp    $0x1d,%eax
528ab5:	77 0f                	ja     0x528ac6
528ab7:	8b 54 24 04          	mov    0x4(%esp),%edx
528abb:	c1 ea 05             	shr    $0x5,%edx
528abe:	83 e2 1f             	and    $0x1f,%edx
528ac1:	83 fa 1d             	cmp    $0x1d,%edx
528ac4:	76 4c                	jbe    0x528b12
528ac6:	c7 03 09 00 00 00    	movl   $0x9,(%ebx)
528acc:	c7 46 18 4c 7d 69 00 	movl   $0x697d4c,0x18(%esi)
528ad3:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
528ada:	8b 44 24 08          	mov    0x8(%esp),%eax
528ade:	89 43 20             	mov    %eax,0x20(%ebx)
528ae1:	89 7b 1c             	mov    %edi,0x1c(%ebx)
528ae4:	8b 54 24 10          	mov    0x10(%esp),%edx
528ae8:	89 56 04             	mov    %edx,0x4(%esi)
528aeb:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
528aef:	2b 0e                	sub    (%esi),%ecx
528af1:	01 4e 08             	add    %ecx,0x8(%esi)
528af4:	8b 44 24 0c          	mov    0xc(%esp),%eax
528af8:	89 06                	mov    %eax,(%esi)
528afa:	8b c3                	mov    %ebx,%eax
528afc:	8b 54 24 14          	mov    0x14(%esp),%edx
528b00:	89 53 34             	mov    %edx,0x34(%ebx)
528b03:	8b d6                	mov    %esi,%edx
528b05:	8b 0c 24             	mov    (%esp),%ecx
528b08:	e8 73 17 00 00       	call   0x52a280
528b0d:	e9 0c 07 00 00       	jmp    0x52921e
528b12:	8b 4c 24 04          	mov    0x4(%esp),%ecx
528b16:	c1 e9 05             	shr    $0x5,%ecx
528b19:	83 e1 1f             	and    $0x1f,%ecx
528b1c:	03 c1                	add    %ecx,%eax
528b1e:	05 02 01 00 00       	add    $0x102,%eax
528b23:	89 44 24 04          	mov    %eax,0x4(%esp)
528b27:	b9 04 00 00 00       	mov    $0x4,%ecx
528b2c:	8b 54 24 04          	mov    0x4(%esp),%edx
528b30:	8b 46 28             	mov    0x28(%esi),%eax
528b33:	ff 56 20             	call   *0x20(%esi)
528b36:	89 43 0c             	mov    %eax,0xc(%ebx)
528b39:	85 c0                	test   %eax,%eax
528b3b:	75 3f                	jne    0x528b7c
528b3d:	c7 04 24 fc ff ff ff 	movl   $0xfffffffc,(%esp)
528b44:	8b 54 24 08          	mov    0x8(%esp),%edx
528b48:	89 53 20             	mov    %edx,0x20(%ebx)
528b4b:	89 7b 1c             	mov    %edi,0x1c(%ebx)
528b4e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
528b52:	89 4e 04             	mov    %ecx,0x4(%esi)
528b55:	8b 44 24 0c          	mov    0xc(%esp),%eax
528b59:	2b 06                	sub    (%esi),%eax
528b5b:	01 46 08             	add    %eax,0x8(%esi)
528b5e:	8b c3                	mov    %ebx,%eax
528b60:	8b 54 24 0c          	mov    0xc(%esp),%edx
528b64:	89 16                	mov    %edx,(%esi)
528b66:	8b d6                	mov    %esi,%edx
528b68:	8b 4c 24 14          	mov    0x14(%esp),%ecx
528b6c:	89 4b 34             	mov    %ecx,0x34(%ebx)
528b6f:	8b 0c 24             	mov    (%esp),%ecx
528b72:	e8 09 17 00 00       	call   0x52a280
528b77:	e9 a2 06 00 00       	jmp    0x52921e
528b7c:	c1 6c 24 08 0e       	shrl   $0xe,0x8(%esp)
528b81:	83 ef 0e             	sub    $0xe,%edi
528b84:	33 c0                	xor    %eax,%eax
528b86:	89 43 08             	mov    %eax,0x8(%ebx)
528b89:	c7 03 04 00 00 00    	movl   $0x4,(%ebx)
528b8f:	e9 8f 00 00 00       	jmp    0x528c23
528b94:	83 ff 03             	cmp    $0x3,%edi
528b97:	73 68                	jae    0x528c01
528b99:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
528b9e:	74 07                	je     0x528ba7
528ba0:	33 d2                	xor    %edx,%edx
528ba2:	89 14 24             	mov    %edx,(%esp)
528ba5:	eb 38                	jmp    0x528bdf
528ba7:	8b 4c 24 08          	mov    0x8(%esp),%ecx
528bab:	89 4b 20             	mov    %ecx,0x20(%ebx)
528bae:	89 7b 1c             	mov    %edi,0x1c(%ebx)
528bb1:	8b 44 24 10          	mov    0x10(%esp),%eax
528bb5:	89 46 04             	mov    %eax,0x4(%esi)
528bb8:	8b 54 24 0c          	mov    0xc(%esp),%edx
528bbc:	2b 16                	sub    (%esi),%edx
528bbe:	01 56 08             	add    %edx,0x8(%esi)
528bc1:	8b d6                	mov    %esi,%edx
528bc3:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
528bc7:	89 0e                	mov    %ecx,(%esi)
528bc9:	8b 44 24 14          	mov    0x14(%esp),%eax
528bcd:	89 43 34             	mov    %eax,0x34(%ebx)
528bd0:	8b c3                	mov    %ebx,%eax
528bd2:	8b 0c 24             	mov    (%esp),%ecx
528bd5:	e8 a6 16 00 00       	call   0x52a280
528bda:	e9 3f 06 00 00       	jmp    0x52921e
528bdf:	8b cf                	mov    %edi,%ecx
528be1:	ff 4c 24 10          	decl   0x10(%esp)
528be5:	8b 54 24 0c          	mov    0xc(%esp),%edx
528be9:	8a 02                	mov    (%edx),%al
528beb:	33 d2                	xor    %edx,%edx
528bed:	8a d0                	mov    %al,%dl
528bef:	d3 e2                	shl    %cl,%edx
528bf1:	09 54 24 08          	or     %edx,0x8(%esp)
528bf5:	ff 44 24 0c          	incl   0xc(%esp)
528bf9:	83 c7 08             	add    $0x8,%edi
528bfc:	83 ff 03             	cmp    $0x3,%edi
528bff:	72 98                	jb     0x528b99
528c01:	8b 4b 08             	mov    0x8(%ebx),%ecx
528c04:	ff 43 08             	incl   0x8(%ebx)
528c07:	8b 04 8d d0 7c 69 00 	mov    0x697cd0(,%ecx,4),%eax
528c0e:	8b 53 0c             	mov    0xc(%ebx),%edx
528c11:	8b 4c 24 08          	mov    0x8(%esp),%ecx
528c15:	83 e1 07             	and    $0x7,%ecx
528c18:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
528c1b:	c1 6c 24 08 03       	shrl   $0x3,0x8(%esp)
528c20:	83 ef 03             	sub    $0x3,%edi
528c23:	8b 43 04             	mov    0x4(%ebx),%eax
528c26:	c1 e8 0a             	shr    $0xa,%eax
528c29:	83 c0 04             	add    $0x4,%eax
528c2c:	3b 43 08             	cmp    0x8(%ebx),%eax
528c2f:	0f 87 5f ff ff ff    	ja     0x528b94
528c35:	eb 15                	jmp    0x528c4c
528c37:	8b 53 08             	mov    0x8(%ebx),%edx
528c3a:	ff 43 08             	incl   0x8(%ebx)
528c3d:	8b 0c 95 d0 7c 69 00 	mov    0x697cd0(,%edx,4),%ecx
528c44:	8b 43 0c             	mov    0xc(%ebx),%eax
528c47:	33 d2                	xor    %edx,%edx
528c49:	89 14 88             	mov    %edx,(%eax,%ecx,4)
528c4c:	83 7b 08 13          	cmpl   $0x13,0x8(%ebx)
528c50:	72 e5                	jb     0x528c37
528c52:	c7 43 10 07 00 00 00 	movl   $0x7,0x10(%ebx)
528c59:	8b 4b 24             	mov    0x24(%ebx),%ecx
528c5c:	51                   	push   %ecx
528c5d:	56                   	push   %esi
528c5e:	8d 4b 14             	lea    0x14(%ebx),%ecx
528c61:	8d 53 10             	lea    0x10(%ebx),%edx
528c64:	8b 43 0c             	mov    0xc(%ebx),%eax
528c67:	e8 14 0b 00 00       	call   0x529780
528c6c:	89 44 24 04          	mov    %eax,0x4(%esp)
528c70:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
528c75:	74 54                	je     0x528ccb
528c77:	8b 44 24 04          	mov    0x4(%esp),%eax
528c7b:	89 04 24             	mov    %eax,(%esp)
528c7e:	83 3c 24 fd          	cmpl   $0xfffffffd,(%esp)
528c82:	75 0f                	jne    0x528c93
528c84:	8b 53 0c             	mov    0xc(%ebx),%edx
528c87:	8b 46 28             	mov    0x28(%esi),%eax
528c8a:	ff 56 24             	call   *0x24(%esi)
528c8d:	c7 03 09 00 00 00    	movl   $0x9,(%ebx)
528c93:	8b 54 24 08          	mov    0x8(%esp),%edx
528c97:	89 53 20             	mov    %edx,0x20(%ebx)
528c9a:	89 7b 1c             	mov    %edi,0x1c(%ebx)
528c9d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
528ca1:	89 4e 04             	mov    %ecx,0x4(%esi)
528ca4:	8b 44 24 0c          	mov    0xc(%esp),%eax
528ca8:	2b 06                	sub    (%esi),%eax