4de612:	8b 45 f0             	mov    -0x10(%ebp),%eax
4de615:	5e                   	pop    %esi
4de616:	5b                   	pop    %ebx
4de617:	8b e5                	mov    %ebp,%esp
4de619:	5d                   	pop    %ebp
4de61a:	c2 04 00             	ret    $0x4
4de61d:	90                   	nop
4de61e:	90                   	nop
4de61f:	90                   	nop
4de620:	55                   	push   %ebp
4de621:	8b ec                	mov    %esp,%ebp
4de623:	83 c4 e8             	add    $0xffffffe8,%esp
4de626:	53                   	push   %ebx
4de627:	56                   	push   %esi
4de628:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4de62b:	89 55 f8             	mov    %edx,-0x8(%ebp)
4de62e:	89 45 fc             	mov    %eax,-0x4(%ebp)
4de631:	8b 45 fc             	mov    -0x4(%ebp),%eax
4de634:	8b 70 04             	mov    0x4(%eax),%esi
4de637:	8b 45 f4             	mov    -0xc(%ebp),%eax
4de63a:	c1 e0 07             	shl    $0x7,%eax
4de63d:	50                   	push   %eax
4de63e:	b8 f0 c9 9a 3b       	mov    $0x3b9ac9f0,%eax
4de643:	5a                   	pop    %edx
4de644:	8b ca                	mov    %edx,%ecx
4de646:	33 d2                	xor    %edx,%edx
4de648:	f7 f1                	div    %ecx
4de64a:	8b d8                	mov    %eax,%ebx
4de64c:	85 db                	test   %ebx,%ebx
4de64e:	7f 13                	jg     0x4de663
4de650:	8b 45 fc             	mov    -0x4(%ebp),%eax
4de653:	8b 10                	mov    (%eax),%edx
4de655:	c7 42 14 46 00 00 00 	movl   $0x46,0x14(%edx)
4de65c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4de65f:	8b 10                	mov    (%eax),%edx
4de661:	ff 12                	call   *(%edx)
4de663:	8b 4d 08             	mov    0x8(%ebp),%ecx
4de666:	3b d9                	cmp    %ecx,%ebx
4de668:	7d 05                	jge    0x4de66f
4de66a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4de66d:	eb 06                	jmp    0x4de675
4de66f:	8b 45 08             	mov    0x8(%ebp),%eax
4de672:	89 45 ec             	mov    %eax,-0x14(%ebp)
4de675:	8b 55 ec             	mov    -0x14(%ebp),%edx
4de678:	89 56 50             	mov    %edx,0x50(%esi)
4de67b:	8b 4d 08             	mov    0x8(%ebp),%ecx
4de67e:	c1 e1 02             	shl    $0x2,%ecx
4de681:	8b 55 f8             	mov    -0x8(%ebp),%edx
4de684:	8b 45 fc             	mov    -0x4(%ebp),%eax
4de687:	e8 d8 fc ff ff       	call   0x4de364
4de68c:	89 45 f0             	mov    %eax,-0x10(%ebp)
4de68f:	33 c9                	xor    %ecx,%ecx
4de691:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4de694:	8b 45 e8             	mov    -0x18(%ebp),%eax
4de697:	8b 55 08             	mov    0x8(%ebp),%edx
4de69a:	3b c2                	cmp    %edx,%eax
4de69c:	73 65                	jae    0x4de703
4de69e:	8b 4d 08             	mov    0x8(%ebp),%ecx
4de6a1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4de6a4:	2b c8                	sub    %eax,%ecx
4de6a6:	8b 55 ec             	mov    -0x14(%ebp),%edx
4de6a9:	3b ca                	cmp    %edx,%ecx
4de6ab:	76 05                	jbe    0x4de6b2
4de6ad:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4de6b0:	eb 08                	jmp    0x4de6ba
4de6b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4de6b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4de6b8:	2b c8                	sub    %eax,%ecx
4de6ba:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4de6bd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4de6c0:	0f af 4d f4          	imul   -0xc(%ebp),%ecx
4de6c4:	c1 e1 07             	shl    $0x7,%ecx
4de6c7:	8b 55 f8             	mov    -0x8(%ebp),%edx
4de6ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4de6cd:	e8 ca fd ff ff       	call   0x4de49c
4de6d2:	8b d0                	mov    %eax,%edx
4de6d4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4de6d7:	8b 45 f0             	mov    -0x10(%ebp),%eax
4de6da:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4de6dd:	8d 04 98             	lea    (%eax,%ebx,4),%eax
4de6e0:	85 c9                	test   %ecx,%ecx
4de6e2:	76 15                	jbe    0x4de6f9
4de6e4:	89 10                	mov    %edx,(%eax)
4de6e6:	ff 45 e8             	incl   -0x18(%ebp)
4de6e9:	83 c0 04             	add    $0x4,%eax
4de6ec:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4de6ef:	c1 e3 07             	shl    $0x7,%ebx
4de6f2:	03 d3                	add    %ebx,%edx
4de6f4:	49                   	dec    %ecx
4de6f5:	85 c9                	test   %ecx,%ecx
4de6f7:	77 eb                	ja     0x4de6e4
4de6f9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4de6fc:	8b 55 08             	mov    0x8(%ebp),%edx
4de6ff:	3b c2                	cmp    %edx,%eax
4de701:	72 9b                	jb     0x4de69e
4de703:	8b 45 f0             	mov    -0x10(%ebp),%eax
4de706:	5e                   	pop    %esi
4de707:	5b                   	pop    %ebx
4de708:	8b e5                	mov    %ebp,%esp
4de70a:	5d                   	pop    %ebp
4de70b:	c2 04 00             	ret    $0x4
4de70e:	90                   	nop
4de70f:	90                   	nop
4de710:	55                   	push   %ebp
4de711:	8b ec                	mov    %esp,%ebp
4de713:	51                   	push   %ecx
4de714:	53                   	push   %ebx
4de715:	8b d8                	mov    %eax,%ebx
4de717:	56                   	push   %esi
4de718:	57                   	push   %edi
4de719:	8b fa                	mov    %edx,%edi
4de71b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4de71e:	83 ff 01             	cmp    $0x1,%edi
4de721:	8b 73 04             	mov    0x4(%ebx),%esi
4de724:	74 12                	je     0x4de738
4de726:	8b 03                	mov    (%ebx),%eax
4de728:	c7 40 14 0e 00 00 00 	movl   $0xe,0x14(%eax)
4de72f:	89 78 18             	mov    %edi,0x18(%eax)
4de732:	8b c3                	mov    %ebx,%eax
4de734:	8b 10                	mov    (%eax),%edx
4de736:	ff 12                	call   *(%edx)
4de738:	b9 80 00 00 00       	mov    $0x80,%ecx
4de73d:	8b d7                	mov    %edi,%edx
4de73f:	8b c3                	mov    %ebx,%eax
4de741:	e8 1e fc ff ff       	call   0x4de364
4de746:	33 c9                	xor    %ecx,%ecx
4de748:	89 08                	mov    %ecx,(%eax)
4de74a:	8b 55 0c             	mov    0xc(%ebp),%edx
4de74d:	89 50 04             	mov    %edx,0x4(%eax)
4de750:	8b 4d 10             	mov    0x10(%ebp),%ecx
4de753:	89 48 08             	mov    %ecx,0x8(%eax)
4de756:	8b 55 08             	mov    0x8(%ebp),%edx
4de759:	89 50 0c             	mov    %edx,0xc(%eax)
4de75c:	33 d2                	xor    %edx,%edx
4de75e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4de761:	89 48 20             	mov    %ecx,0x20(%eax)
4de764:	89 50 28             	mov    %edx,0x28(%eax)
4de767:	8b 4e 44             	mov    0x44(%esi),%ecx
4de76a:	89 48 2c             	mov    %ecx,0x2c(%eax)
4de76d:	89 46 44             	mov    %eax,0x44(%esi)
4de770:	5f                   	pop    %edi
4de771:	5e                   	pop    %esi
4de772:	5b                   	pop    %ebx
4de773:	59                   	pop    %ecx
4de774:	5d                   	pop    %ebp
4de775:	c2 0c 00             	ret    $0xc
4de778:	55                   	push   %ebp
4de779:	8b ec                	mov    %esp,%ebp
4de77b:	51                   	push   %ecx
4de77c:	53                   	push   %ebx
4de77d:	8b d8                	mov    %eax,%ebx
4de77f:	56                   	push   %esi
4de780:	57                   	push   %edi
4de781:	8b fa                	mov    %edx,%edi
4de783:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4de786:	83 ff 01             	cmp    $0x1,%edi
4de789:	8b 73 04             	mov    0x4(%ebx),%esi
4de78c:	74 12                	je     0x4de7a0
4de78e:	8b 03                	mov    (%ebx),%eax
4de790:	c7 40 14 0e 00 00 00 	movl   $0xe,0x14(%eax)
4de797:	89 78 18             	mov    %edi,0x18(%eax)
4de79a:	8b c3                	mov    %ebx,%eax
4de79c:	8b 10                	mov    (%eax),%edx
4de79e:	ff 12                	call   *(%edx)
4de7a0:	b9 80 00 00 00       	mov    $0x80,%ecx
4de7a5:	8b d7                	mov    %edi,%edx
4de7a7:	8b c3                	mov    %ebx,%eax
4de7a9:	e8 b6 fb ff ff       	call   0x4de364
4de7ae:	33 c9                	xor    %ecx,%ecx
4de7b0:	89 08                	mov    %ecx,(%eax)
4de7b2:	8b 55 0c             	mov    0xc(%ebp),%edx
4de7b5:	89 50 04             	mov    %edx,0x4(%eax)
4de7b8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4de7bb:	89 48 08             	mov    %ecx,0x8(%eax)
4de7be:	8b 55 08             	mov    0x8(%ebp),%edx
4de7c1:	89 50 0c             	mov    %edx,0xc(%eax)
4de7c4:	33 d2                	xor    %edx,%edx
4de7c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4de7c9:	89 48 20             	mov    %ecx,0x20(%eax)
4de7cc:	89 50 28             	mov    %edx,0x28(%eax)
4de7cf:	8b 4e 48             	mov    0x48(%esi),%ecx
4de7d2:	89 48 2c             	mov    %ecx,0x2c(%eax)
4de7d5:	89 46 48             	mov    %eax,0x48(%esi)
4de7d8:	5f                   	pop    %edi
4de7d9:	5e                   	pop    %esi
4de7da:	5b                   	pop    %ebx
4de7db:	59                   	pop    %ecx
4de7dc:	5d                   	pop    %ebp
4de7dd:	c2 0c 00             	ret    $0xc
4de7e0:	53                   	push   %ebx
4de7e1:	56                   	push   %esi
4de7e2:	57                   	push   %edi
4de7e3:	8b f8                	mov    %eax,%edi
4de7e5:	55                   	push   %ebp
4de7e6:	51                   	push   %ecx
4de7e7:	8b 6f 04             	mov    0x4(%edi),%ebp
4de7ea:	33 c0                	xor    %eax,%eax
4de7ec:	89 04 24             	mov    %eax,(%esp)
4de7ef:	33 f6                	xor    %esi,%esi
4de7f1:	8b 5d 44             	mov    0x44(%ebp),%ebx
4de7f4:	85 db                	test   %ebx,%ebx
4de7f6:	74 28                	je     0x4de820
4de7f8:	8b 03                	mov    (%ebx),%eax
4de7fa:	85 c0                	test   %eax,%eax
4de7fc:	75 1b                	jne    0x4de819
4de7fe:	8b 43 08             	mov    0x8(%ebx),%eax
4de801:	8b 53 0c             	mov    0xc(%ebx),%edx
4de804:	0f af d0             	imul   %eax,%edx
4de807:	03 d6                	add    %esi,%edx
4de809:	8b 0c 24             	mov    (%esp),%ecx
4de80c:	8b f2                	mov    %edx,%esi
4de80e:	8b 53 04             	mov    0x4(%ebx),%edx
4de811:	0f af d0             	imul   %eax,%edx
4de814:	03 d1                	add    %ecx,%edx
4de816:	89 14 24             	mov    %edx,(%esp)
4de819:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4de81c:	85 db                	test   %ebx,%ebx
4de81e:	75 d8                	jne    0x4de7f8
4de820:	8b 5d 48             	mov    0x48(%ebp),%ebx
4de823:	85 db                	test   %ebx,%ebx
4de825:	74 2e                	je     0x4de855
4de827:	8b 03                	mov    (%ebx),%eax
4de829:	85 c0                	test   %eax,%eax
4de82b:	75 21                	jne    0x4de84e
4de82d:	8b 53 0c             	mov    0xc(%ebx),%edx
4de830:	8b 43 08             	mov    0x8(%ebx),%eax
4de833:	0f af d0             	imul   %eax,%edx
4de836:	c1 e2 07             	shl    $0x7,%edx
4de839:	03 d6                	add    %esi,%edx
4de83b:	8b f2                	mov    %edx,%esi
4de83d:	8b 53 04             	mov    0x4(%ebx),%edx
4de840:	0f af d0             	imul   %eax,%edx
4de843:	c1 e2 07             	shl    $0x7,%edx
4de846:	8b 0c 24             	mov    (%esp),%ecx
4de849:	03 d1                	add    %ecx,%edx
4de84b:	89 14 24             	mov    %edx,(%esp)
4de84e:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4de851:	85 db                	test   %ebx,%ebx
4de853:	75 d2                	jne    0x4de827
4de855:	85 f6                	test   %esi,%esi
4de857:	0f 8e 1c 01 00 00    	jle    0x4de979
4de85d:	8b 45 4c             	mov    0x4c(%ebp),%eax
4de860:	8b d6                	mov    %esi,%edx
4de862:	50                   	push   %eax
4de863:	8b c7                	mov    %edi,%eax
4de865:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4de869:	e8 9e 07 00 00       	call   0x4df00c
4de86e:	8b c8                	mov    %eax,%ecx
4de870:	8b 14 24             	mov    (%esp),%edx
4de873:	3b ca                	cmp    %edx,%ecx
4de875:	7c 07                	jl     0x4de87e
4de877:	be 00 ca 9a 3b       	mov    $0x3b9aca00,%esi
4de87c:	eb 10                	jmp    0x4de88e
4de87e:	8b c1                	mov    %ecx,%eax
4de880:	99                   	cltd
4de881:	f7 fe                	idiv   %esi
4de883:	8b f0                	mov    %eax,%esi
4de885:	85 f6                	test   %esi,%esi
4de887:	7f 05                	jg     0x4de88e
4de889:	be 01 00 00 00       	mov    $0x1,%esi
4de88e:	8b 5d 44             	mov    0x44(%ebp),%ebx
4de891:	85 db                	test   %ebx,%ebx
4de893:	74 6d                	je     0x4de902
4de895:	8b 03                	mov    (%ebx),%eax
4de897:	85 c0                	test   %eax,%eax
4de899:	75 60                	jne    0x4de8fb
4de89b:	8b 4b 04             	mov    0x4(%ebx),%ecx
4de89e:	8b c1                	mov    %ecx,%eax
4de8a0:	48                   	dec    %eax
4de8a1:	33 d2                	xor    %edx,%edx
4de8a3:	f7 73 0c             	divl   0xc(%ebx)
4de8a6:	40                   	inc    %eax
4de8a7:	3b f0                	cmp    %eax,%esi
4de8a9:	7c 05                	jl     0x4de8b0
4de8ab:	89 4b 10             	mov    %ecx,0x10(%ebx)
4de8ae:	eb 21                	jmp    0x4de8d1
4de8b0:	8b ce                	mov    %esi,%ecx
4de8b2:	8d 53 30             	lea    0x30(%ebx),%edx
4de8b5:	0f af 4b 0c          	imul   0xc(%ebx),%ecx
4de8b9:	89 4b 10             	mov    %ecx,0x10(%ebx)
4de8bc:	8b c7                	mov    %edi,%eax
4de8be:	8b 4b 04             	mov    0x4(%ebx),%ecx
4de8c1:	0f af 4b 08          	imul   0x8(%ebx),%ecx
4de8c5:	e8 4e 07 00 00       	call   0x4df018
4de8ca:	c7 43 28 01 00 00 00 	movl   $0x1,0x28(%ebx)
4de8d1:	8b 43 10             	mov    0x10(%ebx),%eax
4de8d4:	ba 01 00 00 00       	mov    $0x1,%edx
4de8d9:	50                   	push   %eax
4de8da:	8b c7                	mov    %edi,%eax
4de8dc:	8b 4b 08             	mov    0x8(%ebx),%ecx
4de8df:	e8 5c fc ff ff       	call   0x4de540
4de8e4:	89 03                	mov    %eax,(%ebx)
4de8e6:	33 c9                	xor    %ecx,%ecx
4de8e8:	8b 55 50             	mov    0x50(%ebp),%edx
4de8eb:	33 c0                	xor    %eax,%eax
4de8ed:	89 53 14             	mov    %edx,0x14(%ebx)
4de8f0:	89 4b 18             	mov    %ecx,0x18(%ebx)
4de8f3:	89 43 1c             	mov    %eax,0x1c(%ebx)
4de8f6:	33 d2                	xor    %edx,%edx
4de8f8:	89 53 24             	mov    %edx,0x24(%ebx)
4de8fb:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4de8fe:	85 db                	test   %ebx,%ebx
4de900:	75 93                	jne    0x4de895
4de902:	8b 5d 48             	mov    0x48(%ebp),%ebx
4de905:	85 db                	test   %ebx,%ebx
4de907:	74 70                	je     0x4de979
4de909:	8b 03                	mov    (%ebx),%eax
4de90b:	85 c0                	test   %eax,%eax
4de90d:	75 63                	jne    0x4de972
4de90f:	8b 4b 04             	mov    0x4(%ebx),%ecx
4de912:	8b c1                	mov    %ecx,%eax
4de914:	48                   	dec    %eax
4de915:	33 d2                	xor    %edx,%edx
4de917:	f7 73 0c             	divl   0xc(%ebx)
4de91a:	40                   	inc    %eax
4de91b:	3b f0                	cmp    %eax,%esi
4de91d:	7c 05                	jl     0x4de924
4de91f:	89 4b 10             	mov    %ecx,0x10(%ebx)
4de922:	eb 24                	jmp    0x4de948
4de924:	8b ce                	mov    %esi,%ecx
4de926:	8d 53 30             	lea    0x30(%ebx),%edx
4de929:	0f af 4b 0c          	imul   0xc(%ebx),%ecx
4de92d:	89 4b 10             	mov    %ecx,0x10(%ebx)
4de930:	8b c7                	mov    %edi,%eax
4de932:	8b 4b 04             	mov    0x4(%ebx),%ecx
4de935:	0f af 4b 08          	imul   0x8(%ebx),%ecx
4de939:	c1 e1 07             	shl    $0x7,%ecx
4de93c:	e8 d7 06 00 00       	call   0x4df018
4de941:	c7 43 28 01 00 00 00 	movl   $0x1,0x28(%ebx)
4de948:	8b 43 10             	mov    0x10(%ebx),%eax
4de94b:	ba 01 00 00 00       	mov    $0x1,%edx
4de950:	50                   	push   %eax
4de951:	8b c7                	mov    %edi,%eax
4de953:	8b 4b 08             	mov    0x8(%ebx),%ecx
4de956:	e8 c5 fc ff ff       	call   0x4de620
4de95b:	89 03                	mov    %eax,(%ebx)
4de95d:	33 c9                	xor    %ecx,%ecx
4de95f:	8b 55 50             	mov    0x50(%ebp),%edx
4de962:	33 c0                	xor    %eax,%eax
4de964:	89 53 14             	mov    %edx,0x14(%ebx)
4de967:	89 4b 18             	mov    %ecx,0x18(%ebx)
4de96a:	89 43 1c             	mov    %eax,0x1c(%ebx)
4de96d:	33 d2                	xor    %edx,%edx
4de96f:	89 53 24             	mov    %edx,0x24(%ebx)
4de972:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4de975:	85 db                	test   %ebx,%ebx
4de977:	75 90                	jne    0x4de909
4de979:	5a                   	pop    %edx
4de97a:	5d                   	pop    %ebp
4de97b:	5f                   	pop    %edi