469057:	0f b6 45 fd          	movzbl -0x3(%ebp),%eax
46905b:	83 46 0c 08          	addl   $0x8,0xc(%esi)
46905f:	c1 e1 08             	shl    $0x8,%ecx
469062:	0b c8                	or     %eax,%ecx
469064:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
469068:	0f b6 45 fe          	movzbl -0x2(%ebp),%eax
46906c:	c1 e1 08             	shl    $0x8,%ecx
46906f:	0b c8                	or     %eax,%ecx
469071:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
469075:	c1 e1 08             	shl    $0x8,%ecx
469078:	0b c8                	or     %eax,%ecx
46907a:	8b 45 08             	mov    0x8(%ebp),%eax
46907d:	68 ec a4 4b 00       	push   $0x4ba4ec
469082:	89 08                	mov    %ecx,(%eax)
469084:	8d 45 f8             	lea    -0x8(%ebp),%eax
469087:	50                   	push   %eax
469088:	e8 33 c8 fb ff       	call   0x4258c0
46908d:	f7 d8                	neg    %eax
46908f:	59                   	pop    %ecx
469090:	59                   	pop    %ecx
469091:	1b c0                	sbb    %eax,%eax
469093:	f7 d8                	neg    %eax
469095:	5e                   	pop    %esi
469096:	8b e5                	mov    %ebp,%esp
469098:	5d                   	pop    %ebp
469099:	c2 04 00             	ret    $0x4
46909c:	57                   	push   %edi
46909d:	8b f9                	mov    %ecx,%edi
46909f:	83 7f 18 01          	cmpl   $0x1,0x18(%edi)
4690a3:	8b 87 40 04 00 00    	mov    0x440(%edi),%eax
4690a9:	75 6d                	jne    0x469118
4690ab:	3b 87 38 04 00 00    	cmp    0x438(%edi),%eax
4690b1:	73 6d                	jae    0x469120
4690b3:	56                   	push   %esi
4690b4:	8b b7 40 04 00 00    	mov    0x440(%edi),%esi
4690ba:	8b 87 34 04 00 00    	mov    0x434(%edi),%eax
4690c0:	81 e6 ff ff 01 00    	and    $0x1ffff,%esi
4690c6:	8b 4f 08             	mov    0x8(%edi),%ecx
4690c9:	8b 17                	mov    (%edi),%edx
4690cb:	8a 04 06             	mov    (%esi,%eax,1),%al
4690ce:	88 04 0a             	mov    %al,(%edx,%ecx,1)
4690d1:	ff 47 08             	incl   0x8(%edi)
4690d4:	ff 87 40 04 00 00    	incl   0x440(%edi)
4690da:	8b 87 40 04 00 00    	mov    0x440(%edi),%eax
4690e0:	3b 87 38 04 00 00    	cmp    0x438(%edi),%eax
4690e6:	72 cc                	jb     0x4690b4
4690e8:	5e                   	pop    %esi
4690e9:	eb 35                	jmp    0x469120
4690eb:	8b 8f 40 04 00 00    	mov    0x440(%edi),%ecx
4690f1:	8b 87 34 04 00 00    	mov    0x434(%edi),%eax
4690f7:	81 e1 ff ff 01 00    	and    $0x1ffff,%ecx
4690fd:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
469101:	8b cf                	mov    %edi,%ecx
469103:	50                   	push   %eax
469104:	e8 69 00 00 00       	call   0x469172
469109:	ff 87 40 04 00 00    	incl   0x440(%edi)
46910f:	8b 87 40 04 00 00    	mov    0x440(%edi),%eax
469115:	ff 47 08             	incl   0x8(%edi)
469118:	3b 87 38 04 00 00    	cmp    0x438(%edi),%eax
46911e:	72 cb                	jb     0x4690eb
469120:	83 a7 3c 04 00 00 00 	andl   $0x0,0x43c(%edi)
469127:	5f                   	pop    %edi
469128:	c3                   	ret
469129:	56                   	push   %esi
46912a:	8b f1                	mov    %ecx,%esi
46912c:	b9 00 00 01 00       	mov    $0x10000,%ecx
469131:	8b 86 60 04 00 00    	mov    0x460(%esi),%eax
469137:	85 c0                	test   %eax,%eax
469139:	74 04                	je     0x46913f
46913b:	3b c1                	cmp    %ecx,%eax
46913d:	75 1b                	jne    0x46915a
46913f:	ff 76 1c             	push   0x1c(%esi)
469142:	51                   	push   %ecx
469143:	6a 01                	push   $0x1
469145:	ff b6 58 04 00 00    	push   0x458(%esi)
46914b:	e8 c2 c6 fb ff       	call   0x425812
469150:	83 c4 10             	add    $0x10,%esp
469153:	83 a6 60 04 00 00 00 	andl   $0x0,0x460(%esi)
46915a:	8b 8e 60 04 00 00    	mov    0x460(%esi),%ecx
469160:	8b 86 58 04 00 00    	mov    0x458(%esi),%eax
469166:	8a 04 01             	mov    (%ecx,%eax,1),%al
469169:	41                   	inc    %ecx
46916a:	89 8e 60 04 00 00    	mov    %ecx,0x460(%esi)
469170:	5e                   	pop    %esi
469171:	c3                   	ret
469172:	55                   	push   %ebp
469173:	8b ec                	mov    %esp,%ebp
469175:	8a 45 08             	mov    0x8(%ebp),%al
469178:	56                   	push   %esi
469179:	57                   	push   %edi
46917a:	8b f9                	mov    %ecx,%edi
46917c:	8b 97 5c 04 00 00    	mov    0x45c(%edi),%edx
469182:	8b b7 54 04 00 00    	mov    0x454(%edi),%esi
469188:	88 04 16             	mov    %al,(%esi,%edx,1)
46918b:	b8 00 00 01 00       	mov    $0x10000,%eax
469190:	ff 87 5c 04 00 00    	incl   0x45c(%edi)
469196:	39 87 5c 04 00 00    	cmp    %eax,0x45c(%edi)
46919c:	75 1b                	jne    0x4691b9
46919e:	ff 77 20             	push   0x20(%edi)
4691a1:	50                   	push   %eax
4691a2:	6a 01                	push   $0x1
4691a4:	ff b7 54 04 00 00    	push   0x454(%edi)
4691aa:	e8 e4 b8 fb ff       	call   0x424a93
4691af:	83 c4 10             	add    $0x10,%esp
4691b2:	83 a7 5c 04 00 00 00 	andl   $0x0,0x45c(%edi)
4691b9:	5f                   	pop    %edi
4691ba:	5e                   	pop    %esi
4691bb:	5d                   	pop    %ebp
4691bc:	c2 04 00             	ret    $0x4
4691bf:	56                   	push   %esi
4691c0:	8b f1                	mov    %ecx,%esi
4691c2:	8b 86 5c 04 00 00    	mov    0x45c(%esi),%eax
4691c8:	85 c0                	test   %eax,%eax
4691ca:	74 1b                	je     0x4691e7
4691cc:	ff 76 20             	push   0x20(%esi)
4691cf:	50                   	push   %eax
4691d0:	6a 01                	push   $0x1
4691d2:	ff b6 54 04 00 00    	push   0x454(%esi)
4691d8:	e8 b6 b8 fb ff       	call   0x424a93
4691dd:	83 c4 10             	add    $0x10,%esp
4691e0:	83 a6 5c 04 00 00 00 	andl   $0x0,0x45c(%esi)
4691e7:	5e                   	pop    %esi
4691e8:	c3                   	ret
4691e9:	55                   	push   %ebp
4691ea:	8b ec                	mov    %esp,%ebp
4691ec:	51                   	push   %ecx
4691ed:	51                   	push   %ecx
4691ee:	56                   	push   %esi
4691ef:	6a 00                	push   $0x0
4691f1:	8b f1                	mov    %ecx,%esi
4691f3:	e8 42 c2 fb ff       	call   0x42543a
4691f8:	59                   	pop    %ecx
4691f9:	50                   	push   %eax
4691fa:	8b ce                	mov    %esi,%ecx
4691fc:	e8 2e 00 00 00       	call   0x46922f
469201:	d9 e8                	fld1
469203:	b9 00 00 f0 3f       	mov    $0x3ff00000,%ecx
469208:	dd 5d f8             	fstpl  -0x8(%ebp)
46920b:	39 4d fc             	cmp    %ecx,-0x4(%ebp)
46920e:	75 09                	jne    0x469219
469210:	83 a6 d4 00 00 00 00 	andl   $0x0,0xd4(%esi)
469217:	eb 0f                	jmp    0x469228
469219:	33 c0                	xor    %eax,%eax
46921b:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
46921e:	0f 95 c0             	setne  %al
469221:	40                   	inc    %eax
469222:	89 86 d4 00 00 00    	mov    %eax,0xd4(%esi)
469228:	8b c6                	mov    %esi,%eax
46922a:	5e                   	pop    %esi
46922b:	8b e5                	mov    %ebp,%esp
46922d:	5d                   	pop    %ebp
46922e:	c3                   	ret
46922f:	55                   	push   %ebp
469230:	8b ec                	mov    %esp,%ebp
469232:	8b 45 08             	mov    0x8(%ebp),%eax
469235:	53                   	push   %ebx
469236:	56                   	push   %esi
469237:	8b f1                	mov    %ecx,%esi
469239:	0f b7 c8             	movzwl %ax,%ecx
46923c:	57                   	push   %edi
46923d:	6a 11                	push   $0x11
46923f:	5b                   	pop    %ebx
469240:	8d 7e 08             	lea    0x8(%esi),%edi
469243:	8b d7                	mov    %edi,%edx
469245:	69 c1 fb b4 a9 53    	imul   $0x53a9b4fb,%ecx,%eax
46924b:	33 c9                	xor    %ecx,%ecx
46924d:	41                   	inc    %ecx
46924e:	2b c8                	sub    %eax,%ecx
469250:	89 0a                	mov    %ecx,(%edx)
469252:	8d 52 04             	lea    0x4(%edx),%edx
469255:	4b                   	dec    %ebx
469256:	75 ed                	jne    0x469245
469258:	21 1e                	and    %ebx,(%esi)
46925a:	8d 46 4c             	lea    0x4c(%esi),%eax
46925d:	6a 44                	push   $0x44
46925f:	57                   	push   %edi
469260:	50                   	push   %eax
469261:	c7 46 04 0a 00 00 00 	movl   $0xa,0x4(%esi)
469268:	e8 13 7e fb ff       	call   0x421080
46926d:	6a 44                	push   $0x44
46926f:	8d 86 90 00 00 00    	lea    0x90(%esi),%eax
469275:	57                   	push   %edi
469276:	50                   	push   %eax
469277:	e8 04 7e fb ff       	call   0x421080
46927c:	83 c4 18             	add    $0x18,%esp
46927f:	6a 09                	push   $0x9
469281:	5f                   	pop    %edi
469282:	8b ce                	mov    %esi,%ecx
469284:	e8 0c 00 00 00       	call   0x469295
469289:	dd d8                	fstp   %st(0)
46928b:	4f                   	dec    %edi
46928c:	75 f4                	jne    0x469282
46928e:	5f                   	pop    %edi
46928f:	5e                   	pop    %esi
469290:	5b                   	pop    %ebx
469291:	5d                   	pop    %ebp
469292:	c2 04 00             	ret    $0x4
469295:	55                   	push   %ebp
469296:	8b ec                	mov    %esp,%ebp
469298:	83 ec 10             	sub    $0x10,%esp
46929b:	56                   	push   %esi
46929c:	57                   	push   %edi
46929d:	8b f9                	mov    %ecx,%edi
46929f:	6a 09                	push   $0x9
4692a1:	8b 07                	mov    (%edi),%eax
4692a3:	ff 74 87 08          	push   0x8(%edi,%eax,4)
4692a7:	e8 32 c7 fb ff       	call   0x4259de
4692ac:	8b 4f 04             	mov    0x4(%edi),%ecx
4692af:	8b f0                	mov    %eax,%esi
4692b1:	6a 0d                	push   $0xd
4692b3:	ff 74 8f 08          	push   0x8(%edi,%ecx,4)
4692b7:	e8 22 c7 fb ff       	call   0x4259de
4692bc:	03 f0                	add    %eax,%esi
4692be:	83 c4 10             	add    $0x10,%esp
4692c1:	8b 07                	mov    (%edi),%eax
4692c3:	6a 10                	push   $0x10
4692c5:	89 74 87 08          	mov    %esi,0x8(%edi,%eax,4)
4692c9:	ff 0f                	decl   (%edi)
4692cb:	58                   	pop    %eax
4692cc:	79 02                	jns    0x4692d0
4692ce:	89 07                	mov    %eax,(%edi)
4692d0:	ff 4f 04             	decl   0x4(%edi)
4692d3:	79 03                	jns    0x4692d8
4692d5:	89 47 04             	mov    %eax,0x4(%edi)
4692d8:	8b 0f                	mov    (%edi),%ecx
4692da:	8b 44 8f 08          	mov    0x8(%edi,%ecx,4),%eax
4692de:	3b 47 4c             	cmp    0x4c(%edi),%eax
4692e1:	75 1f                	jne    0x469302
4692e3:	6a 44                	push   $0x44
4692e5:	6a 24                	push   $0x24
4692e7:	58                   	pop    %eax
4692e8:	2b c1                	sub    %ecx,%eax
4692ea:	8d 04 87             	lea    (%edi,%eax,4),%eax
4692ed:	50                   	push   %eax
4692ee:	8d 47 08             	lea    0x8(%edi),%eax
4692f1:	50                   	push   %eax
4692f2:	e8 cd 83 fb ff       	call   0x4216c4
4692f7:	83 c4 0c             	add    $0xc,%esp
4692fa:	85 c0                	test   %eax,%eax
4692fc:	75 04                	jne    0x469302
4692fe:	d9 ee                	fldz
469300:	eb 5f                	jmp    0x469361
469302:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
469308:	83 e8 00             	sub    $0x0,%eax
46930b:	74 37                	je     0x469344
46930d:	48                   	dec    %eax
46930e:	74 1e                	je     0x46932e
469310:	89 75 fc             	mov    %esi,-0x4(%ebp)
469313:	db 45 fc             	fildl  -0x4(%ebp)
469316:	85 f6                	test   %esi,%esi
469318:	79 06                	jns    0x469320
46931a:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
469320:	dd 5d f0             	fstpl  -0x10(%ebp)
469323:	dd 45 f0             	fldl   -0x10(%ebp)
469326:	dc 0d a0 ba 4b 00    	fmull  0x4bbaa0
46932c:	eb 33                	jmp    0x469361
46932e:	8b c6                	mov    %esi,%eax
469330:	c1 ee 0c             	shr    $0xc,%esi
469333:	c1 e0 14             	shl    $0x14,%eax
469336:	81 ce 00 00 f0 3f    	or     $0x3ff00000,%esi
46933c:	89 45 fc             	mov    %eax,-0x4(%ebp)
46933f:	89 75 f8             	mov    %esi,-0x8(%ebp)
469342:	eb 14                	jmp    0x469358
469344:	8b c6                	mov    %esi,%eax
469346:	c1 ee 0c             	shr    $0xc,%esi
469349:	c1 e0 14             	shl    $0x14,%eax
46934c:	81 ce 00 00 f0 3f    	or     $0x3ff00000,%esi
469352:	89 45 f8             	mov    %eax,-0x8(%ebp)
469355:	89 75 fc             	mov    %esi,-0x4(%ebp)
469358:	dd 45 f8             	fldl   -0x8(%ebp)
46935b:	dc 25 a8 4b 4a 00    	fsubl  0x4a4ba8
469361:	5f                   	pop    %edi
469362:	5e                   	pop    %esi
469363:	8b e5                	mov    %ebp,%esp
469365:	5d                   	pop    %ebp
469366:	c3                   	ret
469367:	56                   	push   %esi
469368:	8b f1                	mov    %ecx,%esi
46936a:	e8 26 ff ff ff       	call   0x469295
46936f:	dd d8                	fstp   %st(0)
469371:	8b ce                	mov    %esi,%ecx
469373:	e8 1d ff ff ff       	call   0x469295
469378:	dc 0d b8 ba 4b 00    	fmull  0x4bbab8
46937e:	e8 4d 22 fd ff       	call   0x43b5d0
469383:	5e                   	pop    %esi
469384:	3d 00 01 00 00       	cmp    $0x100,%eax
469389:	7c 05                	jl     0x469390
46938b:	b8 ff 00 00 00       	mov    $0xff,%eax
469390:	c2 08 00             	ret    $0x8
469393:	55                   	push   %ebp
469394:	8b ec                	mov    %esp,%ebp
469396:	81 ec dc 00 00 00    	sub    $0xdc,%esp
46939c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
4693a2:	56                   	push   %esi
4693a3:	57                   	push   %edi
4693a4:	e8 40 fe ff ff       	call   0x4691e9
4693a9:	ff 75 10             	push   0x10(%ebp)
4693ac:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
4693b2:	e8 78 fe ff ff       	call   0x46922f
4693b7:	33 f6                	xor    %esi,%esi
4693b9:	39 75 0c             	cmp    %esi,0xc(%ebp)
4693bc:	76 19                	jbe    0x4693d7
4693be:	8b 7d 08             	mov    0x8(%ebp),%edi
4693c1:	51                   	push   %ecx
4693c2:	51                   	push   %ecx
4693c3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
4693c9:	e8 99 ff ff ff       	call   0x469367
4693ce:	30 04 3e             	xor    %al,(%esi,%edi,1)
4693d1:	46                   	inc    %esi
4693d2:	3b 75 0c             	cmp    0xc(%ebp),%esi
4693d5:	72 ea                	jb     0x4693c1
4693d7:	5f                   	pop    %edi
4693d8:	5e                   	pop    %esi
4693d9:	8b e5                	mov    %ebp,%esp
4693db:	5d                   	pop    %ebp
4693dc:	c2 0c 00             	ret    $0xc
4693df:	55                   	push   %ebp
4693e0:	8b ec                	mov    %esp,%ebp
4693e2:	b8 b8 11 00 00       	mov    $0x11b8,%eax
4693e7:	e8 a4 87 fc ff       	call   0x431b90
4693ec:	53                   	push   %ebx
4693ed:	56                   	push   %esi
4693ee:	57                   	push   %edi
4693ef:	33 ff                	xor    %edi,%edi
4693f1:	33 c0                	xor    %eax,%eax
4693f3:	8b d9                	mov    %ecx,%ebx
4693f5:	89 bd 54 fb ff ff    	mov    %edi,-0x4ac(%ebp)
4693fb:	68 00 00 01 00       	push   $0x10000
469400:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
469403:	89 bd 58 fb ff ff    	mov    %edi,-0x4a8(%ebp)
469409:	89 bd 5c fb ff ff    	mov    %edi,-0x4a4(%ebp)
46940f:	89 bd 60 fb ff ff    	mov    %edi,-0x4a0(%ebp)
469415:	89 bd 64 fb ff ff    	mov    %edi,-0x49c(%ebp)
46941b:	89 bd 68 fb ff ff    	mov    %edi,-0x498(%ebp)
469421:	89 bd 6c fb ff ff    	mov    %edi,-0x494(%ebp)
469427:	89 bd 70 fb ff ff    	mov    %edi,-0x490(%ebp)
46942d:	89 bd 74 fb ff ff    	mov    %edi,-0x48c(%ebp)
469433:	66 89 85 78 fb ff ff 	mov    %ax,-0x488(%ebp)
46943a:	66 89 85 80 fd ff ff 	mov    %ax,-0x280(%ebp)
469441:	89 7d a4             	mov    %edi,-0x5c(%ebp)
469444:	e8 ad 7b fb ff       	call   0x420ff6
469449:	59                   	pop    %ecx
46944a:	50                   	push   %eax
46944b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46944e:	e8 3b bf f9 ff       	call   0x40538e
469453:	8d 8d 74 f8 ff ff    	lea    -0x78c(%ebp),%ecx
469459:	e8 8b fd ff ff       	call   0x4691e9
46945e:	57                   	push   %edi
46945f:	ff 73 04             	push   0x4(%ebx)
469462:	33 f6                	xor    %esi,%esi