56cb66:	e8 a5 f1 f7 ff       	call   0x4ebd10
56cb6b:	83 c4 04             	add    $0x4,%esp
56cb6e:	89 06                	mov    %eax,(%esi)
56cb70:	85 c0                	test   %eax,%eax
56cb72:	0f 84 e7 fe ff ff    	je     0x56ca5f
56cb78:	85 ed                	test   %ebp,%ebp
56cb7a:	74 15                	je     0x56cb91
56cb7c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
56cb82:	8b 06                	mov    (%esi),%eax
56cb84:	5f                   	pop    %edi
56cb85:	5e                   	pop    %esi
56cb86:	89 68 04             	mov    %ebp,0x4(%eax)
56cb89:	b8 01 00 00 00       	mov    $0x1,%eax
56cb8e:	5d                   	pop    %ebp
56cb8f:	5b                   	pop    %ebx
56cb90:	c3                   	ret
56cb91:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
56cb97:	8b 06                	mov    (%esi),%eax
56cb99:	89 78 04             	mov    %edi,0x4(%eax)
56cb9c:	b8 01 00 00 00       	mov    $0x1,%eax
56cba1:	5f                   	pop    %edi
56cba2:	5e                   	pop    %esi
56cba3:	5d                   	pop    %ebp
56cba4:	5b                   	pop    %ebx
56cba5:	c3                   	ret
56cba6:	5f                   	pop    %edi
56cba7:	5e                   	pop    %esi
56cba8:	5d                   	pop    %ebp
56cba9:	33 c0                	xor    %eax,%eax
56cbab:	5b                   	pop    %ebx
56cbac:	c3                   	ret
56cbad:	cc                   	int3
56cbae:	cc                   	int3
56cbaf:	cc                   	int3
56cbb0:	b8 08 00 00 00       	mov    $0x8,%eax
56cbb5:	e8 f6 4b 06 00       	call   0x5d17b0
56cbba:	56                   	push   %esi
56cbbb:	ff 74 24 14          	push   0x14(%esp)
56cbbf:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
56cbc6:	00
56cbc7:	e8 a4 c8 ff ff       	call   0x569470
56cbcc:	8b f0                	mov    %eax,%esi
56cbce:	83 c4 04             	add    $0x4,%esp
56cbd1:	89 74 24 04          	mov    %esi,0x4(%esp)
56cbd5:	85 f6                	test   %esi,%esi
56cbd7:	75 05                	jne    0x56cbde
56cbd9:	5e                   	pop    %esi
56cbda:	83 c4 08             	add    $0x8,%esp
56cbdd:	c3                   	ret
56cbde:	55                   	push   %ebp
56cbdf:	8b 6c 24 14          	mov    0x14(%esp),%ebp
56cbe3:	83 7d 00 00          	cmpl   $0x0,0x0(%ebp)
56cbe7:	0f 85 be 00 00 00    	jne    0x56ccab
56cbed:	53                   	push   %ebx
56cbee:	57                   	push   %edi
56cbef:	56                   	push   %esi
56cbf0:	33 ff                	xor    %edi,%edi
56cbf2:	e8 c9 84 f7 ff       	call   0x4e50c0
56cbf7:	83 c4 04             	add    $0x4,%esp
56cbfa:	85 c0                	test   %eax,%eax
56cbfc:	0f 8e 99 00 00 00    	jle    0x56cc9b
56cc02:	57                   	push   %edi
56cc03:	56                   	push   %esi
56cc04:	e8 77 86 f7 ff       	call   0x4e5280
56cc09:	83 c4 08             	add    $0x8,%esp
56cc0c:	83 7d 00 00          	cmpl   $0x0,0x0(%ebp)
56cc10:	8b 58 04             	mov    0x4(%eax),%ebx
56cc13:	75 10                	jne    0x56cc25
56cc15:	e8 86 eb f7 ff       	call   0x4eb7a0
56cc1a:	89 45 00             	mov    %eax,0x0(%ebp)
56cc1d:	85 c0                	test   %eax,%eax
56cc1f:	0f 84 84 00 00 00    	je     0x56cca9
56cc25:	83 3d 6c 8e 65 00 00 	cmpl   $0x0,0x658e6c
56cc2c:	be 68 8e 65 00       	mov    $0x658e68,%esi
56cc31:	74 4c                	je     0x56cc7f
56cc33:	8b 4e 08             	mov    0x8(%esi),%ecx
56cc36:	8b c3                	mov    %ebx,%eax
56cc38:	8a 11                	mov    (%ecx),%dl
56cc3a:	3a 10                	cmp    (%eax),%dl
56cc3c:	75 1a                	jne    0x56cc58
56cc3e:	84 d2                	test   %dl,%dl
56cc40:	74 12                	je     0x56cc54
56cc42:	8a 51 01             	mov    0x1(%ecx),%dl
56cc45:	3a 50 01             	cmp    0x1(%eax),%dl
56cc48:	75 0e                	jne    0x56cc58
56cc4a:	83 c1 02             	add    $0x2,%ecx
56cc4d:	83 c0 02             	add    $0x2,%eax
56cc50:	84 d2                	test   %dl,%dl
56cc52:	75 e4                	jne    0x56cc38
56cc54:	33 c0                	xor    %eax,%eax
56cc56:	eb 05                	jmp    0x56cc5d
56cc58:	1b c0                	sbb    %eax,%eax
56cc5a:	83 c8 01             	or     $0x1,%eax
56cc5d:	85 c0                	test   %eax,%eax
56cc5f:	74 0b                	je     0x56cc6c
56cc61:	83 c6 0c             	add    $0xc,%esi
56cc64:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
56cc68:	75 c9                	jne    0x56cc33
56cc6a:	eb 13                	jmp    0x56cc7f
56cc6c:	6a 01                	push   $0x1
56cc6e:	ff 36                	push   (%esi)
56cc70:	ff 75 00             	push   0x0(%ebp)
56cc73:	e8 b8 ec f9 ff       	call   0x50b930
56cc78:	83 c4 0c             	add    $0xc,%esp
56cc7b:	85 c0                	test   %eax,%eax
56cc7d:	74 26                	je     0x56cca5
56cc7f:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
56cc83:	8b 74 24 10          	mov    0x10(%esp),%esi
56cc87:	74 20                	je     0x56cca9
56cc89:	56                   	push   %esi
56cc8a:	47                   	inc    %edi
56cc8b:	e8 30 84 f7 ff       	call   0x4e50c0
56cc90:	83 c4 04             	add    $0x4,%esp
56cc93:	3b f8                	cmp    %eax,%edi
56cc95:	0f 8c 67 ff ff ff    	jl     0x56cc02
56cc9b:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
56cca2:	00
56cca3:	eb 04                	jmp    0x56cca9
56cca5:	8b 74 24 10          	mov    0x10(%esp),%esi
56cca9:	5f                   	pop    %edi
56ccaa:	5b                   	pop    %ebx
56ccab:	68 00 90 56 00       	push   $0x569000
56ccb0:	56                   	push   %esi
56ccb1:	e8 3a 84 f7 ff       	call   0x4e50f0
56ccb6:	8b 44 24 14          	mov    0x14(%esp),%eax
56ccba:	83 c4 08             	add    $0x8,%esp
56ccbd:	5d                   	pop    %ebp
56ccbe:	5e                   	pop    %esi
56ccbf:	83 c4 08             	add    $0x8,%esp
56ccc2:	c3                   	ret
56ccc3:	cc                   	int3
56ccc4:	cc                   	int3
56ccc5:	cc                   	int3
56ccc6:	cc                   	int3
56ccc7:	cc                   	int3
56ccc8:	cc                   	int3
56ccc9:	cc                   	int3
56ccca:	cc                   	int3
56cccb:	cc                   	int3
56cccc:	cc                   	int3
56cccd:	cc                   	int3
56ccce:	cc                   	int3
56cccf:	cc                   	int3
56ccd0:	b8 f0 93 65 00       	mov    $0x6593f0,%eax
56ccd5:	c3                   	ret
56ccd6:	cc                   	int3
56ccd7:	cc                   	int3
56ccd8:	cc                   	int3
56ccd9:	cc                   	int3
56ccda:	cc                   	int3
56ccdb:	cc                   	int3
56ccdc:	cc                   	int3
56ccdd:	cc                   	int3
56ccde:	cc                   	int3
56ccdf:	cc                   	int3
56cce0:	b8 34 94 65 00       	mov    $0x659434,%eax
56cce5:	c3                   	ret
56cce6:	cc                   	int3
56cce7:	cc                   	int3
56cce8:	cc                   	int3
56cce9:	cc                   	int3
56ccea:	cc                   	int3
56cceb:	cc                   	int3
56ccec:	cc                   	int3
56cced:	cc                   	int3
56ccee:	cc                   	int3
56ccef:	cc                   	int3
56ccf0:	b8 0c 00 00 00       	mov    $0xc,%eax
56ccf5:	e8 b6 4a 06 00       	call   0x5d17b0
56ccfa:	53                   	push   %ebx
56ccfb:	55                   	push   %ebp
56ccfc:	56                   	push   %esi
56ccfd:	57                   	push   %edi
56ccfe:	68 34 94 65 00       	push   $0x659434
56cd03:	33 f6                	xor    %esi,%esi
56cd05:	e8 06 f0 f7 ff       	call   0x4ebd10
56cd0a:	8b e8                	mov    %eax,%ebp
56cd0c:	83 c4 04             	add    $0x4,%esp
56cd0f:	85 ed                	test   %ebp,%ebp
56cd11:	0f 84 0e 01 00 00    	je     0x56ce25
56cd17:	8b 5c 24 28          	mov    0x28(%esp),%ebx
56cd1b:	33 ff                	xor    %edi,%edi
56cd1d:	53                   	push   %ebx
56cd1e:	e8 9d 83 f7 ff       	call   0x4e50c0
56cd23:	83 c4 04             	add    $0x4,%esp
56cd26:	85 c0                	test   %eax,%eax
56cd28:	0f 8e ce 00 00 00    	jle    0x56cdfc
56cd2e:	66 90                	xchg   %ax,%ax
56cd30:	57                   	push   %edi
56cd31:	53                   	push   %ebx
56cd32:	e8 49 85 f7 ff       	call   0x4e5280
56cd37:	8b f0                	mov    %eax,%esi
56cd39:	6a 09                	push   $0x9
56cd3b:	68 ac 94 65 00       	push   $0x6594ac
56cd40:	ff 76 04             	push   0x4(%esi)
56cd43:	e8 48 8a 07 00       	call   0x5e5790
56cd48:	83 c4 14             	add    $0x14,%esp
56cd4b:	85 c0                	test   %eax,%eax
56cd4d:	75 10                	jne    0x56cd5f
56cd4f:	8b 46 04             	mov    0x4(%esi),%eax
56cd52:	80 78 09 00          	cmpb   $0x0,0x9(%eax)
56cd56:	74 07                	je     0x56cd5f
56cd58:	8b dd                	mov    %ebp,%ebx
56cd5a:	83 c0 0a             	add    $0xa,%eax
56cd5d:	eb 2d                	jmp    0x56cd8c
56cd5f:	6a 08                	push   $0x8
56cd61:	68 b8 94 65 00       	push   $0x6594b8
56cd66:	ff 76 04             	push   0x4(%esi)
56cd69:	e8 22 8a 07 00       	call   0x5e5790
56cd6e:	83 c4 0c             	add    $0xc,%esp
56cd71:	85 c0                	test   %eax,%eax
56cd73:	0f 85 8d 00 00 00    	jne    0x56ce06
56cd79:	8b 46 04             	mov    0x4(%esi),%eax
56cd7c:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
56cd80:	0f 84 80 00 00 00    	je     0x56ce06
56cd86:	8d 5d 04             	lea    0x4(%ebp),%ebx
56cd89:	83 c0 09             	add    $0x9,%eax
56cd8c:	89 44 24 14          	mov    %eax,0x14(%esp)
56cd90:	8b 46 08             	mov    0x8(%esi),%eax
56cd93:	68 f0 93 65 00       	push   $0x6593f0
56cd98:	89 44 24 1c          	mov    %eax,0x1c(%esp)
56cd9c:	e8 6f ef f7 ff       	call   0x4ebd10
56cda1:	8b f0                	mov    %eax,%esi
56cda3:	83 c4 04             	add    $0x4,%esp
56cda6:	85 f6                	test   %esi,%esi
56cda8:	74 7b                	je     0x56ce25
56cdaa:	6a 01                	push   $0x1
56cdac:	8d 44 24 14          	lea    0x14(%esp),%eax
56cdb0:	50                   	push   %eax
56cdb1:	ff 74 24 2c          	push   0x2c(%esp)
56cdb5:	ff 74 24 2c          	push   0x2c(%esp)
56cdb9:	ff 36                	push   (%esi)
56cdbb:	e8 00 e1 00 00       	call   0x57aec0
56cdc0:	83 c4 14             	add    $0x14,%esp
56cdc3:	85 c0                	test   %eax,%eax
56cdc5:	74 79                	je     0x56ce40
56cdc7:	8b 03                	mov    (%ebx),%eax
56cdc9:	85 c0                	test   %eax,%eax
56cdcb:	75 0b                	jne    0x56cdd8
56cdcd:	e8 4e 82 f7 ff       	call   0x4e5020
56cdd2:	89 03                	mov    %eax,(%ebx)
56cdd4:	85 c0                	test   %eax,%eax
56cdd6:	74 4d                	je     0x56ce25
56cdd8:	56                   	push   %esi
56cdd9:	50                   	push   %eax
56cdda:	e8 71 83 f7 ff       	call   0x4e5150
56cddf:	83 c4 08             	add    $0x8,%esp
56cde2:	85 c0                	test   %eax,%eax
56cde4:	74 3f                	je     0x56ce25
56cde6:	8b 5c 24 28          	mov    0x28(%esp),%ebx
56cdea:	47                   	inc    %edi
56cdeb:	53                   	push   %ebx
56cdec:	e8 cf 82 f7 ff       	call   0x4e50c0
56cdf1:	83 c4 04             	add    $0x4,%esp
56cdf4:	3b f8                	cmp    %eax,%edi
56cdf6:	0f 8c 34 ff ff ff    	jl     0x56cd30
56cdfc:	5f                   	pop    %edi
56cdfd:	5e                   	pop    %esi
56cdfe:	8b c5                	mov    %ebp,%eax
56ce00:	5d                   	pop    %ebp
56ce01:	5b                   	pop    %ebx
56ce02:	83 c4 0c             	add    $0xc,%esp
56ce05:	c3                   	ret
56ce06:	6a 7f                	push   $0x7f
56ce08:	68 c4 94 65 00       	push   $0x6594c4
56ce0d:	68 8f 00 00 00       	push   $0x8f
56ce12:	68 93 00 00 00       	push   $0x93
56ce17:	6a 22                	push   $0x22
56ce19:	e8 62 c1 f6 ff       	call   0x4d8f80
56ce1e:	83 c4 14             	add    $0x14,%esp
56ce21:	33 f6                	xor    %esi,%esi
56ce23:	eb 1b                	jmp    0x56ce40
56ce25:	68 92 00 00 00       	push   $0x92
56ce2a:	68 c4 94 65 00       	push   $0x6594c4
56ce2f:	6a 41                	push   $0x41
56ce31:	68 93 00 00 00       	push   $0x93
56ce36:	6a 22                	push   $0x22
56ce38:	e8 43 c1 f6 ff       	call   0x4d8f80
56ce3d:	83 c4 14             	add    $0x14,%esp
56ce40:	68 34 94 65 00       	push   $0x659434
56ce45:	55                   	push   %ebp
56ce46:	e8 75 f4 f7 ff       	call   0x4ec2c0
56ce4b:	68 f0 93 65 00       	push   $0x6593f0
56ce50:	56                   	push   %esi
56ce51:	e8 6a f4 f7 ff       	call   0x4ec2c0
56ce56:	83 c4 10             	add    $0x10,%esp
56ce59:	33 c0                	xor    %eax,%eax
56ce5b:	5f                   	pop    %edi
56ce5c:	5e                   	pop    %esi
56ce5d:	5d                   	pop    %ebp
56ce5e:	5b                   	pop    %ebx
56ce5f:	83 c4 0c             	add    $0xc,%esp
56ce62:	c3                   	ret
56ce63:	cc                   	int3
56ce64:	cc                   	int3
56ce65:	cc                   	int3
56ce66:	cc                   	int3
56ce67:	cc                   	int3
56ce68:	cc                   	int3
56ce69:	cc                   	int3
56ce6a:	cc                   	int3
56ce6b:	cc                   	int3
56ce6c:	cc                   	int3
56ce6d:	cc                   	int3
56ce6e:	cc                   	int3
56ce6f:	cc                   	int3
56ce70:	57                   	push   %edi
56ce71:	8b 7c 24 0c          	mov    0xc(%esp),%edi
56ce75:	68 e0 94 65 00       	push   $0x6594e0
56ce7a:	ff 74 24 18          	push   0x18(%esp)
56ce7e:	ff 74 24 18          	push   0x18(%esp)
56ce82:	ff 37                	push   (%edi)
56ce84:	ff 74 24 18          	push   0x18(%esp)
56ce88:	e8 b3 03 00 00       	call   0x56d240
56ce8d:	68 ec 94 65 00       	push   $0x6594ec
56ce92:	ff 74 24 2c          	push   0x2c(%esp)
56ce96:	ff 74 24 2c          	push   0x2c(%esp)
56ce9a:	ff 77 04             	push   0x4(%edi)
56ce9d:	ff 74 24 2c          	push   0x2c(%esp)
56cea1:	e8 9a 03 00 00       	call   0x56d240
56cea6:	83 c4 28             	add    $0x28,%esp
56cea9:	b8 01 00 00 00       	mov    $0x1,%eax
56ceae:	5f                   	pop    %edi
56ceaf:	c3                   	ret
56ceb0:	b8 08 00 00 00       	mov    $0x8,%eax
56ceb5:	e8 f6 48 06 00       	call   0x5d17b0
56ceba:	53                   	push   %ebx
56cebb:	8b 5c 24 10          	mov    0x10(%esp),%ebx
56cebf:	55                   	push   %ebp
56cec0:	56                   	push   %esi
56cec1:	57                   	push   %edi
56cec2:	53                   	push   %ebx
56cec3:	e8 d8 a6 fa ff       	call   0x5175a0
56cec8:	ff b3 a0 00 00 00    	push   0xa0(%ebx)
56cece:	8b f8                	mov    %eax,%edi
56ced0:	e8 eb 81 f7 ff       	call   0x4e50c0
56ced5:	57                   	push   %edi
56ced6:	8b f0                	mov    %eax,%esi
56ced8:	e8 33 c6 00 00       	call   0x579510
56cedd:	8b c8                	mov    %eax,%ecx
56cedf:	83 c4 0c             	add    $0xc,%esp
56cee2:	33 c0                	xor    %eax,%eax
56cee4:	85 c9                	test   %ecx,%ecx
56cee6:	0f 48 c8             	cmovs  %eax,%ecx
56cee9:	85 f6                	test   %esi,%esi
56ceeb:	0f 48 f0             	cmovs  %eax,%esi
56ceee:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
56cef3:	2b c6                	sub    %esi,%eax
56cef5:	3b c8                	cmp    %eax,%ecx
56cef7:	0f 8f 3a 01 00 00    	jg     0x56d037