48770b:	8b f8                	mov    %eax,%edi
48770d:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
487713:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487719:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
48771f:	90                   	nop
487720:	3b de                	cmp    %esi,%ebx
487722:	76 37                	jbe    0x48775b
487724:	03 f2                	add    %edx,%esi
487726:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
48772c:	3b f3                	cmp    %ebx,%esi
48772e:	73 25                	jae    0x487755
487730:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
487736:	53                   	push   %ebx
487737:	56                   	push   %esi
487738:	ff 15 54 43 49 00    	call   *0x494354
48773e:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
487744:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
48774a:	83 c4 08             	add    $0x8,%esp
48774d:	85 c0                	test   %eax,%eax
48774f:	7e d3                	jle    0x487724
487751:	3b de                	cmp    %esi,%ebx
487753:	77 3d                	ja     0x487792
487755:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
48775b:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
487761:	03 f2                	add    %edx,%esi
487763:	3b f0                	cmp    %eax,%esi
487765:	77 1f                	ja     0x487786
487767:	53                   	push   %ebx
487768:	56                   	push   %esi
487769:	8b cf                	mov    %edi,%ecx
48776b:	ff 15 54 43 49 00    	call   *0x494354
487771:	ff d7                	call   *%edi
487773:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487779:	83 c4 08             	add    $0x8,%esp
48777c:	85 c0                	test   %eax,%eax
48777e:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
487784:	7e db                	jle    0x487761
487786:	8b bd f0 fe ff ff    	mov    -0x110(%ebp),%edi
48778c:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
487792:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
487798:	eb 06                	jmp    0x4877a0
48779a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4877a0:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4877a6:	2b fa                	sub    %edx,%edi
4877a8:	3b fb                	cmp    %ebx,%edi
4877aa:	76 19                	jbe    0x4877c5
4877ac:	53                   	push   %ebx
4877ad:	57                   	push   %edi
4877ae:	8b ce                	mov    %esi,%ecx
4877b0:	ff 15 54 43 49 00    	call   *0x494354
4877b6:	ff d6                	call   *%esi
4877b8:	83 c4 08             	add    $0x8,%esp
4877bb:	85 c0                	test   %eax,%eax
4877bd:	7f e1                	jg     0x4877a0
4877bf:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4877c5:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
4877cb:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
4877d1:	3b fe                	cmp    %esi,%edi
4877d3:	72 5e                	jb     0x487833
4877d5:	89 95 e4 fe ff ff    	mov    %edx,-0x11c(%ebp)
4877db:	89 bd e8 fe ff ff    	mov    %edi,-0x118(%ebp)
4877e1:	3b f7                	cmp    %edi,%esi
4877e3:	74 33                	je     0x487818
4877e5:	8b de                	mov    %esi,%ebx
4877e7:	8b d7                	mov    %edi,%edx
4877e9:	8b b5 e4 fe ff ff    	mov    -0x11c(%ebp),%esi
4877ef:	2b df                	sub    %edi,%ebx
4877f1:	8a 02                	mov    (%edx),%al
4877f3:	8d 52 01             	lea    0x1(%edx),%edx
4877f6:	8a 4c 13 ff          	mov    -0x1(%ebx,%edx,1),%cl
4877fa:	88 44 13 ff          	mov    %al,-0x1(%ebx,%edx,1)
4877fe:	88 4a ff             	mov    %cl,-0x1(%edx)
487801:	83 ee 01             	sub    $0x1,%esi
487804:	75 eb                	jne    0x4877f1
487806:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
48780c:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
487812:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487818:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
48781e:	3b df                	cmp    %edi,%ebx
487820:	0f 85 fa fe ff ff    	jne    0x487720
487826:	8b de                	mov    %esi,%ebx
487828:	89 9d ec fe ff ff    	mov    %ebx,-0x114(%ebp)
48782e:	e9 ed fe ff ff       	jmp    0x487720
487833:	03 fa                	add    %edx,%edi
487835:	3b df                	cmp    %edi,%ebx
487837:	73 32                	jae    0x48786b
487839:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
487840:	2b fa                	sub    %edx,%edi
487842:	3b fb                	cmp    %ebx,%edi
487844:	76 25                	jbe    0x48786b
487846:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
48784c:	53                   	push   %ebx
48784d:	57                   	push   %edi
48784e:	ff 15 54 43 49 00    	call   *0x494354
487854:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
48785a:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487860:	83 c4 08             	add    $0x8,%esp
487863:	85 c0                	test   %eax,%eax
487865:	74 d9                	je     0x487840
487867:	3b df                	cmp    %edi,%ebx
487869:	72 2f                	jb     0x48789a
48786b:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
487871:	2b fa                	sub    %edx,%edi
487873:	3b bd fc fe ff ff    	cmp    -0x104(%ebp),%edi
487879:	76 19                	jbe    0x487894
48787b:	53                   	push   %ebx
48787c:	57                   	push   %edi
48787d:	8b ce                	mov    %esi,%ecx
48787f:	ff 15 54 43 49 00    	call   *0x494354
487885:	ff d6                	call   *%esi
487887:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
48788d:	83 c4 08             	add    $0x8,%esp
487890:	85 c0                	test   %eax,%eax
487892:	74 dd                	je     0x487871
487894:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
48789a:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
4878a0:	8b c7                	mov    %edi,%eax
4878a2:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
4878a8:	8b ca                	mov    %edx,%ecx
4878aa:	2b ce                	sub    %esi,%ecx
4878ac:	2b c3                	sub    %ebx,%eax
4878ae:	3b c1                	cmp    %ecx,%eax
4878b0:	7c 39                	jl     0x4878eb
4878b2:	3b df                	cmp    %edi,%ebx
4878b4:	73 18                	jae    0x4878ce
4878b6:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
4878bc:	89 5c 85 84          	mov    %ebx,-0x7c(%ebp,%eax,4)
4878c0:	89 bc 85 0c ff ff ff 	mov    %edi,-0xf4(%ebp,%eax,4)
4878c7:	40                   	inc    %eax
4878c8:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
4878ce:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
4878d4:	3b f2                	cmp    %edx,%esi
4878d6:	73 4c                	jae    0x487924
4878d8:	8b ce                	mov    %esi,%ecx
4878da:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4878e0:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
4878e6:	e9 6a fd ff ff       	jmp    0x487655
4878eb:	3b f2                	cmp    %edx,%esi
4878ed:	73 18                	jae    0x487907
4878ef:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
4878f5:	89 74 85 84          	mov    %esi,-0x7c(%ebp,%eax,4)
4878f9:	89 94 85 0c ff ff ff 	mov    %edx,-0xf4(%ebp,%eax,4)
487900:	40                   	inc    %eax
487901:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
487907:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
48790d:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
487913:	3b cf                	cmp    %edi,%ecx
487915:	73 15                	jae    0x48792c
487917:	8b d7                	mov    %edi,%edx
487919:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
48791f:	e9 2b fd ff ff       	jmp    0x48764f
487924:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
48792a:	eb 06                	jmp    0x487932
48792c:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
487932:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
487938:	83 e8 01             	sub    $0x1,%eax
48793b:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
487941:	78 16                	js     0x487959
487943:	8b 4c 85 84          	mov    -0x7c(%ebp,%eax,4),%ecx
487947:	8b 94 85 0c ff ff ff 	mov    -0xf4(%ebp,%eax,4),%edx
48794e:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
487954:	e9 f6 fc ff ff       	jmp    0x48764f
487959:	5b                   	pop    %ebx
48795a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48795d:	5f                   	pop    %edi
48795e:	33 cd                	xor    %ebp,%ecx
487960:	5e                   	pop    %esi
487961:	e8 9c 80 fb ff       	call   0x43fa02
487966:	8b e5                	mov    %ebp,%esp
487968:	5d                   	pop    %ebp
487969:	c3                   	ret
48796a:	cc                   	int3
48796b:	cc                   	int3
48796c:	cc                   	int3
48796d:	cc                   	int3
48796e:	cc                   	int3
48796f:	cc                   	int3
487970:	55                   	push   %ebp
487971:	8b ec                	mov    %esp,%ebp
487973:	56                   	push   %esi
487974:	33 c0                	xor    %eax,%eax
487976:	50                   	push   %eax
487977:	50                   	push   %eax
487978:	50                   	push   %eax
487979:	50                   	push   %eax
48797a:	50                   	push   %eax
48797b:	50                   	push   %eax
48797c:	50                   	push   %eax
48797d:	50                   	push   %eax
48797e:	8b 55 0c             	mov    0xc(%ebp),%edx
487981:	8d 49 00             	lea    0x0(%ecx),%ecx
487984:	8a 02                	mov    (%edx),%al
487986:	0a c0                	or     %al,%al
487988:	74 09                	je     0x487993
48798a:	83 c2 01             	add    $0x1,%edx
48798d:	0f ab 04 24          	bts    %eax,(%esp)
487991:	eb f1                	jmp    0x487984
487993:	8b 75 08             	mov    0x8(%ebp),%esi
487996:	8b ff                	mov    %edi,%edi
487998:	8a 06                	mov    (%esi),%al
48799a:	0a c0                	or     %al,%al
48799c:	74 0c                	je     0x4879aa
48799e:	83 c6 01             	add    $0x1,%esi
4879a1:	0f a3 04 24          	bt     %eax,(%esp)
4879a5:	73 f1                	jae    0x487998
4879a7:	8d 46 ff             	lea    -0x1(%esi),%eax
4879aa:	83 c4 20             	add    $0x20,%esp
4879ad:	5e                   	pop    %esi
4879ae:	c9                   	leave
4879af:	c3                   	ret
4879b0:	8b ff                	mov    %edi,%edi
4879b2:	55                   	push   %ebp
4879b3:	8b ec                	mov    %esp,%ebp
4879b5:	6a 00                	push   $0x0
4879b7:	ff 75 0c             	push   0xc(%ebp)
4879ba:	ff 75 08             	push   0x8(%ebp)
4879bd:	e8 05 00 00 00       	call   0x4879c7
4879c2:	83 c4 0c             	add    $0xc,%esp
4879c5:	5d                   	pop    %ebp
4879c6:	c3                   	ret
4879c7:	8b ff                	mov    %edi,%edi
4879c9:	55                   	push   %ebp
4879ca:	8b ec                	mov    %esp,%ebp
4879cc:	83 ec 10             	sub    $0x10,%esp
4879cf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4879d3:	75 14                	jne    0x4879e9
4879d5:	e8 55 54 fc ff       	call   0x44ce2f
4879da:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4879e0:	e8 f1 52 fc ff       	call   0x44ccd6
4879e5:	33 c0                	xor    %eax,%eax
4879e7:	eb 67                	jmp    0x487a50
4879e9:	56                   	push   %esi
4879ea:	8b 75 0c             	mov    0xc(%ebp),%esi
4879ed:	85 f6                	test   %esi,%esi
4879ef:	75 12                	jne    0x487a03
4879f1:	e8 39 54 fc ff       	call   0x44ce2f
4879f6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4879fc:	e8 d5 52 fc ff       	call   0x44ccd6
487a01:	eb 05                	jmp    0x487a08
487a03:	39 75 08             	cmp    %esi,0x8(%ebp)
487a06:	72 04                	jb     0x487a0c
487a08:	33 c0                	xor    %eax,%eax
487a0a:	eb 43                	jmp    0x487a4f
487a0c:	ff 75 10             	push   0x10(%ebp)
487a0f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
487a12:	e8 f1 75 fc ff       	call   0x44f008
487a17:	8b 55 f8             	mov    -0x8(%ebp),%edx
487a1a:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
487a1e:	74 1c                	je     0x487a3c
487a20:	8d 4e ff             	lea    -0x1(%esi),%ecx
487a23:	49                   	dec    %ecx
487a24:	39 4d 08             	cmp    %ecx,0x8(%ebp)
487a27:	77 0a                	ja     0x487a33
487a29:	0f b6 01             	movzbl (%ecx),%eax
487a2c:	f6 44 10 19 04       	testb  $0x4,0x19(%eax,%edx,1)
487a31:	75 f0                	jne    0x487a23
487a33:	8b c6                	mov    %esi,%eax
487a35:	2b c1                	sub    %ecx,%eax
487a37:	83 e0 01             	and    $0x1,%eax
487a3a:	2b f0                	sub    %eax,%esi
487a3c:	4e                   	dec    %esi
487a3d:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
487a41:	74 0a                	je     0x487a4d
487a43:	8b 4d f0             	mov    -0x10(%ebp),%ecx
487a46:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
487a4d:	8b c6                	mov    %esi,%eax
487a4f:	5e                   	pop    %esi
487a50:	8b e5                	mov    %ebp,%esp
487a52:	5d                   	pop    %ebp
487a53:	c3                   	ret
487a54:	e8 5e 62 ff ff       	call   0x47dcb7
487a59:	33 c9                	xor    %ecx,%ecx
487a5b:	84 c0                	test   %al,%al
487a5d:	0f 94 c1             	sete   %cl
487a60:	8b c1                	mov    %ecx,%eax
487a62:	c3                   	ret
487a63:	8b ff                	mov    %edi,%edi
487a65:	55                   	push   %ebp
487a66:	8b ec                	mov    %esp,%ebp
487a68:	51                   	push   %ecx
487a69:	83 3d 08 bf 4b 00 00 	cmpl   $0x0,0x4bbf08
487a70:	56                   	push   %esi
487a71:	57                   	push   %edi
487a72:	0f 85 a2 00 00 00    	jne    0x487b1a
487a78:	8b 55 08             	mov    0x8(%ebp),%edx
487a7b:	85 d2                	test   %edx,%edx
487a7d:	75 1a                	jne    0x487a99
487a7f:	e8 ab 53 fc ff       	call   0x44ce2f
487a84:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487a8a:	e8 47 52 fc ff       	call   0x44ccd6
487a8f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
487a94:	e9 94 00 00 00       	jmp    0x487b2d
487a99:	8b 4d 0c             	mov    0xc(%ebp),%ecx
487a9c:	85 c9                	test   %ecx,%ecx
487a9e:	74 df                	je     0x487a7f
487aa0:	8b 7d 10             	mov    0x10(%ebp),%edi
487aa3:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
487aa8:	3b fe                	cmp    %esi,%edi
487aaa:	76 14                	jbe    0x487ac0
487aac:	e8 7e 53 fc ff       	call   0x44ce2f
487ab1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487ab7:	e8 1a 52 fc ff       	call   0x44ccd6
487abc:	8b c6                	mov    %esi,%eax
487abe:	eb 6d                	jmp    0x487b2d
487ac0:	53                   	push   %ebx
487ac1:	6a 41                	push   $0x41
487ac3:	5b                   	pop    %ebx
487ac4:	6a 5a                	push   $0x5a
487ac6:	5e                   	pop    %esi
487ac7:	2b d1                	sub    %ecx,%edx
487ac9:	89 75 fc             	mov    %esi,-0x4(%ebp)
487acc:	eb 03                	jmp    0x487ad1
487ace:	6a 5a                	push   $0x5a
487ad0:	5e                   	pop    %esi
487ad1:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
487ad5:	66 3b c3             	cmp    %bx,%ax
487ad8:	72 0d                	jb     0x487ae7
487ada:	66 3b c6             	cmp    %si,%ax
487add:	77 08                	ja     0x487ae7
487adf:	83 c0 20             	add    $0x20,%eax
487ae2:	0f b7 f0             	movzwl %ax,%esi
487ae5:	eb 02                	jmp    0x487ae9
487ae7:	8b f0                	mov    %eax,%esi
487ae9:	0f b7 01             	movzwl (%ecx),%eax
487aec:	66 3b c3             	cmp    %bx,%ax
487aef:	72 0c                	jb     0x487afd
487af1:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
487af5:	77 06                	ja     0x487afd
487af7:	83 c0 20             	add    $0x20,%eax
487afa:	0f b7 c0             	movzwl %ax,%eax
487afd:	83 c1 02             	add    $0x2,%ecx
487b00:	83 ef 01             	sub    $0x1,%edi
487b03:	74 0a                	je     0x487b0f
487b05:	66 85 f6             	test   %si,%si
487b08:	74 05                	je     0x487b0f
487b0a:	66 3b f0             	cmp    %ax,%si
487b0d:	74 bf                	je     0x487ace
487b0f:	0f b7 c8             	movzwl %ax,%ecx
487b12:	0f b7 c6             	movzwl %si,%eax
487b15:	2b c1                	sub    %ecx,%eax
487b17:	5b                   	pop    %ebx
487b18:	eb 13                	jmp    0x487b2d
487b1a:	6a 00                	push   $0x0
487b1c:	ff 75 10             	push   0x10(%ebp)
487b1f:	ff 75 0c             	push   0xc(%ebp)
487b22:	ff 75 08             	push   0x8(%ebp)
487b25:	e8 09 00 00 00       	call   0x487b33
487b2a:	83 c4 10             	add    $0x10,%esp
487b2d:	5f                   	pop    %edi
487b2e:	5e                   	pop    %esi