46523f:	7c 05                	jl     0x465246
465241:	3b 47 04             	cmp    0x4(%edi),%eax
465244:	73 16                	jae    0x46525c
465246:	6a 0a                	push   $0xa
465248:	ff 15 7c f1 48 00    	call   *0x48f17c
46524e:	80 3d b8 62 4c 00 00 	cmpb   $0x0,0x4c62b8
465255:	75 dd                	jne    0x465234
465257:	e9 ac 00 00 00       	jmp    0x465308
46525c:	33 db                	xor    %ebx,%ebx
46525e:	53                   	push   %ebx
46525f:	68 ca 51 46 00       	push   $0x4651ca
465264:	ff 37                	push   (%edi)
465266:	89 1d 14 75 4c 00    	mov    %ebx,0x4c7514
46526c:	ff 15 a8 f5 48 00    	call   *0x48f5a8
465272:	a1 14 75 4c 00       	mov    0x4c7514,%eax
465277:	85 c0                	test   %eax,%eax
465279:	0f 84 89 00 00 00    	je     0x465308
46527f:	53                   	push   %ebx
465280:	68 44 a2 4b 00       	push   $0x4ba244
465285:	53                   	push   %ebx
465286:	50                   	push   %eax
465287:	c6 05 b7 62 4c 00 01 	movb   $0x1,0x4c62b7
46528e:	ff 15 a4 f5 48 00    	call   *0x48f5a4
465294:	8b f8                	mov    %eax,%edi
465296:	85 ff                	test   %edi,%edi
465298:	74 36                	je     0x4652d0
46529a:	8b 0d 14 75 4c 00    	mov    0x4c7514,%ecx
4652a0:	b2 01                	mov    $0x1,%dl
4652a2:	e8 d6 e5 ff ff       	call   0x46387d
4652a7:	ff 35 14 75 4c 00    	push   0x4c7514
4652ad:	ff 15 a0 f5 48 00    	call   *0x48f5a0
4652b3:	53                   	push   %ebx
4652b4:	53                   	push   %ebx
4652b5:	68 f5 00 00 00       	push   $0xf5
4652ba:	57                   	push   %edi
4652bb:	ff 15 88 f6 48 00    	call   *0x48f688
4652c1:	8b 0d 14 75 4c 00    	mov    0x4c7514,%ecx
4652c7:	32 d2                	xor    %dl,%dl
4652c9:	e8 af e5 ff ff       	call   0x46387d
4652ce:	eb 38                	jmp    0x465308
4652d0:	53                   	push   %ebx
4652d1:	53                   	push   %ebx
4652d2:	6a 10                	push   $0x10
4652d4:	ff 35 14 75 4c 00    	push   0x4c7514
4652da:	ff 15 88 f6 48 00    	call   *0x48f688
4652e0:	68 fa 00 00 00       	push   $0xfa
4652e5:	ff 15 7c f1 48 00    	call   *0x48f17c
4652eb:	ff 35 14 75 4c 00    	push   0x4c7514
4652f1:	ff 15 48 f6 48 00    	call   *0x48f648
4652f7:	85 c0                	test   %eax,%eax
4652f9:	74 0d                	je     0x465308
4652fb:	53                   	push   %ebx
4652fc:	ff 35 14 75 4c 00    	push   0x4c7514
465302:	ff 15 10 f6 48 00    	call   *0x48f610
465308:	5f                   	pop    %edi
465309:	33 c0                	xor    %eax,%eax
46530b:	5b                   	pop    %ebx
46530c:	5d                   	pop    %ebp
46530d:	c2 04 00             	ret    $0x4
465310:	55                   	push   %ebp
465311:	8b ec                	mov    %esp,%ebp
465313:	56                   	push   %esi
465314:	57                   	push   %edi
465315:	8b 7d 10             	mov    0x10(%ebp),%edi
465318:	8b f2                	mov    %edx,%esi
46531a:	8b 3f                	mov    (%edi),%edi
46531c:	3b f9                	cmp    %ecx,%edi
46531e:	75 0e                	jne    0x46532e
465320:	8b 45 14             	mov    0x14(%ebp),%eax
465323:	39 30                	cmp    %esi,(%eax)
465325:	75 07                	jne    0x46532e
465327:	32 c0                	xor    %al,%al
465329:	e9 93 00 00 00       	jmp    0x4653c1
46532e:	53                   	push   %ebx
46532f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
465332:	3b f9                	cmp    %ecx,%edi
465334:	7d 20                	jge    0x465356
465336:	8b c1                	mov    %ecx,%eax
465338:	2b c7                	sub    %edi,%eax
46533a:	99                   	cltd
46533b:	f7 7d 08             	idivl  0x8(%ebp)
46533e:	85 c0                	test   %eax,%eax
465340:	74 04                	je     0x465346
465342:	3b c3                	cmp    %ebx,%eax
465344:	7d 02                	jge    0x465348
465346:	8b c3                	mov    %ebx,%eax
465348:	8d 14 07             	lea    (%edi,%eax,1),%edx
46534b:	8b 45 10             	mov    0x10(%ebp),%eax
46534e:	3b d1                	cmp    %ecx,%edx
465350:	7f 21                	jg     0x465373
465352:	89 10                	mov    %edx,(%eax)
465354:	eb 23                	jmp    0x465379
465356:	7e 21                	jle    0x465379
465358:	8b c7                	mov    %edi,%eax
46535a:	2b c1                	sub    %ecx,%eax
46535c:	99                   	cltd
46535d:	f7 7d 08             	idivl  0x8(%ebp)
465360:	85 c0                	test   %eax,%eax
465362:	74 04                	je     0x465368
465364:	3b c3                	cmp    %ebx,%eax
465366:	7d 02                	jge    0x46536a
465368:	8b c3                	mov    %ebx,%eax
46536a:	2b f8                	sub    %eax,%edi
46536c:	8b 45 10             	mov    0x10(%ebp),%eax
46536f:	3b f9                	cmp    %ecx,%edi
465371:	7d 04                	jge    0x465377
465373:	89 08                	mov    %ecx,(%eax)
465375:	eb 02                	jmp    0x465379
465377:	89 38                	mov    %edi,(%eax)
465379:	8b 7d 14             	mov    0x14(%ebp),%edi
46537c:	8b 0f                	mov    (%edi),%ecx
46537e:	3b ce                	cmp    %esi,%ecx
465380:	7d 1c                	jge    0x46539e
465382:	8b c6                	mov    %esi,%eax
465384:	2b c1                	sub    %ecx,%eax
465386:	99                   	cltd
465387:	f7 7d 08             	idivl  0x8(%ebp)
46538a:	85 c0                	test   %eax,%eax
46538c:	74 04                	je     0x465392
46538e:	3b c3                	cmp    %ebx,%eax
465390:	7d 02                	jge    0x465394
465392:	8b c3                	mov    %ebx,%eax
465394:	03 c1                	add    %ecx,%eax
465396:	3b c6                	cmp    %esi,%eax
465398:	7f 1e                	jg     0x4653b8
46539a:	89 07                	mov    %eax,(%edi)
46539c:	eb 20                	jmp    0x4653be
46539e:	7e 1e                	jle    0x4653be
4653a0:	8b c1                	mov    %ecx,%eax
4653a2:	2b c6                	sub    %esi,%eax
4653a4:	99                   	cltd
4653a5:	f7 7d 08             	idivl  0x8(%ebp)
4653a8:	85 c0                	test   %eax,%eax
4653aa:	74 04                	je     0x4653b0
4653ac:	3b c3                	cmp    %ebx,%eax
4653ae:	7d 02                	jge    0x4653b2
4653b0:	8b c3                	mov    %ebx,%eax
4653b2:	2b c8                	sub    %eax,%ecx
4653b4:	3b ce                	cmp    %esi,%ecx
4653b6:	7d 04                	jge    0x4653bc
4653b8:	89 37                	mov    %esi,(%edi)
4653ba:	eb 02                	jmp    0x4653be
4653bc:	89 0f                	mov    %ecx,(%edi)
4653be:	b0 01                	mov    $0x1,%al
4653c0:	5b                   	pop    %ebx
4653c1:	5f                   	pop    %edi
4653c2:	5e                   	pop    %esi
4653c3:	5d                   	pop    %ebp
4653c4:	c3                   	ret
4653c5:	55                   	push   %ebp
4653c6:	8b ec                	mov    %esp,%ebp
4653c8:	b8 20 00 01 00       	mov    $0x10020,%eax
4653cd:	e8 be c7 fc ff       	call   0x431b90
4653d2:	8b 09                	mov    (%ecx),%ecx
4653d4:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
4653da:	53                   	push   %ebx
4653db:	8a da                	mov    %dl,%bl
4653dd:	ba ff 7f 00 00       	mov    $0x7fff,%edx
4653e2:	50                   	push   %eax
4653e3:	e8 c2 f4 ff ff       	call   0x4648aa
4653e8:	59                   	pop    %ecx
4653e9:	8d 8d e0 ff fe ff    	lea    -0x10020(%ebp),%ecx
4653ef:	e8 df f8 ff ff       	call   0x464cd3
4653f4:	84 c0                	test   %al,%al
4653f6:	74 62                	je     0x46545a
4653f8:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
4653fe:	50                   	push   %eax
4653ff:	84 db                	test   %bl,%bl
465401:	75 0d                	jne    0x465410
465403:	ff 15 28 f2 48 00    	call   *0x48f228
465409:	85 c0                	test   %eax,%eax
46540b:	0f 95 c0             	setne  %al
46540e:	eb 4a                	jmp    0x46545a
465410:	e8 27 da fb ff       	call   0x422e3c
465415:	59                   	pop    %ecx
465416:	33 c9                	xor    %ecx,%ecx
465418:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
46541f:	66 89 8c 45 e2 ff fe 	mov    %cx,-0x1001e(%ebp,%eax,2)
465426:	ff
465427:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
46542d:	89 45 e8             	mov    %eax,-0x18(%ebp)
465430:	33 c0                	xor    %eax,%eax
465432:	89 45 ec             	mov    %eax,-0x14(%ebp)
465435:	89 45 f6             	mov    %eax,-0xa(%ebp)
465438:	89 45 fa             	mov    %eax,-0x6(%ebp)
46543b:	89 45 f2             	mov    %eax,-0xe(%ebp)
46543e:	89 45 e0             	mov    %eax,-0x20(%ebp)
465441:	b8 14 06 00 00       	mov    $0x614,%eax
465446:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
46544a:	8d 45 e0             	lea    -0x20(%ebp),%eax
46544d:	50                   	push   %eax
46544e:	ff 15 b4 f4 48 00    	call   *0x48f4b4
465454:	f7 d8                	neg    %eax
465456:	1a c0                	sbb    %al,%al
465458:	fe c0                	inc    %al
46545a:	5b                   	pop    %ebx
46545b:	8b e5                	mov    %ebp,%esp
46545d:	5d                   	pop    %ebp
46545e:	c3                   	ret
46545f:	55                   	push   %ebp
465460:	8b ec                	mov    %esp,%ebp
465462:	83 ec 10             	sub    $0x10,%esp
465465:	53                   	push   %ebx
465466:	56                   	push   %esi
465467:	8b d9                	mov    %ecx,%ebx
465469:	8b f2                	mov    %edx,%esi
46546b:	68 fc a3 4b 00       	push   $0x4ba3fc
465470:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465473:	e8 71 e3 ff ff       	call   0x4637e9
465478:	51                   	push   %ecx
465479:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46547c:	e8 42 38 ff ff       	call   0x458cc3
465481:	84 c0                	test   %al,%al
465483:	75 04                	jne    0x465489
465485:	33 f6                	xor    %esi,%esi
465487:	eb 4d                	jmp    0x4654d6
465489:	83 fb 20             	cmp    $0x20,%ebx
46548c:	74 3a                	je     0x4654c8
46548e:	83 fb 40             	cmp    $0x40,%ebx
465491:	74 31                	je     0x4654c4
465493:	f6 c3 0b             	test   $0xb,%bl
465496:	75 0b                	jne    0x4654a3
465498:	6a 00                	push   $0x0
46549a:	53                   	push   %ebx
46549b:	ff 15 9c f5 48 00    	call   *0x48f59c
4654a1:	eb 31                	jmp    0x4654d4
4654a3:	33 c9                	xor    %ecx,%ecx
4654a5:	f6 c3 14             	test   $0x14,%bl
4654a8:	74 01                	je     0x4654ab
4654aa:	41                   	inc    %ecx
4654ab:	33 c0                	xor    %eax,%eax
4654ad:	f6 c3 02             	test   $0x2,%bl
4654b0:	74 01                	je     0x4654b3
4654b2:	40                   	inc    %eax
4654b3:	56                   	push   %esi
4654b4:	50                   	push   %eax
4654b5:	51                   	push   %ecx
4654b6:	6a 00                	push   $0x0
4654b8:	6a 00                	push   $0x0
4654ba:	6a 00                	push   $0x0
4654bc:	ff 15 80 f0 48 00    	call   *0x48f080
4654c2:	eb 10                	jmp    0x4654d4
4654c4:	33 c0                	xor    %eax,%eax
4654c6:	eb 03                	jmp    0x4654cb
4654c8:	33 c0                	xor    %eax,%eax
4654ca:	40                   	inc    %eax
4654cb:	6a 00                	push   $0x0
4654cd:	50                   	push   %eax
4654ce:	ff 15 2c f2 48 00    	call   *0x48f22c
4654d4:	8b f0                	mov    %eax,%esi
4654d6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4654d9:	e8 35 32 ff ff       	call   0x458713
4654de:	8b c6                	mov    %esi,%eax
4654e0:	5e                   	pop    %esi
4654e1:	5b                   	pop    %ebx
4654e2:	8b e5                	mov    %ebp,%esp
4654e4:	5d                   	pop    %ebp
4654e5:	c3                   	ret
4654e6:	55                   	push   %ebp
4654e7:	8b ec                	mov    %esp,%ebp
4654e9:	83 ec 28             	sub    $0x28,%esp
4654ec:	56                   	push   %esi
4654ed:	8b f1                	mov    %ecx,%esi
4654ef:	85 f6                	test   %esi,%esi
4654f1:	78 71                	js     0x465564
4654f3:	75 04                	jne    0x4654f9
4654f5:	6a 00                	push   $0x0
4654f7:	eb 65                	jmp    0x46555e
4654f9:	83 fe 0f             	cmp    $0xf,%esi
4654fc:	73 5f                	jae    0x46555d
4654fe:	8d 45 f0             	lea    -0x10(%ebp),%eax
465501:	50                   	push   %eax
465502:	ff 15 bc f1 48 00    	call   *0x48f1bc
465508:	85 c0                	test   %eax,%eax
46550a:	74 51                	je     0x46555d
46550c:	8d 45 d8             	lea    -0x28(%ebp),%eax
46550f:	50                   	push   %eax
465510:	ff 15 30 f2 48 00    	call   *0x48f230
465516:	6a 00                	push   $0x0
465518:	ff 15 7c f1 48 00    	call   *0x48f17c
46551e:	8d 45 f8             	lea    -0x8(%ebp),%eax
465521:	50                   	push   %eax
465522:	ff 15 bc f1 48 00    	call   *0x48f1bc
465528:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46552b:	2b 4d f0             	sub    -0x10(%ebp),%ecx
46552e:	8b 45 fc             	mov    -0x4(%ebp),%eax
465531:	1b 45 f4             	sbb    -0xc(%ebp),%eax
465534:	89 4d e8             	mov    %ecx,-0x18(%ebp)
465537:	89 45 ec             	mov    %eax,-0x14(%ebp)
46553a:	df 6d e8             	fildll -0x18(%ebp)
46553d:	dd 5d e0             	fstpl  -0x20(%ebp)
465540:	dd 45 e0             	fldl   -0x20(%ebp)
465543:	df 6d d8             	fildll -0x28(%ebp)
465546:	dd 5d e0             	fstpl  -0x20(%ebp)
465549:	dc 75 e0             	fdivl  -0x20(%ebp)
46554c:	dc 0d e0 4b 4a 00    	fmull  0x4a4be0
465552:	e8 af 60 fd ff       	call   0x43b606
465557:	3b c6                	cmp    %esi,%eax
465559:	72 bb                	jb     0x465516
46555b:	eb 07                	jmp    0x465564
46555d:	56                   	push   %esi
46555e:	ff 15 7c f1 48 00    	call   *0x48f17c
465564:	5e                   	pop    %esi
465565:	8b e5                	mov    %ebp,%esp
465567:	5d                   	pop    %ebp
465568:	c3                   	ret
465569:	55                   	push   %ebp
46556a:	8b ec                	mov    %esp,%ebp
46556c:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
465572:	53                   	push   %ebx
465573:	56                   	push   %esi
465574:	57                   	push   %edi
465575:	8b f9                	mov    %ecx,%edi
465577:	8a da                	mov    %dl,%bl
465579:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46557c:	e8 46 22 fa ff       	call   0x4077c7
465581:	68 54 a3 4b 00       	push   $0x4ba354
465586:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465589:	e8 9e 27 fa ff       	call   0x407d2c
46558e:	6a 22                	push   $0x22
465590:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465593:	e8 ec 24 fa ff       	call   0x407a84
465598:	57                   	push   %edi
465599:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46559c:	e8 6a 28 fa ff       	call   0x407e0b
4655a1:	6a 22                	push   $0x22
4655a3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4655a6:	e8 d9 24 fa ff       	call   0x407a84
4655ab:	68 60 a3 4b 00       	push   $0x4ba360
4655b0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4655b3:	e8 53 28 fa ff       	call   0x407e0b
4655b8:	8b 35 c0 f7 48 00    	mov    0x48f7c0,%esi
4655be:	33 c0                	xor    %eax,%eax
4655c0:	50                   	push   %eax
4655c1:	68 00 01 00 00       	push   $0x100
4655c6:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4655cc:	50                   	push   %eax
4655cd:	68 7c a3 4b 00       	push   $0x4ba37c
4655d2:	ff d6                	call   *%esi
4655d4:	66 83 bd e8 fd ff ff 	cmpw   $0x0,-0x218(%ebp)
4655db:	00
4655dc:	74 0c                	je     0x4655ea
4655de:	33 c0                	xor    %eax,%eax
4655e0:	50                   	push   %eax
4655e1:	50                   	push   %eax
4655e2:	50                   	push   %eax
4655e3:	68 a4 a3 4b 00       	push   $0x4ba3a4
4655e8:	ff d6                	call   *%esi
4655ea:	33 c0                	xor    %eax,%eax
4655ec:	66 39 07             	cmp    %ax,(%edi)