40cd8b:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cd8e:	48                   	dec    %eax
40cd8f:	79 17                	jns    0x40cda8
40cd91:	68 9a 15 00 00       	push   $0x159a
40cd96:	68 25 25 01 04       	push   $0x4012525
40cd9b:	68 04 00 00 00       	push   $0x4
40cda0:	e8 05 38 09 00       	call   0x4a05aa
40cda5:	83 c4 0c             	add    $0xc,%esp
40cda8:	59                   	pop    %ecx
40cda9:	5b                   	pop    %ebx
40cdaa:	3b c1                	cmp    %ecx,%eax
40cdac:	7c 17                	jl     0x40cdc5
40cdae:	68 9a 15 00 00       	push   $0x159a
40cdb3:	68 25 25 01 04       	push   $0x4012525
40cdb8:	68 01 00 00 00       	push   $0x1
40cdbd:	e8 e8 37 09 00       	call   0x4a05aa
40cdc2:	83 c4 0c             	add    $0xc,%esp
40cdc5:	c1 e0 02             	shl    $0x2,%eax
40cdc8:	03 d8                	add    %eax,%ebx
40cdca:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40cdcd:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40cdd4:	6a 00                	push   $0x0
40cdd6:	ff 75 e8             	push   -0x18(%ebp)
40cdd9:	68 4a f5 41 00       	push   $0x41f54a
40cdde:	ff 75 ec             	push   -0x14(%ebp)
40cde1:	8b 04 24             	mov    (%esp),%eax
40cde4:	8b 00                	mov    (%eax),%eax
40cde6:	8b 00                	mov    (%eax),%eax
40cde8:	ff 90 64 01 00 00    	call   *0x164(%eax)
40cdee:	5b                   	pop    %ebx
40cdef:	59                   	pop    %ecx
40cdf0:	e9 7b ff ff ff       	jmp    0x40cd70
40cdf5:	83 c4 08             	add    $0x8,%esp
40cdf8:	e8 de 0e 00 00       	call   0x40dcdb
40cdfd:	e8 48 ca 00 00       	call   0x41984a
40ce02:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40ce09:	6a 00                	push   $0x0
40ce0b:	ff 75 ec             	push   -0x14(%ebp)
40ce0e:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40ce15:	6a 00                	push   $0x0
40ce17:	ff 75 e8             	push   -0x18(%ebp)
40ce1a:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40ce21:	6a 00                	push   $0x0
40ce23:	ff 75 e4             	push   -0x1c(%ebp)
40ce26:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40ce2d:	6a 00                	push   $0x0
40ce2f:	ff 75 e0             	push   -0x20(%ebp)
40ce32:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40ce39:	6a 00                	push   $0x0
40ce3b:	ff 75 dc             	push   -0x24(%ebp)
40ce3e:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40ce45:	6a 00                	push   $0x0
40ce47:	ff 75 d8             	push   -0x28(%ebp)
40ce4a:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40ce51:	6a 00                	push   $0x0
40ce53:	ff 75 d4             	push   -0x2c(%ebp)
40ce56:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40ce5d:	6a 00                	push   $0x0
40ce5f:	ff 75 d0             	push   -0x30(%ebp)
40ce62:	68 01 00 00 00       	push   $0x1
40ce67:	68 3c 99 50 00       	push   $0x50993c
40ce6c:	8b 04 24             	mov    (%esp),%eax
40ce6f:	8b 00                	mov    (%eax),%eax
40ce71:	8b 00                	mov    (%eax),%eax
40ce73:	ff 90 20 01 00 00    	call   *0x120(%eax)
40ce79:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40ce80:	6a 00                	push   $0x0
40ce82:	ff 75 ec             	push   -0x14(%ebp)
40ce85:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40ce8c:	6a 00                	push   $0x0
40ce8e:	ff 75 e8             	push   -0x18(%ebp)
40ce91:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40ce98:	6a 00                	push   $0x0
40ce9a:	ff 75 e4             	push   -0x1c(%ebp)
40ce9d:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40cea4:	6a 00                	push   $0x0
40cea6:	ff 75 e0             	push   -0x20(%ebp)
40cea9:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40ceb0:	6a 00                	push   $0x0
40ceb2:	ff 75 dc             	push   -0x24(%ebp)
40ceb5:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40cebc:	6a 00                	push   $0x0
40cebe:	ff 75 d8             	push   -0x28(%ebp)
40cec1:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40cec8:	6a 00                	push   $0x0
40ceca:	ff 75 d4             	push   -0x2c(%ebp)
40cecd:	68 01 00 00 00       	push   $0x1
40ced2:	68 3c 99 50 00       	push   $0x50993c
40ced7:	8b 04 24             	mov    (%esp),%eax
40ceda:	8b 00                	mov    (%eax),%eax
40cedc:	8b 00                	mov    (%eax),%eax
40cede:	ff 90 24 01 00 00    	call   *0x124(%eax)
40cee4:	6a 01                	push   $0x1
40cee6:	ff 35 38 99 50 00    	push   0x509938
40ceec:	e8 6c cc 00 00       	call   0x419b5d
40cef1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40cef4:	53                   	push   %ebx
40cef5:	8b 0b                	mov    (%ebx),%ecx
40cef7:	83 c3 04             	add    $0x4,%ebx
40cefa:	85 c9                	test   %ecx,%ecx
40cefc:	74 11                	je     0x40cf0f
40cefe:	8b 03                	mov    (%ebx),%eax
40cf00:	83 c3 04             	add    $0x4,%ebx
40cf03:	49                   	dec    %ecx
40cf04:	74 05                	je     0x40cf0b
40cf06:	0f af 03             	imul   (%ebx),%eax
40cf09:	eb f5                	jmp    0x40cf00
40cf0b:	8b c8                	mov    %eax,%ecx
40cf0d:	85 c9                	test   %ecx,%ecx
40cf0f:	0f 84 19 00 00 00    	je     0x40cf2e
40cf15:	51                   	push   %ecx
40cf16:	8b 03                	mov    (%ebx),%eax
40cf18:	85 c0                	test   %eax,%eax
40cf1a:	74 0b                	je     0x40cf27
40cf1c:	53                   	push   %ebx
40cf1d:	50                   	push   %eax
40cf1e:	e8 81 36 09 00       	call   0x4a05a4
40cf23:	83 c4 04             	add    $0x4,%esp
40cf26:	5b                   	pop    %ebx
40cf27:	83 c3 04             	add    $0x4,%ebx
40cf2a:	59                   	pop    %ecx
40cf2b:	49                   	dec    %ecx
40cf2c:	75 e7                	jne    0x40cf15
40cf2e:	e8 71 36 09 00       	call   0x4a05a4
40cf33:	83 c4 04             	add    $0x4,%esp
40cf36:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40cf39:	53                   	push   %ebx
40cf3a:	e8 65 36 09 00       	call   0x4a05a4
40cf3f:	83 c4 04             	add    $0x4,%esp
40cf42:	8b e5                	mov    %ebp,%esp
40cf44:	5d                   	pop    %ebp
40cf45:	c2 08 00             	ret    $0x8
40cf48:	8b 54 24 04          	mov    0x4(%esp),%edx
40cf4c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40cf50:	85 d2                	test   %edx,%edx
40cf52:	75 0d                	jne    0x40cf61
40cf54:	33 c0                	xor    %eax,%eax
40cf56:	85 c9                	test   %ecx,%ecx
40cf58:	74 06                	je     0x40cf60
40cf5a:	80 39 00             	cmpb   $0x0,(%ecx)
40cf5d:	74 01                	je     0x40cf60
40cf5f:	48                   	dec    %eax
40cf60:	c3                   	ret
40cf61:	85 c9                	test   %ecx,%ecx
40cf63:	75 09                	jne    0x40cf6e
40cf65:	33 c0                	xor    %eax,%eax
40cf67:	80 3a 00             	cmpb   $0x0,(%edx)
40cf6a:	74 01                	je     0x40cf6d
40cf6c:	40                   	inc    %eax
40cf6d:	c3                   	ret
40cf6e:	f7 c2 03 00 00 00    	test   $0x3,%edx
40cf74:	75 37                	jne    0x40cfad
40cf76:	8b 02                	mov    (%edx),%eax
40cf78:	3a 01                	cmp    (%ecx),%al
40cf7a:	75 2b                	jne    0x40cfa7
40cf7c:	0a c0                	or     %al,%al
40cf7e:	74 24                	je     0x40cfa4
40cf80:	3a 61 01             	cmp    0x1(%ecx),%ah
40cf83:	75 22                	jne    0x40cfa7
40cf85:	0a e4                	or     %ah,%ah
40cf87:	74 1b                	je     0x40cfa4
40cf89:	c1 e8 10             	shr    $0x10,%eax
40cf8c:	3a 41 02             	cmp    0x2(%ecx),%al
40cf8f:	75 16                	jne    0x40cfa7
40cf91:	0a c0                	or     %al,%al
40cf93:	74 0f                	je     0x40cfa4
40cf95:	3a 61 03             	cmp    0x3(%ecx),%ah
40cf98:	75 0d                	jne    0x40cfa7
40cf9a:	83 c1 04             	add    $0x4,%ecx
40cf9d:	83 c2 04             	add    $0x4,%edx
40cfa0:	0a e4                	or     %ah,%ah
40cfa2:	75 d2                	jne    0x40cf76
40cfa4:	33 c0                	xor    %eax,%eax
40cfa6:	c3                   	ret
40cfa7:	1b c0                	sbb    %eax,%eax
40cfa9:	d1 e0                	shl    $1,%eax
40cfab:	40                   	inc    %eax
40cfac:	c3                   	ret
40cfad:	f7 c2 01 00 00 00    	test   $0x1,%edx
40cfb3:	74 14                	je     0x40cfc9
40cfb5:	8a 02                	mov    (%edx),%al
40cfb7:	42                   	inc    %edx
40cfb8:	3a 01                	cmp    (%ecx),%al
40cfba:	75 eb                	jne    0x40cfa7
40cfbc:	41                   	inc    %ecx
40cfbd:	0a c0                	or     %al,%al
40cfbf:	74 e3                	je     0x40cfa4
40cfc1:	f7 c2 02 00 00 00    	test   $0x2,%edx
40cfc7:	74 ad                	je     0x40cf76
40cfc9:	66 8b 02             	mov    (%edx),%ax
40cfcc:	83 c2 02             	add    $0x2,%edx
40cfcf:	3a 01                	cmp    (%ecx),%al
40cfd1:	75 d4                	jne    0x40cfa7
40cfd3:	0a c0                	or     %al,%al
40cfd5:	74 cd                	je     0x40cfa4
40cfd7:	3a 61 01             	cmp    0x1(%ecx),%ah
40cfda:	75 cb                	jne    0x40cfa7
40cfdc:	0a e4                	or     %ah,%ah
40cfde:	74 c4                	je     0x40cfa4
40cfe0:	83 c1 02             	add    $0x2,%ecx
40cfe3:	eb 91                	jmp    0x40cf76
40cfe5:	55                   	push   %ebp
40cfe6:	8b ec                	mov    %esp,%ebp
40cfe8:	81 ec 5c 00 00 00    	sub    $0x5c,%esp
40cfee:	68 10 00 00 00       	push   $0x10
40cff3:	e8 a6 35 09 00       	call   0x4a059e
40cff8:	83 c4 04             	add    $0x4,%esp
40cffb:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cffe:	8b d8                	mov    %eax,%ebx
40d000:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
40d006:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
40d00d:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
40d014:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
40d01b:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40d022:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40d029:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40d030:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d033:	50                   	push   %eax
40d034:	e8 4f 06 00 00       	call   0x40d688
40d039:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
40d03d:	b8 00 00 00 00       	mov    $0x0,%eax
40d042:	0f 94 c0             	sete   %al
40d045:	85 c0                	test   %eax,%eax
40d047:	0f 84 0a 00 00 00    	je     0x40d057
40d04d:	b8 7c 01 00 00       	mov    $0x17c,%eax
40d052:	e9 03 00 00 00       	jmp    0x40d05a
40d057:	8b 45 28             	mov    0x28(%ebp),%eax
40d05a:	89 45 28             	mov    %eax,0x28(%ebp)
40d05d:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
40d061:	b8 00 00 00 00       	mov    $0x0,%eax
40d066:	0f 94 c0             	sete   %al
40d069:	85 c0                	test   %eax,%eax
40d06b:	0f 84 0a 00 00 00    	je     0x40d07b
40d071:	b8 fa 00 00 00       	mov    $0xfa,%eax
40d076:	e9 03 00 00 00       	jmp    0x40d07e
40d07b:	8b 45 30             	mov    0x30(%ebp),%eax
40d07e:	89 45 30             	mov    %eax,0x30(%ebp)
40d081:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
40d085:	b8 00 00 00 00       	mov    $0x0,%eax
40d08a:	0f 94 c0             	sete   %al
40d08d:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d090:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d093:	83 c3 08             	add    $0x8,%ebx
40d096:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40d099:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d09c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40d09f:	8b 5d e8             	mov    -0x18(%ebp),%ebx
40d0a2:	db 03                	fildl  (%ebx)
40d0a4:	dd 5d dc             	fstpl  -0x24(%ebp)
40d0a7:	dd 45 dc             	fldl   -0x24(%ebp)
40d0aa:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40d0ad:	db 03                	fildl  (%ebx)
40d0af:	dd 5d d4             	fstpl  -0x2c(%ebp)
40d0b2:	dc 65 d4             	fsubl  -0x2c(%ebp)
40d0b5:	db 45 28             	fildl  0x28(%ebp)
40d0b8:	dd 5d cc             	fstpl  -0x34(%ebp)
40d0bb:	dc 65 cc             	fsubl  -0x34(%ebp)
40d0be:	dd 5d c4             	fstpl  -0x3c(%ebp)
40d0c1:	dd 45 c4             	fldl   -0x3c(%ebp)
40d0c4:	dc 35 fa bb 4c 00    	fdivl  0x4cbbfa
40d0ca:	dd 5d bc             	fstpl  -0x44(%ebp)
40d0cd:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40d0d1:	0f 84 0b 00 00 00    	je     0x40d0e2
40d0d7:	8b 55 c0             	mov    -0x40(%ebp),%edx
40d0da:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d0dd:	e9 0c 00 00 00       	jmp    0x40d0ee
40d0e2:	db 45 18             	fildl  0x18(%ebp)
40d0e5:	dd 5d b4             	fstpl  -0x4c(%ebp)
40d0e8:	8b 55 b8             	mov    -0x48(%ebp),%edx
40d0eb:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40d0ee:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40d0f1:	89 55 a8             	mov    %edx,-0x58(%ebp)
40d0f4:	dd 45 a4             	fldl   -0x5c(%ebp)
40d0f7:	e8 f3 40 ff ff       	call   0x4011ef
40d0fc:	89 45 18             	mov    %eax,0x18(%ebp)
40d0ff:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
40d103:	b8 00 00 00 00       	mov    $0x0,%eax
40d108:	0f 94 c0             	sete   %al
40d10b:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d10e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d111:	83 c3 0c             	add    $0xc,%ebx
40d114:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40d117:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d11a:	83 c3 04             	add    $0x4,%ebx
40d11d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40d120:	8b 5d e8             	mov    -0x18(%ebp),%ebx
40d123:	db 03                	fildl  (%ebx)
40d125:	dd 5d dc             	fstpl  -0x24(%ebp)
40d128:	dd 45 dc             	fldl   -0x24(%ebp)
40d12b:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40d12e:	db 03                	fildl  (%ebx)
40d130:	dd 5d d4             	fstpl  -0x2c(%ebp)
40d133:	dc 65 d4             	fsubl  -0x2c(%ebp)
40d136:	db 45 30             	fildl  0x30(%ebp)
40d139:	dd 5d cc             	fstpl  -0x34(%ebp)
40d13c:	dc 65 cc             	fsubl  -0x34(%ebp)
40d13f:	dd 5d c4             	fstpl  -0x3c(%ebp)
40d142:	dd 45 c4             	fldl   -0x3c(%ebp)
40d145:	dc 35 fa bb 4c 00    	fdivl  0x4cbbfa
40d14b:	dd 5d bc             	fstpl  -0x44(%ebp)
40d14e:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40d152:	0f 84 0b 00 00 00    	je     0x40d163
40d158:	8b 55 c0             	mov    -0x40(%ebp),%edx
40d15b:	8b 45 bc             	mov    -0x44(%ebp),%eax
40d15e:	e9 0c 00 00 00       	jmp    0x40d16f
40d163:	db 45 20             	fildl  0x20(%ebp)
40d166:	dd 5d b4             	fstpl  -0x4c(%ebp)
40d169:	8b 55 b8             	mov    -0x48(%ebp),%edx
40d16c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40d16f:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40d172:	89 55 a8             	mov    %edx,-0x58(%ebp)
40d175:	dd 45 a4             	fldl   -0x5c(%ebp)
40d178:	e8 72 40 ff ff       	call   0x4011ef
40d17d:	89 45 20             	mov    %eax,0x20(%ebp)
40d180:	83 7d 4c 00          	cmpl   $0x0,0x4c(%ebp)
40d184:	0f 85 5d 00 00 00    	jne    0x40d1e7
40d18a:	68 01 03 00 80       	push   $0x80000301
40d18f:	6a 00                	push   $0x0
40d191:	68 00 00 00 80       	push   $0x80000000
40d196:	68 01 03 00 80       	push   $0x80000301
40d19b:	6a 00                	push   $0x0
40d19d:	68 00 00 00 02       	push   $0x2000000
40d1a2:	68 01 03 00 80       	push   $0x80000301
40d1a7:	6a 00                	push   $0x0
40d1a9:	68 00 00 02 00       	push   $0x20000
40d1ae:	68 01 03 00 80       	push   $0x80000301
40d1b3:	6a 00                	push   $0x0
40d1b5:	68 00 00 01 00       	push   $0x10000
40d1ba:	68 01 03 00 80       	push   $0x80000301
40d1bf:	6a 00                	push   $0x0
40d1c1:	68 00 00 08 00       	push   $0x80000
40d1c6:	68 01 03 00 80       	push   $0x80000301
40d1cb:	6a 00                	push   $0x0
40d1cd:	68 00 00 00 00       	push   $0x0
40d1d2:	68 06 00 00 00       	push   $0x6
40d1d7:	bb c8 00 00 00       	mov    $0xc8,%ebx
40d1dc:	e8 ef 3d 09 00       	call   0x4a0fd0
40d1e1:	83 c4 4c             	add    $0x4c,%esp
40d1e4:	89 45 48             	mov    %eax,0x48(%ebp)
40d1e7:	83 7d 38 00          	cmpl   $0x0,0x38(%ebp)
40d1eb:	0f 84 2b 00 00 00    	je     0x40d21c
40d1f1:	68 01 03 00 80       	push   $0x80000301
40d1f6:	6a 00                	push   $0x0
40d1f8:	68 00 00 04 00       	push   $0x40000
40d1fd:	68 01 03 00 80       	push   $0x80000301
40d202:	6a 00                	push   $0x0
40d204:	ff 75 48             	push   0x48(%ebp)
40d207:	68 02 00 00 00       	push   $0x2
40d20c:	bb c8 00 00 00       	mov    $0xc8,%ebx
40d211:	e8 ba 3d 09 00       	call   0x4a0fd0