4ed345:	8b 43 20             	mov    0x20(%ebx),%eax
4ed348:	e8 47 cc ff ff       	call   0x4e9f94
4ed34d:	50                   	push   %eax
4ed34e:	8b c6                	mov    %esi,%eax
4ed350:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4ed353:	ba 01 00 00 00       	mov    $0x1,%edx
4ed358:	51                   	push   %ecx
4ed359:	33 c9                	xor    %ecx,%ecx
4ed35b:	8b 68 04             	mov    0x4(%eax),%ebp
4ed35e:	ff 55 14             	call   *0x14(%ebp)
4ed361:	89 07                	mov    %eax,(%edi)
4ed363:	83 c7 04             	add    $0x4,%edi
4ed366:	ff 44 24 04          	incl   0x4(%esp)
4ed36a:	83 c3 54             	add    $0x54,%ebx
4ed36d:	8b 46 3c             	mov    0x3c(%esi),%eax
4ed370:	8b 54 24 04          	mov    0x4(%esp),%edx
4ed374:	3b c2                	cmp    %edx,%eax
4ed376:	7f be                	jg     0x4ed336
4ed378:	eb 36                	jmp    0x4ed3b0
4ed37a:	8b c6                	mov    %esi,%eax
4ed37c:	b9 00 05 00 00       	mov    $0x500,%ecx
4ed381:	ba 01 00 00 00       	mov    $0x1,%edx
4ed386:	8b 58 04             	mov    0x4(%eax),%ebx
4ed389:	ff 53 04             	call   *0x4(%ebx)
4ed38c:	8b c8                	mov    %eax,%ecx
4ed38e:	33 c0                	xor    %eax,%eax
4ed390:	8b 14 24             	mov    (%esp),%edx
4ed393:	83 c2 18             	add    $0x18,%edx
4ed396:	8b d8                	mov    %eax,%ebx
4ed398:	40                   	inc    %eax
4ed399:	c1 e3 07             	shl    $0x7,%ebx
4ed39c:	03 d9                	add    %ecx,%ebx
4ed39e:	89 1a                	mov    %ebx,(%edx)
4ed3a0:	83 c2 04             	add    $0x4,%edx
4ed3a3:	83 f8 0a             	cmp    $0xa,%eax
4ed3a6:	7c ee                	jl     0x4ed396
4ed3a8:	8b 04 24             	mov    (%esp),%eax
4ed3ab:	33 d2                	xor    %edx,%edx
4ed3ad:	89 50 40             	mov    %edx,0x40(%eax)
4ed3b0:	59                   	pop    %ecx
4ed3b1:	5a                   	pop    %edx
4ed3b2:	5d                   	pop    %ebp
4ed3b3:	5f                   	pop    %edi
4ed3b4:	5e                   	pop    %esi
4ed3b5:	5b                   	pop    %ebx
4ed3b6:	c3                   	ret
4ed3b7:	90                   	nop
4ed3b8:	53                   	push   %ebx
4ed3b9:	8b d8                	mov    %eax,%ebx
4ed3bb:	8b c3                	mov    %ebx,%eax
4ed3bd:	56                   	push   %esi
4ed3be:	51                   	push   %ecx
4ed3bf:	b9 00 20 00 00       	mov    $0x2000,%ecx
4ed3c4:	8b b3 60 01 00 00    	mov    0x160(%ebx),%esi
4ed3ca:	8b 58 04             	mov    0x4(%eax),%ebx
4ed3cd:	ba 01 00 00 00       	mov    $0x1,%edx
4ed3d2:	ff 13                	call   *(%ebx)
4ed3d4:	89 04 24             	mov    %eax,(%esp)
4ed3d7:	89 46 08             	mov    %eax,0x8(%esi)
4ed3da:	33 d2                	xor    %edx,%edx
4ed3dc:	8b 0c 24             	mov    (%esp),%ecx
4ed3df:	8b c1                	mov    %ecx,%eax
4ed3e1:	69 ca 8b 4c 00 00    	imul   $0x4c8b,%edx,%ecx
4ed3e7:	89 08                	mov    %ecx,(%eax)
4ed3e9:	69 ca 46 96 00 00    	imul   $0x9646,%edx,%ecx
4ed3ef:	89 88 00 04 00 00    	mov    %ecx,0x400(%eax)
4ed3f5:	69 ca 2f 1d 00 00    	imul   $0x1d2f,%edx,%ecx
4ed3fb:	81 c1 00 80 00 00    	add    $0x8000,%ecx
4ed401:	89 88 00 08 00 00    	mov    %ecx,0x800(%eax)
4ed407:	69 ca cd d4 ff ff    	imul   $0xffffd4cd,%edx,%ecx
4ed40d:	89 88 00 0c 00 00    	mov    %ecx,0xc00(%eax)
4ed413:	69 ca 33 ab ff ff    	imul   $0xffffab33,%edx,%ecx
4ed419:	89 88 00 10 00 00    	mov    %ecx,0x1000(%eax)
4ed41f:	8b ca                	mov    %edx,%ecx
4ed421:	c1 e1 0f             	shl    $0xf,%ecx
4ed424:	81 c1 ff 7f 80 00    	add    $0x807fff,%ecx
4ed42a:	89 88 00 14 00 00    	mov    %ecx,0x1400(%eax)
4ed430:	69 ca d1 94 ff ff    	imul   $0xffff94d1,%edx,%ecx
4ed436:	89 88 00 18 00 00    	mov    %ecx,0x1800(%eax)
4ed43c:	69 ca 2f eb ff ff    	imul   $0xffffeb2f,%edx,%ecx
4ed442:	89 88 00 1c 00 00    	mov    %ecx,0x1c00(%eax)
4ed448:	42                   	inc    %edx
4ed449:	83 c0 04             	add    $0x4,%eax
4ed44c:	81 fa ff 00 00 00    	cmp    $0xff,%edx
4ed452:	7e 8d                	jle    0x4ed3e1
4ed454:	5a                   	pop    %edx
4ed455:	5e                   	pop    %esi
4ed456:	5b                   	pop    %ebx
4ed457:	c3                   	ret
4ed458:	55                   	push   %ebp
4ed459:	8b ec                	mov    %esp,%ebp
4ed45b:	83 c4 e0             	add    $0xffffffe0,%esp
4ed45e:	53                   	push   %ebx
4ed45f:	56                   	push   %esi
4ed460:	57                   	push   %edi
4ed461:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ed464:	89 55 fc             	mov    %edx,-0x4(%ebp)
4ed467:	8b 90 60 01 00 00    	mov    0x160(%eax),%edx
4ed46d:	8b 72 08             	mov    0x8(%edx),%esi
4ed470:	8b 40 1c             	mov    0x1c(%eax),%eax
4ed473:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ed476:	e9 e1 00 00 00       	jmp    0x4ed55c
4ed47b:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ed47e:	8b 02                	mov    (%edx),%eax
4ed480:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
4ed484:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ed487:	8b 0a                	mov    (%edx),%ecx
4ed489:	8b 55 0c             	mov    0xc(%ebp),%edx
4ed48c:	8b 14 91             	mov    (%ecx,%edx,4),%edx
4ed48f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4ed492:	8b 49 04             	mov    0x4(%ecx),%ecx
4ed495:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4ed498:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
4ed49b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4ed49e:	8b 5b 08             	mov    0x8(%ebx),%ebx
4ed4a1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4ed4a4:	8b 1c bb             	mov    (%ebx,%edi,4),%ebx
4ed4a7:	ff 45 0c             	incl   0xc(%ebp)
4ed4aa:	33 ff                	xor    %edi,%edi
4ed4ac:	89 7d f0             	mov    %edi,-0x10(%ebp)
4ed4af:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4ed4b2:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4ed4b5:	89 55 e8             	mov    %edx,-0x18(%ebp)
4ed4b8:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ed4bb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4ed4be:	3b d1                	cmp    %ecx,%edx
4ed4c0:	0f 83 96 00 00 00    	jae    0x4ed55c
4ed4c6:	33 d2                	xor    %edx,%edx
4ed4c8:	33 c9                	xor    %ecx,%ecx
4ed4ca:	8a 48 01             	mov    0x1(%eax),%cl
4ed4cd:	8a 50 02             	mov    0x2(%eax),%dl
4ed4d0:	33 db                	xor    %ebx,%ebx
4ed4d2:	8a 18                	mov    (%eax),%bl
4ed4d4:	83 c0 03             	add    $0x3,%eax
4ed4d7:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4ed4da:	8b 1c 96             	mov    (%esi,%edx,4),%ebx
4ed4dd:	8b bc 8e 00 04 00 00 	mov    0x400(%esi,%ecx,4),%edi
4ed4e4:	03 df                	add    %edi,%ebx
4ed4e6:	8b 7d f4             	mov    -0xc(%ebp),%edi
4ed4e9:	8b bc be 00 08 00 00 	mov    0x800(%esi,%edi,4),%edi
4ed4f0:	03 df                	add    %edi,%ebx
4ed4f2:	8b 7d e8             	mov    -0x18(%ebp),%edi
4ed4f5:	c1 fb 10             	sar    $0x10,%ebx
4ed4f8:	88 1f                	mov    %bl,(%edi)
4ed4fa:	8b 9c 96 00 0c 00 00 	mov    0xc00(%esi,%edx,4),%ebx
4ed501:	8b bc 8e 00 10 00 00 	mov    0x1000(%esi,%ecx,4),%edi
4ed508:	03 df                	add    %edi,%ebx
4ed50a:	8b 7d f4             	mov    -0xc(%ebp),%edi
4ed50d:	8b bc be 00 14 00 00 	mov    0x1400(%esi,%edi,4),%edi
4ed514:	03 df                	add    %edi,%ebx
4ed516:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4ed519:	c1 fb 10             	sar    $0x10,%ebx
4ed51c:	88 1f                	mov    %bl,(%edi)
4ed51e:	8b 94 96 00 14 00 00 	mov    0x1400(%esi,%edx,4),%edx
4ed525:	8b 8c 8e 00 18 00 00 	mov    0x1800(%esi,%ecx,4),%ecx
4ed52c:	03 d1                	add    %ecx,%edx
4ed52e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4ed531:	8b 8c 8e 00 1c 00 00 	mov    0x1c00(%esi,%ecx,4),%ecx
4ed538:	03 d1                	add    %ecx,%edx
4ed53a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4ed53d:	c1 fa 10             	sar    $0x10,%edx
4ed540:	88 11                	mov    %dl,(%ecx)
4ed542:	ff 45 f0             	incl   -0x10(%ebp)
4ed545:	ff 45 e0             	incl   -0x20(%ebp)
4ed548:	ff 45 e4             	incl   -0x1c(%ebp)
4ed54b:	ff 45 e8             	incl   -0x18(%ebp)
4ed54e:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ed551:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4ed554:	3b d1                	cmp    %ecx,%edx
4ed556:	0f 82 6a ff ff ff    	jb     0x4ed4c6
4ed55c:	ff 4d 08             	decl   0x8(%ebp)
4ed55f:	0f 89 16 ff ff ff    	jns    0x4ed47b
4ed565:	5f                   	pop    %edi
4ed566:	5e                   	pop    %esi
4ed567:	5b                   	pop    %ebx
4ed568:	8b e5                	mov    %ebp,%esp
4ed56a:	5d                   	pop    %ebp
4ed56b:	c2 08 00             	ret    $0x8
4ed56e:	90                   	nop
4ed56f:	90                   	nop
4ed570:	55                   	push   %ebp
4ed571:	8b ec                	mov    %esp,%ebp
4ed573:	83 c4 e8             	add    $0xffffffe8,%esp
4ed576:	53                   	push   %ebx
4ed577:	56                   	push   %esi
4ed578:	57                   	push   %edi
4ed579:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ed57c:	89 55 fc             	mov    %edx,-0x4(%ebp)
4ed57f:	8b 90 60 01 00 00    	mov    0x160(%eax),%edx
4ed585:	8b 72 08             	mov    0x8(%edx),%esi
4ed588:	8b 40 1c             	mov    0x1c(%eax),%eax
4ed58b:	89 45 e8             	mov    %eax,-0x18(%ebp)
4ed58e:	eb 64                	jmp    0x4ed5f4
4ed590:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ed593:	8b 02                	mov    (%edx),%eax
4ed595:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
4ed599:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ed59c:	8b 0a                	mov    (%edx),%ecx
4ed59e:	8b 55 0c             	mov    0xc(%ebp),%edx
4ed5a1:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
4ed5a4:	ff 45 0c             	incl   0xc(%ebp)
4ed5a7:	33 d2                	xor    %edx,%edx
4ed5a9:	3b 55 e8             	cmp    -0x18(%ebp),%edx
4ed5ac:	73 46                	jae    0x4ed5f4
4ed5ae:	33 db                	xor    %ebx,%ebx
4ed5b0:	42                   	inc    %edx
4ed5b1:	8a 58 02             	mov    0x2(%eax),%bl
4ed5b4:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4ed5b7:	33 db                	xor    %ebx,%ebx
4ed5b9:	8a 58 01             	mov    0x1(%eax),%bl
4ed5bc:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4ed5bf:	33 db                	xor    %ebx,%ebx
4ed5c1:	8a 18                	mov    (%eax),%bl
4ed5c3:	83 c0 03             	add    $0x3,%eax
4ed5c6:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4ed5c9:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4ed5cc:	8b 7d f0             	mov    -0x10(%ebp),%edi
4ed5cf:	8b bc be 00 04 00 00 	mov    0x400(%esi,%edi,4),%edi
4ed5d6:	8b 1c 9e             	mov    (%esi,%ebx,4),%ebx
4ed5d9:	03 df                	add    %edi,%ebx
4ed5db:	8b 7d ec             	mov    -0x14(%ebp),%edi
4ed5de:	8b bc be 00 08 00 00 	mov    0x800(%esi,%edi,4),%edi
4ed5e5:	03 df                	add    %edi,%ebx
4ed5e7:	c1 fb 10             	sar    $0x10,%ebx
4ed5ea:	88 19                	mov    %bl,(%ecx)
4ed5ec:	41                   	inc    %ecx
4ed5ed:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4ed5f0:	3b d3                	cmp    %ebx,%edx
4ed5f2:	72 ba                	jb     0x4ed5ae
4ed5f4:	ff 4d 08             	decl   0x8(%ebp)
4ed5f7:	79 97                	jns    0x4ed590
4ed5f9:	5f                   	pop    %edi
4ed5fa:	5e                   	pop    %esi
4ed5fb:	5b                   	pop    %ebx
4ed5fc:	8b e5                	mov    %ebp,%esp
4ed5fe:	5d                   	pop    %ebp
4ed5ff:	c2 08 00             	ret    $0x8
4ed602:	90                   	nop
4ed603:	90                   	nop
4ed604:	55                   	push   %ebp
4ed605:	8b ec                	mov    %esp,%ebp
4ed607:	83 c4 d8             	add    $0xffffffd8,%esp
4ed60a:	53                   	push   %ebx
4ed60b:	56                   	push   %esi
4ed60c:	57                   	push   %edi
4ed60d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ed610:	89 55 fc             	mov    %edx,-0x4(%ebp)
4ed613:	8b 90 60 01 00 00    	mov    0x160(%eax),%edx
4ed619:	8b 72 08             	mov    0x8(%edx),%esi
4ed61c:	8b 40 1c             	mov    0x1c(%eax),%eax
4ed61f:	89 45 e8             	mov    %eax,-0x18(%ebp)
4ed622:	e9 1c 01 00 00       	jmp    0x4ed743
4ed627:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ed62a:	8b 02                	mov    (%edx),%eax
4ed62c:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
4ed630:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ed633:	8b 0a                	mov    (%edx),%ecx
4ed635:	8b 55 0c             	mov    0xc(%ebp),%edx
4ed638:	8b 14 91             	mov    (%ecx,%edx,4),%edx
4ed63b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4ed63e:	8b 49 04             	mov    0x4(%ecx),%ecx
4ed641:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4ed644:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
4ed647:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4ed64a:	8b 5b 08             	mov    0x8(%ebx),%ebx
4ed64d:	8b 7d 0c             	mov    0xc(%ebp),%edi
4ed650:	8b 1c bb             	mov    (%ebx,%edi,4),%ebx
4ed653:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4ed656:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4ed659:	8b 5b 0c             	mov    0xc(%ebx),%ebx
4ed65c:	8b 7d 0c             	mov    0xc(%ebp),%edi
4ed65f:	8b 1c bb             	mov    (%ebx,%edi,4),%ebx
4ed662:	ff 45 0c             	incl   0xc(%ebp)
4ed665:	33 ff                	xor    %edi,%edi
4ed667:	89 7d ec             	mov    %edi,-0x14(%ebp)
4ed66a:	8b 7d f0             	mov    -0x10(%ebp),%edi
4ed66d:	89 7d d8             	mov    %edi,-0x28(%ebp)
4ed670:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4ed673:	89 55 e0             	mov    %edx,-0x20(%ebp)
4ed676:	8b d3                	mov    %ebx,%edx
4ed678:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4ed67b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4ed67e:	8b 55 e8             	mov    -0x18(%ebp),%edx
4ed681:	3b ca                	cmp    %edx,%ecx
4ed683:	0f 83 ba 00 00 00    	jae    0x4ed743
4ed689:	33 c9                	xor    %ecx,%ecx
4ed68b:	ba ff 00 00 00       	mov    $0xff,%edx
4ed690:	8a 08                	mov    (%eax),%cl
4ed692:	bf ff 00 00 00       	mov    $0xff,%edi
4ed697:	2b d1                	sub    %ecx,%edx
4ed699:	33 c9                	xor    %ecx,%ecx
4ed69b:	8a 48 01             	mov    0x1(%eax),%cl
4ed69e:	51                   	push   %ecx
4ed69f:	b9 ff 00 00 00       	mov    $0xff,%ecx
4ed6a4:	5b                   	pop    %ebx
4ed6a5:	2b cb                	sub    %ebx,%ecx
4ed6a7:	33 db                	xor    %ebx,%ebx
4ed6a9:	8a 58 02             	mov    0x2(%eax),%bl
4ed6ac:	2b fb                	sub    %ebx,%edi
4ed6ae:	89 7d f4             	mov    %edi,-0xc(%ebp)
4ed6b1:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4ed6b4:	8b fb                	mov    %ebx,%edi
4ed6b6:	8a 58 03             	mov    0x3(%eax),%bl
4ed6b9:	83 c0 04             	add    $0x4,%eax
4ed6bc:	88 1f                	mov    %bl,(%edi)
4ed6be:	8b 1c 96             	mov    (%esi,%edx,4),%ebx
4ed6c1:	8b bc 8e 00 04 00 00 	mov    0x400(%esi,%ecx,4),%edi
4ed6c8:	03 df                	add    %edi,%ebx
4ed6ca:	8b 7d f4             	mov    -0xc(%ebp),%edi
4ed6cd:	8b bc be 00 08 00 00 	mov    0x800(%esi,%edi,4),%edi
4ed6d4:	03 df                	add    %edi,%ebx
4ed6d6:	8b 7d e0             	mov    -0x20(%ebp),%edi
4ed6d9:	c1 fb 10             	sar    $0x10,%ebx
4ed6dc:	88 1f                	mov    %bl,(%edi)
4ed6de:	8b 9c 96 00 0c 00 00 	mov    0xc00(%esi,%edx,4),%ebx
4ed6e5:	8b bc 8e 00 10 00 00 	mov    0x1000(%esi,%ecx,4),%edi
4ed6ec:	03 df                	add    %edi,%ebx
4ed6ee:	8b 7d f4             	mov    -0xc(%ebp),%edi
4ed6f1:	8b bc be 00 14 00 00 	mov    0x1400(%esi,%edi,4),%edi
4ed6f8:	03 df                	add    %edi,%ebx
4ed6fa:	8b 7d dc             	mov    -0x24(%ebp),%edi
4ed6fd:	c1 fb 10             	sar    $0x10,%ebx
4ed700:	88 1f                	mov    %bl,(%edi)
4ed702:	8b 94 96 00 14 00 00 	mov    0x1400(%esi,%edx,4),%edx
4ed709:	8b 8c 8e 00 18 00 00 	mov    0x1800(%esi,%ecx,4),%ecx
4ed710:	03 d1                	add    %ecx,%edx
4ed712:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4ed715:	8b 8c 8e 00 1c 00 00 	mov    0x1c00(%esi,%ecx,4),%ecx
4ed71c:	03 d1                	add    %ecx,%edx
4ed71e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4ed721:	c1 fa 10             	sar    $0x10,%edx
4ed724:	88 11                	mov    %dl,(%ecx)
4ed726:	ff 45 ec             	incl   -0x14(%ebp)
4ed729:	ff 45 d8             	incl   -0x28(%ebp)
4ed72c:	ff 45 dc             	incl   -0x24(%ebp)
4ed72f:	ff 45 e0             	incl   -0x20(%ebp)
4ed732:	ff 45 e4             	incl   -0x1c(%ebp)
4ed735:	8b 55 ec             	mov    -0x14(%ebp),%edx
4ed738:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4ed73b:	3b d1                	cmp    %ecx,%edx
4ed73d:	0f 82 46 ff ff ff    	jb     0x4ed689
4ed743:	ff 4d 08             	decl   0x8(%ebp)
4ed746:	0f 89 db fe ff ff    	jns    0x4ed627
4ed74c:	5f                   	pop    %edi
4ed74d:	5e                   	pop    %esi
4ed74e:	5b                   	pop    %ebx
4ed74f:	8b e5                	mov    %ebp,%esp
4ed751:	5d                   	pop    %ebp
4ed752:	c2 08 00             	ret    $0x8
4ed755:	90                   	nop