5579f8:	8a 01                	mov    (%ecx),%al
5579fa:	84 c0                	test   %al,%al
5579fc:	74 1d                	je     0x557a1b
5579fe:	66 90                	xchg   %ax,%ax
557a00:	0f b6 c0             	movzbl %al,%eax
557a03:	8d 49 01             	lea    0x1(%ecx),%ecx
557a06:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
557a0d:	03 c2                	add    %edx,%eax
557a0f:	69 d0 b1 79 37 9e    	imul   $0x9e3779b1,%eax,%edx
557a15:	8a 01                	mov    (%ecx),%al
557a17:	84 c0                	test   %al,%al
557a19:	75 e5                	jne    0x557a00
557a1b:	8b c2                	mov    %edx,%eax
557a1d:	5d                   	pop    %ebp
557a1e:	c3                   	ret
557a1f:	cc                   	int3
557a20:	55                   	push   %ebp
557a21:	8b ec                	mov    %esp,%ebp
557a23:	83 ec 08             	sub    $0x8,%esp
557a26:	8b 45 08             	mov    0x8(%ebp),%eax
557a29:	33 d2                	xor    %edx,%edx
557a2b:	53                   	push   %ebx
557a2c:	56                   	push   %esi
557a2d:	57                   	push   %edi
557a2e:	8b 58 14             	mov    0x14(%eax),%ebx
557a31:	8b 40 18             	mov    0x18(%eax),%eax
557a34:	89 45 fc             	mov    %eax,-0x4(%ebp)
557a37:	89 55 08             	mov    %edx,0x8(%ebp)
557a3a:	8b 4b 60             	mov    0x60(%ebx),%ecx
557a3d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
557a40:	85 c9                	test   %ecx,%ecx
557a42:	0f 8e cf 00 00 00    	jle    0x557b17
557a48:	8b 5b 5c             	mov    0x5c(%ebx),%ebx
557a4b:	83 c3 10             	add    $0x10,%ebx
557a4e:	66 90                	xchg   %ax,%ax
557a50:	39 43 04             	cmp    %eax,0x4(%ebx)
557a53:	0f 82 af 00 00 00    	jb     0x557b08
557a59:	8b 33                	mov    (%ebx),%esi
557a5b:	8d 78 ff             	lea    -0x1(%eax),%edi
557a5e:	3b 3e                	cmp    (%esi),%edi
557a60:	73 4f                	jae    0x557ab1
557a62:	8b 4e 08             	mov    0x8(%esi),%ecx
557a65:	85 c9                	test   %ecx,%ecx
557a67:	74 21                	je     0x557a8a
557a69:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
557a70:	8b c7                	mov    %edi,%eax
557a72:	33 d2                	xor    %edx,%edx
557a74:	f7 f1                	div    %ecx
557a76:	8b fa                	mov    %edx,%edi
557a78:	8b 74 86 0c          	mov    0xc(%esi,%eax,4),%esi
557a7c:	85 f6                	test   %esi,%esi
557a7e:	74 31                	je     0x557ab1
557a80:	8b 4e 08             	mov    0x8(%esi),%ecx
557a83:	85 c9                	test   %ecx,%ecx
557a85:	75 e9                	jne    0x557a70
557a87:	8b 55 08             	mov    0x8(%ebp),%edx
557a8a:	81 3e a0 0f 00 00    	cmpl   $0xfa0,(%esi)
557a90:	77 2b                	ja     0x557abd
557a92:	8b cf                	mov    %edi,%ecx
557a94:	b8 01 00 00 00       	mov    $0x1,%eax
557a99:	83 e1 07             	and    $0x7,%ecx
557a9c:	c1 ef 03             	shr    $0x3,%edi
557a9f:	d3 e0                	shl    %cl,%eax
557aa1:	84 44 37 0c          	test   %al,0xc(%edi,%esi,1)
557aa5:	b8 00 00 00 00       	mov    $0x0,%eax
557aaa:	0f 95 c0             	setne  %al
557aad:	85 c0                	test   %eax,%eax
557aaf:	75 51                	jne    0x557b02
557ab1:	5f                   	pop    %edi
557ab2:	5e                   	pop    %esi
557ab3:	b8 01 00 00 00       	mov    $0x1,%eax
557ab8:	5b                   	pop    %ebx
557ab9:	8b e5                	mov    %ebp,%esp
557abb:	5d                   	pop    %ebp
557abc:	c3                   	ret
557abd:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
557ac2:	f7 e7                	mul    %edi
557ac4:	c1 ea 03             	shr    $0x3,%edx
557ac7:	6b c2 7d             	imul   $0x7d,%edx,%eax
557aca:	8b d7                	mov    %edi,%edx
557acc:	47                   	inc    %edi
557acd:	2b d0                	sub    %eax,%edx
557acf:	8b 44 96 0c          	mov    0xc(%esi,%edx,4),%eax
557ad3:	85 c0                	test   %eax,%eax
557ad5:	74 da                	je     0x557ab1
557ad7:	b9 7d 00 00 00       	mov    $0x7d,%ecx
557adc:	0f 1f 40 00          	nopl   0x0(%eax)
557ae0:	3b c7                	cmp    %edi,%eax
557ae2:	74 1b                	je     0x557aff
557ae4:	8d 42 01             	lea    0x1(%edx),%eax
557ae7:	33 d2                	xor    %edx,%edx
557ae9:	f7 f1                	div    %ecx
557aeb:	8b 44 96 0c          	mov    0xc(%esi,%edx,4),%eax
557aef:	85 c0                	test   %eax,%eax
557af1:	75 ed                	jne    0x557ae0
557af3:	5f                   	pop    %edi
557af4:	5e                   	pop    %esi
557af5:	b8 01 00 00 00       	mov    $0x1,%eax
557afa:	5b                   	pop    %ebx
557afb:	8b e5                	mov    %ebp,%esp
557afd:	5d                   	pop    %ebp
557afe:	c3                   	ret
557aff:	8b 55 08             	mov    0x8(%ebp),%edx
557b02:	8b 4d f8             	mov    -0x8(%ebp),%ecx
557b05:	8b 45 fc             	mov    -0x4(%ebp),%eax
557b08:	42                   	inc    %edx
557b09:	83 c3 30             	add    $0x30,%ebx
557b0c:	89 55 08             	mov    %edx,0x8(%ebp)
557b0f:	3b d1                	cmp    %ecx,%edx
557b11:	0f 8c 39 ff ff ff    	jl     0x557a50
557b17:	5f                   	pop    %edi
557b18:	5e                   	pop    %esi
557b19:	33 c0                	xor    %eax,%eax
557b1b:	5b                   	pop    %ebx
557b1c:	8b e5                	mov    %ebp,%esp
557b1e:	5d                   	pop    %ebp
557b1f:	c3                   	ret
557b20:	55                   	push   %ebp
557b21:	8b ec                	mov    %esp,%ebp
557b23:	83 ec 14             	sub    $0x14,%esp
557b26:	a1 d4 89 72 00       	mov    0x7289d4,%eax
557b2b:	33 c5                	xor    %ebp,%eax
557b2d:	89 45 fc             	mov    %eax,-0x4(%ebp)
557b30:	53                   	push   %ebx
557b31:	8b 5d 08             	mov    0x8(%ebp),%ebx
557b34:	56                   	push   %esi
557b35:	57                   	push   %edi
557b36:	8b 7b 14             	mov    0x14(%ebx),%edi
557b39:	8a 4f 05             	mov    0x5(%edi),%cl
557b3c:	80 f9 02             	cmp    $0x2,%cl
557b3f:	0f 84 a2 00 00 00    	je     0x557be7
557b45:	8b 57 44             	mov    0x44(%edi),%edx
557b48:	33 c0                	xor    %eax,%eax
557b4a:	39 02                	cmp    %eax,(%edx)
557b4c:	75 26                	jne    0x557b74
557b4e:	a1 2c 18 72 00       	mov    0x72182c,%eax
557b53:	80 f9 04             	cmp    $0x4,%cl
557b56:	74 06                	je     0x557b5e
557b58:	80 7f 15 00          	cmpb   $0x0,0x15(%edi)
557b5c:	74 03                	je     0x557b61
557b5e:	83 c8 ff             	or     $0xffffffff,%eax
557b61:	50                   	push   %eax
557b62:	68 1e 20 00 00       	push   $0x201e
557b67:	52                   	push   %edx
557b68:	6a 00                	push   $0x0
557b6a:	ff 37                	push   (%edi)
557b6c:	e8 cf 7f fd ff       	call   0x52fb40
557b71:	83 c4 14             	add    $0x14,%esp
557b74:	85 c0                	test   %eax,%eax
557b76:	75 7e                	jne    0x557bf6
557b78:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
557b7e:	6a 00                	push   $0x0
557b80:	ff 77 34             	push   0x34(%edi)
557b83:	83 c0 04             	add    $0x4,%eax
557b86:	99                   	cltd
557b87:	52                   	push   %edx
557b88:	50                   	push   %eax
557b89:	e8 72 9f 08 00       	call   0x5e1b00
557b8e:	8b 77 44             	mov    0x44(%edi),%esi
557b91:	8b 4b 18             	mov    0x18(%ebx),%ecx
557b94:	89 45 f4             	mov    %eax,-0xc(%ebp)
557b97:	8b 43 04             	mov    0x4(%ebx),%eax
557b9a:	52                   	push   %edx
557b9b:	ff 75 f4             	push   -0xc(%ebp)
557b9e:	0f c9                	bswap  %ecx
557ba0:	89 45 ec             	mov    %eax,-0x14(%ebp)
557ba3:	8b 06                	mov    (%esi),%eax
557ba5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
557ba8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
557bab:	6a 04                	push   $0x4
557bad:	51                   	push   %ecx
557bae:	8b 40 0c             	mov    0xc(%eax),%eax
557bb1:	56                   	push   %esi
557bb2:	89 55 f0             	mov    %edx,-0x10(%ebp)
557bb5:	ff d0                	call   *%eax
557bb7:	83 c4 14             	add    $0x14,%esp
557bba:	85 c0                	test   %eax,%eax
557bbc:	75 38                	jne    0x557bf6
557bbe:	8b 55 f4             	mov    -0xc(%ebp),%edx
557bc1:	8b 75 f0             	mov    -0x10(%ebp),%esi
557bc4:	83 c2 04             	add    $0x4,%edx
557bc7:	8b 47 44             	mov    0x44(%edi),%eax
557bca:	83 d6 00             	adc    $0x0,%esi
557bcd:	56                   	push   %esi
557bce:	52                   	push   %edx
557bcf:	ff b7 98 00 00 00    	push   0x98(%edi)
557bd5:	8b 08                	mov    (%eax),%ecx
557bd7:	ff 75 ec             	push   -0x14(%ebp)
557bda:	50                   	push   %eax
557bdb:	8b 41 0c             	mov    0xc(%ecx),%eax
557bde:	ff d0                	call   *%eax
557be0:	83 c4 14             	add    $0x14,%esp
557be3:	85 c0                	test   %eax,%eax
557be5:	75 0f                	jne    0x557bf6
557be7:	ff 47 34             	incl   0x34(%edi)
557bea:	ff 73 18             	push   0x18(%ebx)
557bed:	57                   	push   %edi
557bee:	e8 fd a3 f9 ff       	call   0x4f1ff0
557bf3:	83 c4 08             	add    $0x8,%esp
557bf6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557bf9:	5f                   	pop    %edi
557bfa:	5e                   	pop    %esi
557bfb:	33 cd                	xor    %ebp,%ecx
557bfd:	5b                   	pop    %ebx
557bfe:	e8 d7 98 08 00       	call   0x5e14da
557c03:	8b e5                	mov    %ebp,%esp
557c05:	5d                   	pop    %ebp
557c06:	c3                   	ret
557c07:	cc                   	int3
557c08:	cc                   	int3
557c09:	cc                   	int3
557c0a:	cc                   	int3
557c0b:	cc                   	int3
557c0c:	cc                   	int3
557c0d:	cc                   	int3
557c0e:	cc                   	int3
557c0f:	cc                   	int3
557c10:	55                   	push   %ebp
557c11:	8b ec                	mov    %esp,%ebp
557c13:	83 ec 3c             	sub    $0x3c,%esp
557c16:	a1 d4 89 72 00       	mov    0x7289d4,%eax
557c1b:	33 c5                	xor    %ebp,%eax
557c1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
557c20:	53                   	push   %ebx
557c21:	8b 5d 08             	mov    0x8(%ebp),%ebx
557c24:	57                   	push   %edi
557c25:	8b 7d 0c             	mov    0xc(%ebp),%edi
557c28:	85 ff                	test   %edi,%edi
557c2a:	75 12                	jne    0x557c3e
557c2c:	5f                   	pop    %edi
557c2d:	33 c0                	xor    %eax,%eax
557c2f:	5b                   	pop    %ebx
557c30:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557c33:	33 cd                	xor    %ebp,%ecx
557c35:	e8 a0 98 08 00       	call   0x5e14da
557c3a:	8b e5                	mov    %ebp,%esp
557c3c:	5d                   	pop    %ebp
557c3d:	c3                   	ret
557c3e:	f6 47 04 01          	testb  $0x1,0x4(%edi)
557c42:	74 11                	je     0x557c55
557c44:	0f bf 47 24          	movswl 0x24(%edi),%eax
557c48:	3b 43 04             	cmp    0x4(%ebx),%eax
557c4b:	75 08                	jne    0x557c55
557c4d:	66 8b 43 08          	mov    0x8(%ebx),%ax
557c51:	66 89 47 24          	mov    %ax,0x24(%edi)
557c55:	8a 0f                	mov    (%edi),%cl
557c57:	56                   	push   %esi
557c58:	80 f9 a4             	cmp    $0xa4,%cl
557c5b:	0f 85 27 01 00 00    	jne    0x557d88
557c61:	8b 47 1c             	mov    0x1c(%edi),%eax
557c64:	3b 43 04             	cmp    0x4(%ebx),%eax
557c67:	0f 85 1b 01 00 00    	jne    0x557d88
557c6d:	0f b7 47 20          	movzwl 0x20(%edi),%eax
557c71:	66 85 c0             	test   %ax,%ax
557c74:	79 16                	jns    0x557c8c
557c76:	5e                   	pop    %esi
557c77:	c6 07 77             	movb   $0x77,(%edi)
557c7a:	8b c7                	mov    %edi,%eax
557c7c:	5f                   	pop    %edi
557c7d:	5b                   	pop    %ebx
557c7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557c81:	33 cd                	xor    %ebp,%ecx
557c83:	e8 52 98 08 00       	call   0x5e14da
557c88:	8b e5                	mov    %ebp,%esp
557c8a:	5d                   	pop    %ebp
557c8b:	c3                   	ret
557c8c:	98                   	cwtl
557c8d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
557c90:	8b 43 10             	mov    0x10(%ebx),%eax
557c93:	8b 74 88 04          	mov    0x4(%eax,%ecx,4),%esi
557c97:	56                   	push   %esi
557c98:	e8 93 f8 fc ff       	call   0x527530
557c9d:	83 c4 04             	add    $0x4,%esp
557ca0:	85 c0                	test   %eax,%eax
557ca2:	74 1e                	je     0x557cc2
557ca4:	56                   	push   %esi
557ca5:	ff 33                	push   (%ebx)
557ca7:	e8 94 5e ff ff       	call   0x54db40
557cac:	83 c4 08             	add    $0x8,%esp
557caf:	8b c7                	mov    %edi,%eax
557cb1:	5e                   	pop    %esi
557cb2:	5f                   	pop    %edi
557cb3:	5b                   	pop    %ebx
557cb4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557cb7:	33 cd                	xor    %ebp,%ecx
557cb9:	e8 1c 98 08 00       	call   0x5e14da
557cbe:	8b e5                	mov    %ebp,%esp
557cc0:	5d                   	pop    %ebp
557cc1:	c3                   	ret
557cc2:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
557cc6:	8b 03                	mov    (%ebx),%eax
557cc8:	8b 00                	mov    (%eax),%eax
557cca:	89 45 c4             	mov    %eax,-0x3c(%ebp)
557ccd:	74 28                	je     0x557cf7
557ccf:	80 3e a4             	cmpb   $0xa4,(%esi)
557cd2:	74 23                	je     0x557cf7
557cd4:	6a 34                	push   $0x34
557cd6:	8d 45 c8             	lea    -0x38(%ebp),%eax
557cd9:	6a 00                	push   $0x0
557cdb:	50                   	push   %eax
557cdc:	e8 1f bd 08 00       	call   0x5e3a00
557ce1:	8b 43 08             	mov    0x8(%ebx),%eax
557ce4:	83 c4 0c             	add    $0xc,%esp
557ce7:	89 75 d4             	mov    %esi,-0x2c(%ebp)
557cea:	8d 75 c8             	lea    -0x38(%ebp),%esi
557ced:	89 45 e4             	mov    %eax,-0x1c(%ebp)
557cf0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
557cf3:	c6 45 c8 b0          	movb   $0xb0,-0x38(%ebp)
557cf7:	6a 00                	push   $0x0
557cf9:	56                   	push   %esi
557cfa:	50                   	push   %eax
557cfb:	e8 60 eb fc ff       	call   0x526860
557d00:	8b f0                	mov    %eax,%esi
557d02:	83 c4 0c             	add    $0xc,%esp
557d05:	85 f6                	test   %esi,%esi
557d07:	74 1f                	je     0x557d28
557d09:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
557d0d:	74 07                	je     0x557d16
557d0f:	81 4e 04 00 00 10 00 	orl    $0x100000,0x4(%esi)
557d16:	f6 47 04 01          	testb  $0x1,0x4(%edi)
557d1a:	74 0c                	je     0x557d28
557d1c:	66 8b 47 24          	mov    0x24(%edi),%ax
557d20:	83 4e 04 01          	orl    $0x1,0x4(%esi)
557d24:	66 89 46 24          	mov    %ax,0x24(%esi)
557d28:	57                   	push   %edi
557d29:	ff 75 c4             	push   -0x3c(%ebp)
557d2c:	e8 7f ea fc ff       	call   0x5267b0
557d31:	83 c4 08             	add    $0x8,%esp
557d34:	8b fe                	mov    %esi,%edi
557d36:	85 f6                	test   %esi,%esi
557d38:	0f 84 ca 00 00 00    	je     0x557e08
557d3e:	8a 06                	mov    (%esi),%al
557d40:	3c a4                	cmp    $0xa4,%al
557d42:	74 2a                	je     0x557d6e
557d44:	3c 6f                	cmp    $0x6f,%al
557d46:	74 26                	je     0x557d6e
557d48:	56                   	push   %esi
557d49:	ff 33                	push   (%ebx)
557d4b:	e8 90 e5 fc ff       	call   0x5262e0
557d50:	83 c4 08             	add    $0x8,%esp
557d53:	85 c0                	test   %eax,%eax
557d55:	74 04                	je     0x557d5b
557d57:	8b 00                	mov    (%eax),%eax
557d59:	eb 05                	jmp    0x557d60
557d5b:	b8 60 86 6b 00       	mov    $0x6b8660,%eax
557d60:	50                   	push   %eax
557d61:	56                   	push   %esi
557d62:	ff 33                	push   (%ebx)
557d64:	e8 97 b7 fc ff       	call   0x523500
557d69:	83 c4 0c             	add    $0xc,%esp