4d8401:	8b c6                	mov    %esi,%eax
4d8403:	f7 6d 08             	imull  0x8(%ebp)
4d8406:	03 45 0c             	add    0xc(%ebp),%eax
4d8409:	8b 55 f8             	mov    -0x8(%ebp),%edx
4d840c:	8a 0c 02             	mov    (%edx,%eax,1),%cl
4d840f:	b0 01                	mov    $0x1,%al
4d8411:	eb 01                	jmp    0x4d8414
4d8413:	40                   	inc    %eax
4d8414:	33 d2                	xor    %edx,%edx
4d8416:	8a d0                	mov    %al,%dl
4d8418:	8b da                	mov    %edx,%ebx
4d841a:	03 de                	add    %esi,%ebx
4d841c:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
4d841f:	7d 15                	jge    0x4d8436
4d8421:	03 d6                	add    %esi,%edx
4d8423:	0f af 55 08          	imul   0x8(%ebp),%edx
4d8427:	03 55 0c             	add    0xc(%ebp),%edx
4d842a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4d842d:	3a 0c 13             	cmp    (%ebx,%edx,1),%cl
4d8430:	75 04                	jne    0x4d8436
4d8432:	3c 3f                	cmp    $0x3f,%al
4d8434:	72 dd                	jb     0x4d8413
4d8436:	3c 01                	cmp    $0x1,%al
4d8438:	77 05                	ja     0x4d843f
4d843a:	80 f9 bf             	cmp    $0xbf,%cl
4d843d:	76 1f                	jbe    0x4d845e
4d843f:	8b 55 fc             	mov    -0x4(%ebp),%edx
4d8442:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4d8445:	03 d3                	add    %ebx,%edx
4d8447:	52                   	push   %edx
4d8448:	8b d0                	mov    %eax,%edx
4d844a:	80 ca c0             	or     $0xc0,%dl
4d844d:	5b                   	pop    %ebx
4d844e:	88 13                	mov    %dl,(%ebx)
4d8450:	ff 45 f0             	incl   -0x10(%ebp)
4d8453:	8b 55 fc             	mov    -0x4(%ebp),%edx
4d8456:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4d8459:	88 0c 1a             	mov    %cl,(%edx,%ebx,1)
4d845c:	eb 09                	jmp    0x4d8467
4d845e:	8b 55 fc             	mov    -0x4(%ebp),%edx
4d8461:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4d8464:	88 0c 1a             	mov    %cl,(%edx,%ebx,1)
4d8467:	ff 45 f0             	incl   -0x10(%ebp)
4d846a:	25 ff 00 00 00       	and    $0xff,%eax
4d846f:	03 f0                	add    %eax,%esi
4d8471:	3b 75 f4             	cmp    -0xc(%ebp),%esi
4d8474:	7c 8b                	jl     0x4d8401
4d8476:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
4d847a:	74 0d                	je     0x4d8489
4d847c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d847f:	8b 55 f0             	mov    -0x10(%ebp),%edx
4d8482:	c6 04 10 00          	movb   $0x0,(%eax,%edx,1)
4d8486:	ff 45 f0             	incl   -0x10(%ebp)
4d8489:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d848c:	5e                   	pop    %esi
4d848d:	5b                   	pop    %ebx
4d848e:	8b e5                	mov    %ebp,%esp
4d8490:	5d                   	pop    %ebp
4d8491:	c2 08 00             	ret    $0x8
4d8494:	55                   	push   %ebp
4d8495:	8b ec                	mov    %esp,%ebp
4d8497:	81 c4 14 fc ff ff    	add    $0xfffffc14,%esp
4d849d:	53                   	push   %ebx
4d849e:	56                   	push   %esi
4d849f:	57                   	push   %edi
4d84a0:	8b d9                	mov    %ecx,%ebx
4d84a2:	8b fa                	mov    %edx,%edi
4d84a4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4d84a7:	8b 45 08             	mov    0x8(%ebp),%eax
4d84aa:	8b 40 28             	mov    0x28(%eax),%eax
4d84ad:	89 85 40 fc ff ff    	mov    %eax,-0x3c0(%ebp)
4d84b3:	33 c0                	xor    %eax,%eax
4d84b5:	89 85 18 fc ff ff    	mov    %eax,-0x3e8(%ebp)
4d84bb:	89 85 1c fc ff ff    	mov    %eax,-0x3e4(%ebp)
4d84c1:	33 c0                	xor    %eax,%eax
4d84c3:	89 85 20 fc ff ff    	mov    %eax,-0x3e0(%ebp)
4d84c9:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
4d84cd:	8b 03                	mov    (%ebx),%eax
4d84cf:	8b 40 08             	mov    0x8(%eax),%eax
4d84d2:	83 f8 01             	cmp    $0x1,%eax
4d84d5:	75 4f                	jne    0x4d8526
4d84d7:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4d84de:	8b c7                	mov    %edi,%eax
4d84e0:	8b 10                	mov    (%eax),%edx
4d84e2:	ff 52 10             	call   *0x10(%edx)
4d84e5:	3c 01                	cmp    $0x1,%al
4d84e7:	75 04                	jne    0x4d84ed
4d84e9:	8b f7                	mov    %edi,%esi
4d84eb:	eb 74                	jmp    0x4d8561
4d84ed:	8d 4d ed             	lea    -0x13(%ebp),%ecx
4d84f0:	8d 55 f0             	lea    -0x10(%ebp),%edx
4d84f3:	8b c7                	mov    %edi,%eax
4d84f5:	e8 1a 33 0d 00       	call   0x5ab814
4d84fa:	8b f0                	mov    %eax,%esi
4d84fc:	85 f6                	test   %esi,%esi
4d84fe:	75 20                	jne    0x4d8520
4d8500:	b2 01                	mov    $0x1,%dl
4d8502:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
4d8507:	e8 98 f0 11 00       	call   0x5f75a4
4d850c:	8b f0                	mov    %eax,%esi
4d850e:	8b d7                	mov    %edi,%edx
4d8510:	8b c6                	mov    %esi,%eax
4d8512:	8b 08                	mov    (%eax),%ecx
4d8514:	ff 51 28             	call   *0x28(%ecx)
4d8517:	b2 01                	mov    $0x1,%dl
4d8519:	8b c6                	mov    %esi,%eax
4d851b:	e8 98 fc 11 00       	call   0x5f81b8
4d8520:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
4d8524:	eb 3b                	jmp    0x4d8561
4d8526:	8b 13                	mov    (%ebx),%edx
4d8528:	f7 6a 10             	imull  0x10(%edx)
4d852b:	89 45 f4             	mov    %eax,-0xc(%ebp)
4d852e:	8b c7                	mov    %edi,%eax
4d8530:	8b 10                	mov    (%eax),%edx
4d8532:	ff 52 10             	call   *0x10(%edx)
4d8535:	3c 05                	cmp    $0x5,%al
4d8537:	75 04                	jne    0x4d853d
4d8539:	8b f7                	mov    %edi,%esi
4d853b:	eb 24                	jmp    0x4d8561
4d853d:	b2 01                	mov    $0x1,%dl
4d853f:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
4d8544:	e8 5b f0 11 00       	call   0x5f75a4
4d8549:	8b f0                	mov    %eax,%esi
4d854b:	8b d7                	mov    %edi,%edx
4d854d:	8b c6                	mov    %esi,%eax
4d854f:	8b 08                	mov    (%eax),%ecx
4d8551:	ff 51 28             	call   *0x28(%ecx)
4d8554:	b2 05                	mov    $0x5,%dl
4d8556:	8b c6                	mov    %esi,%eax
4d8558:	e8 5b fc 11 00       	call   0x5f81b8
4d855d:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
4d8561:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4d8564:	bf 01 00 00 00       	mov    $0x1,%edi
4d8569:	d3 e7                	shl    %cl,%edi
4d856b:	33 c0                	xor    %eax,%eax
4d856d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4d8570:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
4d8576:	ba 80 00 00 00       	mov    $0x80,%edx
4d857b:	e8 54 f9 f2 ff       	call   0x407ed4
4d8580:	c6 85 48 ff ff ff 0a 	movb   $0xa,-0xb8(%ebp)
4d8587:	8b 03                	mov    (%ebx),%eax
4d8589:	8a 80 fc 00 00 00    	mov    0xfc(%eax),%al
4d858f:	88 85 49 ff ff ff    	mov    %al,-0xb7(%ebp)
4d8595:	8b 03                	mov    (%ebx),%eax
4d8597:	80 b8 00 01 00 00 00 	cmpb   $0x0,0x100(%eax)
4d859e:	75 09                	jne    0x4d85a9
4d85a0:	c6 85 4a ff ff ff 00 	movb   $0x0,-0xb6(%ebp)
4d85a7:	eb 07                	jmp    0x4d85b0
4d85a9:	c6 85 4a ff ff ff 01 	movb   $0x1,-0xb6(%ebp)
4d85b0:	66 c7 85 4c ff ff ff 	movw   $0x0,-0xb4(%ebp)
4d85b7:	00 00
4d85b9:	66 c7 85 4e ff ff ff 	movw   $0x0,-0xb2(%ebp)
4d85c0:	00 00
4d85c2:	8b c6                	mov    %esi,%eax
4d85c4:	8b 10                	mov    (%eax),%edx
4d85c6:	ff 52 0c             	call   *0xc(%edx)
4d85c9:	48                   	dec    %eax
4d85ca:	66 89 85 50 ff ff ff 	mov    %ax,-0xb0(%ebp)
4d85d1:	8b c6                	mov    %esi,%eax
4d85d3:	8b 10                	mov    (%eax),%edx
4d85d5:	ff 52 08             	call   *0x8(%edx)
4d85d8:	48                   	dec    %eax
4d85d9:	66 89 85 52 ff ff ff 	mov    %ax,-0xae(%ebp)
4d85e0:	8b 03                	mov    (%ebx),%eax
4d85e2:	66 8b 40 1c          	mov    0x1c(%eax),%ax
4d85e6:	66 89 85 54 ff ff ff 	mov    %ax,-0xac(%ebp)
4d85ed:	8b 03                	mov    (%ebx),%eax
4d85ef:	66 8b 40 20          	mov    0x20(%eax),%ax
4d85f3:	66 89 85 56 ff ff ff 	mov    %ax,-0xaa(%ebp)
4d85fa:	66 c7 45 8c 01 00    	movw   $0x1,-0x74(%ebp)
4d8600:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d8603:	48                   	dec    %eax
4d8604:	74 20                	je     0x4d8626
4d8606:	83 e8 03             	sub    $0x3,%eax
4d8609:	0f 84 94 00 00 00    	je     0x4d86a3
4d860f:	83 e8 04             	sub    $0x4,%eax
4d8612:	0f 84 f9 00 00 00    	je     0x4d8711
4d8618:	83 e8 10             	sub    $0x10,%eax
4d861b:	0f 84 3f 01 00 00    	je     0x4d8760
4d8621:	e9 56 01 00 00       	jmp    0x4d877c
4d8626:	c6 85 4b ff ff ff 01 	movb   $0x1,-0xb5(%ebp)
4d862d:	c6 45 89 01          	movb   $0x1,-0x77(%ebp)
4d8631:	8b c6                	mov    %esi,%eax
4d8633:	8b 10                	mov    (%eax),%edx
4d8635:	ff 52 0c             	call   *0xc(%edx)
4d8638:	85 c0                	test   %eax,%eax
4d863a:	79 03                	jns    0x4d863f
4d863c:	83 c0 07             	add    $0x7,%eax
4d863f:	c1 f8 03             	sar    $0x3,%eax
4d8642:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d8646:	8b c6                	mov    %esi,%eax
4d8648:	8b 10                	mov    (%eax),%edx
4d864a:	ff 52 0c             	call   *0xc(%edx)
4d864d:	25 07 00 00 80       	and    $0x80000007,%eax
4d8652:	79 05                	jns    0x4d8659
4d8654:	48                   	dec    %eax
4d8655:	83 c8 f8             	or     $0xfffffff8,%eax
4d8658:	40                   	inc    %eax
4d8659:	85 c0                	test   %eax,%eax
4d865b:	74 04                	je     0x4d8661
4d865d:	66 ff 45 8a          	incw   -0x76(%ebp)
4d8661:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
4d8665:	66 89 85 58 ff ff ff 	mov    %ax,-0xa8(%ebp)
4d866c:	8a 45 f2             	mov    -0xe(%ebp),%al
4d866f:	88 85 5a ff ff ff    	mov    %al,-0xa6(%ebp)
4d8675:	66 8b 45 ed          	mov    -0x13(%ebp),%ax
4d8679:	66 89 85 5b ff ff ff 	mov    %ax,-0xa5(%ebp)
4d8680:	8a 45 ef             	mov    -0x11(%ebp),%al
4d8683:	88 85 5d ff ff ff    	mov    %al,-0xa3(%ebp)
4d8689:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
4d868f:	b9 02 00 00 00       	mov    $0x2,%ecx
4d8694:	ba 0f 00 00 00       	mov    $0xf,%edx
4d8699:	e8 2a 93 0d 00       	call   0x5b19c8
4d869e:	e9 d9 00 00 00       	jmp    0x4d877c
4d86a3:	c6 85 4b ff ff ff 04 	movb   $0x4,-0xb5(%ebp)
4d86aa:	c6 45 89 01          	movb   $0x1,-0x77(%ebp)
4d86ae:	8b c6                	mov    %esi,%eax
4d86b0:	8b 10                	mov    (%eax),%edx
4d86b2:	ff 52 0c             	call   *0xc(%edx)
4d86b5:	d1 f8                	sar    $1,%eax
4d86b7:	79 03                	jns    0x4d86bc
4d86b9:	83 d0 00             	adc    $0x0,%eax
4d86bc:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d86c0:	8b c6                	mov    %esi,%eax
4d86c2:	8b 10                	mov    (%eax),%edx
4d86c4:	ff 52 0c             	call   *0xc(%edx)
4d86c7:	25 01 00 00 80       	and    $0x80000001,%eax
4d86cc:	79 05                	jns    0x4d86d3
4d86ce:	48                   	dec    %eax
4d86cf:	83 c8 fe             	or     $0xfffffffe,%eax
4d86d2:	40                   	inc    %eax
4d86d3:	85 c0                	test   %eax,%eax
4d86d5:	74 04                	je     0x4d86db
4d86d7:	66 ff 45 8a          	incw   -0x76(%ebp)
4d86db:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
4d86e1:	50                   	push   %eax
4d86e2:	6a 0f                	push   $0xf
4d86e4:	57                   	push   %edi
4d86e5:	6a ff                	push   $0xffffffff
4d86e7:	6a 00                	push   $0x0
4d86e9:	8b ce                	mov    %esi,%ecx
4d86eb:	b2 01                	mov    $0x1,%dl
4d86ed:	a1 08 ee 53 00       	mov    0x53ee08,%eax
4d86f2:	e8 6d 72 06 00       	call   0x53f964
4d86f7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4d86fa:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
4d8700:	b9 10 00 00 00       	mov    $0x10,%ecx
4d8705:	ba 0f 00 00 00       	mov    $0xf,%edx
4d870a:	e8 b9 92 0d 00       	call   0x5b19c8
4d870f:	eb 6b                	jmp    0x4d877c
4d8711:	c6 85 4b ff ff ff 08 	movb   $0x8,-0xb5(%ebp)
4d8718:	c6 45 89 01          	movb   $0x1,-0x77(%ebp)
4d871c:	8b c6                	mov    %esi,%eax
4d871e:	8b 10                	mov    (%eax),%edx
4d8720:	ff 52 0c             	call   *0xc(%edx)
4d8723:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d8727:	8d 85 48 fc ff ff    	lea    -0x3b8(%ebp),%eax
4d872d:	50                   	push   %eax
4d872e:	68 ff 00 00 00       	push   $0xff
4d8733:	57                   	push   %edi
4d8734:	6a ff                	push   $0xffffffff
4d8736:	6a 00                	push   $0x0
4d8738:	8b ce                	mov    %esi,%ecx
4d873a:	b2 01                	mov    $0x1,%dl
4d873c:	a1 08 ee 53 00       	mov    0x53ee08,%eax
4d8741:	e8 1e 72 06 00       	call   0x53f964
4d8746:	89 45 f8             	mov    %eax,-0x8(%ebp)
4d8749:	8d 85 48 fc ff ff    	lea    -0x3b8(%ebp),%eax
4d874f:	b9 00 01 00 00       	mov    $0x100,%ecx
4d8754:	ba ff 00 00 00       	mov    $0xff,%edx
4d8759:	e8 6a 92 0d 00       	call   0x5b19c8
4d875e:	eb 1c                	jmp    0x4d877c
4d8760:	c6 85 4b ff ff ff 08 	movb   $0x8,-0xb5(%ebp)
4d8767:	c6 45 89 03          	movb   $0x3,-0x77(%ebp)
4d876b:	8b c6                	mov    %esi,%eax
4d876d:	8b 10                	mov    (%eax),%edx
4d876f:	ff 52 0c             	call   *0xc(%edx)
4d8772:	66 89 45 8a          	mov    %ax,-0x76(%ebp)
4d8776:	66 c7 45 8c 00 00    	movw   $0x0,-0x74(%ebp)
4d877c:	f6 45 8a 01          	testb  $0x1,-0x76(%ebp)
4d8780:	74 04                	je     0x4d8786
4d8782:	66 ff 45 8a          	incw   -0x76(%ebp)
4d8786:	68 80 00 00 00       	push   $0x80
4d878b:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
4d8791:	8b 55 08             	mov    0x8(%ebp),%edx
4d8794:	8b 52 28             	mov    0x28(%edx),%edx
4d8797:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d879a:	e8 5d d7 11 00       	call   0x5f5efc
4d879f:	8b c6                	mov    %esi,%eax
4d87a1:	8b 10                	mov    (%eax),%edx
4d87a3:	ff 52 0c             	call   *0xc(%edx)
4d87a6:	8d 04 40             	lea    (%eax,%eax,2),%eax
4d87a9:	83 c0 08             	add    $0x8,%eax
4d87ac:	e8 fb 9f f2 ff       	call   0x4027ac
4d87b1:	89 45 dc             	mov    %eax,-0x24(%ebp)
4d87b4:	8b c6                	mov    %esi,%eax
4d87b6:	8b 10                	mov    (%eax),%edx
4d87b8:	ff 52 0c             	call   *0xc(%edx)
4d87bb:	83 c0 08             	add    $0x8,%eax
4d87be:	e8 e9 9f f2 ff       	call   0x4027ac
4d87c3:	89 45 d8             	mov    %eax,-0x28(%ebp)
4d87c6:	8b c6                	mov    %esi,%eax
4d87c8:	8b 10                	mov    (%eax),%edx
4d87ca:	ff 52 08             	call   *0x8(%edx)
4d87cd:	89 85 14 fc ff ff    	mov    %eax,-0x3ec(%ebp)
4d87d3:	db 85 14 fc ff ff    	fildl  -0x3ec(%ebp)
4d87d9:	d8 3d 08 8b 4d 00    	fdivrs 0x4d8b08
4d87df:	8b 45 08             	mov    0x8(%ebp),%eax
4d87e2:	dd 58 18             	fstpl  0x18(%eax)
4d87e5:	9b                   	fwait
4d87e6:	8b c6                	mov    %esi,%eax
4d87e8:	8b 10                	mov    (%eax),%edx
4d87ea:	ff 52 08             	call   *0x8(%edx)
4d87ed:	8b d8                	mov    %eax,%ebx
4d87ef:	4b                   	dec    %ebx
4d87f0:	8b c6                	mov    %esi,%eax
4d87f2:	8b 10                	mov    (%eax),%edx
4d87f4:	ff 52 0c             	call   *0xc(%edx)
4d87f7:	48                   	dec    %eax
4d87f8:	89 45 d0             	mov    %eax,-0x30(%ebp)
4d87fb:	85 db                	test   %ebx,%ebx
4d87fd:	0f 8c 90 02 00 00    	jl     0x4d8a93
4d8803:	43                   	inc    %ebx
4d8804:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4d8807:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4d880e:	8b 45 08             	mov    0x8(%ebp),%eax
4d8811:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4d8816:	74 1e                	je     0x4d8836
4d8818:	db 45 e4             	fildl  -0x1c(%ebp)
4d881b:	8b 45 08             	mov    0x8(%ebp),%eax
4d881e:	dc 48 18             	fmull  0x18(%eax)
4d8821:	e8 a6 a4 f2 ff       	call   0x402ccc
4d8826:	8b c8                	mov    %eax,%ecx
4d8828:	8b 5d 08             	mov    0x8(%ebp),%ebx
4d882b:	8b 55 08             	mov    0x8(%ebp),%edx
4d882e:	8b 52 08             	mov    0x8(%edx),%edx
4d8831:	8b 43 04             	mov    0x4(%ebx),%eax
4d8834:	ff 13                	call   *(%ebx)
4d8836:	8b 45 08             	mov    0x8(%ebp),%eax
4d8839:	8b 40 28             	mov    0x28(%eax),%eax
4d883c:	80 38 00             	cmpb   $0x0,(%eax)
4d883f:	0f 85 4e 02 00 00    	jne    0x4d8a93
4d8845:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4d8848:	8b c6                	mov    %esi,%eax
4d884a:	8b 08                	mov    (%eax),%ecx
4d884c:	ff 11                	call   *(%ecx)
4d884e:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d8851:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d8854:	48                   	dec    %eax
4d8855:	0f 84 c4 01 00 00    	je     0x4d8a1f