40abf2:	59                   	pop    %ecx
40abf3:	5f                   	pop    %edi
40abf4:	5e                   	pop    %esi
40abf5:	ab                   	stos   %eax,%es:(%edi)
40abf6:	49                   	dec    %ecx
40abf7:	0f 85 d8 ff ff ff    	jne    0x40abd5
40abfd:	58                   	pop    %eax
40abfe:	50                   	push   %eax
40abff:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40ac02:	53                   	push   %ebx
40ac03:	8b 0b                	mov    (%ebx),%ecx
40ac05:	83 c3 04             	add    $0x4,%ebx
40ac08:	85 c9                	test   %ecx,%ecx
40ac0a:	74 11                	je     0x40ac1d
40ac0c:	8b 03                	mov    (%ebx),%eax
40ac0e:	83 c3 04             	add    $0x4,%ebx
40ac11:	49                   	dec    %ecx
40ac12:	74 05                	je     0x40ac19
40ac14:	0f af 03             	imul   (%ebx),%eax
40ac17:	eb f5                	jmp    0x40ac0e
40ac19:	8b c8                	mov    %eax,%ecx
40ac1b:	85 c9                	test   %ecx,%ecx
40ac1d:	0f 84 19 00 00 00    	je     0x40ac3c
40ac23:	51                   	push   %ecx
40ac24:	8b 03                	mov    (%ebx),%eax
40ac26:	85 c0                	test   %eax,%eax
40ac28:	74 0b                	je     0x40ac35
40ac2a:	53                   	push   %ebx
40ac2b:	50                   	push   %eax
40ac2c:	e8 73 59 09 00       	call   0x4a05a4
40ac31:	83 c4 04             	add    $0x4,%esp
40ac34:	5b                   	pop    %ebx
40ac35:	83 c3 04             	add    $0x4,%ebx
40ac38:	59                   	pop    %ecx
40ac39:	49                   	dec    %ecx
40ac3a:	75 e7                	jne    0x40ac23
40ac3c:	e8 63 59 09 00       	call   0x4a05a4
40ac41:	83 c4 04             	add    $0x4,%esp
40ac44:	58                   	pop    %eax
40ac45:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ac48:	db 45 0c             	fildl  0xc(%ebp)
40ac4b:	dd 5d e8             	fstpl  -0x18(%ebp)
40ac4e:	dd 45 e8             	fldl   -0x18(%ebp)
40ac51:	dc 25 0d 3f 4e 00    	fsubl  0x4e3f0d
40ac57:	dd 5d e0             	fstpl  -0x20(%ebp)
40ac5a:	68 10 00 00 00       	push   $0x10
40ac5f:	e8 3a 59 09 00       	call   0x4a059e
40ac64:	83 c4 04             	add    $0x4,%esp
40ac67:	89 45 dc             	mov    %eax,-0x24(%ebp)
40ac6a:	8b d8                	mov    %eax,%ebx
40ac6c:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
40ac72:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
40ac79:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
40ac80:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
40ac87:	6a 00                	push   $0x0
40ac89:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ac8c:	50                   	push   %eax
40ac8d:	dd 45 e0             	fldl   -0x20(%ebp)
40ac90:	e8 5a 65 ff ff       	call   0x4011ef
40ac95:	50                   	push   %eax
40ac96:	ff 75 08             	push   0x8(%ebp)
40ac99:	68 50 01 00 00       	push   $0x150
40ac9e:	68 00 00 00 00       	push   $0x0
40aca3:	e8 7b 2d 00 00       	call   0x40da23
40aca8:	89 45 d8             	mov    %eax,-0x28(%ebp)
40acab:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40acae:	53                   	push   %ebx
40acaf:	e8 f0 58 09 00       	call   0x4a05a4
40acb4:	83 c4 04             	add    $0x4,%esp
40acb7:	8b 45 d8             	mov    -0x28(%ebp),%eax
40acba:	50                   	push   %eax
40acbb:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40acbe:	53                   	push   %ebx
40acbf:	e8 e0 58 09 00       	call   0x4a05a4
40acc4:	83 c4 04             	add    $0x4,%esp
40acc7:	58                   	pop    %eax
40acc8:	89 45 f8             	mov    %eax,-0x8(%ebp)
40accb:	8b 1d 44 99 50 00    	mov    0x509944,%ebx
40acd1:	e8 1d 8a ff ff       	call   0x4036f3
40acd6:	b8 00 00 00 00       	mov    $0x0,%eax
40acdb:	3b c1                	cmp    %ecx,%eax
40acdd:	7c 17                	jl     0x40acf6
40acdf:	68 03 03 00 00       	push   $0x303
40ace4:	68 25 25 01 04       	push   $0x4012525
40ace9:	68 01 00 00 00       	push   $0x1
40acee:	e8 b7 58 09 00       	call   0x4a05aa
40acf3:	83 c4 0c             	add    $0xc,%esp
40acf6:	c1 e0 02             	shl    $0x2,%eax
40acf9:	03 d8                	add    %eax,%ebx
40acfb:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40acfe:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40ad01:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40ad04:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40ad07:	83 c3 04             	add    $0x4,%ebx
40ad0a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40ad0d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40ad10:	83 c3 08             	add    $0x8,%ebx
40ad13:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40ad16:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40ad19:	83 c3 0c             	add    $0xc,%ebx
40ad1c:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40ad1f:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40ad26:	6a 00                	push   $0x0
40ad28:	ff 75 d8             	push   -0x28(%ebp)
40ad2b:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40ad2e:	d9 03                	flds   (%ebx)
40ad30:	e8 ba 64 ff ff       	call   0x4011ef
40ad35:	50                   	push   %eax
40ad36:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40ad39:	d9 03                	flds   (%ebx)
40ad3b:	e8 af 64 ff ff       	call   0x4011ef
40ad40:	50                   	push   %eax
40ad41:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40ad44:	d9 03                	flds   (%ebx)
40ad46:	e8 a4 64 ff ff       	call   0x4011ef
40ad4b:	50                   	push   %eax
40ad4c:	8b 5d e8             	mov    -0x18(%ebp),%ebx
40ad4f:	d9 03                	flds   (%ebx)
40ad51:	e8 99 64 ff ff       	call   0x4011ef
40ad56:	50                   	push   %eax
40ad57:	ff 35 38 99 50 00    	push   0x509938
40ad5d:	ff 75 ec             	push   -0x14(%ebp)
40ad60:	8b 04 24             	mov    (%esp),%eax
40ad63:	8b 00                	mov    (%eax),%eax
40ad65:	8b 00                	mov    (%eax),%eax
40ad67:	ff 90 70 01 00 00    	call   *0x170(%eax)
40ad6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
40ad70:	8b 1d 48 99 50 00    	mov    0x509948,%ebx
40ad76:	e8 78 89 ff ff       	call   0x4036f3
40ad7b:	b8 00 00 00 00       	mov    $0x0,%eax
40ad80:	3b c1                	cmp    %ecx,%eax
40ad82:	7c 17                	jl     0x40ad9b
40ad84:	68 69 03 00 00       	push   $0x369
40ad89:	68 25 25 01 04       	push   $0x4012525
40ad8e:	68 01 00 00 00       	push   $0x1
40ad93:	e8 12 58 09 00       	call   0x4a05aa
40ad98:	83 c4 0c             	add    $0xc,%esp
40ad9b:	c1 e0 02             	shl    $0x2,%eax
40ad9e:	03 d8                	add    %eax,%ebx
40ada0:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40ada3:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40ada6:	83 c3 08             	add    $0x8,%ebx
40ada9:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40adac:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40adaf:	e8 3f 89 ff ff       	call   0x4036f3
40adb4:	b8 00 00 00 00       	mov    $0x0,%eax
40adb9:	3b c1                	cmp    %ecx,%eax
40adbb:	7c 17                	jl     0x40add4
40adbd:	68 b1 03 00 00       	push   $0x3b1
40adc2:	68 25 25 01 04       	push   $0x4012525
40adc7:	68 01 00 00 00       	push   $0x1
40adcc:	e8 d9 57 09 00       	call   0x4a05aa
40add1:	83 c4 0c             	add    $0xc,%esp
40add4:	c1 e0 02             	shl    $0x2,%eax
40add7:	03 d8                	add    %eax,%ebx
40add9:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40addc:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40ade3:	6a 00                	push   $0x0
40ade5:	ff 75 e0             	push   -0x20(%ebp)
40ade8:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40adef:	6a 00                	push   $0x0
40adf1:	ff 75 dc             	push   -0x24(%ebp)
40adf4:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40adfb:	6a 00                	push   $0x0
40adfd:	ff 75 d8             	push   -0x28(%ebp)
40ae00:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40ae07:	6a 00                	push   $0x0
40ae09:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40ae0c:	50                   	push   %eax
40ae0d:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40ae14:	6a 00                	push   $0x0
40ae16:	ff 75 d0             	push   -0x30(%ebp)
40ae19:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40ae20:	6a 00                	push   $0x0
40ae22:	ff 75 cc             	push   -0x34(%ebp)
40ae25:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40ae2c:	6a 00                	push   $0x0
40ae2e:	ff 75 c8             	push   -0x38(%ebp)
40ae31:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40ae38:	6a 00                	push   $0x0
40ae3a:	ff 75 c4             	push   -0x3c(%ebp)
40ae3d:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40ae44:	6a 00                	push   $0x0
40ae46:	ff 75 c0             	push   -0x40(%ebp)
40ae49:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40ae50:	6a 00                	push   $0x0
40ae52:	ff 75 bc             	push   -0x44(%ebp)
40ae55:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40ae5c:	6a 00                	push   $0x0
40ae5e:	ff 75 b8             	push   -0x48(%ebp)
40ae61:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
40ae68:	6a 00                	push   $0x0
40ae6a:	ff 75 b4             	push   -0x4c(%ebp)
40ae6d:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40ae74:	6a 00                	push   $0x0
40ae76:	8d 45 b0             	lea    -0x50(%ebp),%eax
40ae79:	50                   	push   %eax
40ae7a:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
40ae81:	6a 00                	push   $0x0
40ae83:	ff 75 ac             	push   -0x54(%ebp)
40ae86:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
40ae8d:	6a 00                	push   $0x0
40ae8f:	ff 75 a8             	push   -0x58(%ebp)
40ae92:	6a 01                	push   $0x1
40ae94:	ff 75 e4             	push   -0x1c(%ebp)
40ae97:	68 37 00 00 00       	push   $0x37
40ae9c:	8b 5d e8             	mov    -0x18(%ebp),%ebx
40ae9f:	d9 03                	flds   (%ebx)
40aea1:	e8 49 63 ff ff       	call   0x4011ef
40aea6:	50                   	push   %eax
40aea7:	68 05 00 00 00       	push   $0x5
40aeac:	68 00 00 00 00       	push   $0x0
40aeb1:	ff 75 f4             	push   -0xc(%ebp)
40aeb4:	ff 75 ec             	push   -0x14(%ebp)
40aeb7:	8b 04 24             	mov    (%esp),%eax
40aeba:	8b 00                	mov    (%eax),%eax
40aebc:	8b 00                	mov    (%eax),%eax
40aebe:	ff 90 5c 02 00 00    	call   *0x25c(%eax)
40aec4:	8b 5d b0             	mov    -0x50(%ebp),%ebx
40aec7:	85 db                	test   %ebx,%ebx
40aec9:	74 09                	je     0x40aed4
40aecb:	53                   	push   %ebx
40aecc:	e8 d3 56 09 00       	call   0x4a05a4
40aed1:	83 c4 04             	add    $0x4,%esp
40aed4:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
40aed7:	85 db                	test   %ebx,%ebx
40aed9:	74 09                	je     0x40aee4
40aedb:	53                   	push   %ebx
40aedc:	e8 c3 56 09 00       	call   0x4a05a4
40aee1:	83 c4 04             	add    $0x4,%esp
40aee4:	8b 1d 48 99 50 00    	mov    0x509948,%ebx
40aeea:	e8 04 88 ff ff       	call   0x4036f3
40aeef:	b8 01 00 00 00       	mov    $0x1,%eax
40aef4:	3b c1                	cmp    %ecx,%eax
40aef6:	7c 17                	jl     0x40af0f
40aef8:	68 fe 03 00 00       	push   $0x3fe
40aefd:	68 25 25 01 04       	push   $0x4012525
40af02:	68 01 00 00 00       	push   $0x1
40af07:	e8 9e 56 09 00       	call   0x4a05aa
40af0c:	83 c4 0c             	add    $0xc,%esp
40af0f:	c1 e0 02             	shl    $0x2,%eax
40af12:	03 d8                	add    %eax,%ebx
40af14:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40af17:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40af1a:	83 c3 08             	add    $0x8,%ebx
40af1d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40af20:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40af23:	e8 cb 87 ff ff       	call   0x4036f3
40af28:	b8 01 00 00 00       	mov    $0x1,%eax
40af2d:	3b c1                	cmp    %ecx,%eax
40af2f:	7c 17                	jl     0x40af48
40af31:	68 46 04 00 00       	push   $0x446
40af36:	68 25 25 01 04       	push   $0x4012525
40af3b:	68 01 00 00 00       	push   $0x1
40af40:	e8 65 56 09 00       	call   0x4a05aa
40af45:	83 c4 0c             	add    $0xc,%esp
40af48:	c1 e0 02             	shl    $0x2,%eax
40af4b:	03 d8                	add    %eax,%ebx
40af4d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40af50:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40af57:	6a 00                	push   $0x0
40af59:	ff 75 e0             	push   -0x20(%ebp)
40af5c:	b8 15 3f 4e 00       	mov    $0x4e3f15,%eax
40af61:	89 45 dc             	mov    %eax,-0x24(%ebp)
40af64:	8d 45 dc             	lea    -0x24(%ebp),%eax
40af67:	50                   	push   %eax
40af68:	e8 58 ae ff ff       	call   0x405dc5
40af6d:	89 45 d8             	mov    %eax,-0x28(%ebp)
40af70:	8b 5d dc             	mov    -0x24(%ebp),%ebx
40af73:	85 db                	test   %ebx,%ebx
40af75:	74 09                	je     0x40af80
40af77:	53                   	push   %ebx
40af78:	e8 27 56 09 00       	call   0x4a05a4
40af7d:	83 c4 04             	add    $0x4,%esp
40af80:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40af87:	6a 00                	push   $0x0
40af89:	ff 75 d4             	push   -0x2c(%ebp)
40af8c:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40af93:	6a 00                	push   $0x0
40af95:	ff 75 d0             	push   -0x30(%ebp)
40af98:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40af9f:	6a 00                	push   $0x0
40afa1:	ff 75 cc             	push   -0x34(%ebp)
40afa4:	6a 01                	push   $0x1
40afa6:	8d 45 d8             	lea    -0x28(%ebp),%eax
40afa9:	50                   	push   %eax
40afaa:	6a 01                	push   $0x1
40afac:	68 20 00 00 00       	push   $0x20
40afb1:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40afb8:	6a 00                	push   $0x0
40afba:	ff 75 c8             	push   -0x38(%ebp)
40afbd:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40afc4:	6a 00                	push   $0x0
40afc6:	ff 75 c4             	push   -0x3c(%ebp)
40afc9:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40afd0:	6a 00                	push   $0x0
40afd2:	ff 75 c0             	push   -0x40(%ebp)
40afd5:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40afdc:	6a 00                	push   $0x0
40afde:	ff 75 bc             	push   -0x44(%ebp)
40afe1:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40afe8:	6a 00                	push   $0x0
40afea:	ff 75 b8             	push   -0x48(%ebp)
40afed:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
40aff4:	6a 00                	push   $0x0
40aff6:	ff 75 b4             	push   -0x4c(%ebp)
40aff9:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40b000:	6a 00                	push   $0x0
40b002:	ff 75 b0             	push   -0x50(%ebp)
40b005:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
40b00c:	6a 00                	push   $0x0
40b00e:	8d 45 ac             	lea    -0x54(%ebp),%eax
40b011:	50                   	push   %eax
40b012:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
40b019:	6a 00                	push   $0x0
40b01b:	ff 75 a8             	push   -0x58(%ebp)
40b01e:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
40b025:	6a 00                	push   $0x0
40b027:	ff 75 a4             	push   -0x5c(%ebp)
40b02a:	6a 01                	push   $0x1
40b02c:	ff 75 e4             	push   -0x1c(%ebp)
40b02f:	68 37 00 00 00       	push   $0x37
40b034:	8b 5d e8             	mov    -0x18(%ebp),%ebx
40b037:	d9 03                	flds   (%ebx)
40b039:	e8 b1 61 ff ff       	call   0x4011ef
40b03e:	50                   	push   %eax
40b03f:	68 3c 00 00 00       	push   $0x3c
40b044:	68 00 00 00 00       	push   $0x0
40b049:	ff 75 f4             	push   -0xc(%ebp)
40b04c:	ff 75 ec             	push   -0x14(%ebp)
40b04f:	8b 04 24             	mov    (%esp),%eax
40b052:	8b 00                	mov    (%eax),%eax
40b054:	8b 00                	mov    (%eax),%eax
40b056:	ff 90 5c 02 00 00    	call   *0x25c(%eax)
40b05c:	8b 5d ac             	mov    -0x54(%ebp),%ebx
40b05f:	85 db                	test   %ebx,%ebx
40b061:	74 09                	je     0x40b06c
40b063:	53                   	push   %ebx
40b064:	e8 3b 55 09 00       	call   0x4a05a4
40b069:	83 c4 04             	add    $0x4,%esp
40b06c:	8b 5d d8             	mov    -0x28(%ebp),%ebx
40b06f:	85 db                	test   %ebx,%ebx
40b071:	74 09                	je     0x40b07c
40b073:	53                   	push   %ebx
40b074:	e8 2b 55 09 00       	call   0x4a05a4
40b079:	83 c4 04             	add    $0x4,%esp
40b07c:	8b 1d 4c 99 50 00    	mov    0x50994c,%ebx
40b082:	e8 6c 86 ff ff       	call   0x4036f3
40b087:	b8 00 00 00 00       	mov    $0x0,%eax
40b08c:	3b c1                	cmp    %ecx,%eax