56487c:	5e                   	pop    %esi
56487d:	5b                   	pop    %ebx
56487e:	5d                   	pop    %ebp
56487f:	c3                   	ret
564880:	85 f6                	test   %esi,%esi
564882:	78 ea                	js     0x56486e
564884:	8b 47 0c             	mov    0xc(%edi),%eax
564887:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
56488a:	52                   	push   %edx
56488b:	8b 40 04             	mov    0x4(%eax),%eax
56488e:	8a 44 88 0d          	mov    0xd(%eax,%ecx,4),%al
564892:	88 42 10             	mov    %al,0x10(%edx)
564895:	8b 47 20             	mov    0x20(%edi),%eax
564898:	8b 04 98             	mov    (%eax,%ebx,4),%eax
56489b:	89 42 08             	mov    %eax,0x8(%edx)
56489e:	66 89 72 48          	mov    %si,0x48(%edx)
5648a2:	e8 39 00 00 00       	call   0x5648e0
5648a7:	83 c4 04             	add    $0x4,%esp
5648aa:	5f                   	pop    %edi
5648ab:	5e                   	pop    %esi
5648ac:	5b                   	pop    %ebx
5648ad:	5d                   	pop    %ebp
5648ae:	c3                   	ret
5648af:	8b 75 14             	mov    0x14(%ebp),%esi
5648b2:	83 fe fe             	cmp    $0xfffffffe,%esi
5648b5:	75 b7                	jne    0x56486e
5648b7:	5f                   	pop    %edi
5648b8:	5e                   	pop    %esi
5648b9:	33 c0                	xor    %eax,%eax
5648bb:	5b                   	pop    %ebx
5648bc:	5d                   	pop    %ebp
5648bd:	c3                   	ret
5648be:	cc                   	int3
5648bf:	cc                   	int3
5648c0:	55                   	push   %ebp
5648c1:	8b ec                	mov    %esp,%ebp
5648c3:	56                   	push   %esi
5648c4:	8b 75 08             	mov    0x8(%ebp),%esi
5648c7:	ff 76 0c             	push   0xc(%esi)
5648ca:	e8 e1 ec fb ff       	call   0x5235b0
5648cf:	56                   	push   %esi
5648d0:	88 46 10             	mov    %al,0x10(%esi)
5648d3:	e8 08 00 00 00       	call   0x5648e0
5648d8:	83 c4 08             	add    $0x8,%esp
5648db:	5e                   	pop    %esi
5648dc:	5d                   	pop    %ebp
5648dd:	c3                   	ret
5648de:	cc                   	int3
5648df:	cc                   	int3
5648e0:	55                   	push   %ebp
5648e1:	8b ec                	mov    %esp,%ebp
5648e3:	83 ec 18             	sub    $0x18,%esp
5648e6:	53                   	push   %ebx
5648e7:	56                   	push   %esi
5648e8:	8b 75 08             	mov    0x8(%ebp),%esi
5648eb:	57                   	push   %edi
5648ec:	8b 4e 18             	mov    0x18(%esi),%ecx
5648ef:	8b 5e 04             	mov    0x4(%esi),%ebx
5648f2:	0f b6 46 12          	movzbl 0x12(%esi),%eax
5648f6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5648f9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5648fc:	0f b7 54 46 46       	movzwl 0x46(%esi,%eax,2),%edx
564901:	8b 44 86 18          	mov    0x18(%esi,%eax,4),%eax
564905:	89 55 ec             	mov    %edx,-0x14(%ebp)
564908:	89 45 f4             	mov    %eax,-0xc(%ebp)
56490b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
564910:	8d 3c 49             	lea    (%ecx,%ecx,2),%edi
564913:	c1 e7 04             	shl    $0x4,%edi
564916:	03 7b 14             	add    0x14(%ebx),%edi
564919:	89 7d f0             	mov    %edi,-0x10(%ebp)
56491c:	3b 4b 0c             	cmp    0xc(%ebx),%ecx
56491f:	0f 8d 85 02 00 00    	jge    0x564baa
564925:	39 47 14             	cmp    %eax,0x14(%edi)
564928:	0f 85 66 02 00 00    	jne    0x564b94
56492e:	0f bf c2             	movswl %dx,%eax
564931:	39 47 1c             	cmp    %eax,0x1c(%edi)
564934:	0f 85 57 02 00 00    	jne    0x564b91
56493a:	66 83 fa fe          	cmp    $0xfffe,%dx
56493e:	75 7c                	jne    0x5649bc
564940:	8b 07                	mov    (%edi),%eax
564942:	8b 56 0c             	mov    0xc(%esi),%edx
564945:	8b 40 0c             	mov    0xc(%eax),%eax
564948:	85 d2                	test   %edx,%edx
56494a:	74 26                	je     0x564972
56494c:	0f 1f 40 00          	nopl   0x0(%eax)
564950:	8b 4a 04             	mov    0x4(%edx),%ecx
564953:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
564959:	74 17                	je     0x564972
56495b:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
564961:	74 08                	je     0x56496b
564963:	8b 4a 14             	mov    0x14(%edx),%ecx
564966:	8b 51 04             	mov    0x4(%ecx),%edx
564969:	eb 03                	jmp    0x56496e
56496b:	8b 52 0c             	mov    0xc(%edx),%edx
56496e:	85 d2                	test   %edx,%edx
564970:	75 de                	jne    0x564950
564972:	85 c0                	test   %eax,%eax
564974:	74 2c                	je     0x5649a2
564976:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
56497d:	00 00 00
564980:	8b 48 04             	mov    0x4(%eax),%ecx
564983:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
564989:	74 17                	je     0x5649a2
56498b:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
564991:	74 08                	je     0x56499b
564993:	8b 48 14             	mov    0x14(%eax),%ecx
564996:	8b 41 04             	mov    0x4(%ecx),%eax
564999:	eb 03                	jmp    0x56499e
56499b:	8b 40 0c             	mov    0xc(%eax),%eax
56499e:	85 c0                	test   %eax,%eax
5649a0:	75 de                	jne    0x564980
5649a2:	ff 75 f4             	push   -0xc(%ebp)
5649a5:	52                   	push   %edx
5649a6:	50                   	push   %eax
5649a7:	6a 00                	push   $0x0
5649a9:	e8 22 1b fc ff       	call   0x5264d0
5649ae:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5649b1:	83 c4 10             	add    $0x10,%esp
5649b4:	85 c0                	test   %eax,%eax
5649b6:	0f 85 d5 01 00 00    	jne    0x564b91
5649bc:	80 7e 12 01          	cmpb   $0x1,0x12(%esi)
5649c0:	76 0c                	jbe    0x5649ce
5649c2:	8b 07                	mov    (%edi),%eax
5649c4:	f6 40 04 01          	testb  $0x1,0x4(%eax)
5649c8:	0f 85 c3 01 00 00    	jne    0x564b91
5649ce:	b8 00 08 00 00       	mov    $0x800,%eax
5649d3:	66 85 47 0c          	test   %ax,0xc(%edi)
5649d7:	0f 84 93 00 00 00    	je     0x564a70
5649dd:	8a 5e 11             	mov    0x11(%esi),%bl
5649e0:	80 fb 0b             	cmp    $0xb,%bl
5649e3:	0f 83 84 00 00 00    	jae    0x564a6d
5649e9:	8b 07                	mov    (%edi),%eax
5649eb:	8b 48 10             	mov    0x10(%eax),%ecx
5649ee:	85 c9                	test   %ecx,%ecx
5649f0:	74 20                	je     0x564a12
5649f2:	8b 41 04             	mov    0x4(%ecx),%eax
5649f5:	a9 00 10 04 00       	test   $0x41000,%eax
5649fa:	74 16                	je     0x564a12
5649fc:	a9 00 00 04 00       	test   $0x40000,%eax
564a01:	74 08                	je     0x564a0b
564a03:	8b 41 14             	mov    0x14(%ecx),%eax
564a06:	8b 48 04             	mov    0x4(%eax),%ecx
564a09:	eb 03                	jmp    0x564a0e
564a0b:	8b 49 0c             	mov    0xc(%ecx),%ecx
564a0e:	85 c9                	test   %ecx,%ecx
564a10:	75 e0                	jne    0x5649f2
564a12:	80 39 a4             	cmpb   $0xa4,(%ecx)
564a15:	75 56                	jne    0x564a6d
564a17:	0f b6 db             	movzbl %bl,%ebx
564a1a:	33 d2                	xor    %edx,%edx
564a1c:	85 db                	test   %ebx,%ebx
564a1e:	74 31                	je     0x564a51
564a20:	8b 41 1c             	mov    0x1c(%ecx),%eax
564a23:	8d 7e 48             	lea    0x48(%esi),%edi
564a26:	83 c6 1c             	add    $0x1c,%esi
564a29:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
564a30:	39 06                	cmp    %eax,(%esi)
564a32:	75 0c                	jne    0x564a40
564a34:	66 8b 07             	mov    (%edi),%ax
564a37:	66 3b 41 20          	cmp    0x20(%ecx),%ax
564a3b:	74 0e                	je     0x564a4b
564a3d:	8b 41 1c             	mov    0x1c(%ecx),%eax
564a40:	42                   	inc    %edx
564a41:	83 c6 04             	add    $0x4,%esi
564a44:	83 c7 02             	add    $0x2,%edi
564a47:	3b d3                	cmp    %ebx,%edx
564a49:	7c e5                	jl     0x564a30
564a4b:	8b 7d f0             	mov    -0x10(%ebp),%edi
564a4e:	8b 75 08             	mov    0x8(%ebp),%esi
564a51:	3b d3                	cmp    %ebx,%edx
564a53:	8b 5d fc             	mov    -0x4(%ebp),%ebx
564a56:	75 18                	jne    0x564a70
564a58:	8b 41 1c             	mov    0x1c(%ecx),%eax
564a5b:	89 44 96 1c          	mov    %eax,0x1c(%esi,%edx,4)
564a5f:	66 8b 41 20          	mov    0x20(%ecx),%ax
564a63:	66 89 44 56 48       	mov    %ax,0x48(%esi,%edx,2)
564a68:	fe 46 11             	incb   0x11(%esi)
564a6b:	eb 03                	jmp    0x564a70
564a6d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
564a70:	0f b7 4f 0c          	movzwl 0xc(%edi),%ecx
564a74:	85 4e 14             	test   %ecx,0x14(%esi)
564a77:	0f 84 11 01 00 00    	je     0x564b8e
564a7d:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
564a81:	0f 84 b1 00 00 00    	je     0x564b38
564a87:	f7 c1 00 01 00 00    	test   $0x100,%ecx
564a8d:	0f 85 a5 00 00 00    	jne    0x564b38
564a93:	8b 03                	mov    (%ebx),%eax
564a95:	8b 3f                	mov    (%edi),%edi
564a97:	57                   	push   %edi
564a98:	8b 30                	mov    (%eax),%esi
564a9a:	8b 45 08             	mov    0x8(%ebp),%eax
564a9d:	8a 58 10             	mov    0x10(%eax),%bl
564aa0:	e8 5b 65 f9 ff       	call   0x4fb000
564aa5:	83 c4 04             	add    $0x4,%esp
564aa8:	3c 42                	cmp    $0x42,%al
564aaa:	7c 1c                	jl     0x564ac8
564aac:	75 0a                	jne    0x564ab8
564aae:	33 c0                	xor    %eax,%eax
564ab0:	80 fb 42             	cmp    $0x42,%bl
564ab3:	0f 94 c0             	sete   %al
564ab6:	eb 08                	jmp    0x564ac0
564ab8:	33 c0                	xor    %eax,%eax
564aba:	80 fb 43             	cmp    $0x43,%bl
564abd:	0f 9d c0             	setge  %al
564ac0:	85 c0                	test   %eax,%eax
564ac2:	0f 84 bd 00 00 00    	je     0x564b85
564ac8:	f7 47 04 00 02 00 00 	testl  $0x200,0x4(%edi)
564acf:	74 08                	je     0x564ad9
564ad1:	8b 5f 0c             	mov    0xc(%edi),%ebx
564ad4:	8b 47 10             	mov    0x10(%edi),%eax
564ad7:	eb 06                	jmp    0x564adf
564ad9:	8b 5f 10             	mov    0x10(%edi),%ebx
564adc:	8b 47 0c             	mov    0xc(%edi),%eax
564adf:	f7 40 04 00 01 00 00 	testl  $0x100,0x4(%eax)
564ae6:	74 03                	je     0x564aeb
564ae8:	50                   	push   %eax
564ae9:	eb 1c                	jmp    0x564b07
564aeb:	85 db                	test   %ebx,%ebx
564aed:	74 09                	je     0x564af8
564aef:	f7 43 04 00 01 00 00 	testl  $0x100,0x4(%ebx)
564af6:	75 0e                	jne    0x564b06
564af8:	50                   	push   %eax
564af9:	56                   	push   %esi
564afa:	e8 e1 17 fc ff       	call   0x5262e0
564aff:	83 c4 08             	add    $0x8,%esp
564b02:	85 c0                	test   %eax,%eax
564b04:	75 13                	jne    0x564b19
564b06:	53                   	push   %ebx
564b07:	56                   	push   %esi
564b08:	e8 d3 17 fc ff       	call   0x5262e0
564b0d:	83 c4 08             	add    $0x8,%esp
564b10:	85 c0                	test   %eax,%eax
564b12:	75 05                	jne    0x564b19
564b14:	8b 06                	mov    (%esi),%eax
564b16:	8b 40 08             	mov    0x8(%eax),%eax
564b19:	8b 10                	mov    (%eax),%edx
564b1b:	8b 45 08             	mov    0x8(%ebp),%eax
564b1e:	8b 70 08             	mov    0x8(%eax),%esi
564b21:	2b f2                	sub    %edx,%esi
564b23:	0f b6 0a             	movzbl (%edx),%ecx
564b26:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
564b2a:	3b c8                	cmp    %eax,%ecx
564b2c:	75 42                	jne    0x564b70
564b2e:	85 c9                	test   %ecx,%ecx
564b30:	75 50                	jne    0x564b82
564b32:	8b 7d f0             	mov    -0x10(%ebp),%edi
564b35:	8b 75 08             	mov    0x8(%ebp),%esi
564b38:	f6 47 0c 82          	testb  $0x82,0xc(%edi)
564b3c:	74 1c                	je     0x564b5a
564b3e:	8b 07                	mov    (%edi),%eax
564b40:	8b 48 10             	mov    0x10(%eax),%ecx
564b43:	80 39 a4             	cmpb   $0xa4,(%ecx)
564b46:	75 12                	jne    0x564b5a
564b48:	8b 41 1c             	mov    0x1c(%ecx),%eax
564b4b:	3b 46 1c             	cmp    0x1c(%esi),%eax
564b4e:	75 0a                	jne    0x564b5a
564b50:	66 8b 41 20          	mov    0x20(%ecx),%ax
564b54:	66 3b 46 48          	cmp    0x48(%esi),%ax
564b58:	74 31                	je     0x564b8b
564b5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
564b5d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
564b60:	89 46 04             	mov    %eax,0x4(%esi)
564b63:	41                   	inc    %ecx
564b64:	8b c7                	mov    %edi,%eax
564b66:	89 4e 18             	mov    %ecx,0x18(%esi)
564b69:	5f                   	pop    %edi
564b6a:	5e                   	pop    %esi
564b6b:	5b                   	pop    %ebx
564b6c:	8b e5                	mov    %ebp,%esp
564b6e:	5d                   	pop    %ebp
564b6f:	c3                   	ret
564b70:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
564b77:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
564b7e:	2b c8                	sub    %eax,%ecx
564b80:	75 03                	jne    0x564b85
564b82:	42                   	inc    %edx
564b83:	eb 9e                	jmp    0x564b23
564b85:	8b 7d f0             	mov    -0x10(%ebp),%edi
564b88:	8b 75 08             	mov    0x8(%ebp),%esi
564b8b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
564b8e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
564b91:	8b 45 f4             	mov    -0xc(%ebp),%eax
564b94:	8b 55 ec             	mov    -0x14(%ebp),%edx
564b97:	41                   	inc    %ecx
564b98:	83 c7 30             	add    $0x30,%edi
564b9b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
564b9e:	89 7d f0             	mov    %edi,-0x10(%ebp)
564ba1:	3b 4b 0c             	cmp    0xc(%ebx),%ecx
564ba4:	0f 8c 7b fd ff ff    	jl     0x564925
564baa:	8b 5b 04             	mov    0x4(%ebx),%ebx
564bad:	33 c9                	xor    %ecx,%ecx
564baf:	89 5d fc             	mov    %ebx,-0x4(%ebp)
564bb2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
564bb5:	85 db                	test   %ebx,%ebx
564bb7:	0f 85 53 fd ff ff    	jne    0x564910
564bbd:	8a 46 12             	mov    0x12(%esi),%al
564bc0:	3a 46 11             	cmp    0x11(%esi),%al
564bc3:	73 0c                	jae    0x564bd1
564bc5:	8b 1e                	mov    (%esi),%ebx
564bc7:	fe c0                	inc    %al
564bc9:	88 46 12             	mov    %al,0x12(%esi)
564bcc:	e9 21 fd ff ff       	jmp    0x5648f2
564bd1:	5f                   	pop    %edi
564bd2:	5e                   	pop    %esi
564bd3:	33 c0                	xor    %eax,%eax
564bd5:	5b                   	pop    %ebx
564bd6:	8b e5                	mov    %ebp,%esp
564bd8:	5d                   	pop    %ebp
564bd9:	c3                   	ret
564bda:	cc                   	int3
564bdb:	cc                   	int3
564bdc:	cc                   	int3
564bdd:	cc                   	int3
564bde:	cc                   	int3
564bdf:	cc                   	int3
564be0:	55                   	push   %ebp
564be1:	8b ec                	mov    %esp,%ebp
564be3:	83 ec 10             	sub    $0x10,%esp
564be6:	53                   	push   %ebx
564be7:	8b 5d 08             	mov    0x8(%ebp),%ebx
564bea:	57                   	push   %edi
564beb:	8b 3b                	mov    (%ebx),%edi
564bed:	89 7d fc             	mov    %edi,-0x4(%ebp)
564bf0:	f6 47 28 20          	testb  $0x20,0x28(%edi)
564bf4:	74 08                	je     0x564bfe
564bf6:	5f                   	pop    %edi
564bf7:	33 c0                	xor    %eax,%eax
564bf9:	5b                   	pop    %ebx
564bfa:	8b e5                	mov    %ebp,%esp
564bfc:	5d                   	pop    %ebp
564bfd:	c3                   	ret
564bfe:	8b 47 04             	mov    0x4(%edi),%eax
564c01:	83 c0 08             	add    $0x8,%eax
564c04:	56                   	push   %esi
564c05:	89 45 f0             	mov    %eax,-0x10(%ebp)
564c08:	8b 70 10             	mov    0x10(%eax),%esi
564c0b:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
564c0f:	0f 85 77 01 00 00    	jne    0x564d8c
564c15:	f6 40 28 02          	testb  $0x2,0x28(%eax)
564c19:	0f 85 6d 01 00 00    	jne    0x564d8c
564c1f:	8b 40 2c             	mov    0x2c(%eax),%eax
564c22:	8d 4f 50             	lea    0x50(%edi),%ecx
564c25:	8b 5b 0c             	mov    0xc(%ebx),%ebx
564c28:	33 d2                	xor    %edx,%edx
564c2a:	52                   	push   %edx
564c2b:	68 82 00 00 00       	push   $0x82
564c30:	52                   	push   %edx
564c31:	52                   	push   %edx
564c32:	6a ff                	push   $0xffffffff
564c34:	50                   	push   %eax