47c855:	8b ec                	mov    %esp,%ebp
47c857:	33 c0                	xor    %eax,%eax
47c859:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
47c85d:	0f 95 c0             	setne  %al
47c860:	5d                   	pop    %ebp
47c861:	c3                   	ret
47c862:	8b ff                	mov    %edi,%edi
47c864:	55                   	push   %ebp
47c865:	8b ec                	mov    %esp,%ebp
47c867:	8b 45 08             	mov    0x8(%ebp),%eax
47c86a:	83 e8 01             	sub    $0x1,%eax
47c86d:	74 17                	je     0x47c886
47c86f:	83 e8 01             	sub    $0x1,%eax
47c872:	74 0d                	je     0x47c881
47c874:	83 e8 01             	sub    $0x1,%eax
47c877:	74 04                	je     0x47c87d
47c879:	6a 04                	push   $0x4
47c87b:	eb 0b                	jmp    0x47c888
47c87d:	6a 03                	push   $0x3
47c87f:	eb 07                	jmp    0x47c888
47c881:	33 c0                	xor    %eax,%eax
47c883:	40                   	inc    %eax
47c884:	5d                   	pop    %ebp
47c885:	c3                   	ret
47c886:	6a 02                	push   $0x2
47c888:	58                   	pop    %eax
47c889:	5d                   	pop    %ebp
47c88a:	c3                   	ret
47c88b:	8b ff                	mov    %edi,%edi
47c88d:	55                   	push   %ebp
47c88e:	8b ec                	mov    %esp,%ebp
47c890:	51                   	push   %ecx
47c891:	a1 f0 c2 4b 00       	mov    0x4bc2f0,%eax
47c896:	85 c0                	test   %eax,%eax
47c898:	75 1f                	jne    0x47c8b9
47c89a:	21 45 fc             	and    %eax,-0x4(%ebp)
47c89d:	8d 45 fc             	lea    -0x4(%ebp),%eax
47c8a0:	50                   	push   %eax
47c8a1:	e8 df 84 ff ff       	call   0x474d85
47c8a6:	33 c0                	xor    %eax,%eax
47c8a8:	ba f0 c2 4b 00       	mov    $0x4bc2f0,%edx
47c8ad:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
47c8b1:	0f 94 c0             	sete   %al
47c8b4:	40                   	inc    %eax
47c8b5:	8b c8                	mov    %eax,%ecx
47c8b7:	87 0a                	xchg   %ecx,(%edx)
47c8b9:	8b e5                	mov    %ebp,%esp
47c8bb:	5d                   	pop    %ebp
47c8bc:	c3                   	ret
47c8bd:	8b ff                	mov    %edi,%edi
47c8bf:	55                   	push   %ebp
47c8c0:	8b ec                	mov    %esp,%ebp
47c8c2:	51                   	push   %ecx
47c8c3:	a1 f4 c2 4b 00       	mov    0x4bc2f4,%eax
47c8c8:	85 c0                	test   %eax,%eax
47c8ca:	75 1f                	jne    0x47c8eb
47c8cc:	21 45 fc             	and    %eax,-0x4(%ebp)
47c8cf:	8d 45 fc             	lea    -0x4(%ebp),%eax
47c8d2:	50                   	push   %eax
47c8d3:	e8 56 84 ff ff       	call   0x474d2e
47c8d8:	33 c0                	xor    %eax,%eax
47c8da:	ba f4 c2 4b 00       	mov    $0x4bc2f4,%edx
47c8df:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
47c8e3:	0f 94 c0             	sete   %al
47c8e6:	40                   	inc    %eax
47c8e7:	8b c8                	mov    %eax,%ecx
47c8e9:	87 0a                	xchg   %ecx,(%edx)
47c8eb:	8b e5                	mov    %ebp,%esp
47c8ed:	5d                   	pop    %ebp
47c8ee:	c3                   	ret
47c8ef:	8b ff                	mov    %edi,%edi
47c8f1:	55                   	push   %ebp
47c8f2:	8b ec                	mov    %esp,%ebp
47c8f4:	51                   	push   %ecx
47c8f5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47c8f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
47c8fc:	50                   	push   %eax
47c8fd:	e8 d5 83 ff ff       	call   0x474cd7
47c902:	33 c0                	xor    %eax,%eax
47c904:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
47c908:	0f 95 c0             	setne  %al
47c90b:	8b e5                	mov    %ebp,%esp
47c90d:	5d                   	pop    %ebp
47c90e:	c3                   	ret
47c90f:	8b ff                	mov    %edi,%edi
47c911:	55                   	push   %ebp
47c912:	8b ec                	mov    %esp,%ebp
47c914:	51                   	push   %ecx
47c915:	56                   	push   %esi
47c916:	8b 35 f8 c2 4b 00    	mov    0x4bc2f8,%esi
47c91c:	85 f6                	test   %esi,%esi
47c91e:	75 36                	jne    0x47c956
47c920:	6a 02                	push   $0x2
47c922:	5e                   	pop    %esi
47c923:	8d 45 fc             	lea    -0x4(%ebp),%eax
47c926:	89 75 fc             	mov    %esi,-0x4(%ebp)
47c929:	50                   	push   %eax
47c92a:	e8 ad 84 ff ff       	call   0x474ddc
47c92f:	8b 45 fc             	mov    -0x4(%ebp),%eax
47c932:	83 e8 01             	sub    $0x1,%eax
47c935:	74 16                	je     0x47c94d
47c937:	83 e8 01             	sub    $0x1,%eax
47c93a:	74 0e                	je     0x47c94a
47c93c:	83 e8 01             	sub    $0x1,%eax
47c93f:	74 04                	je     0x47c945
47c941:	6a 04                	push   $0x4
47c943:	eb 02                	jmp    0x47c947
47c945:	6a 03                	push   $0x3
47c947:	5e                   	pop    %esi
47c948:	eb 03                	jmp    0x47c94d
47c94a:	33 f6                	xor    %esi,%esi
47c94c:	46                   	inc    %esi
47c94d:	8b ce                	mov    %esi,%ecx
47c94f:	b8 f8 c2 4b 00       	mov    $0x4bc2f8,%eax
47c954:	87 08                	xchg   %ecx,(%eax)
47c956:	8b c6                	mov    %esi,%eax
47c958:	5e                   	pop    %esi
47c959:	8b e5                	mov    %ebp,%esp
47c95b:	5d                   	pop    %ebp
47c95c:	c3                   	ret
47c95d:	8b ff                	mov    %edi,%edi
47c95f:	55                   	push   %ebp
47c960:	8b ec                	mov    %esp,%ebp
47c962:	8b 45 0c             	mov    0xc(%ebp),%eax
47c965:	3b 45 08             	cmp    0x8(%ebp),%eax
47c968:	76 05                	jbe    0x47c96f
47c96a:	83 c8 ff             	or     $0xffffffff,%eax
47c96d:	5d                   	pop    %ebp
47c96e:	c3                   	ret
47c96f:	1b c0                	sbb    %eax,%eax
47c971:	f7 d8                	neg    %eax
47c973:	5d                   	pop    %ebp
47c974:	c3                   	ret
47c975:	8b ff                	mov    %edi,%edi
47c977:	55                   	push   %ebp
47c978:	8b ec                	mov    %esp,%ebp
47c97a:	8b 45 0c             	mov    0xc(%ebp),%eax
47c97d:	3b 45 08             	cmp    0x8(%ebp),%eax
47c980:	76 05                	jbe    0x47c987
47c982:	83 c8 ff             	or     $0xffffffff,%eax
47c985:	5d                   	pop    %ebp
47c986:	c3                   	ret
47c987:	1b c0                	sbb    %eax,%eax
47c989:	f7 d8                	neg    %eax
47c98b:	5d                   	pop    %ebp
47c98c:	c3                   	ret
47c98d:	8b ff                	mov    %edi,%edi
47c98f:	55                   	push   %ebp
47c990:	8b ec                	mov    %esp,%ebp
47c992:	8b 45 0c             	mov    0xc(%ebp),%eax
47c995:	83 ec 28             	sub    $0x28,%esp
47c998:	56                   	push   %esi
47c999:	85 c0                	test   %eax,%eax
47c99b:	75 14                	jne    0x47c9b1
47c99d:	e8 8d 04 fd ff       	call   0x44ce2f
47c9a2:	6a 16                	push   $0x16
47c9a4:	5e                   	pop    %esi
47c9a5:	89 30                	mov    %esi,(%eax)
47c9a7:	e8 2a 03 fd ff       	call   0x44ccd6
47c9ac:	e9 aa 01 00 00       	jmp    0x47cb5b
47c9b1:	8b 75 08             	mov    0x8(%ebp),%esi
47c9b4:	53                   	push   %ebx
47c9b5:	33 db                	xor    %ebx,%ebx
47c9b7:	57                   	push   %edi
47c9b8:	89 18                	mov    %ebx,(%eax)
47c9ba:	8b fb                	mov    %ebx,%edi
47c9bc:	8b cb                	mov    %ebx,%ecx
47c9be:	89 7d d8             	mov    %edi,-0x28(%ebp)
47c9c1:	89 4d dc             	mov    %ecx,-0x24(%ebp)
47c9c4:	89 5d e0             	mov    %ebx,-0x20(%ebp)
47c9c7:	39 1e                	cmp    %ebx,(%esi)
47c9c9:	74 4f                	je     0x47ca1a
47c9cb:	8d 45 fc             	lea    -0x4(%ebp),%eax
47c9ce:	66 c7 45 fc 2a 3f    	movw   $0x3f2a,-0x4(%ebp)
47c9d4:	50                   	push   %eax
47c9d5:	ff 36                	push   (%esi)
47c9d7:	88 5d fe             	mov    %bl,-0x2(%ebp)
47c9da:	e8 91 af 00 00       	call   0x487970
47c9df:	59                   	pop    %ecx
47c9e0:	59                   	pop    %ecx
47c9e1:	85 c0                	test   %eax,%eax
47c9e3:	75 12                	jne    0x47c9f7
47c9e5:	8d 45 d8             	lea    -0x28(%ebp),%eax
47c9e8:	50                   	push   %eax
47c9e9:	53                   	push   %ebx
47c9ea:	53                   	push   %ebx
47c9eb:	ff 36                	push   (%esi)
47c9ed:	e8 98 03 00 00       	call   0x47cd8a
47c9f2:	83 c4 10             	add    $0x10,%esp
47c9f5:	eb 0f                	jmp    0x47ca06
47c9f7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47c9fa:	51                   	push   %ecx
47c9fb:	50                   	push   %eax
47c9fc:	ff 36                	push   (%esi)
47c9fe:	e8 f2 04 00 00       	call   0x47cef5
47ca03:	83 c4 0c             	add    $0xc,%esp
47ca06:	89 45 f8             	mov    %eax,-0x8(%ebp)
47ca09:	85 c0                	test   %eax,%eax
47ca0b:	75 7f                	jne    0x47ca8c
47ca0d:	83 c6 04             	add    $0x4,%esi
47ca10:	39 1e                	cmp    %ebx,(%esi)
47ca12:	75 b7                	jne    0x47c9cb
47ca14:	8b 7d d8             	mov    -0x28(%ebp),%edi
47ca17:	8b 4d dc             	mov    -0x24(%ebp),%ecx
47ca1a:	8b c1                	mov    %ecx,%eax
47ca1c:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47ca1f:	2b c7                	sub    %edi,%eax
47ca21:	89 7d fc             	mov    %edi,-0x4(%ebp)
47ca24:	8b d0                	mov    %eax,%edx
47ca26:	83 c0 03             	add    $0x3,%eax
47ca29:	c1 fa 02             	sar    $0x2,%edx
47ca2c:	42                   	inc    %edx
47ca2d:	c1 e8 02             	shr    $0x2,%eax
47ca30:	3b cf                	cmp    %edi,%ecx
47ca32:	89 55 f4             	mov    %edx,-0xc(%ebp)
47ca35:	1b f6                	sbb    %esi,%esi
47ca37:	f7 d6                	not    %esi
47ca39:	23 f0                	and    %eax,%esi
47ca3b:	74 30                	je     0x47ca6d
47ca3d:	8b c7                	mov    %edi,%eax
47ca3f:	8b d3                	mov    %ebx,%edx
47ca41:	8b 08                	mov    (%eax),%ecx
47ca43:	8d 41 01             	lea    0x1(%ecx),%eax
47ca46:	89 45 f0             	mov    %eax,-0x10(%ebp)
47ca49:	8a 01                	mov    (%ecx),%al
47ca4b:	41                   	inc    %ecx
47ca4c:	84 c0                	test   %al,%al
47ca4e:	75 f9                	jne    0x47ca49
47ca50:	8b 45 f8             	mov    -0x8(%ebp),%eax
47ca53:	2b 4d f0             	sub    -0x10(%ebp),%ecx
47ca56:	40                   	inc    %eax
47ca57:	03 c1                	add    %ecx,%eax
47ca59:	89 45 f8             	mov    %eax,-0x8(%ebp)
47ca5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47ca5f:	83 c0 04             	add    $0x4,%eax
47ca62:	42                   	inc    %edx
47ca63:	89 45 fc             	mov    %eax,-0x4(%ebp)
47ca66:	3b d6                	cmp    %esi,%edx
47ca68:	75 d7                	jne    0x47ca41
47ca6a:	8b 55 f4             	mov    -0xc(%ebp),%edx
47ca6d:	6a 01                	push   $0x1
47ca6f:	ff 75 f8             	push   -0x8(%ebp)
47ca72:	52                   	push   %edx
47ca73:	e8 3c 00 ff ff       	call   0x46cab4
47ca78:	8b f0                	mov    %eax,%esi
47ca7a:	83 c4 0c             	add    $0xc,%esp
47ca7d:	85 f6                	test   %esi,%esi
47ca7f:	75 16                	jne    0x47ca97
47ca81:	83 ce ff             	or     $0xffffffff,%esi
47ca84:	89 75 f8             	mov    %esi,-0x8(%ebp)
47ca87:	e9 88 00 00 00       	jmp    0x47cb14
47ca8c:	8b 7d d8             	mov    -0x28(%ebp),%edi
47ca8f:	8b 75 f8             	mov    -0x8(%ebp),%esi
47ca92:	e9 84 00 00 00       	jmp    0x47cb1b
47ca97:	8b 45 f4             	mov    -0xc(%ebp),%eax
47ca9a:	89 7d fc             	mov    %edi,-0x4(%ebp)
47ca9d:	8d 04 86             	lea    (%esi,%eax,4),%eax
47caa0:	8b c8                	mov    %eax,%ecx
47caa2:	89 45 e8             	mov    %eax,-0x18(%ebp)
47caa5:	8b c7                	mov    %edi,%eax
47caa7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47caaa:	3b 7d dc             	cmp    -0x24(%ebp),%edi
47caad:	74 5b                	je     0x47cb0a
47caaf:	8b d6                	mov    %esi,%edx
47cab1:	2b d7                	sub    %edi,%edx
47cab3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
47cab6:	8b 00                	mov    (%eax),%eax
47cab8:	8b d0                	mov    %eax,%edx
47caba:	89 45 ec             	mov    %eax,-0x14(%ebp)
47cabd:	8d 42 01             	lea    0x1(%edx),%eax
47cac0:	89 45 f0             	mov    %eax,-0x10(%ebp)
47cac3:	8a 02                	mov    (%edx),%al
47cac5:	42                   	inc    %edx
47cac6:	84 c0                	test   %al,%al
47cac8:	75 f9                	jne    0x47cac3
47caca:	2b 55 f0             	sub    -0x10(%ebp),%edx
47cacd:	8d 42 01             	lea    0x1(%edx),%eax
47cad0:	50                   	push   %eax
47cad1:	ff 75 ec             	push   -0x14(%ebp)
47cad4:	89 45 f0             	mov    %eax,-0x10(%ebp)
47cad7:	8b 45 e8             	mov    -0x18(%ebp),%eax
47cada:	2b c1                	sub    %ecx,%eax
47cadc:	03 45 f8             	add    -0x8(%ebp),%eax
47cadf:	50                   	push   %eax
47cae0:	51                   	push   %ecx
47cae1:	e8 a7 dd ff ff       	call   0x47a88d
47cae6:	83 c4 10             	add    $0x10,%esp
47cae9:	85 c0                	test   %eax,%eax
47caeb:	75 75                	jne    0x47cb62
47caed:	8b 45 fc             	mov    -0x4(%ebp),%eax
47caf0:	8b 55 e4             	mov    -0x1c(%ebp),%edx
47caf3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47caf6:	89 0c 02             	mov    %ecx,(%edx,%eax,1)
47caf9:	83 c0 04             	add    $0x4,%eax
47cafc:	03 4d f0             	add    -0x10(%ebp),%ecx
47caff:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47cb02:	89 45 fc             	mov    %eax,-0x4(%ebp)
47cb05:	3b 45 dc             	cmp    -0x24(%ebp),%eax
47cb08:	75 ac                	jne    0x47cab6
47cb0a:	8b 45 0c             	mov    0xc(%ebp),%eax
47cb0d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47cb10:	89 30                	mov    %esi,(%eax)
47cb12:	8b f3                	mov    %ebx,%esi
47cb14:	53                   	push   %ebx
47cb15:	e8 1f 58 ff ff       	call   0x472339
47cb1a:	59                   	pop    %ecx
47cb1b:	8b 45 dc             	mov    -0x24(%ebp),%eax
47cb1e:	2b c7                	sub    %edi,%eax
47cb20:	89 7d e8             	mov    %edi,-0x18(%ebp)
47cb23:	83 c0 03             	add    $0x3,%eax
47cb26:	c1 e8 02             	shr    $0x2,%eax
47cb29:	39 7d dc             	cmp    %edi,-0x24(%ebp)
47cb2c:	1b c9                	sbb    %ecx,%ecx
47cb2e:	f7 d1                	not    %ecx
47cb30:	23 c8                	and    %eax,%ecx
47cb32:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
47cb35:	74 1b                	je     0x47cb52
47cb37:	8b 75 e8             	mov    -0x18(%ebp),%esi
47cb3a:	8b f9                	mov    %ecx,%edi
47cb3c:	ff 36                	push   (%esi)
47cb3e:	e8 f6 57 ff ff       	call   0x472339
47cb43:	43                   	inc    %ebx
47cb44:	8d 76 04             	lea    0x4(%esi),%esi
47cb47:	59                   	pop    %ecx
47cb48:	3b df                	cmp    %edi,%ebx
47cb4a:	75 f0                	jne    0x47cb3c
47cb4c:	8b 7d d8             	mov    -0x28(%ebp),%edi
47cb4f:	8b 75 f8             	mov    -0x8(%ebp),%esi
47cb52:	57                   	push   %edi
47cb53:	e8 e1 57 ff ff       	call   0x472339
47cb58:	59                   	pop    %ecx
47cb59:	5f                   	pop    %edi
47cb5a:	5b                   	pop    %ebx
47cb5b:	8b c6                	mov    %esi,%eax
47cb5d:	5e                   	pop    %esi
47cb5e:	8b e5                	mov    %ebp,%esp
47cb60:	5d                   	pop    %ebp
47cb61:	c3                   	ret
47cb62:	53                   	push   %ebx
47cb63:	53                   	push   %ebx
47cb64:	53                   	push   %ebx
47cb65:	53                   	push   %ebx
47cb66:	53                   	push   %ebx
47cb67:	e8 97 01 fd ff       	call   0x44cd03
47cb6c:	cc                   	int3
47cb6d:	8b ff                	mov    %edi,%edi
47cb6f:	55                   	push   %ebp
47cb70:	8b ec                	mov    %esp,%ebp
47cb72:	83 ec 34             	sub    $0x34,%esp
47cb75:	a1 94 80 4b 00       	mov    0x4b8094,%eax