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
47cb7a:	33 c5                	xor    %ebp,%eax
47cb7c:	89 45 fc             	mov    %eax,-0x4(%ebp)
47cb7f:	8b 45 0c             	mov    0xc(%ebp),%eax
47cb82:	89 45 e0             	mov    %eax,-0x20(%ebp)
47cb85:	56                   	push   %esi
47cb86:	8b 75 08             	mov    0x8(%ebp),%esi
47cb89:	85 c0                	test   %eax,%eax
47cb8b:	75 14                	jne    0x47cba1
47cb8d:	e8 9d 02 fd ff       	call   0x44ce2f
47cb92:	6a 16                	push   $0x16
47cb94:	5e                   	pop    %esi
47cb95:	89 30                	mov    %esi,(%eax)
47cb97:	e8 3a 01 fd ff       	call   0x44ccd6
47cb9c:	e9 cd 01 00 00       	jmp    0x47cd6e
47cba1:	53                   	push   %ebx
47cba2:	57                   	push   %edi
47cba3:	33 ff                	xor    %edi,%edi
47cba5:	89 38                	mov    %edi,(%eax)
47cba7:	8b df                	mov    %edi,%ebx
47cba9:	8b cf                	mov    %edi,%ecx
47cbab:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
47cbae:	89 4d d8             	mov    %ecx,-0x28(%ebp)
47cbb1:	89 7d dc             	mov    %edi,-0x24(%ebp)
47cbb4:	39 3e                	cmp    %edi,(%esi)
47cbb6:	74 5e                	je     0x47cc16
47cbb8:	6a 2a                	push   $0x2a
47cbba:	58                   	pop    %eax
47cbbb:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
47cbbf:	6a 3f                	push   $0x3f
47cbc1:	58                   	pop    %eax
47cbc2:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
47cbc6:	33 c0                	xor    %eax,%eax
47cbc8:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
47cbcc:	8d 45 f4             	lea    -0xc(%ebp),%eax
47cbcf:	50                   	push   %eax
47cbd0:	ff 36                	push   (%esi)
47cbd2:	e8 06 39 00 00       	call   0x4804dd
47cbd7:	59                   	pop    %ecx
47cbd8:	59                   	pop    %ecx
47cbd9:	85 c0                	test   %eax,%eax
47cbdb:	75 12                	jne    0x47cbef
47cbdd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47cbe0:	50                   	push   %eax
47cbe1:	57                   	push   %edi
47cbe2:	57                   	push   %edi
47cbe3:	ff 36                	push   (%esi)
47cbe5:	e8 54 02 00 00       	call   0x47ce3e
47cbea:	83 c4 10             	add    $0x10,%esp
47cbed:	eb 0f                	jmp    0x47cbfe
47cbef:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47cbf2:	51                   	push   %ecx
47cbf3:	50                   	push   %eax
47cbf4:	ff 36                	push   (%esi)
47cbf6:	e8 7e 04 00 00       	call   0x47d079
47cbfb:	83 c4 0c             	add    $0xc,%esp
47cbfe:	89 45 f0             	mov    %eax,-0x10(%ebp)
47cc01:	85 c0                	test   %eax,%eax
47cc03:	0f 85 85 00 00 00    	jne    0x47cc8e
47cc09:	83 c6 04             	add    $0x4,%esi
47cc0c:	39 3e                	cmp    %edi,(%esi)
47cc0e:	75 a8                	jne    0x47cbb8
47cc10:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
47cc13:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47cc16:	8b c1                	mov    %ecx,%eax
47cc18:	89 7d f0             	mov    %edi,-0x10(%ebp)
47cc1b:	2b c3                	sub    %ebx,%eax
47cc1d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
47cc20:	8b d0                	mov    %eax,%edx
47cc22:	83 c0 03             	add    $0x3,%eax
47cc25:	c1 fa 02             	sar    $0x2,%edx
47cc28:	42                   	inc    %edx
47cc29:	c1 e8 02             	shr    $0x2,%eax
47cc2c:	3b cb                	cmp    %ebx,%ecx
47cc2e:	89 55 e8             	mov    %edx,-0x18(%ebp)
47cc31:	1b f6                	sbb    %esi,%esi
47cc33:	f7 d6                	not    %esi
47cc35:	23 f0                	and    %eax,%esi
47cc37:	74 36                	je     0x47cc6f
47cc39:	8b c3                	mov    %ebx,%eax
47cc3b:	8b d7                	mov    %edi,%edx
47cc3d:	8b 08                	mov    (%eax),%ecx
47cc3f:	8d 41 02             	lea    0x2(%ecx),%eax
47cc42:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47cc45:	66 8b 01             	mov    (%ecx),%ax
47cc48:	83 c1 02             	add    $0x2,%ecx
47cc4b:	66 3b c7             	cmp    %di,%ax
47cc4e:	75 f5                	jne    0x47cc45
47cc50:	2b 4d e4             	sub    -0x1c(%ebp),%ecx
47cc53:	8b 45 f0             	mov    -0x10(%ebp),%eax
47cc56:	40                   	inc    %eax
47cc57:	d1 f9                	sar    $1,%ecx
47cc59:	03 c1                	add    %ecx,%eax
47cc5b:	89 45 f0             	mov    %eax,-0x10(%ebp)
47cc5e:	8b 45 ec             	mov    -0x14(%ebp),%eax
47cc61:	83 c0 04             	add    $0x4,%eax
47cc64:	42                   	inc    %edx
47cc65:	89 45 ec             	mov    %eax,-0x14(%ebp)
47cc68:	3b d6                	cmp    %esi,%edx
47cc6a:	75 d1                	jne    0x47cc3d
47cc6c:	8b 55 e8             	mov    -0x18(%ebp),%edx
47cc6f:	6a 02                	push   $0x2
47cc71:	ff 75 f0             	push   -0x10(%ebp)
47cc74:	52                   	push   %edx
47cc75:	e8 3a fe fe ff       	call   0x46cab4
47cc7a:	8b f0                	mov    %eax,%esi
47cc7c:	83 c4 0c             	add    $0xc,%esp
47cc7f:	85 f6                	test   %esi,%esi
47cc81:	75 16                	jne    0x47cc99
47cc83:	83 ce ff             	or     $0xffffffff,%esi
47cc86:	89 75 f0             	mov    %esi,-0x10(%ebp)
47cc89:	e9 99 00 00 00       	jmp    0x47cd27
47cc8e:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
47cc91:	8b 75 f0             	mov    -0x10(%ebp),%esi
47cc94:	e9 95 00 00 00       	jmp    0x47cd2e
47cc99:	8b 45 e8             	mov    -0x18(%ebp),%eax
47cc9c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
47cc9f:	8d 04 86             	lea    (%esi,%eax,4),%eax
47cca2:	8b d0                	mov    %eax,%edx
47cca4:	89 45 cc             	mov    %eax,-0x34(%ebp)
47cca7:	8b c3                	mov    %ebx,%eax
47cca9:	89 55 e8             	mov    %edx,-0x18(%ebp)
47ccac:	3b 5d d8             	cmp    -0x28(%ebp),%ebx
47ccaf:	74 6c                	je     0x47cd1d
47ccb1:	8b ce                	mov    %esi,%ecx
47ccb3:	2b cb                	sub    %ebx,%ecx
47ccb5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47ccb8:	8b 00                	mov    (%eax),%eax
47ccba:	8b c8                	mov    %eax,%ecx
47ccbc:	89 45 d0             	mov    %eax,-0x30(%ebp)
47ccbf:	8d 41 02             	lea    0x2(%ecx),%eax
47ccc2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47ccc5:	66 8b 01             	mov    (%ecx),%ax
47ccc8:	83 c1 02             	add    $0x2,%ecx
47cccb:	66 3b c7             	cmp    %di,%ax
47ccce:	75 f5                	jne    0x47ccc5
47ccd0:	2b 4d e4             	sub    -0x1c(%ebp),%ecx
47ccd3:	d1 f9                	sar    $1,%ecx
47ccd5:	8d 41 01             	lea    0x1(%ecx),%eax
47ccd8:	8b ca                	mov    %edx,%ecx
47ccda:	2b 4d cc             	sub    -0x34(%ebp),%ecx
47ccdd:	50                   	push   %eax
47ccde:	ff 75 d0             	push   -0x30(%ebp)
47cce1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47cce4:	8b 45 f0             	mov    -0x10(%ebp),%eax
47cce7:	d1 f9                	sar    $1,%ecx
47cce9:	2b c1                	sub    %ecx,%eax
47cceb:	50                   	push   %eax
47ccec:	52                   	push   %edx
47cced:	e8 e0 22 00 00       	call   0x47efd2
47ccf2:	83 c4 10             	add    $0x10,%esp
47ccf5:	85 c0                	test   %eax,%eax
47ccf7:	0f 85 82 00 00 00    	jne    0x47cd7f
47ccfd:	8b 45 ec             	mov    -0x14(%ebp),%eax
47cd00:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47cd03:	8b 55 e8             	mov    -0x18(%ebp),%edx
47cd06:	89 14 01             	mov    %edx,(%ecx,%eax,1)
47cd09:	83 c0 04             	add    $0x4,%eax
47cd0c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
47cd0f:	89 45 ec             	mov    %eax,-0x14(%ebp)
47cd12:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
47cd15:	89 55 e8             	mov    %edx,-0x18(%ebp)
47cd18:	3b 45 d8             	cmp    -0x28(%ebp),%eax
47cd1b:	75 9b                	jne    0x47ccb8
47cd1d:	8b 45 e0             	mov    -0x20(%ebp),%eax
47cd20:	89 7d f0             	mov    %edi,-0x10(%ebp)
47cd23:	89 30                	mov    %esi,(%eax)
47cd25:	8b f7                	mov    %edi,%esi
47cd27:	57                   	push   %edi
47cd28:	e8 0c 56 ff ff       	call   0x472339
47cd2d:	59                   	pop    %ecx
47cd2e:	8b 45 d8             	mov    -0x28(%ebp),%eax
47cd31:	2b c3                	sub    %ebx,%eax
47cd33:	89 5d f4             	mov    %ebx,-0xc(%ebp)
47cd36:	83 c0 03             	add    $0x3,%eax
47cd39:	c1 e8 02             	shr    $0x2,%eax