465efe:	3b cf                	cmp    %edi,%ecx
465f00:	7c 06                	jl     0x465f08
465f02:	01 44 24 38          	add    %eax,0x38(%esp)
465f06:	3b cf                	cmp    %edi,%ecx
465f08:	0f 9d c0             	setge  %al
465f0b:	eb 42                	jmp    0x465f4f
465f0d:	8b ce                	mov    %esi,%ecx
465f0f:	dd d8                	fstp   %st(0)
465f11:	e8 63 13 00 00       	call   0x467279
465f16:	89 44 24 10          	mov    %eax,0x10(%esp)
465f1a:	db 44 24 10          	fildl  0x10(%esp)
465f1e:	dd 5c 24 10          	fstpl  0x10(%esp)
465f22:	dd 44 24 10          	fldl   0x10(%esp)
465f26:	dc 4c 24 20          	fmull  0x20(%esp)
465f2a:	e8 f2 b0 02 00       	call   0x491021
465f2f:	8b 54 24 1c          	mov    0x1c(%esp),%edx
465f33:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
465f36:	03 cb                	add    %ebx,%ecx
465f38:	3b cf                	cmp    %edi,%ecx
465f3a:	0f 8c b2 00 00 00    	jl     0x465ff2
465f40:	03 c3                	add    %ebx,%eax
465f42:	8d 04 42             	lea    (%edx,%eax,2),%eax
465f45:	03 44 24 30          	add    0x30(%esp),%eax
465f49:	89 44 24 38          	mov    %eax,0x38(%esp)
465f4d:	b0 01                	mov    $0x1,%al
465f4f:	84 c0                	test   %al,%al
465f51:	0f 84 9b 00 00 00    	je     0x465ff2
465f57:	8b 8e 50 01 00 00    	mov    0x150(%esi),%ecx
465f5d:	8d 44 24 2c          	lea    0x2c(%esp),%eax
465f61:	50                   	push   %eax
465f62:	e8 4c 7e fb ff       	call   0x41ddb3
465f67:	8b 8e 50 01 00 00    	mov    0x150(%esi),%ecx
465f6d:	8d 44 24 4c          	lea    0x4c(%esp),%eax
465f71:	50                   	push   %eax
465f72:	e8 e3 e4 fc ff       	call   0x43445a
465f77:	6a 00                	push   $0x0
465f79:	6a 00                	push   $0x0
465f7b:	68 4e 04 00 00       	push   $0x44e
465f80:	ff 76 60             	push   0x60(%esi)
465f83:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
465f89:	8b 4c 24 58          	mov    0x58(%esp),%ecx
465f8d:	83 e0 40             	and    $0x40,%eax
465f90:	39 4c 24 38          	cmp    %ecx,0x38(%esp)
465f94:	7e 0e                	jle    0x465fa4
465f96:	89 4c 24 38          	mov    %ecx,0x38(%esp)
465f9a:	85 c0                	test   %eax,%eax
465f9c:	75 1c                	jne    0x465fba
465f9e:	6a 40                	push   $0x40
465fa0:	6a 02                	push   $0x2
465fa2:	eb 08                	jmp    0x465fac
465fa4:	85 c0                	test   %eax,%eax
465fa6:	74 12                	je     0x465fba
465fa8:	6a bf                	push   $0xffffffbf
465faa:	6a 03                	push   $0x3
465fac:	68 4d 04 00 00       	push   $0x44d
465fb1:	ff 76 60             	push   0x60(%esi)
465fb4:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
465fba:	8b 44 24 38          	mov    0x38(%esp),%eax
465fbe:	8b ce                	mov    %esi,%ecx
465fc0:	2b 44 24 30          	sub    0x30(%esp),%eax
465fc4:	6a 01                	push   $0x1
465fc6:	50                   	push   %eax
465fc7:	8b 44 24 3c          	mov    0x3c(%esp),%eax
465fcb:	2b 44 24 34          	sub    0x34(%esp),%eax
465fcf:	50                   	push   %eax
465fd0:	ff 74 24 3c          	push   0x3c(%esp)
465fd4:	ff 74 24 3c          	push   0x3c(%esp)
465fd8:	ff 15 50 74 4a 00    	call   *0x4a7450
465fde:	6a 05                	push   $0x5
465fe0:	8d 4e 40             	lea    0x40(%esi),%ecx
465fe3:	ff 15 58 74 4a 00    	call   *0x4a7458
465fe9:	ff 76 60             	push   0x60(%esi)
465fec:	ff 15 a0 7d 4a 00    	call   *0x4a7da0
465ff2:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
465ff6:	5f                   	pop    %edi
465ff7:	5e                   	pop    %esi
465ff8:	5b                   	pop    %ebx
465ff9:	33 cc                	xor    %esp,%ecx
465ffb:	e8 00 9f 02 00       	call   0x48ff00
466000:	8b e5                	mov    %ebp,%esp
466002:	5d                   	pop    %ebp
466003:	c3                   	ret
466004:	cc                   	int3
466005:	cc                   	int3
466006:	cc                   	int3
466007:	cc                   	int3
466008:	cc                   	int3
466009:	cc                   	int3
46600a:	cc                   	int3
46600b:	cc                   	int3
46600c:	cc                   	int3
46600d:	cc                   	int3
46600e:	cc                   	int3
46600f:	cc                   	int3
466010:	8b ff                	mov    %edi,%edi
466012:	55                   	push   %ebp
466013:	8b ec                	mov    %esp,%ebp
466015:	83 e4 f8             	and    $0xfffffff8,%esp
466018:	83 ec 1c             	sub    $0x1c,%esp
46601b:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
466020:	33 c4                	xor    %esp,%eax
466022:	89 44 24 18          	mov    %eax,0x18(%esp)
466026:	8b 45 0c             	mov    0xc(%ebp),%eax
466029:	89 04 24             	mov    %eax,(%esp)
46602c:	8b 45 10             	mov    0x10(%ebp),%eax
46602f:	56                   	push   %esi
466030:	89 44 24 08          	mov    %eax,0x8(%esp)
466034:	8b f1                	mov    %ecx,%esi
466036:	8d 44 24 04          	lea    0x4(%esp),%eax
46603a:	50                   	push   %eax
46603b:	8b 86 50 01 00 00    	mov    0x150(%esi),%eax
466041:	ff 70 20             	push   0x20(%eax)
466044:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
46604a:	8b 8e 50 01 00 00    	mov    0x150(%esi),%ecx
466050:	8d 44 24 04          	lea    0x4(%esp),%eax
466054:	50                   	push   %eax
466055:	e8 36 e1 fc ff       	call   0x434190
46605a:	8d 4c 24 04          	lea    0x4(%esp),%ecx
46605e:	e8 37 73 fb ff       	call   0x41d39a
466063:	8b ce                	mov    %esi,%ecx
466065:	ff 15 1c 77 4a 00    	call   *0x4a771c
46606b:	8d 44 24 0c          	lea    0xc(%esp),%eax
46606f:	50                   	push   %eax
466070:	ff 76 20             	push   0x20(%esi)
466073:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
466079:	8d 45 0c             	lea    0xc(%ebp),%eax
46607c:	50                   	push   %eax
46607d:	ff 76 20             	push   0x20(%esi)
466080:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
466086:	ff 75 10             	push   0x10(%ebp)
466089:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46608d:	ff 75 0c             	push   0xc(%ebp)
466090:	6a 02                	push   $0x2
466092:	5a                   	pop    %edx
466093:	e8 ec 2c 00 00       	call   0x468d84
466098:	83 f8 02             	cmp    $0x2,%eax
46609b:	75 0d                	jne    0x4660aa
46609d:	a1 e0 79 40 00       	mov    0x4079e0,%eax
4660a2:	ff 30                	push   (%eax)
4660a4:	ff 15 14 7d 4a 00    	call   *0x4a7d14
4660aa:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4660ae:	5e                   	pop    %esi
4660af:	33 cc                	xor    %esp,%ecx
4660b1:	e8 4a 9e 02 00       	call   0x48ff00
4660b6:	8b e5                	mov    %ebp,%esp
4660b8:	5d                   	pop    %ebp
4660b9:	c2 0c 00             	ret    $0xc
4660bc:	cc                   	int3
4660bd:	cc                   	int3
4660be:	cc                   	int3
4660bf:	cc                   	int3
4660c0:	8b ff                	mov    %edi,%edi
4660c2:	55                   	push   %ebp
4660c3:	8b ec                	mov    %esp,%ebp
4660c5:	83 e4 f8             	and    $0xfffffff8,%esp
4660c8:	83 ec 1c             	sub    $0x1c,%esp
4660cb:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
4660d0:	33 c4                	xor    %esp,%eax
4660d2:	89 44 24 18          	mov    %eax,0x18(%esp)
4660d6:	8b 45 0c             	mov    0xc(%ebp),%eax
4660d9:	56                   	push   %esi
4660da:	89 44 24 04          	mov    %eax,0x4(%esp)
4660de:	8b f1                	mov    %ecx,%esi
4660e0:	8b 45 10             	mov    0x10(%ebp),%eax
4660e3:	89 44 24 08          	mov    %eax,0x8(%esp)
4660e7:	8d 44 24 0c          	lea    0xc(%esp),%eax
4660eb:	50                   	push   %eax
4660ec:	ff 76 20             	push   0x20(%esi)
4660ef:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
4660f5:	8d 44 24 04          	lea    0x4(%esp),%eax
4660f9:	50                   	push   %eax
4660fa:	ff 76 20             	push   0x20(%esi)
4660fd:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
466103:	ff 74 24 08          	push   0x8(%esp)
466107:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46610b:	ff 74 24 08          	push   0x8(%esp)
46610f:	6a 02                	push   $0x2
466111:	5a                   	pop    %edx
466112:	e8 6d 2c 00 00       	call   0x468d84
466117:	83 f8 02             	cmp    $0x2,%eax
46611a:	75 0d                	jne    0x466129
46611c:	a1 e0 79 40 00       	mov    0x4079e0,%eax
466121:	ff 30                	push   (%eax)
466123:	ff 15 14 7d 4a 00    	call   *0x4a7d14
466129:	8b ce                	mov    %esi,%ecx
46612b:	ff 15 1c 77 4a 00    	call   *0x4a771c
466131:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
466135:	5e                   	pop    %esi
466136:	33 cc                	xor    %esp,%ecx
466138:	e8 c3 9d 02 00       	call   0x48ff00
46613d:	8b e5                	mov    %ebp,%esp
46613f:	5d                   	pop    %ebp
466140:	c2 0c 00             	ret    $0xc
466143:	cc                   	int3
466144:	cc                   	int3
466145:	cc                   	int3
466146:	cc                   	int3
466147:	cc                   	int3
466148:	cc                   	int3
466149:	cc                   	int3
46614a:	cc                   	int3
46614b:	cc                   	int3
46614c:	cc                   	int3
46614d:	cc                   	int3
46614e:	cc                   	int3
46614f:	cc                   	int3
466150:	8b ff                	mov    %edi,%edi
466152:	55                   	push   %ebp
466153:	8b ec                	mov    %esp,%ebp
466155:	83 ec 34             	sub    $0x34,%esp
466158:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46615d:	33 c5                	xor    %ebp,%eax
46615f:	89 45 fc             	mov    %eax,-0x4(%ebp)
466162:	53                   	push   %ebx
466163:	56                   	push   %esi
466164:	57                   	push   %edi
466165:	8b f9                	mov    %ecx,%edi
466167:	89 7d d8             	mov    %edi,-0x28(%ebp)
46616a:	83 bf bc 00 00 00 00 	cmpl   $0x0,0xbc(%edi)
466171:	75 08                	jne    0x46617b
466173:	6a 00                	push   $0x0
466175:	ff 15 58 74 4a 00    	call   *0x4a7458
46617b:	8d 9f e8 00 00 00    	lea    0xe8(%edi),%ebx
466181:	81 c7 d8 00 00 00    	add    $0xd8,%edi
466187:	8b f3                	mov    %ebx,%esi
466189:	53                   	push   %ebx
46618a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46618b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46618c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46618d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46618e:	8b 75 d8             	mov    -0x28(%ebp),%esi
466191:	ff 76 20             	push   0x20(%esi)
466194:	ff 15 e8 7d 4a 00    	call   *0x4a7de8
46619a:	8b 8e 50 01 00 00    	mov    0x150(%esi),%ecx
4661a0:	53                   	push   %ebx
4661a1:	e8 0d 7c fb ff       	call   0x41ddb3
4661a6:	8d 7e 40             	lea    0x40(%esi),%edi
4661a9:	c7 86 b0 00 00 00 02 	movl   $0x2,0xb0(%esi)
4661b0:	00 00 00
4661b3:	33 db                	xor    %ebx,%ebx
4661b5:	85 ff                	test   %edi,%edi
4661b7:	74 2b                	je     0x4661e4
4661b9:	39 5f 20             	cmp    %ebx,0x20(%edi)
4661bc:	74 26                	je     0x4661e4
4661be:	6a 01                	push   $0x1
4661c0:	ff 75 10             	push   0x10(%ebp)
4661c3:	8b cf                	mov    %edi,%ecx
4661c5:	ff 75 0c             	push   0xc(%ebp)
4661c8:	53                   	push   %ebx
4661c9:	53                   	push   %ebx
4661ca:	ff 15 50 74 4a 00    	call   *0x4a7450
4661d0:	6a 03                	push   $0x3
4661d2:	53                   	push   %ebx
4661d3:	53                   	push   %ebx
4661d4:	53                   	push   %ebx
4661d5:	53                   	push   %ebx
4661d6:	ff 35 00 74 4a 00    	push   0x4a7400
4661dc:	8b cf                	mov    %edi,%ecx
4661de:	ff 15 1c 79 4a 00    	call   *0x4a791c
4661e4:	6a 01                	push   $0x1
4661e6:	53                   	push   %ebx
4661e7:	ff 76 20             	push   0x20(%esi)
4661ea:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
4661f0:	ff 76 20             	push   0x20(%esi)
4661f3:	ff 15 a0 7d 4a 00    	call   *0x4a7da0
4661f9:	39 9e b4 00 00 00    	cmp    %ebx,0xb4(%esi)
4661ff:	74 0a                	je     0x46620b
466201:	6a 01                	push   $0x1
466203:	51                   	push   %ecx
466204:	8b ce                	mov    %esi,%ecx
466206:	e8 4c f5 ff ff       	call   0x465757
46620b:	39 9e bc 00 00 00    	cmp    %ebx,0xbc(%esi)
466211:	75 0a                	jne    0x46621d
466213:	6a 05                	push   $0x5
466215:	8b ce                	mov    %esi,%ecx
466217:	ff 15 58 74 4a 00    	call   *0x4a7458
46621d:	8b 86 50 01 00 00    	mov    0x150(%esi),%eax
466223:	dd 40 58             	fldl   0x58(%eax)
466226:	8d 45 ec             	lea    -0x14(%ebp),%eax
466229:	50                   	push   %eax
46622a:	ff 76 20             	push   0x20(%esi)
46622d:	dd 5d cc             	fstpl  -0x34(%ebp)
466230:	ff 15 e8 7d 4a 00    	call   *0x4a7de8
466236:	8b 45 f4             	mov    -0xc(%ebp),%eax
466239:	2b 45 ec             	sub    -0x14(%ebp),%eax
46623c:	89 45 d8             	mov    %eax,-0x28(%ebp)
46623f:	db 45 d8             	fildl  -0x28(%ebp)
466242:	dd 5d d4             	fstpl  -0x2c(%ebp)
466245:	dd 45 d4             	fldl   -0x2c(%ebp)
466248:	dd 45 cc             	fldl   -0x34(%ebp)
46624b:	dc f9                	fdivr  %st,%st(1)
46624d:	d9 c9                	fxch   %st(1)
46624f:	e8 cd ad 02 00       	call   0x491021
466254:	89 86 f8 00 00 00    	mov    %eax,0xf8(%esi)
46625a:	8b 45 f8             	mov    -0x8(%ebp),%eax
46625d:	2b 45 f0             	sub    -0x10(%ebp),%eax
466260:	89 45 d8             	mov    %eax,-0x28(%ebp)
466263:	db 45 d8             	fildl  -0x28(%ebp)
466266:	dd 5d cc             	fstpl  -0x34(%ebp)
466269:	dc 7d cc             	fdivrl -0x34(%ebp)
46626c:	e8 b0 ad 02 00       	call   0x491021
466271:	8b 8e 50 01 00 00    	mov    0x150(%esi),%ecx
466277:	89 86 fc 00 00 00    	mov    %eax,0xfc(%esi)
46627d:	8d 45 dc             	lea    -0x24(%ebp),%eax
466280:	50                   	push   %eax
466281:	e8 97 e1 fc ff       	call   0x43441d
466286:	8b 8e 50 01 00 00    	mov    0x150(%esi),%ecx
46628c:	8d 45 ec             	lea    -0x14(%ebp),%eax
46628f:	50                   	push   %eax
466290:	e8 1e 7b fb ff       	call   0x41ddb3
466295:	8b 45 f0             	mov    -0x10(%ebp),%eax
466298:	2b 45 e0             	sub    -0x20(%ebp),%eax
46629b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46629e:	89 86 0c 01 00 00    	mov    %eax,0x10c(%esi)
4662a4:	33 cd                	xor    %ebp,%ecx
4662a6:	8b 45 ec             	mov    -0x14(%ebp),%eax
4662a9:	2b 45 dc             	sub    -0x24(%ebp),%eax
4662ac:	5f                   	pop    %edi
4662ad:	89 86 08 01 00 00    	mov    %eax,0x108(%esi)
4662b3:	5e                   	pop    %esi
4662b4:	5b                   	pop    %ebx
4662b5:	e8 46 9c 02 00       	call   0x48ff00
4662ba:	c9                   	leave
4662bb:	c2 0c 00             	ret    $0xc
4662be:	cc                   	int3
4662bf:	cc                   	int3
4662c0:	8b ff                	mov    %edi,%edi
4662c2:	55                   	push   %ebp
4662c3:	8b ec                	mov    %esp,%ebp
4662c5:	83 e4 f8             	and    $0xfffffff8,%esp
4662c8:	83 ec 24             	sub    $0x24,%esp
4662cb:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
4662d0:	33 c4                	xor    %esp,%eax
4662d2:	89 44 24 20          	mov    %eax,0x20(%esp)
4662d6:	8b 45 0c             	mov    0xc(%ebp),%eax
4662d9:	56                   	push   %esi
4662da:	50                   	push   %eax
4662db:	8d 44 24 18          	lea    0x18(%esp),%eax
4662df:	8b f1                	mov    %ecx,%esi
4662e1:	50                   	push   %eax
4662e2:	ff 15 24 7d 4a 00    	call   *0x4a7d24
4662e8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4662ec:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4662f0:	2b 44 24 14          	sub    0x14(%esp),%eax
4662f4:	89 44 24 0c          	mov    %eax,0xc(%esp)
4662f8:	8b 44 24 20          	mov    0x20(%esp),%eax
4662fc:	2b 44 24 18          	sub    0x18(%esp),%eax
466300:	89 44 24 10          	mov    %eax,0x10(%esp)
466304:	e8 b7 70 fb ff       	call   0x41d3c0
466309:	8b 44 24 14          	mov    0x14(%esp),%eax