4945dd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4945e0:	50                   	push   %eax
4945e1:	8b c6                	mov    %esi,%eax
4945e3:	e8 38 05 f7 ff       	call   0x404b20
4945e8:	50                   	push   %eax
4945e9:	8b c6                	mov    %esi,%eax
4945eb:	e8 28 07 f7 ff       	call   0x404d18
4945f0:	50                   	push   %eax
4945f1:	8b c3                	mov    %ebx,%eax
4945f3:	e8 c8 46 f9 ff       	call   0x428cc0
4945f8:	50                   	push   %eax
4945f9:	e8 3a 33 f7 ff       	call   0x407938
4945fe:	eb 25                	jmp    0x494625
494600:	83 cf 05             	or     $0x5,%edi
494603:	57                   	push   %edi
494604:	8d 45 f0             	lea    -0x10(%ebp),%eax
494607:	50                   	push   %eax
494608:	8b c6                	mov    %esi,%eax
49460a:	e8 11 05 f7 ff       	call   0x404b20
49460f:	50                   	push   %eax
494610:	8b c6                	mov    %esi,%eax
494612:	e8 01 07 f7 ff       	call   0x404d18
494617:	50                   	push   %eax
494618:	8b c3                	mov    %ebx,%eax
49461a:	e8 a1 46 f9 ff       	call   0x428cc0
49461f:	50                   	push   %eax
494620:	e8 13 33 f7 ff       	call   0x407938
494625:	5f                   	pop    %edi
494626:	5e                   	pop    %esi
494627:	5b                   	pop    %ebx
494628:	8b e5                	mov    %ebp,%esp
49462a:	5d                   	pop    %ebp
49462b:	c2 0c 00             	ret    $0xc
49462e:	8b c0                	mov    %eax,%eax
494630:	55                   	push   %ebp
494631:	8b ec                	mov    %esp,%ebp
494633:	83 c4 c0             	add    $0xffffffc0,%esp
494636:	53                   	push   %ebx
494637:	56                   	push   %esi
494638:	57                   	push   %edi
494639:	8b d9                	mov    %ecx,%ebx
49463b:	89 55 f8             	mov    %edx,-0x8(%ebp)
49463e:	89 45 fc             	mov    %eax,-0x4(%ebp)
494641:	8b 7d 0c             	mov    0xc(%ebp),%edi
494644:	8b 75 10             	mov    0x10(%ebp),%esi
494647:	8b 45 08             	mov    0x8(%ebp),%eax
49464a:	83 e0 02             	and    $0x2,%eax
49464d:	83 f8 02             	cmp    $0x2,%eax
494650:	75 16                	jne    0x494668
494652:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
494656:	75 06                	jne    0x49465e
494658:	c6 45 1c 01          	movb   $0x1,0x1c(%ebp)
49465c:	eb 0a                	jmp    0x494668
49465e:	80 7d 1c 01          	cmpb   $0x1,0x1c(%ebp)
494662:	75 04                	jne    0x494668
494664:	c6 45 1c 00          	movb   $0x0,0x1c(%ebp)
494668:	8b 53 0c             	mov    0xc(%ebx),%edx
49466b:	2b 53 04             	sub    0x4(%ebx),%edx
49466e:	8b 43 08             	mov    0x8(%ebx),%eax
494671:	2b 03                	sub    (%ebx),%eax
494673:	8d 4d e8             	lea    -0x18(%ebp),%ecx
494676:	e8 d1 5f f8 ff       	call   0x41a64c
49467b:	8b 45 fc             	mov    -0x4(%ebp),%eax
49467e:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
494682:	74 2e                	je     0x4946b2
494684:	8b 45 fc             	mov    -0x4(%ebp),%eax
494687:	8b 40 04             	mov    0x4(%eax),%eax
49468a:	8b 10                	mov    (%eax),%edx
49468c:	ff 52 20             	call   *0x20(%edx)
49468f:	50                   	push   %eax
494690:	8b 45 fc             	mov    -0x4(%ebp),%eax
494693:	8b 40 04             	mov    0x4(%eax),%eax
494696:	8b 10                	mov    (%eax),%edx
494698:	ff 52 2c             	call   *0x2c(%edx)
49469b:	8b 55 fc             	mov    -0x4(%ebp),%edx
49469e:	0f b6 52 20          	movzbl 0x20(%edx),%edx
4946a2:	8b ca                	mov    %edx,%ecx
4946a4:	99                   	cltd
4946a5:	f7 f9                	idiv   %ecx
4946a7:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4946aa:	5a                   	pop    %edx
4946ab:	e8 9c 5f f8 ff       	call   0x41a64c
4946b0:	eb 0c                	jmp    0x4946be
4946b2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4946b5:	33 d2                	xor    %edx,%edx
4946b7:	33 c0                	xor    %eax,%eax
4946b9:	e8 8e 5f f8 ff       	call   0x41a64c
4946be:	8b 45 20             	mov    0x20(%ebp),%eax
4946c1:	e8 5a 04 f7 ff       	call   0x404b20
4946c6:	85 c0                	test   %eax,%eax
4946c8:	7e 5e                	jle    0x494728
4946ca:	6a 00                	push   $0x0
4946cc:	8d 45 c0             	lea    -0x40(%ebp),%eax
4946cf:	50                   	push   %eax
4946d0:	8b 4b 08             	mov    0x8(%ebx),%ecx
4946d3:	2b 0b                	sub    (%ebx),%ecx
4946d5:	33 d2                	xor    %edx,%edx
4946d7:	33 c0                	xor    %eax,%eax
4946d9:	e8 96 5f f8 ff       	call   0x41a674
4946de:	56                   	push   %esi
4946df:	57                   	push   %edi
4946e0:	8d 75 c0             	lea    -0x40(%ebp),%esi
4946e3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4946e7:	5f                   	pop    %edi
4946e8:	5e                   	pop    %esi
4946e9:	8b 45 08             	mov    0x8(%ebp),%eax
4946ec:	0d 00 04 00 00       	or     $0x400,%eax
4946f1:	50                   	push   %eax
4946f2:	57                   	push   %edi
4946f3:	8b 45 20             	mov    0x20(%ebp),%eax
4946f6:	e8 25 04 f7 ff       	call   0x404b20
4946fb:	50                   	push   %eax
4946fc:	8b 45 20             	mov    0x20(%ebp),%eax
4946ff:	e8 14 06 f7 ff       	call   0x404d18
494704:	50                   	push   %eax
494705:	8b 45 f8             	mov    -0x8(%ebp),%eax
494708:	e8 b3 45 f9 ff       	call   0x428cc0
49470d:	50                   	push   %eax
49470e:	e8 25 32 f7 ff       	call   0x407938
494713:	8b 57 0c             	mov    0xc(%edi),%edx
494716:	2b 57 04             	sub    0x4(%edi),%edx
494719:	8b 47 08             	mov    0x8(%edi),%eax
49471c:	2b 07                	sub    (%edi),%eax
49471e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
494721:	e8 26 5f f8 ff       	call   0x41a64c
494726:	eb 28                	jmp    0x494750
494728:	6a 00                	push   $0x0
49472a:	8d 45 c0             	lea    -0x40(%ebp),%eax
49472d:	50                   	push   %eax
49472e:	33 c9                	xor    %ecx,%ecx
494730:	33 d2                	xor    %edx,%edx
494732:	33 c0                	xor    %eax,%eax
494734:	e8 3b 5f f8 ff       	call   0x41a674
494739:	56                   	push   %esi
49473a:	57                   	push   %edi
49473b:	8d 75 c0             	lea    -0x40(%ebp),%esi
49473e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
49473f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494740:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494741:	a5                   	movsl  %ds:(%esi),%es:(%edi)
494742:	5f                   	pop    %edi
494743:	5e                   	pop    %esi
494744:	8d 4d d8             	lea    -0x28(%ebp),%ecx
494747:	33 d2                	xor    %edx,%edx
494749:	33 c0                	xor    %eax,%eax
49474b:	e8 fc 5e f8 ff       	call   0x41a64c
494750:	8a 45 1c             	mov    0x1c(%ebp),%al
494753:	2c 02                	sub    $0x2,%al
494755:	73 23                	jae    0x49477a
494757:	8b 45 ec             	mov    -0x14(%ebp),%eax
49475a:	8b d0                	mov    %eax,%edx
49475c:	2b 55 e4             	sub    -0x1c(%ebp),%edx
49475f:	42                   	inc    %edx
494760:	d1 fa                	sar    $1,%edx
494762:	79 03                	jns    0x494767
494764:	83 d2 00             	adc    $0x0,%edx
494767:	89 56 04             	mov    %edx,0x4(%esi)
49476a:	2b 45 dc             	sub    -0x24(%ebp),%eax
49476d:	40                   	inc    %eax
49476e:	d1 f8                	sar    $1,%eax
494770:	79 03                	jns    0x494775
494772:	83 d0 00             	adc    $0x0,%eax
494775:	89 45 f4             	mov    %eax,-0xc(%ebp)
494778:	eb 20                	jmp    0x49479a
49477a:	8b 45 e8             	mov    -0x18(%ebp),%eax
49477d:	8b d0                	mov    %eax,%edx
49477f:	2b 55 e0             	sub    -0x20(%ebp),%edx
494782:	42                   	inc    %edx
494783:	d1 fa                	sar    $1,%edx
494785:	79 03                	jns    0x49478a
494787:	83 d2 00             	adc    $0x0,%edx
49478a:	89 16                	mov    %edx,(%esi)
49478c:	2b 45 d8             	sub    -0x28(%ebp),%eax
49478f:	40                   	inc    %eax
494790:	d1 f8                	sar    $1,%eax
494792:	79 03                	jns    0x494797
494794:	83 d0 00             	adc    $0x0,%eax
494797:	89 45 f0             	mov    %eax,-0x10(%ebp)
49479a:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
49479e:	74 06                	je     0x4947a6
4947a0:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
4947a4:	75 05                	jne    0x4947ab
4947a6:	33 c0                	xor    %eax,%eax
4947a8:	89 45 14             	mov    %eax,0x14(%ebp)
4947ab:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
4947af:	0f 85 97 00 00 00    	jne    0x49484c
4947b5:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
4947b9:	75 4a                	jne    0x494805
4947bb:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4947be:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4947c1:	03 55 dc             	add    -0x24(%ebp),%edx
4947c4:	8b 45 e0             	mov    -0x20(%ebp),%eax
4947c7:	03 45 d8             	add    -0x28(%ebp),%eax
4947ca:	e8 7d 5e f8 ff       	call   0x41a64c
4947cf:	8a 45 1c             	mov    0x1c(%ebp),%al
4947d2:	2c 02                	sub    $0x2,%al
4947d4:	73 13                	jae    0x4947e9
4947d6:	8b 45 e8             	mov    -0x18(%ebp),%eax
4947d9:	2b 45 d0             	sub    -0x30(%ebp),%eax
4947dc:	b9 03 00 00 00       	mov    $0x3,%ecx
4947e1:	99                   	cltd
4947e2:	f7 f9                	idiv   %ecx
4947e4:	89 45 18             	mov    %eax,0x18(%ebp)
4947e7:	eb 11                	jmp    0x4947fa
4947e9:	8b 45 ec             	mov    -0x14(%ebp),%eax
4947ec:	2b 45 d4             	sub    -0x2c(%ebp),%eax
4947ef:	b9 03 00 00 00       	mov    $0x3,%ecx
4947f4:	99                   	cltd
4947f5:	f7 f9                	idiv   %ecx
4947f7:	89 45 18             	mov    %eax,0x18(%ebp)
4947fa:	8b 45 18             	mov    0x18(%ebp),%eax
4947fd:	89 45 14             	mov    %eax,0x14(%ebp)
494800:	e9 96 00 00 00       	jmp    0x49489b
494805:	8d 4d d0             	lea    -0x30(%ebp),%ecx
494808:	8b 55 e4             	mov    -0x1c(%ebp),%edx
49480b:	03 55 14             	add    0x14(%ebp),%edx
49480e:	03 55 dc             	add    -0x24(%ebp),%edx
494811:	8b 45 e0             	mov    -0x20(%ebp),%eax
494814:	03 45 14             	add    0x14(%ebp),%eax
494817:	03 45 d8             	add    -0x28(%ebp),%eax
49481a:	e8 2d 5e f8 ff       	call   0x41a64c
49481f:	8a 45 1c             	mov    0x1c(%ebp),%al
494822:	2c 02                	sub    $0x2,%al
494824:	73 13                	jae    0x494839
494826:	8b 45 e8             	mov    -0x18(%ebp),%eax
494829:	2b 45 d0             	sub    -0x30(%ebp),%eax
49482c:	40                   	inc    %eax
49482d:	d1 f8                	sar    $1,%eax
49482f:	79 03                	jns    0x494834
494831:	83 d0 00             	adc    $0x0,%eax
494834:	89 45 18             	mov    %eax,0x18(%ebp)
494837:	eb 62                	jmp    0x49489b
494839:	8b 45 ec             	mov    -0x14(%ebp),%eax
49483c:	2b 45 d4             	sub    -0x2c(%ebp),%eax
49483f:	40                   	inc    %eax
494840:	d1 f8                	sar    $1,%eax
494842:	79 03                	jns    0x494847
494844:	83 d0 00             	adc    $0x0,%eax
494847:	89 45 18             	mov    %eax,0x18(%ebp)
49484a:	eb 4f                	jmp    0x49489b
49484c:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
494850:	75 49                	jne    0x49489b
494852:	8b 45 18             	mov    0x18(%ebp),%eax
494855:	03 45 e4             	add    -0x1c(%ebp),%eax
494858:	8b 55 ec             	mov    -0x14(%ebp),%edx
49485b:	2b d0                	sub    %eax,%edx
49485d:	8b 45 18             	mov    0x18(%ebp),%eax
494860:	03 45 e0             	add    -0x20(%ebp),%eax
494863:	50                   	push   %eax
494864:	8b 45 e8             	mov    -0x18(%ebp),%eax
494867:	59                   	pop    %ecx
494868:	2b c1                	sub    %ecx,%eax
49486a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
49486d:	e8 da 5d f8 ff       	call   0x41a64c
494872:	8a 45 1c             	mov    0x1c(%ebp),%al
494875:	2c 02                	sub    $0x2,%al
494877:	73 12                	jae    0x49488b
494879:	8b 45 d0             	mov    -0x30(%ebp),%eax
49487c:	2b 45 d8             	sub    -0x28(%ebp),%eax
49487f:	d1 f8                	sar    $1,%eax
494881:	79 03                	jns    0x494886
494883:	83 d0 00             	adc    $0x0,%eax
494886:	89 45 14             	mov    %eax,0x14(%ebp)
494889:	eb 10                	jmp    0x49489b
49488b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
49488e:	2b 45 dc             	sub    -0x24(%ebp),%eax
494891:	d1 f8                	sar    $1,%eax
494893:	79 03                	jns    0x494898
494895:	83 d0 00             	adc    $0x0,%eax
494898:	89 45 14             	mov    %eax,0x14(%ebp)
49489b:	8a 45 1c             	mov    0x1c(%ebp),%al
49489e:	2c 01                	sub    $0x1,%al
4948a0:	72 0c                	jb     0x4948ae
4948a2:	74 1a                	je     0x4948be
4948a4:	fe c8                	dec    %al
4948a6:	74 2c                	je     0x4948d4
4948a8:	fe c8                	dec    %al
4948aa:	74 39                	je     0x4948e5
4948ac:	eb 4c                	jmp    0x4948fa
4948ae:	8b 45 18             	mov    0x18(%ebp),%eax
4948b1:	89 06                	mov    %eax,(%esi)
4948b3:	03 45 e0             	add    -0x20(%ebp),%eax
4948b6:	03 45 14             	add    0x14(%ebp),%eax
4948b9:	89 45 f0             	mov    %eax,-0x10(%ebp)
4948bc:	eb 3c                	jmp    0x4948fa
4948be:	8b 45 e8             	mov    -0x18(%ebp),%eax
4948c1:	2b 45 18             	sub    0x18(%ebp),%eax
4948c4:	2b 45 e0             	sub    -0x20(%ebp),%eax
4948c7:	89 06                	mov    %eax,(%esi)
4948c9:	2b 45 14             	sub    0x14(%ebp),%eax
4948cc:	2b 45 d8             	sub    -0x28(%ebp),%eax
4948cf:	89 45 f0             	mov    %eax,-0x10(%ebp)
4948d2:	eb 26                	jmp    0x4948fa
4948d4:	8b 45 18             	mov    0x18(%ebp),%eax
4948d7:	89 46 04             	mov    %eax,0x4(%esi)
4948da:	03 45 e4             	add    -0x1c(%ebp),%eax
4948dd:	03 45 14             	add    0x14(%ebp),%eax
4948e0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4948e3:	eb 15                	jmp    0x4948fa
4948e5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4948e8:	2b 45 18             	sub    0x18(%ebp),%eax
4948eb:	2b 45 e4             	sub    -0x1c(%ebp),%eax
4948ee:	89 46 04             	mov    %eax,0x4(%esi)
4948f1:	2b 45 14             	sub    0x14(%ebp),%eax
4948f4:	2b 45 dc             	sub    -0x24(%ebp),%eax
4948f7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4948fa:	8b 03                	mov    (%ebx),%eax
4948fc:	8b 55 24             	mov    0x24(%ebp),%edx
4948ff:	03 02                	add    (%edx),%eax
494901:	01 06                	add    %eax,(%esi)
494903:	8b 43 04             	mov    0x4(%ebx),%eax
494906:	8b 55 24             	mov    0x24(%ebp),%edx
494909:	03 42 04             	add    0x4(%edx),%eax
49490c:	01 46 04             	add    %eax,0x4(%esi)
49490f:	8b 53 04             	mov    0x4(%ebx),%edx
494912:	03 55 f4             	add    -0xc(%ebp),%edx
494915:	8b 45 24             	mov    0x24(%ebp),%eax
494918:	8b 00                	mov    (%eax),%eax
49491a:	03 d0                	add    %eax,%edx
49491c:	52                   	push   %edx
49491d:	8b 13                	mov    (%ebx),%edx
49491f:	03 55 f0             	add    -0x10(%ebp),%edx
494922:	8b 4d 24             	mov    0x24(%ebp),%ecx
494925:	03 d0                	add    %eax,%edx
494927:	52                   	push   %edx
494928:	57                   	push   %edi
494929:	e8 4a 33 f7 ff       	call   0x407c78
49492e:	5f                   	pop    %edi
49492f:	5e                   	pop    %esi
494930:	5b                   	pop    %ebx
494931:	8b e5                	mov    %ebp,%esp
494933:	5d                   	pop    %ebp
494934:	c2 20 00             	ret    $0x20
494937:	90                   	nop
494938:	55                   	push   %ebp
494939:	8b ec                	mov    %esp,%ebp
49493b:	83 c4 f4             	add    $0xfffffff4,%esp
49493e:	53                   	push   %ebx
49493f:	56                   	push   %esi
494940:	57                   	push   %edi
494941:	89 4d fc             	mov    %ecx,-0x4(%ebp)
494944:	8b f2                	mov    %edx,%esi
494946:	8b d8                	mov    %eax,%ebx
494948:	8b 7d 24             	mov    0x24(%ebp),%edi
49494b:	8b 45 28             	mov    0x28(%ebp),%eax
49494e:	50                   	push   %eax
49494f:	57                   	push   %edi