46803f:	e8 8c a9 fa ff       	call   0x4129d0
468044:	83 c4 10             	add    $0x10,%esp
468047:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46804b:	e8 d0 ab fa ff       	call   0x412c20
468050:	8b 44 24 1c          	mov    0x1c(%esp),%eax
468054:	2b 44 24 14          	sub    0x14(%esp),%eax
468058:	6a 03                	push   $0x3
46805a:	89 44 24 24          	mov    %eax,0x24(%esp)
46805e:	53                   	push   %ebx
46805f:	8d 44 24 28          	lea    0x28(%esp),%eax
468063:	50                   	push   %eax
468064:	56                   	push   %esi
468065:	89 7c 24 38          	mov    %edi,0x38(%esp)
468069:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
46806d:	e8 5e a9 fa ff       	call   0x4129d0
468072:	83 c4 10             	add    $0x10,%esp
468075:	8d 4c 24 20          	lea    0x20(%esp),%ecx
468079:	e8 a2 ab fa ff       	call   0x412c20
46807e:	5f                   	pop    %edi
46807f:	5e                   	pop    %esi
468080:	33 c0                	xor    %eax,%eax
468082:	5b                   	pop    %ebx
468083:	8b e5                	mov    %ebp,%esp
468085:	5d                   	pop    %ebp
468086:	c2 08 00             	ret    $0x8
468089:	55                   	push   %ebp
46808a:	8b ec                	mov    %esp,%ebp
46808c:	51                   	push   %ecx
46808d:	51                   	push   %ecx
46808e:	56                   	push   %esi
46808f:	ff 75 08             	push   0x8(%ebp)
468092:	8b f1                	mov    %ecx,%esi
468094:	e8 bb a9 f9 ff       	call   0x402a54
468099:	6a 01                	push   $0x1
46809b:	8b ce                	mov    %esi,%ecx
46809d:	e8 d7 ab f9 ff       	call   0x402c79
4680a2:	85 c0                	test   %eax,%eax
4680a4:	7f 29                	jg     0x4680cf
4680a6:	79 11                	jns    0x4680b9
4680a8:	f7 d8                	neg    %eax
4680aa:	6a 00                	push   $0x0
4680ac:	50                   	push   %eax
4680ad:	8b 06                	mov    (%esi),%eax
4680af:	8b 48 04             	mov    0x4(%eax),%ecx
4680b2:	03 ce                	add    %esi,%ecx
4680b4:	e8 93 4e fe ff       	call   0x44cf4c
4680b9:	8b 75 0c             	mov    0xc(%ebp),%esi
4680bc:	8b ce                	mov    %esi,%ecx
4680be:	e8 5d ab fa ff       	call   0x412c20
4680c3:	83 0e ff             	orl    $0xffffffff,(%esi)
4680c6:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4680cd:	eb 3b                	jmp    0x46810a
4680cf:	8d 45 08             	lea    0x8(%ebp),%eax
4680d2:	50                   	push   %eax
4680d3:	8b 86 f8 01 00 00    	mov    0x1f8(%esi),%eax
4680d9:	ff 30                	push   (%eax)
4680db:	ff 15 48 d6 48 00    	call   *0x48d648
4680e1:	db 45 08             	fildl  0x8(%ebp)
4680e4:	8b 45 08             	mov    0x8(%ebp),%eax
4680e7:	85 c0                	test   %eax,%eax
4680e9:	79 06                	jns    0x4680f1
4680eb:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
4680f1:	8b 75 0c             	mov    0xc(%ebp),%esi
4680f4:	dd 5d f8             	fstpl  -0x8(%ebp)
4680f7:	8b ce                	mov    %esi,%ecx
4680f9:	e8 22 ab fa ff       	call   0x412c20
4680fe:	dd 45 f8             	fldl   -0x8(%ebp)
468101:	dd 1e                	fstpl  (%esi)
468103:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
46810a:	33 c0                	xor    %eax,%eax
46810c:	5e                   	pop    %esi
46810d:	c9                   	leave
46810e:	c2 08 00             	ret    $0x8
468111:	55                   	push   %ebp
468112:	8b ec                	mov    %esp,%ebp
468114:	53                   	push   %ebx
468115:	56                   	push   %esi
468116:	57                   	push   %edi
468117:	ff 75 08             	push   0x8(%ebp)
46811a:	33 db                	xor    %ebx,%ebx
46811c:	43                   	inc    %ebx
46811d:	8b f1                	mov    %ecx,%esi
46811f:	8b fb                	mov    %ebx,%edi
468121:	e8 2e a9 f9 ff       	call   0x402a54
468126:	53                   	push   %ebx
468127:	8b ce                	mov    %esi,%ecx
468129:	e8 4b ab f9 ff       	call   0x402c79
46812e:	85 c0                	test   %eax,%eax
468130:	7f 25                	jg     0x468157
468132:	6a 00                	push   $0x0
468134:	79 05                	jns    0x46813b
468136:	f7 d8                	neg    %eax
468138:	50                   	push   %eax
468139:	eb 01                	jmp    0x46813c
46813b:	53                   	push   %ebx
46813c:	8b 06                	mov    (%esi),%eax
46813e:	8b 48 04             	mov    0x4(%eax),%ecx
468141:	03 ce                	add    %esi,%ecx
468143:	e8 04 4e fe ff       	call   0x44cf4c
468148:	8b 75 0c             	mov    0xc(%ebp),%esi
46814b:	8b ce                	mov    %esi,%ecx
46814d:	e8 ce aa fa ff       	call   0x412c20
468152:	83 26 00             	andl   $0x0,(%esi)
468155:	eb 59                	jmp    0x4681b0
468157:	8b 86 f8 01 00 00    	mov    0x1f8(%esi),%eax
46815d:	8b 30                	mov    (%eax),%esi
46815f:	56                   	push   %esi
468160:	ff 15 38 d6 48 00    	call   *0x48d638
468166:	85 c0                	test   %eax,%eax
468168:	74 03                	je     0x46816d
46816a:	6a 03                	push   $0x3
46816c:	5f                   	pop    %edi
46816d:	56                   	push   %esi
46816e:	ff 15 34 d6 48 00    	call   *0x48d634
468174:	85 c0                	test   %eax,%eax
468176:	74 03                	je     0x46817b
468178:	83 cf 04             	or     $0x4,%edi
46817b:	ff 15 1c d7 48 00    	call   *0x48d71c
468181:	3b c6                	cmp    %esi,%eax
468183:	75 03                	jne    0x468188
468185:	83 cf 08             	or     $0x8,%edi
468188:	56                   	push   %esi
468189:	ff 15 c4 d5 48 00    	call   *0x48d5c4
46818f:	85 c0                	test   %eax,%eax
468191:	74 03                	je     0x468196
468193:	83 cf 10             	or     $0x10,%edi
468196:	56                   	push   %esi
468197:	ff 15 e4 d4 48 00    	call   *0x48d4e4
46819d:	85 c0                	test   %eax,%eax
46819f:	74 03                	je     0x4681a4
4681a1:	83 cf 20             	or     $0x20,%edi
4681a4:	8b 75 0c             	mov    0xc(%ebp),%esi
4681a7:	8b ce                	mov    %esi,%ecx
4681a9:	e8 72 aa fa ff       	call   0x412c20
4681ae:	89 3e                	mov    %edi,(%esi)
4681b0:	5f                   	pop    %edi
4681b1:	89 5e 0c             	mov    %ebx,0xc(%esi)
4681b4:	5e                   	pop    %esi
4681b5:	33 c0                	xor    %eax,%eax
4681b7:	5b                   	pop    %ebx
4681b8:	5d                   	pop    %ebp
4681b9:	c2 08 00             	ret    $0x8
4681bc:	55                   	push   %ebp
4681bd:	8b ec                	mov    %esp,%ebp
4681bf:	83 e4 f8             	and    $0xfffffff8,%esp
4681c2:	83 ec 14             	sub    $0x14,%esp
4681c5:	56                   	push   %esi
4681c6:	ff 75 08             	push   0x8(%ebp)
4681c9:	8b f1                	mov    %ecx,%esi
4681cb:	e8 84 a8 f9 ff       	call   0x402a54
4681d0:	6a 01                	push   $0x1
4681d2:	8b ce                	mov    %esi,%ecx
4681d4:	e8 a0 aa f9 ff       	call   0x402c79
4681d9:	85 c0                	test   %eax,%eax
4681db:	7f 22                	jg     0x4681ff
4681dd:	79 11                	jns    0x4681f0
4681df:	f7 d8                	neg    %eax
4681e1:	6a 00                	push   $0x0
4681e3:	50                   	push   %eax
4681e4:	8b 06                	mov    (%esi),%eax
4681e6:	8b 48 04             	mov    0x4(%eax),%ecx
4681e9:	03 ce                	add    %esi,%ecx
4681eb:	e8 5c 4d fe ff       	call   0x44cf4c
4681f0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4681f3:	68 00 dc 49 00       	push   $0x49dc00
4681f8:	e8 bc 4b fa ff       	call   0x40cdb9
4681fd:	eb 49                	jmp    0x468248
4681ff:	8b 86 f8 01 00 00    	mov    0x1f8(%esi),%eax
468205:	ff 30                	push   (%eax)
468207:	e8 2f 8e f9 ff       	call   0x40103b
46820c:	84 c0                	test   %al,%al
46820e:	75 38                	jne    0x468248
468210:	8d 4c 24 08          	lea    0x8(%esp),%ecx
468214:	e8 de 55 fa ff       	call   0x40d7f7
468219:	8b 8e f8 01 00 00    	mov    0x1f8(%esi),%ecx
46821f:	8a 96 fc 02 00 00    	mov    0x2fc(%esi),%dl
468225:	8b 09                	mov    (%ecx),%ecx
468227:	8d 44 24 08          	lea    0x8(%esp),%eax
46822b:	50                   	push   %eax
46822c:	e8 0a ef fd ff       	call   0x44713b
468231:	59                   	pop    %ecx
468232:	8b 4d 0c             	mov    0xc(%ebp),%ecx
468235:	8d 44 24 08          	lea    0x8(%esp),%eax
468239:	50                   	push   %eax
46823a:	e8 29 e9 f9 ff       	call   0x406b68
46823f:	8d 4c 24 08          	lea    0x8(%esp),%ecx
468243:	e8 ef 48 fa ff       	call   0x40cb37
468248:	33 c0                	xor    %eax,%eax
46824a:	5e                   	pop    %esi
46824b:	8b e5                	mov    %ebp,%esp
46824d:	5d                   	pop    %ebp
46824e:	c2 08 00             	ret    $0x8
468251:	55                   	push   %ebp
468252:	8b ec                	mov    %esp,%ebp
468254:	83 e4 f8             	and    $0xfffffff8,%esp
468257:	83 ec 14             	sub    $0x14,%esp
46825a:	56                   	push   %esi
46825b:	ff 75 08             	push   0x8(%ebp)
46825e:	8b f1                	mov    %ecx,%esi
468260:	e8 ef a7 f9 ff       	call   0x402a54
468265:	6a 01                	push   $0x1
468267:	8b ce                	mov    %esi,%ecx
468269:	e8 0b aa f9 ff       	call   0x402c79
46826e:	85 c0                	test   %eax,%eax
468270:	7f 22                	jg     0x468294
468272:	79 11                	jns    0x468285
468274:	f7 d8                	neg    %eax
468276:	6a 00                	push   $0x0
468278:	50                   	push   %eax
468279:	8b 06                	mov    (%esi),%eax
46827b:	8b 48 04             	mov    0x4(%eax),%ecx
46827e:	03 ce                	add    %esi,%ecx
468280:	e8 c7 4c fe ff       	call   0x44cf4c
468285:	8b 4d 0c             	mov    0xc(%ebp),%ecx
468288:	68 00 dc 49 00       	push   $0x49dc00
46828d:	e8 27 4b fa ff       	call   0x40cdb9
468292:	eb 2f                	jmp    0x4682c3
468294:	8d 4c 24 08          	lea    0x8(%esp),%ecx
468298:	e8 5a 55 fa ff       	call   0x40d7f7
46829d:	8b 8e f8 01 00 00    	mov    0x1f8(%esi),%ecx
4682a3:	8d 44 24 08          	lea    0x8(%esp),%eax
4682a7:	50                   	push   %eax
4682a8:	e8 45 52 fd ff       	call   0x43d4f2
4682ad:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4682b0:	8d 44 24 08          	lea    0x8(%esp),%eax
4682b4:	50                   	push   %eax
4682b5:	e8 ae e8 f9 ff       	call   0x406b68
4682ba:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4682be:	e8 74 48 fa ff       	call   0x40cb37
4682c3:	33 c0                	xor    %eax,%eax
4682c5:	5e                   	pop    %esi
4682c6:	8b e5                	mov    %ebp,%esp
4682c8:	5d                   	pop    %ebp
4682c9:	c2 08 00             	ret    $0x8
4682cc:	55                   	push   %ebp
4682cd:	8b ec                	mov    %esp,%ebp
4682cf:	56                   	push   %esi
4682d0:	ff 75 08             	push   0x8(%ebp)
4682d3:	8b f1                	mov    %ecx,%esi
4682d5:	e8 7a a7 f9 ff       	call   0x402a54
4682da:	6a 01                	push   $0x1
4682dc:	8b ce                	mov    %esi,%ecx
4682de:	e8 96 a9 f9 ff       	call   0x402c79
4682e3:	85 c0                	test   %eax,%eax
4682e5:	7f 29                	jg     0x468310
4682e7:	79 11                	jns    0x4682fa
4682e9:	f7 d8                	neg    %eax
4682eb:	6a 00                	push   $0x0
4682ed:	50                   	push   %eax
4682ee:	8b 06                	mov    (%esi),%eax
4682f0:	8b 48 04             	mov    0x4(%eax),%ecx
4682f3:	03 ce                	add    %esi,%ecx
4682f5:	e8 52 4c fe ff       	call   0x44cf4c
4682fa:	8b 75 0c             	mov    0xc(%ebp),%esi
4682fd:	8b ce                	mov    %esi,%ecx
4682ff:	e8 1c a9 fa ff       	call   0x412c20
468304:	83 26 00             	andl   $0x0,(%esi)
468307:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46830e:	eb 18                	jmp    0x468328
468310:	8b 8e f8 01 00 00    	mov    0x1f8(%esi),%ecx
468316:	8b 09                	mov    (%ecx),%ecx
468318:	e8 da f8 fd ff       	call   0x447bf7
46831d:	8b 8e 14 03 00 00    	mov    0x314(%esi),%ecx
468323:	e8 30 f7 fd ff       	call   0x447a58
468328:	33 c0                	xor    %eax,%eax
46832a:	5e                   	pop    %esi
46832b:	5d                   	pop    %ebp
46832c:	c2 08 00             	ret    $0x8
46832f:	55                   	push   %ebp
468330:	8b ec                	mov    %esp,%ebp
468332:	83 e4 f8             	and    $0xfffffff8,%esp
468335:	83 ec 14             	sub    $0x14,%esp
468338:	53                   	push   %ebx
468339:	56                   	push   %esi
46833a:	57                   	push   %edi
46833b:	68 00 00 01 00       	push   $0x10000
468340:	8b d9                	mov    %ecx,%ebx
468342:	e8 a3 71 fb ff       	call   0x41f4ea
468347:	59                   	pop    %ecx
468348:	50                   	push   %eax
468349:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
46834d:	e8 65 c4 f9 ff       	call   0x4047b7
468352:	8b 83 f4 02 00 00    	mov    0x2f4(%ebx),%eax
468358:	8d 8b d8 01 00 00    	lea    0x1d8(%ebx),%ecx
46835e:	68 0c 3a 4b 00       	push   $0x4b3a0c
468363:	89 44 24 14          	mov    %eax,0x14(%esp)
468367:	e8 4d 4a fa ff       	call   0x40cdb9
46836c:	8d 8b e8 01 00 00    	lea    0x1e8(%ebx),%ecx
468372:	68 00 dc 49 00       	push   $0x49dc00
468377:	e8 e7 e6 f9 ff       	call   0x406a63
46837c:	8b 7d 08             	mov    0x8(%ebp),%edi
46837f:	8b 47 08             	mov    0x8(%edi),%eax
468382:	85 c0                	test   %eax,%eax
468384:	75 0c                	jne    0x468392
468386:	c7 83 f4 02 00 00 04 	movl   $0x4,0x2f4(%ebx)
46838d:	00 00 00
468390:	eb 3b                	jmp    0x4683cd
468392:	8b 47 04             	mov    0x4(%edi),%eax
468395:	8b 30                	mov    (%eax),%esi
468397:	8b ce                	mov    %esi,%ecx
468399:	e8 ce 0f fa ff       	call   0x40936c
46839e:	ff 76 08             	push   0x8(%esi)
4683a1:	8d 8b d8 01 00 00    	lea    0x1d8(%ebx),%ecx
4683a7:	e8 bc e7 f9 ff       	call   0x406b68
4683ac:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
4683b0:	76 1b                	jbe    0x4683cd
4683b2:	8b 47 04             	mov    0x4(%edi),%eax
4683b5:	8b 70 04             	mov    0x4(%eax),%esi
4683b8:	8b ce                	mov    %esi,%ecx
4683ba:	e8 ad 0f fa ff       	call   0x40936c
4683bf:	ff 76 08             	push   0x8(%esi)
4683c2:	8d 8b e8 01 00 00    	lea    0x1e8(%ebx),%ecx
4683c8:	e8 20 eb f9 ff       	call   0x406eed
4683cd:	33 f6                	xor    %esi,%esi
4683cf:	56                   	push   %esi
4683d0:	8b cb                	mov    %ebx,%ecx
4683d2:	e8 a2 a8 f9 ff       	call   0x402c79
4683d7:	85 c0                	test   %eax,%eax
4683d9:	79 29                	jns    0x468404
4683db:	f7 d8                	neg    %eax
4683dd:	56                   	push   %esi
4683de:	50                   	push   %eax
4683df:	8b 03                	mov    (%ebx),%eax
4683e1:	8b 48 04             	mov    0x4(%eax),%ecx
4683e4:	03 cb                	add    %ebx,%ecx
4683e6:	e8 61 4b fe ff       	call   0x44cf4c
4683eb:	8b 75 0c             	mov    0xc(%ebp),%esi
4683ee:	8b ce                	mov    %esi,%ecx
4683f0:	e8 2b a8 fa ff       	call   0x412c20
4683f5:	83 26 00             	andl   $0x0,(%esi)
4683f8:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4683ff:	e9 c6 00 00 00       	jmp    0x4684ca
468404:	8b bb 08 03 00 00    	mov    0x308(%ebx),%edi
46840a:	8b 44 24 10          	mov    0x10(%esp),%eax
46840e:	89 83 f4 02 00 00    	mov    %eax,0x2f4(%ebx)
468414:	6a 02                	push   $0x2
468416:	8d 47 01             	lea    0x1(%edi),%eax
468419:	50                   	push   %eax
46841a:	6a 02                	push   $0x2
46841c:	ff 75 0c             	push   0xc(%ebp)
46841f:	89 7c 24 24          	mov    %edi,0x24(%esp)
468423:	e8 28 3c fb ff       	call   0x41c050
468428:	56                   	push   %esi
468429:	56                   	push   %esi
46842a:	6a 02                	push   $0x2
46842c:	56                   	push   %esi
46842d:	ff 75 0c             	push   0xc(%ebp)
468430:	e8 5b 97 fa ff       	call   0x411b90
468435:	8b f0                	mov    %eax,%esi
468437:	83 c4 24             	add    $0x24,%esp