56c966:	8b 7c 24 0c          	mov    0xc(%esp),%edi
56c96a:	bb 01 00 00 00       	mov    $0x1,%ebx
56c96f:	68 64 25 60 00       	push   $0x602564
56c974:	8d 41 02             	lea    0x2(%ecx),%eax
56c977:	50                   	push   %eax
56c978:	ff 74 24 18          	push   0x18(%esp)
56c97c:	68 64 25 60 00       	push   $0x602564
56c981:	51                   	push   %ecx
56c982:	68 90 92 65 00       	push   $0x659290
56c987:	57                   	push   %edi
56c988:	e8 b3 5b f7 ff       	call   0x4e2540
56c98d:	83 c4 1c             	add    $0x1c,%esp
56c990:	83 3d 6c 8e 65 00 00 	cmpl   $0x0,0x658e6c
56c997:	74 46                	je     0x56c9df
56c999:	55                   	push   %ebp
56c99a:	8b 6c 24 18          	mov    0x18(%esp),%ebp
56c99e:	56                   	push   %esi
56c99f:	be 6c 8e 65 00       	mov    $0x658e6c,%esi
56c9a4:	ff 76 fc             	push   -0x4(%esi)
56c9a7:	55                   	push   %ebp
56c9a8:	e8 23 ef f9 ff       	call   0x50b8d0
56c9ad:	83 c4 08             	add    $0x8,%esp
56c9b0:	85 c0                	test   %eax,%eax
56c9b2:	74 21                	je     0x56c9d5
56c9b4:	85 db                	test   %ebx,%ebx
56c9b6:	74 04                	je     0x56c9bc
56c9b8:	33 db                	xor    %ebx,%ebx
56c9ba:	eb 0e                	jmp    0x56c9ca
56c9bc:	68 f8 60 60 00       	push   $0x6060f8
56c9c1:	57                   	push   %edi
56c9c2:	e8 09 c9 f8 ff       	call   0x4f92d0
56c9c7:	83 c4 08             	add    $0x8,%esp
56c9ca:	ff 36                	push   (%esi)
56c9cc:	57                   	push   %edi
56c9cd:	e8 fe c8 f8 ff       	call   0x4f92d0
56c9d2:	83 c4 08             	add    $0x8,%esp
56c9d5:	83 c6 0c             	add    $0xc,%esi
56c9d8:	83 3e 00             	cmpl   $0x0,(%esi)
56c9db:	75 c7                	jne    0x56c9a4
56c9dd:	5e                   	pop    %esi
56c9de:	5d                   	pop    %ebp
56c9df:	b9 9c 92 65 00       	mov    $0x65929c,%ecx
56c9e4:	85 db                	test   %ebx,%ebx
56c9e6:	b8 cc 26 60 00       	mov    $0x6026cc,%eax
56c9eb:	0f 45 c1             	cmovne %ecx,%eax
56c9ee:	50                   	push   %eax
56c9ef:	57                   	push   %edi
56c9f0:	e8 db c8 f8 ff       	call   0x4f92d0
56c9f5:	83 c4 08             	add    $0x8,%esp
56c9f8:	b8 01 00 00 00       	mov    $0x1,%eax
56c9fd:	5f                   	pop    %edi
56c9fe:	5b                   	pop    %ebx
56c9ff:	c3                   	ret
56ca00:	53                   	push   %ebx
56ca01:	55                   	push   %ebp
56ca02:	56                   	push   %esi
56ca03:	8b 74 24 18          	mov    0x18(%esp),%esi
56ca07:	33 ed                	xor    %ebp,%ebp
56ca09:	57                   	push   %edi
56ca0a:	6a 09                	push   $0x9
56ca0c:	68 74 92 65 00       	push   $0x659274
56ca11:	ff 76 04             	push   0x4(%esi)
56ca14:	33 ff                	xor    %edi,%edi
56ca16:	e8 75 8d 07 00       	call   0x5e5790
56ca1b:	83 c4 0c             	add    $0xc,%esp
56ca1e:	85 c0                	test   %eax,%eax
56ca20:	75 5e                	jne    0x56ca80
56ca22:	ff 76 08             	push   0x8(%esi)
56ca25:	ff 74 24 1c          	push   0x1c(%esp)
56ca29:	e8 92 fd ff ff       	call   0x56c7c0
56ca2e:	8b e8                	mov    %eax,%ebp
56ca30:	83 c4 08             	add    $0x8,%esp
56ca33:	85 ed                	test   %ebp,%ebp
56ca35:	74 28                	je     0x56ca5f
56ca37:	8b 74 24 14          	mov    0x14(%esp),%esi
56ca3b:	83 3e 00             	cmpl   $0x0,(%esi)
56ca3e:	0f 84 1d 01 00 00    	je     0x56cb61
56ca44:	6a 6e                	push   $0x6e
56ca46:	68 5c 92 65 00       	push   $0x65925c
56ca4b:	68 a0 00 00 00       	push   $0xa0
56ca50:	68 9e 00 00 00       	push   $0x9e
56ca55:	6a 22                	push   $0x22
56ca57:	e8 24 c5 f6 ff       	call   0x4d8f80
56ca5c:	83 c4 14             	add    $0x14,%esp
56ca5f:	68 a0 bf 56 00       	push   $0x56bfa0
56ca64:	55                   	push   %ebp
56ca65:	e8 86 86 f7 ff       	call   0x4e50f0
56ca6a:	68 00 bb 55 00       	push   $0x55bb00
56ca6f:	57                   	push   %edi
56ca70:	e8 7b 86 f7 ff       	call   0x4e50f0
56ca75:	83 c4 10             	add    $0x10,%esp
56ca78:	83 c8 ff             	or     $0xffffffff,%eax
56ca7b:	5f                   	pop    %edi
56ca7c:	5e                   	pop    %esi
56ca7d:	5d                   	pop    %ebp
56ca7e:	5b                   	pop    %ebx
56ca7f:	c3                   	ret
56ca80:	8b 46 04             	mov    0x4(%esi),%eax
56ca83:	b9 80 92 65 00       	mov    $0x659280,%ecx
56ca88:	8a 10                	mov    (%eax),%dl
56ca8a:	3a 11                	cmp    (%ecx),%dl
56ca8c:	75 1a                	jne    0x56caa8
56ca8e:	84 d2                	test   %dl,%dl
56ca90:	74 12                	je     0x56caa4
56ca92:	8a 50 01             	mov    0x1(%eax),%dl
56ca95:	3a 51 01             	cmp    0x1(%ecx),%dl
56ca98:	75 0e                	jne    0x56caa8
56ca9a:	83 c0 02             	add    $0x2,%eax
56ca9d:	83 c1 02             	add    $0x2,%ecx
56caa0:	84 d2                	test   %dl,%dl
56caa2:	75 e4                	jne    0x56ca88
56caa4:	33 c0                	xor    %eax,%eax
56caa6:	eb 05                	jmp    0x56caad
56caa8:	1b c0                	sbb    %eax,%eax
56caaa:	83 c8 01             	or     $0x1,%eax
56caad:	85 c0                	test   %eax,%eax
56caaf:	0f 85 f1 00 00 00    	jne    0x56cba6
56cab5:	e8 c6 f0 fe ff       	call   0x55bb80
56caba:	8b d8                	mov    %eax,%ebx
56cabc:	85 db                	test   %ebx,%ebx
56cabe:	74 30                	je     0x56caf0
56cac0:	ff 76 08             	push   0x8(%esi)
56cac3:	ff 74 24 1c          	push   0x1c(%esp)
56cac7:	e8 c4 c6 00 00       	call   0x579190
56cacc:	8b f8                	mov    %eax,%edi
56cace:	83 c4 08             	add    $0x8,%esp
56cad1:	85 ff                	test   %edi,%edi
56cad3:	75 23                	jne    0x56caf8
56cad5:	6a 56                	push   $0x56
56cad7:	68 5c 92 65 00       	push   $0x65925c
56cadc:	68 96 00 00 00       	push   $0x96
56cae1:	68 9e 00 00 00       	push   $0x9e
56cae6:	6a 22                	push   $0x22
56cae8:	e8 93 c4 f6 ff       	call   0x4d8f80
56caed:	83 c4 14             	add    $0x14,%esp
56caf0:	5f                   	pop    %edi
56caf1:	5e                   	pop    %esi
56caf2:	5d                   	pop    %ebp
56caf3:	83 c8 ff             	or     $0xffffffff,%eax
56caf6:	5b                   	pop    %ebx
56caf7:	c3                   	ret
56caf8:	68 01 10 00 00       	push   $0x1001
56cafd:	57                   	push   %edi
56cafe:	53                   	push   %ebx
56caff:	e8 7c c2 ff ff       	call   0x568d80
56cb04:	57                   	push   %edi
56cb05:	ff 74 24 28          	push   0x28(%esp)
56cb09:	8b f0                	mov    %eax,%esi
56cb0b:	e8 c0 c6 00 00       	call   0x5791d0
56cb10:	8b 3b                	mov    (%ebx),%edi
56cb12:	53                   	push   %ebx
56cb13:	89 2b                	mov    %ebp,(%ebx)
56cb15:	e8 36 f0 fe ff       	call   0x55bb50
56cb1a:	83 c4 18             	add    $0x18,%esp
56cb1d:	85 f6                	test   %esi,%esi
56cb1f:	0f 84 3a ff ff ff    	je     0x56ca5f
56cb25:	57                   	push   %edi
56cb26:	e8 95 85 f7 ff       	call   0x4e50c0
56cb2b:	83 c4 04             	add    $0x4,%esp
56cb2e:	85 c0                	test   %eax,%eax
56cb30:	0f 8e 29 ff ff ff    	jle    0x56ca5f
56cb36:	57                   	push   %edi
56cb37:	e8 84 85 f7 ff       	call   0x4e50c0
56cb3c:	48                   	dec    %eax
56cb3d:	50                   	push   %eax
56cb3e:	57                   	push   %edi
56cb3f:	e8 3c 87 f7 ff       	call   0x4e5280
56cb44:	83 c4 0c             	add    $0xc,%esp
56cb47:	39 68 08             	cmp    %ebp,0x8(%eax)
56cb4a:	0f 84 e7 fe ff ff    	je     0x56ca37
56cb50:	6a 66                	push   $0x66
56cb52:	68 5c 92 65 00       	push   $0x65925c
56cb57:	68 a1 00 00 00       	push   $0xa1
56cb5c:	e9 ef fe ff ff       	jmp    0x56ca50
56cb61:	68 20 8f 65 00       	push   $0x658f20
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