459f16:	f7 76 54             	divl   0x54(%esi)
459f19:	57                   	push   %edi
459f1a:	0f af ca             	imul   %edx,%ecx
459f1d:	8b 56 40             	mov    0x40(%esi),%edx
459f20:	2b d9                	sub    %ecx,%ebx
459f22:	8b 4e 50             	mov    0x50(%esi),%ecx
459f25:	0f af c8             	imul   %eax,%ecx
459f28:	89 5d f8             	mov    %ebx,-0x8(%ebp)
459f2b:	2b d1                	sub    %ecx,%edx
459f2d:	89 55 f4             	mov    %edx,-0xc(%ebp)
459f30:	85 db                	test   %ebx,%ebx
459f32:	7e 07                	jle    0x459f3b
459f34:	8b cb                	mov    %ebx,%ecx
459f36:	89 5d f0             	mov    %ebx,-0x10(%ebp)
459f39:	eb 05                	jmp    0x459f40
459f3b:	33 c9                	xor    %ecx,%ecx
459f3d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
459f40:	85 d2                	test   %edx,%edx
459f42:	7e 05                	jle    0x459f49
459f44:	89 55 fc             	mov    %edx,-0x4(%ebp)
459f47:	eb 04                	jmp    0x459f4d
459f49:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
459f4d:	8b 7e 44             	mov    0x44(%esi),%edi
459f50:	03 fb                	add    %ebx,%edi
459f52:	3b 7e 4c             	cmp    0x4c(%esi),%edi
459f55:	7c 03                	jl     0x459f5a
459f57:	8b 7e 4c             	mov    0x4c(%esi),%edi
459f5a:	8b 5e 48             	mov    0x48(%esi),%ebx
459f5d:	03 da                	add    %edx,%ebx
459f5f:	3b 5e 50             	cmp    0x50(%esi),%ebx
459f62:	7c 03                	jl     0x459f67
459f64:	8b 5e 50             	mov    0x50(%esi),%ebx
459f67:	85 ff                	test   %edi,%edi
459f69:	0f 88 05 01 00 00    	js     0x45a074
459f6f:	85 db                	test   %ebx,%ebx
459f71:	0f 88 fd 00 00 00    	js     0x45a074
459f77:	ff 76 44             	push   0x44(%esi)
459f7a:	2b 4d f8             	sub    -0x8(%ebp),%ecx
459f7d:	ff 76 24             	push   0x24(%esi)
459f80:	51                   	push   %ecx
459f81:	ff 15 20 72 4a 00    	call   *0x4a7220
459f87:	ff 76 48             	push   0x48(%esi)
459f8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
459f8d:	ff 76 28             	push   0x28(%esi)
459f90:	2b 4d f4             	sub    -0xc(%ebp),%ecx
459f93:	51                   	push   %ecx
459f94:	89 45 e4             	mov    %eax,-0x1c(%ebp)
459f97:	ff 15 20 72 4a 00    	call   *0x4a7220
459f9d:	ff 76 44             	push   0x44(%esi)
459fa0:	8b cf                	mov    %edi,%ecx
459fa2:	89 45 e8             	mov    %eax,-0x18(%ebp)
459fa5:	ff 76 24             	push   0x24(%esi)
459fa8:	2b 4d f8             	sub    -0x8(%ebp),%ecx
459fab:	51                   	push   %ecx
459fac:	ff 15 20 72 4a 00    	call   *0x4a7220
459fb2:	ff 76 48             	push   0x48(%esi)
459fb5:	8b cb                	mov    %ebx,%ecx
459fb7:	89 45 f8             	mov    %eax,-0x8(%ebp)
459fba:	ff 76 28             	push   0x28(%esi)
459fbd:	2b 4d f4             	sub    -0xc(%ebp),%ecx
459fc0:	51                   	push   %ecx
459fc1:	ff 15 20 72 4a 00    	call   *0x4a7220
459fc7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
459fcb:	8b d0                	mov    %eax,%edx
459fcd:	89 55 ec             	mov    %edx,-0x14(%ebp)
459fd0:	0f 8c 9e 00 00 00    	jl     0x45a074
459fd6:	85 d2                	test   %edx,%edx
459fd8:	0f 88 96 00 00 00    	js     0x45a074
459fde:	33 c0                	xor    %eax,%eax
459fe0:	89 45 f4             	mov    %eax,-0xc(%ebp)
459fe3:	39 46 18             	cmp    %eax,0x18(%esi)
459fe6:	74 1f                	je     0x45a007
459fe8:	8b 4d 08             	mov    0x8(%ebp),%ecx
459feb:	50                   	push   %eax
459fec:	ff 76 18             	push   0x18(%esi)
459fef:	ff 15 98 75 4a 00    	call   *0x4a7598
459ff5:	89 45 f4             	mov    %eax,-0xc(%ebp)
459ff8:	8b 45 08             	mov    0x8(%ebp),%eax
459ffb:	ff 70 04             	push   0x4(%eax)
459ffe:	ff 15 70 71 4a 00    	call   *0x4a7170
45a004:	8b 55 ec             	mov    -0x14(%ebp),%edx
45a007:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a00a:	8b ca                	mov    %edx,%ecx
45a00c:	2b 4d e8             	sub    -0x18(%ebp),%ecx
45a00f:	68 20 00 cc 00       	push   $0xcc0020
45a014:	2b 5d fc             	sub    -0x4(%ebp),%ebx
45a017:	6a 00                	push   $0x0
45a019:	ff 76 08             	push   0x8(%esi)
45a01c:	2b 7d f0             	sub    -0x10(%ebp),%edi
45a01f:	ff 76 0c             	push   0xc(%esi)
45a022:	51                   	push   %ecx
45a023:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45a026:	2b c1                	sub    %ecx,%eax
45a028:	50                   	push   %eax
45a029:	8b 46 28             	mov    0x28(%esi),%eax
45a02c:	2b c2                	sub    %edx,%eax
45a02e:	50                   	push   %eax
45a02f:	8b 46 30             	mov    0x30(%esi),%eax
45a032:	03 45 fc             	add    -0x4(%ebp),%eax
45a035:	51                   	push   %ecx
45a036:	53                   	push   %ebx
45a037:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a03a:	57                   	push   %edi
45a03b:	50                   	push   %eax
45a03c:	8b 46 2c             	mov    0x2c(%esi),%eax
45a03f:	03 45 f0             	add    -0x10(%ebp),%eax
45a042:	50                   	push   %eax
45a043:	ff 73 04             	push   0x4(%ebx)
45a046:	ff 15 8c 70 4a 00    	call   *0x4a708c
45a04c:	83 f8 ff             	cmp    $0xffffffff,%eax
45a04f:	75 11                	jne    0x45a062
45a051:	6a 30                	push   $0x30
45a053:	ba 00 e0 00 00       	mov    $0xe000,%edx
45a058:	b9 c8 08 00 00       	mov    $0x8c8,%ecx
45a05d:	e8 42 62 fc ff       	call   0x4202a4
45a062:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a065:	85 c0                	test   %eax,%eax
45a067:	74 0b                	je     0x45a074
45a069:	6a 00                	push   $0x0
45a06b:	50                   	push   %eax
45a06c:	8b cb                	mov    %ebx,%ecx
45a06e:	ff 15 98 75 4a 00    	call   *0x4a7598
45a074:	33 c0                	xor    %eax,%eax
45a076:	5f                   	pop    %edi
45a077:	40                   	inc    %eax
45a078:	5b                   	pop    %ebx
45a079:	5e                   	pop    %esi
45a07a:	c9                   	leave
45a07b:	c2 08 00             	ret    $0x8
45a07e:	8b ff                	mov    %edi,%edi
45a080:	55                   	push   %ebp
45a081:	8b ec                	mov    %esp,%ebp
45a083:	83 e4 f8             	and    $0xfffffff8,%esp
45a086:	51                   	push   %ecx
45a087:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45a08b:	53                   	push   %ebx
45a08c:	56                   	push   %esi
45a08d:	57                   	push   %edi
45a08e:	8b f9                	mov    %ecx,%edi
45a090:	74 26                	je     0x45a0b8
45a092:	8b 4f 04             	mov    0x4(%edi),%ecx
45a095:	ff 77 20             	push   0x20(%edi)
45a098:	ff 77 1c             	push   0x1c(%edi)
45a09b:	8b 49 48             	mov    0x48(%ecx),%ecx
45a09e:	e8 98 96 fd ff       	call   0x43373b
45a0a3:	dd 47 10             	fldl   0x10(%edi)
45a0a6:	6a 01                	push   $0x1
45a0a8:	51                   	push   %ecx
45a0a9:	51                   	push   %ecx
45a0aa:	8b 4f 04             	mov    0x4(%edi),%ecx
45a0ad:	dd 1c 24             	fstpl  (%esp)
45a0b0:	8b 49 48             	mov    0x48(%ecx),%ecx
45a0b3:	e8 65 95 fd ff       	call   0x43361d
45a0b8:	8b 5f 18             	mov    0x18(%edi),%ebx
45a0bb:	85 db                	test   %ebx,%ebx
45a0bd:	74 13                	je     0x45a0d2
45a0bf:	8b 03                	mov    (%ebx),%eax
45a0c1:	6a 01                	push   $0x1
45a0c3:	8b 70 04             	mov    0x4(%eax),%esi
45a0c6:	8b ce                	mov    %esi,%ecx
45a0c8:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a0ce:	8b cb                	mov    %ebx,%ecx
45a0d0:	ff d6                	call   *%esi
45a0d2:	8b 07                	mov    (%edi),%eax
45a0d4:	6a 01                	push   $0x1
45a0d6:	8b 70 04             	mov    0x4(%eax),%esi
45a0d9:	8b ce                	mov    %esi,%ecx
45a0db:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a0e1:	8b cf                	mov    %edi,%ecx
45a0e3:	ff d6                	call   *%esi
45a0e5:	5f                   	pop    %edi
45a0e6:	5e                   	pop    %esi
45a0e7:	5b                   	pop    %ebx
45a0e8:	8b e5                	mov    %ebp,%esp
45a0ea:	5d                   	pop    %ebp
45a0eb:	c2 08 00             	ret    $0x8
45a0ee:	6a 08                	push   $0x8
45a0f0:	b8 62 42 49 00       	mov    $0x494262,%eax
45a0f5:	e8 d9 63 03 00       	call   0x4904d3
45a0fa:	8b f2                	mov    %edx,%esi
45a0fc:	8d 45 ec             	lea    -0x14(%ebp),%eax
45a0ff:	33 db                	xor    %ebx,%ebx
45a101:	50                   	push   %eax
45a102:	8d 45 f0             	lea    -0x10(%ebp),%eax
45a105:	89 1e                	mov    %ebx,(%esi)
45a107:	50                   	push   %eax
45a108:	68 50 0b 41 00       	push   $0x410b50
45a10d:	51                   	push   %ecx
45a10e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45a111:	89 5d ec             	mov    %ebx,-0x14(%ebp)
45a114:	ff 15 84 7c 4a 00    	call   *0x4a7c84
45a11a:	8b f8                	mov    %eax,%edi
45a11c:	85 ff                	test   %edi,%edi
45a11e:	78 10                	js     0x45a130
45a120:	56                   	push   %esi
45a121:	ff 75 ec             	push   -0x14(%ebp)
45a124:	ff 75 f0             	push   -0x10(%ebp)
45a127:	53                   	push   %ebx
45a128:	ff 15 ac 7c 4a 00    	call   *0x4a7cac
45a12e:	8b f8                	mov    %eax,%edi
45a130:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45a133:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a136:	85 c0                	test   %eax,%eax
45a138:	74 10                	je     0x45a14a
45a13a:	8b 08                	mov    (%eax),%ecx
45a13c:	50                   	push   %eax
45a13d:	8b 71 08             	mov    0x8(%ecx),%esi
45a140:	8b ce                	mov    %esi,%ecx
45a142:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a148:	ff d6                	call   *%esi
45a14a:	8b c7                	mov    %edi,%eax
45a14c:	e8 50 63 03 00       	call   0x4904a1
45a151:	c3                   	ret
45a152:	6a 0c                	push   $0xc
45a154:	b8 7d 42 49 00       	mov    $0x49427d,%eax
45a159:	e8 75 63 03 00       	call   0x4904d3
45a15e:	88 55 f3             	mov    %dl,-0xd(%ebp)
45a161:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a164:	8d 45 e8             	lea    -0x18(%ebp),%eax
45a167:	33 f6                	xor    %esi,%esi
45a169:	56                   	push   %esi
45a16a:	56                   	push   %esi
45a16b:	50                   	push   %eax
45a16c:	56                   	push   %esi
45a16d:	51                   	push   %ecx
45a16e:	89 33                	mov    %esi,(%ebx)
45a170:	89 75 ec             	mov    %esi,-0x14(%ebp)
45a173:	ff 15 8c 7c 4a 00    	call   *0x4a7c8c
45a179:	8b f8                	mov    %eax,%edi
45a17b:	85 ff                	test   %edi,%edi
45a17d:	0f 88 89 00 00 00    	js     0x45a20c
45a183:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45a186:	8d 55 ec             	lea    -0x14(%ebp),%edx
45a189:	e8 60 ff ff ff       	call   0x45a0ee
45a18e:	ff 75 e8             	push   -0x18(%ebp)
45a191:	8b f8                	mov    %eax,%edi
45a193:	ff 15 90 7c 4a 00    	call   *0x4a7c90
45a199:	85 ff                	test   %edi,%edi
45a19b:	78 6f                	js     0x45a20c
45a19d:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a1a0:	8b ce                	mov    %esi,%ecx
45a1a2:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45a1a5:	85 c0                	test   %eax,%eax
45a1a7:	74 46                	je     0x45a1ef
45a1a9:	8b 30                	mov    (%eax),%esi
45a1ab:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45a1ae:	51                   	push   %ecx
45a1af:	68 40 0b 41 00       	push   $0x410b40
45a1b4:	50                   	push   %eax
45a1b5:	8b 0e                	mov    (%esi),%ecx
45a1b7:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a1bd:	ff 16                	call   *(%esi)
45a1bf:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45a1c2:	85 c9                	test   %ecx,%ecx
45a1c4:	74 26                	je     0x45a1ec
45a1c6:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
45a1ca:	8b 31                	mov    (%ecx),%esi
45a1cc:	03 c0                	add    %eax,%eax
45a1ce:	53                   	push   %ebx
45a1cf:	68 4c fc 40 00       	push   $0x40fc4c
45a1d4:	50                   	push   %eax
45a1d5:	51                   	push   %ecx
45a1d6:	8b 4e 20             	mov    0x20(%esi),%ecx
45a1d9:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a1df:	ff 56 20             	call   *0x20(%esi)
45a1e2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45a1e5:	8b f8                	mov    %eax,%edi
45a1e7:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a1ea:	eb 08                	jmp    0x45a1f4
45a1ec:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a1ef:	bf 02 40 00 80       	mov    $0x80004002,%edi
45a1f4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45a1f8:	85 c9                	test   %ecx,%ecx
45a1fa:	74 13                	je     0x45a20f
45a1fc:	8b 01                	mov    (%ecx),%eax
45a1fe:	51                   	push   %ecx
45a1ff:	8b 70 08             	mov    0x8(%eax),%esi
45a202:	8b ce                	mov    %esi,%ecx
45a204:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a20a:	ff d6                	call   *%esi
45a20c:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a20f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45a216:	85 c0                	test   %eax,%eax
45a218:	74 10                	je     0x45a22a
45a21a:	8b 08                	mov    (%eax),%ecx
45a21c:	50                   	push   %eax
45a21d:	8b 71 08             	mov    0x8(%ecx),%esi
45a220:	8b ce                	mov    %esi,%ecx
45a222:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a228:	ff d6                	call   *%esi
45a22a:	8b c7                	mov    %edi,%eax
45a22c:	e8 70 62 03 00       	call   0x4904a1
45a231:	c2 04 00             	ret    $0x4
45a234:	6a 08                	push   $0x8
45a236:	68 c8 00 00 00       	push   $0xc8
45a23b:	b8 ba 42 49 00       	mov    $0x4942ba,%eax
45a240:	e8 ca 6c 03 00       	call   0x490f0f
45a245:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
45a248:	a1 08 01 4a 00       	mov    0x4a0108,%eax
45a24d:	33 ff                	xor    %edi,%edi
45a24f:	89 45 b0             	mov    %eax,-0x50(%ebp)
45a252:	6a 04                	push   $0x4
45a254:	89 7d 90             	mov    %edi,-0x70(%ebp)
45a257:	8b 00                	mov    (%eax),%eax
45a259:	8b 70 70             	mov    0x70(%eax),%esi
45a25c:	8b ce                	mov    %esi,%ecx
45a25e:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a264:	8b 4d b0             	mov    -0x50(%ebp),%ecx
45a267:	ff d6                	call   *%esi
45a269:	84 c0                	test   %al,%al
45a26b:	74 36                	je     0x45a2a3
45a26d:	8b 43 08             	mov    0x8(%ebx),%eax
45a270:	3d 0e 01 00 00       	cmp    $0x10e,%eax
45a275:	75 04                	jne    0x45a27b
45a277:	6a 04                	push   $0x4
45a279:	eb 0b                	jmp    0x45a286
45a27b:	83 f8 5a             	cmp    $0x5a,%eax
45a27e:	0f 85 6a 0a 00 00    	jne    0x45acee
45a284:	6a 03                	push   $0x3
45a286:	8b 7d b0             	mov    -0x50(%ebp),%edi
45a289:	8b 75 9c             	mov    -0x64(%ebp),%esi
45a28c:	56                   	push   %esi
45a28d:	8b 07                	mov    (%edi),%eax
45a28f:	8b 70 78             	mov    0x78(%eax),%esi
45a292:	8b ce                	mov    %esi,%ecx
45a294:	ff 15 2c 81 4a 00    	call   *0x4a812c
45a29a:	8b cf                	mov    %edi,%ecx
45a29c:	ff d6                	call   *%esi
45a29e:	e9 4b 0a 00 00       	jmp    0x45acee
45a2a3:	e8 03 30 fd ff       	call   0x42d2ab
45a2a8:	39 3d 30 49 4a 00    	cmp    %edi,0x4a4930
45a2ae:	75 2b                	jne    0x45a2db
45a2b0:	39 3d 44 65 4a 00    	cmp    %edi,0x4a6544
45a2b6:	75 23                	jne    0x45a2db
45a2b8:	8b 75 9c             	mov    -0x64(%ebp),%esi
45a2bb:	8b 46 48             	mov    0x48(%esi),%eax
45a2be:	ff 70 30             	push   0x30(%eax)
45a2c1:	ff 70 2c             	push   0x2c(%eax)
45a2c4:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45a2c7:	57                   	push   %edi
45a2c8:	57                   	push   %edi
45a2c9:	50                   	push   %eax
45a2ca:	ff 15 08 7e 4a 00    	call   *0x4a7e08
45a2d0:	8b 46 48             	mov    0x48(%esi),%eax
45a2d3:	8b 70 0c             	mov    0xc(%eax),%esi
45a2d6:	89 75 a4             	mov    %esi,-0x5c(%ebp)
45a2d9:	eb 44                	jmp    0x45a31f
45a2db:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
45a2de:	6a 01                	push   $0x1
45a2e0:	6a 01                	push   $0x1