4515c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4515c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4515c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4515c6:	83 c4 10             	add    $0x10,%esp
4515c9:	5f                   	pop    %edi
4515ca:	5e                   	pop    %esi
4515cb:	5b                   	pop    %ebx
4515cc:	c3                   	ret
4515cd:	8d 40 00             	lea    0x0(%eax),%eax
4515d0:	e8 fb 06 00 00       	call   0x451cd0
4515d5:	85 c0                	test   %eax,%eax
4515d7:	74 04                	je     0x4515dd
4515d9:	8b 40 04             	mov    0x4(%eax),%eax
4515dc:	c3                   	ret
4515dd:	33 c0                	xor    %eax,%eax
4515df:	c3                   	ret
4515e0:	55                   	push   %ebp
4515e1:	8b ec                	mov    %esp,%ebp
4515e3:	83 c4 d0             	add    $0xffffffd0,%esp
4515e6:	53                   	push   %ebx
4515e7:	56                   	push   %esi
4515e8:	57                   	push   %edi
4515e9:	88 4d ff             	mov    %cl,-0x1(%ebp)
4515ec:	8b f2                	mov    %edx,%esi
4515ee:	8b d8                	mov    %eax,%ebx
4515f0:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
4515f4:	0f 84 ed 01 00 00    	je     0x4517e7
4515fa:	8b 43 38             	mov    0x38(%ebx),%eax
4515fd:	85 c0                	test   %eax,%eax
4515ff:	74 0d                	je     0x45160e
451601:	89 70 04             	mov    %esi,0x4(%eax)
451604:	e8 0f fa ff ff       	call   0x451018
451609:	e9 d1 01 00 00       	jmp    0x4517df
45160e:	8b 43 64             	mov    0x64(%ebx),%eax
451611:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
451615:	0f 85 a3 00 00 00    	jne    0x4516be
45161b:	8d 55 e0             	lea    -0x20(%ebp),%edx
45161e:	8b 43 14             	mov    0x14(%ebx),%eax
451621:	8b 08                	mov    (%eax),%ecx
451623:	ff 51 44             	call   *0x44(%ecx)
451626:	8d 55 e0             	lea    -0x20(%ebp),%edx
451629:	8b 43 14             	mov    0x14(%ebx),%eax
45162c:	8b 08                	mov    (%eax),%ecx
45162e:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
451634:	8b 7d e8             	mov    -0x18(%ebp),%edi
451637:	2b 7d e0             	sub    -0x20(%ebp),%edi
45163a:	8b 45 ec             	mov    -0x14(%ebp),%eax
45163d:	2b 45 e4             	sub    -0x1c(%ebp),%eax
451640:	89 45 f0             	mov    %eax,-0x10(%ebp)
451643:	8b 43 14             	mov    0x14(%ebx),%eax
451646:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
45164a:	74 1d                	je     0x451669
45164c:	85 ff                	test   %edi,%edi
45164e:	75 09                	jne    0x451659
451650:	8b c6                	mov    %esi,%eax
451652:	e8 19 71 ff ff       	call   0x448770
451657:	8b f8                	mov    %eax,%edi
451659:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45165d:	75 0a                	jne    0x451669
45165f:	8b c6                	mov    %esi,%eax
451661:	e8 f6 70 ff ff       	call   0x44875c
451666:	89 45 f0             	mov    %eax,-0x10(%ebp)
451669:	8b 45 f0             	mov    -0x10(%ebp),%eax
45166c:	50                   	push   %eax
45166d:	8d 45 d0             	lea    -0x30(%ebp),%eax
451670:	50                   	push   %eax
451671:	8b cf                	mov    %edi,%ecx
451673:	8b 55 e4             	mov    -0x1c(%ebp),%edx
451676:	8b 45 e0             	mov    -0x20(%ebp),%eax
451679:	e8 1e 90 fc ff       	call   0x41a69c
45167e:	56                   	push   %esi
45167f:	8d 75 d0             	lea    -0x30(%ebp),%esi
451682:	8d 7d e0             	lea    -0x20(%ebp),%edi
451685:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451686:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451687:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451688:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451689:	5e                   	pop    %esi
45168a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45168d:	8b d6                	mov    %esi,%edx
45168f:	8b c3                	mov    %ebx,%eax
451691:	8b 38                	mov    (%eax),%edi
451693:	ff 17                	call   *(%edi)
451695:	8d 55 e0             	lea    -0x20(%ebp),%edx
451698:	8b c6                	mov    %esi,%eax
45169a:	e8 ed 6a ff ff       	call   0x44818c
45169f:	8b cb                	mov    %ebx,%ecx
4516a1:	b2 01                	mov    $0x1,%dl
4516a3:	a1 84 50 44 00       	mov    0x445084,%eax
4516a8:	e8 97 f5 ff ff       	call   0x450c44
4516ad:	8b 53 64             	mov    0x64(%ebx),%edx
4516b0:	89 42 08             	mov    %eax,0x8(%edx)
4516b3:	89 50 14             	mov    %edx,0x14(%eax)
4516b6:	89 70 04             	mov    %esi,0x4(%eax)
4516b9:	e9 21 01 00 00       	jmp    0x4517df
4516be:	8a 45 ff             	mov    -0x1(%ebp),%al
4516c1:	84 c0                	test   %al,%al
4516c3:	74 04                	je     0x4516c9
4516c5:	2c 05                	sub    $0x5,%al
4516c7:	75 04                	jne    0x4516cd
4516c9:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
4516cd:	8b d6                	mov    %esi,%edx
4516cf:	8b c3                	mov    %ebx,%eax
4516d1:	e8 06 fe ff ff       	call   0x4514dc
4516d6:	85 c0                	test   %eax,%eax
4516d8:	74 09                	je     0x4516e3
4516da:	8b d0                	mov    %eax,%edx
4516dc:	8b c3                	mov    %ebx,%eax
4516de:	e8 25 0e 00 00       	call   0x452508
4516e3:	8b 55 08             	mov    0x8(%ebp),%edx
4516e6:	8b c3                	mov    %ebx,%eax
4516e8:	e8 ef fd ff ff       	call   0x4514dc
4516ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
4516f0:	33 c0                	xor    %eax,%eax
4516f2:	8a 45 ff             	mov    -0x1(%ebp),%al
4516f5:	8a 80 84 ac 68 00    	mov    0x68ac84(%eax),%al
4516fb:	88 45 f7             	mov    %al,-0x9(%ebp)
4516fe:	8b 43 64             	mov    0x64(%ebx),%eax
451701:	e8 62 f5 ff ff       	call   0x450c68
451706:	48                   	dec    %eax
451707:	75 6a                	jne    0x451773
451709:	8b 7b 64             	mov    0x64(%ebx),%edi
45170c:	8a 45 f7             	mov    -0x9(%ebp),%al
45170f:	88 47 10             	mov    %al,0x10(%edi)
451712:	8a 45 f7             	mov    -0x9(%ebp),%al
451715:	fe c8                	dec    %al
451717:	74 06                	je     0x45171f
451719:	fe c8                	dec    %al
45171b:	74 2d                	je     0x45174a
45171d:	eb 54                	jmp    0x451773
45171f:	8b 47 08             	mov    0x8(%edi),%eax
451722:	ba 02 00 00 00       	mov    $0x2,%edx
451727:	e8 9c f6 ff ff       	call   0x450dc8
45172c:	8b d0                	mov    %eax,%edx
45172e:	8b c7                	mov    %edi,%eax
451730:	e8 83 fa ff ff       	call   0x4511b8
451735:	8b 43 64             	mov    0x64(%ebx),%eax
451738:	8b 40 08             	mov    0x8(%eax),%eax
45173b:	ba 01 00 00 00       	mov    $0x1,%edx
451740:	e8 83 f6 ff ff       	call   0x450dc8
451745:	89 43 68             	mov    %eax,0x68(%ebx)
451748:	eb 29                	jmp    0x451773
45174a:	8b 47 08             	mov    0x8(%edi),%eax
45174d:	ba 01 00 00 00       	mov    $0x1,%edx
451752:	e8 71 f6 ff ff       	call   0x450dc8
451757:	8b d0                	mov    %eax,%edx
451759:	8b c7                	mov    %edi,%eax
45175b:	e8 58 fa ff ff       	call   0x4511b8
451760:	8b 43 64             	mov    0x64(%ebx),%eax
451763:	8b 40 08             	mov    0x8(%eax),%eax
451766:	ba 02 00 00 00       	mov    $0x2,%edx
45176b:	e8 58 f6 ff ff       	call   0x450dc8
451770:	89 43 68             	mov    %eax,0x68(%ebx)
451773:	8b cb                	mov    %ebx,%ecx
451775:	b2 01                	mov    $0x1,%dl
451777:	a1 84 50 44 00       	mov    0x445084,%eax
45177c:	e8 c3 f4 ff ff       	call   0x450c44
451781:	89 70 04             	mov    %esi,0x4(%eax)
451784:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
451788:	74 0b                	je     0x451795
45178a:	8b 55 f8             	mov    -0x8(%ebp),%edx
45178d:	8b 52 14             	mov    0x14(%edx),%edx
451790:	8a 52 10             	mov    0x10(%edx),%dl
451793:	eb 06                	jmp    0x45179b
451795:	8b 53 64             	mov    0x64(%ebx),%edx
451798:	8a 52 10             	mov    0x10(%edx),%dl
45179b:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
45179f:	75 03                	jne    0x4517a4
4517a1:	88 55 f7             	mov    %dl,-0x9(%ebp)
4517a4:	3a 55 f7             	cmp    -0x9(%ebp),%dl
4517a7:	75 1a                	jne    0x4517c3
4517a9:	33 d2                	xor    %edx,%edx
4517ab:	8a 55 ff             	mov    -0x1(%ebp),%dl
4517ae:	8a 92 8c ac 68 00    	mov    0x68ac8c(%edx),%dl
4517b4:	52                   	push   %edx
4517b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4517b8:	8b d0                	mov    %eax,%edx
4517ba:	8b c3                	mov    %ebx,%eax
4517bc:	e8 d7 01 00 00       	call   0x451998
4517c1:	eb 1c                	jmp    0x4517df
4517c3:	8a 55 f7             	mov    -0x9(%ebp),%dl
4517c6:	52                   	push   %edx
4517c7:	33 d2                	xor    %edx,%edx
4517c9:	8a 55 ff             	mov    -0x1(%ebp),%dl
4517cc:	8a 92 8c ac 68 00    	mov    0x68ac8c(%edx),%dl
4517d2:	52                   	push   %edx
4517d3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4517d6:	8b d0                	mov    %eax,%edx
4517d8:	8b c3                	mov    %ebx,%eax
4517da:	e8 11 00 00 00       	call   0x4517f0
4517df:	8b 43 14             	mov    0x14(%ebx),%eax
4517e2:	8b 10                	mov    (%eax),%edx
4517e4:	ff 52 7c             	call   *0x7c(%edx)
4517e7:	5f                   	pop    %edi
4517e8:	5e                   	pop    %esi
4517e9:	5b                   	pop    %ebx
4517ea:	8b e5                	mov    %ebp,%esp
4517ec:	5d                   	pop    %ebp
4517ed:	c2 04 00             	ret    $0x4
4517f0:	55                   	push   %ebp
4517f1:	8b ec                	mov    %esp,%ebp
4517f3:	51                   	push   %ecx
4517f4:	53                   	push   %ebx
4517f5:	56                   	push   %esi
4517f6:	57                   	push   %edi
4517f7:	8b f9                	mov    %ecx,%edi
4517f9:	89 55 fc             	mov    %edx,-0x4(%ebp)
4517fc:	8b f0                	mov    %eax,%esi
4517fe:	8b ce                	mov    %esi,%ecx
451800:	b2 01                	mov    $0x1,%dl
451802:	a1 84 50 44 00       	mov    0x445084,%eax
451807:	e8 38 f4 ff ff       	call   0x450c44
45180c:	8b d8                	mov    %eax,%ebx
45180e:	8a 45 0c             	mov    0xc(%ebp),%al
451811:	88 43 10             	mov    %al,0x10(%ebx)
451814:	85 ff                	test   %edi,%edi
451816:	0f 85 dd 00 00 00    	jne    0x4518f9
45181c:	8b 56 68             	mov    0x68(%esi),%edx
45181f:	8b c3                	mov    %ebx,%eax
451821:	e8 92 f9 ff ff       	call   0x4511b8
451826:	8b 46 64             	mov    0x64(%esi),%eax
451829:	e8 62 f9 ff ff       	call   0x451190
45182e:	89 46 68             	mov    %eax,0x68(%esi)
451831:	8a 45 0c             	mov    0xc(%ebp),%al
451834:	88 46 48             	mov    %al,0x48(%esi)
451837:	33 c0                	xor    %eax,%eax
451839:	89 46 40             	mov    %eax,0x40(%esi)
45183c:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
451843:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
451847:	74 33                	je     0x45187c
451849:	8b 46 64             	mov    0x64(%esi),%eax
45184c:	89 43 08             	mov    %eax,0x8(%ebx)
45184f:	8b 46 64             	mov    0x64(%esi),%eax
451852:	89 58 14             	mov    %ebx,0x14(%eax)
451855:	8b 55 fc             	mov    -0x4(%ebp),%edx
451858:	89 50 0c             	mov    %edx,0xc(%eax)
45185b:	8b 55 fc             	mov    -0x4(%ebp),%edx
45185e:	89 42 18             	mov    %eax,0x18(%edx)
451861:	8b 45 fc             	mov    -0x4(%ebp),%eax
451864:	89 58 14             	mov    %ebx,0x14(%eax)
451867:	89 5e 64             	mov    %ebx,0x64(%esi)
45186a:	56                   	push   %esi
45186b:	68 60 28 45 00       	push   $0x452860
451870:	8b 53 08             	mov    0x8(%ebx),%edx
451873:	8b c6                	mov    %esi,%eax
451875:	e8 ca fc ff ff       	call   0x451544
45187a:	eb 6c                	jmp    0x4518e8
45187c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45187f:	89 43 08             	mov    %eax,0x8(%ebx)
451882:	8b 46 64             	mov    0x64(%esi),%eax
451885:	89 58 14             	mov    %ebx,0x14(%eax)
451888:	8b 55 fc             	mov    -0x4(%ebp),%edx
45188b:	89 50 18             	mov    %edx,0x18(%eax)
45188e:	8b 55 fc             	mov    -0x4(%ebp),%edx
451891:	89 42 0c             	mov    %eax,0xc(%edx)
451894:	8b 45 fc             	mov    -0x4(%ebp),%eax
451897:	89 58 14             	mov    %ebx,0x14(%eax)
45189a:	89 5e 64             	mov    %ebx,0x64(%esi)
45189d:	56                   	push   %esi
45189e:	68 60 28 45 00       	push   $0x452860
4518a3:	8b 53 08             	mov    0x8(%ebx),%edx
4518a6:	8b c6                	mov    %esi,%eax
4518a8:	e8 97 fc ff ff       	call   0x451544
4518ad:	8b 46 64             	mov    0x64(%esi),%eax
4518b0:	e8 db f8 ff ff       	call   0x451190
4518b5:	d1 f8                	sar    $1,%eax
4518b7:	79 03                	jns    0x4518bc
4518b9:	83 d0 00             	adc    $0x0,%eax
4518bc:	89 46 4c             	mov    %eax,0x4c(%esi)
4518bf:	56                   	push   %esi
4518c0:	68 e4 2b 45 00       	push   $0x452be4
4518c5:	8b 53 08             	mov    0x8(%ebx),%edx
4518c8:	8b c6                	mov    %esi,%eax
4518ca:	e8 75 fc ff ff       	call   0x451544
4518cf:	8b 46 64             	mov    0x64(%esi),%eax
4518d2:	e8 b9 f8 ff ff       	call   0x451190
4518d7:	8b d0                	mov    %eax,%edx
4518d9:	d1 fa                	sar    $1,%edx
4518db:	79 03                	jns    0x4518e0
4518dd:	83 d2 00             	adc    $0x0,%edx
4518e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4518e3:	e8 d0 f8 ff ff       	call   0x4511b8
4518e8:	56                   	push   %esi
4518e9:	68 18 2d 45 00       	push   $0x452d18
4518ee:	33 d2                	xor    %edx,%edx
4518f0:	8b c6                	mov    %esi,%eax
4518f2:	e8 4d fc ff ff       	call   0x451544
4518f7:	eb 77                	jmp    0x451970
4518f9:	8b c7                	mov    %edi,%eax
4518fb:	e8 90 f8 ff ff       	call   0x451190
451900:	8b d0                	mov    %eax,%edx
451902:	8b c3                	mov    %ebx,%eax
451904:	e8 af f8 ff ff       	call   0x4511b8
451909:	8b 47 14             	mov    0x14(%edi),%eax
45190c:	89 43 14             	mov    %eax,0x14(%ebx)
45190f:	8b 47 18             	mov    0x18(%edi),%eax
451912:	89 43 18             	mov    %eax,0x18(%ebx)
451915:	85 c0                	test   %eax,%eax
451917:	74 03                	je     0x45191c
451919:	89 58 0c             	mov    %ebx,0xc(%eax)
45191c:	8b 47 0c             	mov    0xc(%edi),%eax
45191f:	89 43 0c             	mov    %eax,0xc(%ebx)
451922:	85 c0                	test   %eax,%eax
451924:	74 03                	je     0x451929
451926:	89 58 18             	mov    %ebx,0x18(%eax)
451929:	8b 43 14             	mov    0x14(%ebx),%eax
45192c:	3b 78 08             	cmp    0x8(%eax),%edi
45192f:	75 03                	jne    0x451934
451931:	89 58 08             	mov    %ebx,0x8(%eax)
451934:	8b 45 fc             	mov    -0x4(%ebp),%eax
451937:	89 58 14             	mov    %ebx,0x14(%eax)
45193a:	89 5f 14             	mov    %ebx,0x14(%edi)
45193d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
451941:	74 16                	je     0x451959
451943:	89 7b 08             	mov    %edi,0x8(%ebx)
451946:	33 c0                	xor    %eax,%eax
451948:	89 47 18             	mov    %eax,0x18(%edi)
45194b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45194e:	89 47 0c             	mov    %eax,0xc(%edi)
451951:	8b 45 fc             	mov    -0x4(%ebp),%eax
451954:	89 78 18             	mov    %edi,0x18(%eax)
451957:	eb 17                	jmp    0x451970
451959:	8b 45 fc             	mov    -0x4(%ebp),%eax
45195c:	89 43 08             	mov    %eax,0x8(%ebx)
45195f:	8b 45 fc             	mov    -0x4(%ebp),%eax
451962:	89 47 18             	mov    %eax,0x18(%edi)
451965:	33 c0                	xor    %eax,%eax
451967:	89 47 0c             	mov    %eax,0xc(%edi)
45196a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45196d:	89 78 0c             	mov    %edi,0xc(%eax)
451970:	8b c3                	mov    %ebx,%eax
451972:	e8 01 f5 ff ff       	call   0x450e78
451977:	8b c3                	mov    %ebx,%eax
451979:	e8 8a f8 ff ff       	call   0x451208
45197e:	56                   	push   %esi
45197f:	68 18 2d 45 00       	push   $0x452d18
451984:	33 d2                	xor    %edx,%edx
451986:	8b c6                	mov    %esi,%eax
451988:	e8 b7 fb ff ff       	call   0x451544
45198d:	5f                   	pop    %edi
45198e:	5e                   	pop    %esi
45198f:	5b                   	pop    %ebx
451990:	59                   	pop    %ecx
451991:	5d                   	pop    %ebp
451992:	c2 08 00             	ret    $0x8
451995:	8d 40 00             	lea    0x0(%eax),%eax
451998:	55                   	push   %ebp
451999:	8b ec                	mov    %esp,%ebp
45199b:	53                   	push   %ebx
45199c:	8b d9                	mov    %ecx,%ebx