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
59cc1f:	51                   	push   %ecx
59cc20:	b9 12 00 00 00       	mov    $0x12,%ecx
59cc25:	6a 00                	push   $0x0
59cc27:	6a 00                	push   $0x0
59cc29:	49                   	dec    %ecx
59cc2a:	75 f9                	jne    0x59cc25
59cc2c:	87 4d fc             	xchg   %ecx,-0x4(%ebp)
59cc2f:	53                   	push   %ebx
59cc30:	56                   	push   %esi
59cc31:	57                   	push   %edi
59cc32:	8b f9                	mov    %ecx,%edi
59cc34:	8b f2                	mov    %edx,%esi
59cc36:	8b d8                	mov    %eax,%ebx
59cc38:	33 c0                	xor    %eax,%eax
59cc3a:	55                   	push   %ebp
59cc3b:	68 eb d0 59 00       	push   $0x59d0eb
59cc40:	64 ff 30             	push   %fs:(%eax)
59cc43:	64 89 20             	mov    %esp,%fs:(%eax)
59cc46:	68 04 d1 59 00       	push   $0x59d104
59cc4b:	8d 55 e8             	lea    -0x18(%ebp),%edx
59cc4e:	8b 45 10             	mov    0x10(%ebp),%eax
59cc51:	e8 6e c9 e6 ff       	call   0x4095c4
59cc56:	ff 75 e8             	push   -0x18(%ebp)
59cc59:	68 18 d1 59 00       	push   $0x59d118
59cc5e:	8d 55 e4             	lea    -0x1c(%ebp),%edx
59cc61:	8b 45 10             	mov    0x10(%ebp),%eax
59cc64:	e8 5b c9 e6 ff       	call   0x4095c4
59cc69:	ff 75 e4             	push   -0x1c(%ebp)
59cc6c:	8d 45 ec             	lea    -0x14(%ebp),%eax
59cc6f:	ba 04 00 00 00       	mov    $0x4,%edx
59cc74:	e8 67 7f e6 ff       	call   0x404be0
59cc79:	8b 55 ec             	mov    -0x14(%ebp),%edx
59cc7c:	8b c3                	mov    %ebx,%eax
59cc7e:	e8 fd 50 06 00       	call   0x601d80
59cc83:	68 24 d1 59 00       	push   $0x59d124
59cc88:	8d 55 dc             	lea    -0x24(%ebp),%edx
59cc8b:	8b 45 08             	mov    0x8(%ebp),%eax
59cc8e:	e8 31 c9 e6 ff       	call   0x4095c4
59cc93:	ff 75 dc             	push   -0x24(%ebp)
59cc96:	68 30 d1 59 00       	push   $0x59d130
59cc9b:	8d 45 e0             	lea    -0x20(%ebp),%eax
59cc9e:	ba 03 00 00 00       	mov    $0x3,%edx
59cca3:	e8 38 7f e6 ff       	call   0x404be0
59cca8:	8b 55 e0             	mov    -0x20(%ebp),%edx
59ccab:	8b c3                	mov    %ebx,%eax
59ccad:	e8 ce 50 06 00       	call   0x601d80
59ccb2:	8b 45 08             	mov    0x8(%ebp),%eax
59ccb5:	50                   	push   %eax
59ccb6:	8d 45 f4             	lea    -0xc(%ebp),%eax
59ccb9:	50                   	push   %eax
59ccba:	8d 45 f0             	lea    -0x10(%ebp),%eax
59ccbd:	50                   	push   %eax
59ccbe:	8b c6                	mov    %esi,%eax
59ccc0:	8b 10                	mov    (%eax),%edx
59ccc2:	ff 52 08             	call   *0x8(%edx)
59ccc5:	50                   	push   %eax
59ccc6:	8b c6                	mov    %esi,%eax
59ccc8:	8b 10                	mov    (%eax),%edx
59ccca:	ff 52 0c             	call   *0xc(%edx)
59cccd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
59ccd0:	5a                   	pop    %edx
59ccd1:	e8 ea 4d 06 00       	call   0x601ac0
59ccd6:	8d 55 d4             	lea    -0x2c(%ebp),%edx
59ccd9:	8b 45 f4             	mov    -0xc(%ebp),%eax
59ccdc:	e8 e3 c8 e6 ff       	call   0x4095c4
59cce1:	ff 75 d4             	push   -0x2c(%ebp)
59cce4:	68 44 d1 59 00       	push   $0x59d144
59cce9:	8d 55 d0             	lea    -0x30(%ebp),%edx
59ccec:	8b 45 f0             	mov    -0x10(%ebp),%eax
59ccef:	e8 d0 c8 e6 ff       	call   0x4095c4
59ccf4:	ff 75 d0             	push   -0x30(%ebp)
59ccf7:	68 50 d1 59 00       	push   $0x59d150
59ccfc:	8d 45 d8             	lea    -0x28(%ebp),%eax
59ccff:	ba 04 00 00 00       	mov    $0x4,%edx
59cd04:	e8 d7 7e e6 ff       	call   0x404be0
59cd09:	8b 55 d8             	mov    -0x28(%ebp),%edx
59cd0c:	8b c3                	mov    %ebx,%eax
59cd0e:	e8 6d 50 06 00       	call   0x601d80
59cd13:	8b c6                	mov    %esi,%eax
59cd15:	8b 10                	mov    (%eax),%edx
59cd17:	ff 52 0c             	call   *0xc(%edx)
59cd1a:	8d 55 c8             	lea    -0x38(%ebp),%edx
59cd1d:	e8 a2 c8 e6 ff       	call   0x4095c4
59cd22:	ff 75 c8             	push   -0x38(%ebp)
59cd25:	68 18 d1 59 00       	push   $0x59d118
59cd2a:	8b c6                	mov    %esi,%eax
59cd2c:	8b 10                	mov    (%eax),%edx
59cd2e:	ff 52 08             	call   *0x8(%edx)
59cd31:	8d 55 c4             	lea    -0x3c(%ebp),%edx
59cd34:	e8 8b c8 e6 ff       	call   0x4095c4
59cd39:	ff 75 c4             	push   -0x3c(%ebp)
59cd3c:	68 18 d1 59 00       	push   $0x59d118
59cd41:	8d 55 c0             	lea    -0x40(%ebp),%edx
59cd44:	8b 07                	mov    (%edi),%eax
59cd46:	8b 40 08             	mov    0x8(%eax),%eax
59cd49:	e8 76 c8 e6 ff       	call   0x4095c4
59cd4e:	ff 75 c0             	push   -0x40(%ebp)
59cd51:	8d 45 cc             	lea    -0x34(%ebp),%eax
59cd54:	ba 05 00 00 00       	mov    $0x5,%edx
59cd59:	e8 82 7e e6 ff       	call   0x404be0
59cd5e:	8b 55 cc             	mov    -0x34(%ebp),%edx
59cd61:	8b c3                	mov    %ebx,%eax
59cd63:	e8 18 50 06 00       	call   0x601d80
59cd68:	68 60 d1 59 00       	push   $0x59d160
59cd6d:	8b c6                	mov    %esi,%eax
59cd6f:	8b 10                	mov    (%eax),%edx
59cd71:	ff 52 0c             	call   *0xc(%edx)
59cd74:	8d 55 b8             	lea    -0x48(%ebp),%edx
59cd77:	e8 48 c8 e6 ff       	call   0x4095c4
59cd7c:	ff 75 b8             	push   -0x48(%ebp)
59cd7f:	68 6c d1 59 00       	push   $0x59d16c
59cd84:	8b c6                	mov    %esi,%eax
59cd86:	8b 10                	mov    (%eax),%edx
59cd88:	ff 52 08             	call   *0x8(%edx)
59cd8b:	8d 55 b4             	lea    -0x4c(%ebp),%edx
59cd8e:	e8 31 c8 e6 ff       	call   0x4095c4
59cd93:	ff 75 b4             	push   -0x4c(%ebp)
59cd96:	68 7c d1 59 00       	push   $0x59d17c
59cd9b:	8d 45 bc             	lea    -0x44(%ebp),%eax
59cd9e:	ba 05 00 00 00       	mov    $0x5,%edx
59cda3:	e8 38 7e e6 ff       	call   0x404be0
59cda8:	8b 55 bc             	mov    -0x44(%ebp),%edx
59cdab:	8b c3                	mov    %ebx,%eax
59cdad:	e8 ce 4f 06 00       	call   0x601d80
59cdb2:	8b c6                	mov    %esi,%eax
59cdb4:	8b 10                	mov    (%eax),%edx
59cdb6:	ff 52 10             	call   *0x10(%edx)
59cdb9:	3c 01                	cmp    $0x1,%al
59cdbb:	75 14                	jne    0x59cdd1
59cdbd:	8b 07                	mov    (%edi),%eax
59cdbf:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
59cdc6:	8b 07                	mov    (%edi),%eax
59cdc8:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
59cdcf:	eb 1d                	jmp    0x59cdee
59cdd1:	8b c6                	mov    %esi,%eax
59cdd3:	8b 10                	mov    (%eax),%edx
59cdd5:	ff 52 10             	call   *0x10(%edx)
59cdd8:	3c 05                	cmp    $0x5,%al
59cdda:	75 12                	jne    0x59cdee
59cddc:	8b 07                	mov    (%edi),%eax
59cdde:	c7 40 08 08 00 00 00 	movl   $0x8,0x8(%eax)
59cde5:	8b 07                	mov    (%edi),%eax
59cde7:	c7 40 10 03 00 00 00 	movl   $0x3,0x10(%eax)
59cdee:	b2 01                	mov    $0x1,%dl
59cdf0:	a1 78 9d 41 00       	mov    0x419d78,%eax
59cdf5:	e8 4e 6c e6 ff       	call   0x403a48
59cdfa:	89 45 fc             	mov    %eax,-0x4(%ebp)
59cdfd:	8b 45 14             	mov    0x14(%ebp),%eax
59ce00:	50                   	push   %eax
59ce01:	8b cf                	mov    %edi,%ecx
59ce03:	8b d6                	mov    %esi,%edx
59ce05:	8b 45 fc             	mov    -0x4(%ebp),%eax
59ce08:	e8 ab fb ff ff       	call   0x59c9b8
59ce0d:	89 45 f8             	mov    %eax,-0x8(%ebp)
59ce10:	8b 07                	mov    (%edi),%eax
59ce12:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
59ce16:	0f 85 6c 01 00 00    	jne    0x59cf88
59ce1c:	8b 07                	mov    (%edi),%eax
59ce1e:	80 b8 3c 03 00 00 03 	cmpb   $0x3,0x33c(%eax)
59ce25:	75 58                	jne    0x59ce7f
59ce27:	ba 8c d1 59 00       	mov    $0x59d18c,%edx
59ce2c:	8b c3                	mov    %ebx,%eax
59ce2e:	e8 4d 4f 06 00       	call   0x601d80
59ce33:	ba d0 d1 59 00       	mov    $0x59d1d0,%edx
59ce38:	8b c3                	mov    %ebx,%eax
59ce3a:	e8 41 4f 06 00       	call   0x601d80
59ce3f:	68 e0 d1 59 00       	push   $0x59d1e0
59ce44:	8d 55 ac             	lea    -0x54(%ebp),%edx
59ce47:	8b 45 f8             	mov    -0x8(%ebp),%eax
59ce4a:	e8 75 c7 e6 ff       	call   0x4095c4
59ce4f:	ff 75 ac             	push   -0x54(%ebp)
59ce52:	68 fc d1 59 00       	push   $0x59d1fc
59ce57:	8d 45 b0             	lea    -0x50(%ebp),%eax
59ce5a:	ba 03 00 00 00       	mov    $0x3,%edx
59ce5f:	e8 7c 7d e6 ff       	call   0x404be0