59c84a:	8b 45 08             	mov    0x8(%ebp),%eax
59c84d:	8b 40 08             	mov    0x8(%eax),%eax
59c850:	8b 40 28             	mov    0x28(%eax),%eax
59c853:	50                   	push   %eax
59c854:	6a 01                	push   $0x1
59c856:	8b 45 08             	mov    0x8(%ebp),%eax
59c859:	8b 40 f0             	mov    -0x10(%eax),%eax
59c85c:	8b d7                	mov    %edi,%edx
59c85e:	8b 08                	mov    (%eax),%ecx
59c860:	ff 11                	call   *(%ecx)
59c862:	50                   	push   %eax
59c863:	8b 45 08             	mov    0x8(%ebp),%eax
59c866:	8b 40 f0             	mov    -0x10(%eax),%eax
59c869:	8b 10                	mov    (%eax),%edx
59c86b:	ff 52 0c             	call   *0xc(%edx)
59c86e:	8b d0                	mov    %eax,%edx
59c870:	8b cb                	mov    %ebx,%ecx
59c872:	58                   	pop    %eax
59c873:	e8 00 d6 f3 ff       	call   0x4d9e78
59c878:	eb 3a                	jmp    0x59c8b4
59c87a:	8d 45 ff             	lea    -0x1(%ebp),%eax
59c87d:	50                   	push   %eax
59c87e:	8d 45 f8             	lea    -0x8(%ebp),%eax
59c881:	50                   	push   %eax
59c882:	8d 45 f4             	lea    -0xc(%ebp),%eax
59c885:	50                   	push   %eax
59c886:	8b 45 08             	mov    0x8(%ebp),%eax
59c889:	8b 40 08             	mov    0x8(%eax),%eax
59c88c:	8b 40 28             	mov    0x28(%eax),%eax
59c88f:	50                   	push   %eax
59c890:	6a 01                	push   $0x1
59c892:	8b 45 08             	mov    0x8(%ebp),%eax
59c895:	8b 40 f0             	mov    -0x10(%eax),%eax
59c898:	8b d7                	mov    %edi,%edx
59c89a:	8b 08                	mov    (%eax),%ecx
59c89c:	ff 11                	call   *(%ecx)
59c89e:	50                   	push   %eax
59c89f:	8b 45 08             	mov    0x8(%ebp),%eax
59c8a2:	8b 40 f0             	mov    -0x10(%eax),%eax
59c8a5:	8b 10                	mov    (%eax),%edx
59c8a7:	ff 52 0c             	call   *0xc(%edx)
59c8aa:	8b d0                	mov    %eax,%edx
59c8ac:	8b cb                	mov    %ebx,%ecx
59c8ae:	58                   	pop    %eax
59c8af:	e8 54 d4 f3 ff       	call   0x4d9d08
59c8b4:	47                   	inc    %edi
59c8b5:	4e                   	dec    %esi
59c8b6:	0f 85 6a ff ff ff    	jne    0x59c826
59c8bc:	8b 45 08             	mov    0x8(%ebp),%eax
59c8bf:	8b 40 d0             	mov    -0x30(%eax),%eax
59c8c2:	8b 00                	mov    (%eax),%eax
59c8c4:	8a 80 3c 03 00 00    	mov    0x33c(%eax),%al
59c8ca:	fe c8                	dec    %al
59c8cc:	74 06                	je     0x59c8d4
59c8ce:	fe c8                	dec    %al
59c8d0:	74 27                	je     0x59c8f9
59c8d2:	eb 48                	jmp    0x59c91c
59c8d4:	8d 45 ff             	lea    -0x1(%ebp),%eax
59c8d7:	50                   	push   %eax
59c8d8:	8d 45 f8             	lea    -0x8(%ebp),%eax
59c8db:	50                   	push   %eax
59c8dc:	8d 45 f4             	lea    -0xc(%ebp),%eax
59c8df:	50                   	push   %eax
59c8e0:	8b 45 08             	mov    0x8(%ebp),%eax
59c8e3:	8b 40 08             	mov    0x8(%eax),%eax
59c8e6:	8b 40 28             	mov    0x28(%eax),%eax
59c8e9:	50                   	push   %eax
59c8ea:	6a 01                	push   $0x1
59c8ec:	8b cb                	mov    %ebx,%ecx
59c8ee:	33 d2                	xor    %edx,%edx
59c8f0:	33 c0                	xor    %eax,%eax
59c8f2:	e8 81 d5 f3 ff       	call   0x4d9e78
59c8f7:	eb 23                	jmp    0x59c91c
59c8f9:	8d 45 ff             	lea    -0x1(%ebp),%eax
59c8fc:	50                   	push   %eax
59c8fd:	8d 45 f8             	lea    -0x8(%ebp),%eax
59c900:	50                   	push   %eax
59c901:	8d 45 f4             	lea    -0xc(%ebp),%eax
59c904:	50                   	push   %eax
59c905:	8b 45 08             	mov    0x8(%ebp),%eax
59c908:	8b 40 08             	mov    0x8(%eax),%eax
59c90b:	8b 40 28             	mov    0x28(%eax),%eax
59c90e:	50                   	push   %eax
59c90f:	6a 01                	push   $0x1
59c911:	8b cb                	mov    %ebx,%ecx
59c913:	33 d2                	xor    %edx,%edx
59c915:	33 c0                	xor    %eax,%eax
59c917:	e8 ec d3 f3 ff       	call   0x4d9d08
59c91c:	8b c3                	mov    %ebx,%eax
59c91e:	e8 c9 1d e8 ff       	call   0x41e6ec
59c923:	8b 55 08             	mov    0x8(%ebp),%edx
59c926:	89 42 dc             	mov    %eax,-0x24(%edx)
59c929:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
59c92d:	eb 0f                	jmp    0x59c93e
59c92f:	8d 55 ff             	lea    -0x1(%ebp),%edx
59c932:	b9 01 00 00 00       	mov    $0x1,%ecx
59c937:	8b c3                	mov    %ebx,%eax
59c939:	8b 30                	mov    (%eax),%esi
59c93b:	ff 56 0c             	call   *0xc(%esi)
59c93e:	6a 00                	push   $0x0
59c940:	6a 04                	push   $0x4
59c942:	8b c3                	mov    %ebx,%eax
59c944:	e8 a3 1d e8 ff       	call   0x41e6ec
59c949:	e8 22 92 e6 ff       	call   0x405b70
59c94e:	83 fa 00             	cmp    $0x0,%edx
59c951:	75 dc                	jne    0x59c92f
59c953:	83 f8 00             	cmp    $0x0,%eax
59c956:	75 d7                	jne    0x59c92f
59c958:	8b 45 08             	mov    0x8(%ebp),%eax
59c95b:	8b 53 04             	mov    0x4(%ebx),%edx
59c95e:	89 50 fc             	mov    %edx,-0x4(%eax)
59c961:	8b 45 08             	mov    0x8(%ebp),%eax
59c964:	8b 40 d8             	mov    -0x28(%eax),%eax
59c967:	8b 55 08             	mov    0x8(%ebp),%edx
59c96a:	89 42 f8             	mov    %eax,-0x8(%edx)
59c96d:	8b 45 08             	mov    0x8(%ebp),%eax
59c970:	83 c0 f4             	add    $0xfffffff4,%eax
59c973:	50                   	push   %eax
59c974:	8b 45 08             	mov    0x8(%ebp),%eax
59c977:	8d 48 f8             	lea    -0x8(%eax),%ecx
59c97a:	8b 45 08             	mov    0x8(%ebp),%eax
59c97d:	8b 50 dc             	mov    -0x24(%eax),%edx
59c980:	8b 45 08             	mov    0x8(%ebp),%eax
59c983:	83 c0 fc             	add    $0xfffffffc,%eax
59c986:	e8 9d 52 06 00       	call   0x601c28
59c98b:	8b 55 08             	mov    0x8(%ebp),%edx
59c98e:	89 42 dc             	mov    %eax,-0x24(%edx)
59c991:	8b 45 08             	mov    0x8(%ebp),%eax
59c994:	8b 48 dc             	mov    -0x24(%eax),%ecx
59c997:	8b 45 08             	mov    0x8(%ebp),%eax
59c99a:	8b 50 d8             	mov    -0x28(%eax),%edx
59c99d:	8b 45 08             	mov    0x8(%ebp),%eax
59c9a0:	8b 40 d4             	mov    -0x2c(%eax),%eax
59c9a3:	8b 30                	mov    (%eax),%esi
59c9a5:	ff 56 0c             	call   *0xc(%esi)
59c9a8:	8b c3                	mov    %ebx,%eax
59c9aa:	e8 c9 70 e6 ff       	call   0x403a78
59c9af:	5f                   	pop    %edi
59c9b0:	5e                   	pop    %esi
59c9b1:	5b                   	pop    %ebx
59c9b2:	8b e5                	mov    %ebp,%esp
59c9b4:	5d                   	pop    %ebp
59c9b5:	c3                   	ret
59c9b6:	8b c0                	mov    %eax,%eax
59c9b8:	55                   	push   %ebp
59c9b9:	8b ec                	mov    %esp,%ebp
59c9bb:	83 c4 cc             	add    $0xffffffcc,%esp
59c9be:	53                   	push   %ebx
59c9bf:	56                   	push   %esi
59c9c0:	89 4d d0             	mov    %ecx,-0x30(%ebp)
59c9c3:	89 55 f0             	mov    %edx,-0x10(%ebp)
59c9c6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
59c9c9:	33 c0                	xor    %eax,%eax
59c9cb:	89 45 f4             	mov    %eax,-0xc(%ebp)
59c9ce:	8b 45 f0             	mov    -0x10(%ebp),%eax
59c9d1:	8b 10                	mov    (%eax),%edx
59c9d3:	ff 52 08             	call   *0x8(%edx)
59c9d6:	89 45 cc             	mov    %eax,-0x34(%ebp)
59c9d9:	db 45 cc             	fildl  -0x34(%ebp)
59c9dc:	d8 3d 18 cc 59 00    	fdivrs 0x59cc18
59c9e2:	8b 45 08             	mov    0x8(%ebp),%eax
59c9e5:	dd 58 18             	fstpl  0x18(%eax)
59c9e8:	9b                   	fwait
59c9e9:	8b 45 d0             	mov    -0x30(%ebp),%eax
59c9ec:	8b 00                	mov    (%eax),%eax
59c9ee:	83 78 10 01          	cmpl   $0x1,0x10(%eax)
59c9f2:	75 23                	jne    0x59ca17
59c9f4:	8b 45 d0             	mov    -0x30(%ebp),%eax
59c9f7:	8b 00                	mov    (%eax),%eax
59c9f9:	83 78 08 01          	cmpl   $0x1,0x8(%eax)
59c9fd:	7e 18                	jle    0x59ca17
59c9ff:	8b 45 d0             	mov    -0x30(%ebp),%eax
59ca02:	8b 00                	mov    (%eax),%eax
59ca04:	c7 40 10 03 00 00 00 	movl   $0x3,0x10(%eax)
59ca0b:	8b 45 d0             	mov    -0x30(%ebp),%eax
59ca0e:	8b 00                	mov    (%eax),%eax
59ca10:	c7 40 08 08 00 00 00 	movl   $0x8,0x8(%eax)
59ca17:	8b 45 d0             	mov    -0x30(%ebp),%eax
59ca1a:	8b 00                	mov    (%eax),%eax
59ca1c:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
59ca20:	7e 0c                	jle    0x59ca2e
59ca22:	8b 45 d0             	mov    -0x30(%ebp),%eax
59ca25:	8b 00                	mov    (%eax),%eax
59ca27:	c7 40 10 03 00 00 00 	movl   $0x3,0x10(%eax)
59ca2e:	8b 45 d0             	mov    -0x30(%ebp),%eax
59ca31:	8b 00                	mov    (%eax),%eax
59ca33:	8b 40 10             	mov    0x10(%eax),%eax
59ca36:	48                   	dec    %eax
59ca37:	74 0e                	je     0x59ca47
59ca39:	83 e8 02             	sub    $0x2,%eax
59ca3c:	0f 84 8c 00 00 00    	je     0x59cace
59ca42:	e9 c3 01 00 00       	jmp    0x59cc0a
59ca47:	8b 45 d0             	mov    -0x30(%ebp),%eax
59ca4a:	8b 00                	mov    (%eax),%eax
59ca4c:	8b 40 08             	mov    0x8(%eax),%eax
59ca4f:	48                   	dec    %eax
59ca50:	0f 85 b4 01 00 00    	jne    0x59cc0a
59ca56:	8b 45 f0             	mov    -0x10(%ebp),%eax
59ca59:	8b 10                	mov    (%eax),%edx
59ca5b:	ff 52 14             	call   *0x14(%edx)
59ca5e:	8b d8                	mov    %eax,%ebx
59ca60:	03 db                	add    %ebx,%ebx
59ca62:	8b 45 f0             	mov    -0x10(%ebp),%eax
59ca65:	8b 10                	mov    (%eax),%edx
59ca67:	ff 52 08             	call   *0x8(%edx)
59ca6a:	0f af d8             	imul   %eax,%ebx
59ca6d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
59ca70:	8b 45 dc             	mov    -0x24(%ebp),%eax
59ca73:	e8 34 5d e6 ff       	call   0x4027ac
59ca78:	89 45 e0             	mov    %eax,-0x20(%ebp)
59ca7b:	8b 45 dc             	mov    -0x24(%ebp),%eax
59ca7e:	03 c0                	add    %eax,%eax
59ca80:	e8 27 5d e6 ff       	call   0x4027ac
59ca85:	89 45 d8             	mov    %eax,-0x28(%ebp)
59ca88:	8b 45 dc             	mov    -0x24(%ebp),%eax
59ca8b:	e8 1c 5d e6 ff       	call   0x4027ac
59ca90:	89 45 e4             	mov    %eax,-0x1c(%ebp)
59ca93:	8b 45 d0             	mov    -0x30(%ebp),%eax
59ca96:	8b 00                	mov    (%eax),%eax
59ca98:	80 b8 3c 03 00 00 00 	cmpb   $0x0,0x33c(%eax)
59ca9f:	75 09                	jne    0x59caaa
59caa1:	55                   	push   %ebp
59caa2:	e8 fd fb ff ff       	call   0x59c6a4
59caa7:	59                   	pop    %ecx
59caa8:	eb 07                	jmp    0x59cab1
59caaa:	55                   	push   %ebp
59caab:	e8 38 fd ff ff       	call   0x59c7e8
59cab0:	59                   	pop    %ecx
59cab1:	8b 45 d8             	mov    -0x28(%ebp),%eax
59cab4:	e8 13 5d e6 ff       	call   0x4027cc
59cab9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
59cabc:	e8 0b 5d e6 ff       	call   0x4027cc
59cac1:	8b 45 e0             	mov    -0x20(%ebp),%eax
59cac4:	e8 03 5d e6 ff       	call   0x4027cc
59cac9:	e9 3c 01 00 00       	jmp    0x59cc0a
59cace:	8b 45 d0             	mov    -0x30(%ebp),%eax
59cad1:	8b 00                	mov    (%eax),%eax
59cad3:	80 b8 3c 03 00 00 03 	cmpb   $0x3,0x33c(%eax)
59cada:	75 79                	jne    0x59cb55
59cadc:	b2 01                	mov    $0x1,%dl
59cade:	a1 78 9d 41 00       	mov    0x419d78,%eax
59cae3:	e8 60 6f e6 ff       	call   0x403a48
59cae8:	8b d8                	mov    %eax,%ebx
59caea:	8b 45 08             	mov    0x8(%ebp),%eax
59caed:	50                   	push   %eax
59caee:	8b 4d d0             	mov    -0x30(%ebp),%ecx
59caf1:	8b 55 f0             	mov    -0x10(%ebp),%edx
59caf4:	8b c3                	mov    %ebx,%eax
59caf6:	e8 c5 05 f4 ff       	call   0x4dd0c0
59cafb:	8b 45 dc             	mov    -0x24(%ebp),%eax
59cafe:	03 c0                	add    %eax,%eax
59cb00:	e8 a7 5c e6 ff       	call   0x4027ac
59cb05:	89 45 d8             	mov    %eax,-0x28(%ebp)
59cb08:	8b 43 04             	mov    0x4(%ebx),%eax
59cb0b:	89 45 fc             	mov    %eax,-0x4(%ebp)
59cb0e:	8b 45 d8             	mov    -0x28(%ebp),%eax
59cb11:	89 45 f8             	mov    %eax,-0x8(%ebp)
59cb14:	8b c3                	mov    %ebx,%eax
59cb16:	e8 d1 1b e8 ff       	call   0x41e6ec
59cb1b:	89 45 dc             	mov    %eax,-0x24(%ebp)
59cb1e:	8d 45 f4             	lea    -0xc(%ebp),%eax
59cb21:	50                   	push   %eax
59cb22:	8d 4d f8             	lea    -0x8(%ebp),%ecx
59cb25:	8d 45 fc             	lea    -0x4(%ebp),%eax
59cb28:	8b 55 dc             	mov    -0x24(%ebp),%edx
59cb2b:	e8 f8 50 06 00       	call   0x601c28
59cb30:	89 45 dc             	mov    %eax,-0x24(%ebp)
59cb33:	8b c3                	mov    %ebx,%eax
59cb35:	e8 3e 6f e6 ff       	call   0x403a78
59cb3a:	8b 55 d8             	mov    -0x28(%ebp),%edx
59cb3d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
59cb40:	8b 45 d4             	mov    -0x2c(%ebp),%eax
59cb43:	8b 18                	mov    (%eax),%ebx
59cb45:	ff 53 0c             	call   *0xc(%ebx)
59cb48:	8b 45 d8             	mov    -0x28(%ebp),%eax
59cb4b:	e8 7c 5c e6 ff       	call   0x4027cc
59cb50:	e9 b5 00 00 00       	jmp    0x59cc0a
59cb55:	8b 45 f0             	mov    -0x10(%ebp),%eax
59cb58:	8b 10                	mov    (%eax),%edx
59cb5a:	ff 52 14             	call   *0x14(%edx)
59cb5d:	03 c0                	add    %eax,%eax
59cb5f:	e8 48 5c e6 ff       	call   0x4027ac
59cb64:	89 45 e0             	mov    %eax,-0x20(%ebp)
59cb67:	8b 45 f0             	mov    -0x10(%ebp),%eax
59cb6a:	8b 10                	mov    (%eax),%edx
59cb6c:	ff 52 0c             	call   *0xc(%edx)
59cb6f:	03 c0                	add    %eax,%eax
59cb71:	e8 36 5c e6 ff       	call   0x4027ac
59cb76:	89 45 d8             	mov    %eax,-0x28(%ebp)
59cb79:	8b 45 f0             	mov    -0x10(%ebp),%eax
59cb7c:	8b 10                	mov    (%eax),%edx
59cb7e:	ff 52 0c             	call   *0xc(%edx)
59cb81:	83 c0 04             	add    $0x4,%eax
59cb84:	e8 23 5c e6 ff       	call   0x4027ac
59cb89:	89 45 e4             	mov    %eax,-0x1c(%ebp)
59cb8c:	8b 45 f0             	mov    -0x10(%ebp),%eax
59cb8f:	8b 10                	mov    (%eax),%edx
59cb91:	ff 52 08             	call   *0x8(%edx)
59cb94:	8b d8                	mov    %eax,%ebx
59cb96:	4b                   	dec    %ebx
59cb97:	85 db                	test   %ebx,%ebx
59cb99:	7c 57                	jl     0x59cbf2
59cb9b:	43                   	inc    %ebx
59cb9c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
59cba3:	55                   	push   %ebp
59cba4:	b8 02 00 00 00       	mov    $0x2,%eax
59cba9:	e8 2e fa ff ff       	call   0x59c5dc
59cbae:	59                   	pop    %ecx
59cbaf:	55                   	push   %ebp
59cbb0:	b8 01 00 00 00       	mov    $0x1,%eax
59cbb5:	e8 22 fa ff ff       	call   0x59c5dc
59cbba:	59                   	pop    %ecx
59cbbb:	55                   	push   %ebp
59cbbc:	33 c0                	xor    %eax,%eax
59cbbe:	e8 19 fa ff ff       	call   0x59c5dc
59cbc3:	59                   	pop    %ecx
59cbc4:	8b 45 08             	mov    0x8(%ebp),%eax
59cbc7:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
59cbcc:	74 1e                	je     0x59cbec
59cbce:	db 45 ec             	fildl  -0x14(%ebp)
59cbd1:	8b 45 08             	mov    0x8(%ebp),%eax
59cbd4:	dc 48 18             	fmull  0x18(%eax)
59cbd7:	e8 f0 60 e6 ff       	call   0x402ccc
59cbdc:	8b c8                	mov    %eax,%ecx
59cbde:	8b 75 08             	mov    0x8(%ebp),%esi
59cbe1:	8b 55 08             	mov    0x8(%ebp),%edx
59cbe4:	8b 52 08             	mov    0x8(%edx),%edx
59cbe7:	8b 46 04             	mov    0x4(%esi),%eax
59cbea:	ff 16                	call   *(%esi)
59cbec:	ff 45 ec             	incl   -0x14(%ebp)
59cbef:	4b                   	dec    %ebx
59cbf0:	75 b1                	jne    0x59cba3
59cbf2:	8b 45 d8             	mov    -0x28(%ebp),%eax
59cbf5:	e8 d2 5b e6 ff       	call   0x4027cc
59cbfa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
59cbfd:	e8 ca 5b e6 ff       	call   0x4027cc
59cc02:	8b 45 e0             	mov    -0x20(%ebp),%eax
59cc05:	e8 c2 5b e6 ff       	call   0x4027cc
59cc0a:	8b 45 f4             	mov    -0xc(%ebp),%eax
59cc0d:	5e                   	pop    %esi
59cc0e:	5b                   	pop    %ebx
59cc0f:	8b e5                	mov    %ebp,%esp
59cc11:	5d                   	pop    %ebp
59cc12:	c2 04 00             	ret    $0x4
59cc15:	00 00                	add    %al,(%eax)
59cc17:	00 00                	add    %al,(%eax)
59cc19:	00 c8                	add    %cl,%al
59cc1b:	42                   	inc    %edx
59cc1c:	55                   	push   %ebp
59cc1d:	8b ec                	mov    %esp,%ebp