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
494950:	8a 45 20             	mov    0x20(%ebp),%al
494953:	50                   	push   %eax
494954:	8b 45 1c             	mov    0x1c(%ebp),%eax
494957:	50                   	push   %eax
494958:	8b 45 18             	mov    0x18(%ebp),%eax
49495b:	50                   	push   %eax
49495c:	8d 45 f4             	lea    -0xc(%ebp),%eax
49495f:	50                   	push   %eax
494960:	8b 45 08             	mov    0x8(%ebp),%eax
494963:	50                   	push   %eax
494964:	8b 45 0c             	mov    0xc(%ebp),%eax
494967:	50                   	push   %eax
494968:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49496b:	8b d6                	mov    %esi,%edx
49496d:	8b c3                	mov    %ebx,%eax
49496f:	e8 bc fc ff ff       	call   0x494630
494974:	8a 45 14             	mov    0x14(%ebp),%al
494977:	50                   	push   %eax
494978:	8a 45 10             	mov    0x10(%ebp),%al
49497b:	50                   	push   %eax
49497c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
49497f:	8b d6                	mov    %esi,%edx
494981:	8b c3                	mov    %ebx,%eax
494983:	e8 0c fb ff ff       	call   0x494494
494988:	8b 45 08             	mov    0x8(%ebp),%eax
49498b:	50                   	push   %eax
49498c:	8a 45 14             	mov    0x14(%ebp),%al
49498f:	50                   	push   %eax
494990:	8b 45 0c             	mov    0xc(%ebp),%eax
494993:	50                   	push   %eax
494994:	8b cf                	mov    %edi,%ecx
494996:	8b d6                	mov    %esi,%edx
494998:	8b c3                	mov    %ebx,%eax
49499a:	e8 b1 fb ff ff       	call   0x494550
49499f:	5f                   	pop    %edi
4949a0:	5e                   	pop    %esi
4949a1:	5b                   	pop    %ebx
4949a2:	8b e5                	mov    %ebp,%esp
4949a4:	5d                   	pop    %ebp
4949a5:	c2 24 00             	ret    $0x24
4949a8:	53                   	push   %ebx
4949a9:	56                   	push   %esi
4949aa:	8b f2                	mov    %edx,%esi
4949ac:	8b d8                	mov    %eax,%ebx
4949ae:	8b d6                	mov    %esi,%edx
4949b0:	8b c3                	mov    %ebx,%eax
4949b2:	e8 31 2b fb ff       	call   0x4474e8
4949b7:	8b c6                	mov    %esi,%eax
4949b9:	8b 15 c8 33 49 00    	mov    0x4933c8,%edx
4949bf:	e8 64 f2 f6 ff       	call   0x403c28
4949c4:	89 43 20             	mov    %eax,0x20(%ebx)
4949c7:	5e                   	pop    %esi
4949c8:	5b                   	pop    %ebx
4949c9:	c3                   	ret
4949ca:	8b c0                	mov    %eax,%eax
4949cc:	53                   	push   %ebx
4949cd:	8b d8                	mov    %eax,%ebx
4949cf:	8b c3                	mov    %ebx,%eax
4949d1:	e8 ae 02 fc ff       	call   0x454c84
4949d6:	84 c0                	test   %al,%al
4949d8:	74 34                	je     0x494a0e
4949da:	8b 43 20             	mov    0x20(%ebx),%eax
4949dd:	83 b8 68 01 00 00 00 	cmpl   $0x0,0x168(%eax)
4949e4:	74 28                	je     0x494a0e
4949e6:	8b 43 20             	mov    0x20(%ebx),%eax
4949e9:	80 b8 72 01 00 00 00 	cmpb   $0x0,0x172(%eax)
4949f0:	74 1c                	je     0x494a0e
4949f2:	8b 43 10             	mov    0x10(%ebx),%eax
4949f5:	8b 15 2c 42 45 00    	mov    0x45422c,%edx
4949fb:	e8 28 f2 f6 ff       	call   0x403c28
494a00:	8a 40 69             	mov    0x69(%eax),%al
494a03:	8b 53 20             	mov    0x20(%ebx),%edx
494a06:	3a 82 70 01 00 00    	cmp    0x170(%edx),%al
494a0c:	74 04                	je     0x494a12
494a0e:	33 c0                	xor    %eax,%eax
494a10:	5b                   	pop    %ebx
494a11:	c3                   	ret
494a12:	b0 01                	mov    $0x1,%al
494a14:	5b                   	pop    %ebx
494a15:	c3                   	ret
494a16:	8b c0                	mov    %eax,%eax
494a18:	53                   	push   %ebx
494a19:	56                   	push   %esi
494a1a:	8b d8                	mov    %eax,%ebx
494a1c:	8b 73 20             	mov    0x20(%ebx),%esi
494a1f:	85 f6                	test   %esi,%esi
494a21:	74 19                	je     0x494a3c
494a23:	8b 43 10             	mov    0x10(%ebx),%eax
494a26:	8b 15 2c 42 45 00    	mov    0x45422c,%edx
494a2c:	e8 f7 f1 f6 ff       	call   0x403c28
494a31:	8b 40 6c             	mov    0x6c(%eax),%eax
494a34:	3b 86 68 01 00 00    	cmp    0x168(%esi),%eax
494a3a:	74 05                	je     0x494a41
494a3c:	33 c0                	xor    %eax,%eax
494a3e:	5e                   	pop    %esi
494a3f:	5b                   	pop    %ebx
494a40:	c3                   	ret
494a41:	b0 01                	mov    $0x1,%al
494a43:	5e                   	pop    %esi
494a44:	5b                   	pop    %ebx
494a45:	c3                   	ret
494a46:	8b c0                	mov    %eax,%eax
494a48:	53                   	push   %ebx
494a49:	56                   	push   %esi
494a4a:	8b da                	mov    %edx,%ebx
494a4c:	8b f0                	mov    %eax,%esi
494a4e:	8b c6                	mov    %esi,%eax
494a50:	8b 10                	mov    (%eax),%edx
494a52:	ff 52 24             	call   *0x24(%edx)
494a55:	84 c0                	test   %al,%al
494a57:	74 0a                	je     0x494a63
494a59:	8b d3                	mov    %ebx,%edx
494a5b:	8b 46 20             	mov    0x20(%esi),%eax
494a5e:	e8 a5 06 00 00       	call   0x495108
494a63:	5e                   	pop    %esi
494a64:	5b                   	pop    %ebx
494a65:	c3                   	ret
494a66:	8b c0                	mov    %eax,%eax
494a68:	53                   	push   %ebx
494a69:	56                   	push   %esi
494a6a:	8b f2                	mov    %edx,%esi
494a6c:	8b d8                	mov    %eax,%ebx
494a6e:	8b c3                	mov    %ebx,%eax
494a70:	8b 10                	mov    (%eax),%edx
494a72:	ff 52 2c             	call   *0x2c(%edx)
494a75:	84 c0                	test   %al,%al
494a77:	74 0a                	je     0x494a83
494a79:	8b d6                	mov    %esi,%edx
494a7b:	8b 43 20             	mov    0x20(%ebx),%eax
494a7e:	e8 11 07 00 00       	call   0x495194
494a83:	5e                   	pop    %esi
494a84:	5b                   	pop    %ebx
494a85:	c3                   	ret
494a86:	8b c0                	mov    %eax,%eax
494a88:	55                   	push   %ebp
494a89:	8b ec                	mov    %esp,%ebp
494a8b:	51                   	push   %ecx
494a8c:	53                   	push   %ebx
494a8d:	56                   	push   %esi
494a8e:	84 d2                	test   %dl,%dl
494a90:	74 08                	je     0x494a9a
494a92:	83 c4 f0             	add    $0xfffffff0,%esp
494a95:	e8 42 f3 f6 ff       	call   0x403ddc
494a9a:	8b f1                	mov    %ecx,%esi
494a9c:	88 55 ff             	mov    %dl,-0x1(%ebp)
494a9f:	8b d8                	mov    %eax,%ebx
494aa1:	b2 01                	mov    $0x1,%dl
494aa3:	a1 28 3a 49 00       	mov    0x493a28,%eax
494aa8:	e8 07 f2 ff ff       	call   0x493cb4
494aad:	89 83 6c 01 00 00    	mov    %eax,0x16c(%ebx)
494ab3:	8b 83 6c 01 00 00    	mov    0x16c(%ebx),%eax
494ab9:	89 58 2c             	mov    %ebx,0x2c(%eax)
494abc:	c7 40 28 c8 50 49 00 	movl   $0x4950c8,0x28(%eax)
494ac3:	8b ce                	mov    %esi,%ecx
494ac5:	33 d2                	xor    %edx,%edx
494ac7:	8b c3                	mov    %ebx,%eax
494ac9:	e8 ca b5 fb ff       	call   0x450098
494ace:	6a 17                	push   $0x17
494ad0:	6a 16                	push   $0x16
494ad2:	33 c9                	xor    %ecx,%ecx
494ad4:	33 d2                	xor    %edx,%edx
494ad6:	8b c3                	mov    %ebx,%eax
494ad8:	8b 30                	mov    (%eax),%esi
494ada:	ff 96 84 00 00 00    	call   *0x84(%esi)
494ae0:	a1 44 4b 49 00       	mov    0x494b44,%eax
494ae5:	89 43 50             	mov    %eax,0x50(%ebx)
494ae8:	b2 01                	mov    $0x1,%dl
494aea:	8b c3                	mov    %ebx,%eax
494aec:	e8 07 3e fb ff       	call   0x4488f8
494af1:	ba 0f 00 00 80       	mov    $0x8000000f,%edx
494af6:	8b c3                	mov    %ebx,%eax
494af8:	e8 6f 3e fb ff       	call   0x44896c
494afd:	c7 83 74 01 00 00 04 	movl   $0x4,0x174(%ebx)
494b04:	00 00 00
494b07:	c7 83 7c 01 00 00 ff 	movl   $0xffffffff,0x17c(%ebx)