507a27:	75 04                	jne    0x507a2d
507a29:	33 f6                	xor    %esi,%esi
507a2b:	eb 33                	jmp    0x507a60
507a2d:	0f b7 51 08          	movzwl 0x8(%ecx),%edx
507a31:	8b c2                	mov    %edx,%eax
507a33:	25 02 02 00 00       	and    $0x202,%eax
507a38:	3d 02 02 00 00       	cmp    $0x202,%eax
507a3d:	75 0b                	jne    0x507a4a
507a3f:	80 79 0a 01          	cmpb   $0x1,0xa(%ecx)
507a43:	75 05                	jne    0x507a4a
507a45:	8b 71 10             	mov    0x10(%ecx),%esi
507a48:	eb 16                	jmp    0x507a60
507a4a:	f6 c2 01             	test   $0x1,%dl
507a4d:	74 04                	je     0x507a53
507a4f:	33 f6                	xor    %esi,%esi
507a51:	eb 0d                	jmp    0x507a60
507a53:	6a 01                	push   $0x1
507a55:	51                   	push   %ecx
507a56:	e8 35 21 05 00       	call   0x559b90
507a5b:	83 c4 08             	add    $0x8,%esp
507a5e:	8b f0                	mov    %eax,%esi
507a60:	8b 4d 10             	mov    0x10(%ebp),%ecx
507a63:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
507a66:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
507a6a:	a8 02                	test   $0x2,%al
507a6c:	74 0b                	je     0x507a79
507a6e:	80 79 0a 01          	cmpb   $0x1,0xa(%ecx)
507a72:	75 05                	jne    0x507a79
507a74:	8b 41 0c             	mov    0xc(%ecx),%eax
507a77:	eb 25                	jmp    0x507a9e
507a79:	a8 10                	test   $0x10,%al
507a7b:	74 0e                	je     0x507a8b
507a7d:	a9 00 40 00 00       	test   $0x4000,%eax
507a82:	8b 41 0c             	mov    0xc(%ecx),%eax
507a85:	74 17                	je     0x507a9e
507a87:	03 01                	add    (%ecx),%eax
507a89:	eb 13                	jmp    0x507a9e
507a8b:	a8 01                	test   $0x1,%al
507a8d:	74 04                	je     0x507a93
507a8f:	33 c0                	xor    %eax,%eax
507a91:	eb 0b                	jmp    0x507a9e
507a93:	6a 01                	push   $0x1
507a95:	51                   	push   %ecx
507a96:	e8 d5 1c 05 00       	call   0x559770
507a9b:	83 c4 08             	add    $0x8,%esp
507a9e:	85 f6                	test   %esi,%esi
507aa0:	74 4a                	je     0x507aec
507aa2:	53                   	push   %ebx
507aa3:	50                   	push   %eax
507aa4:	56                   	push   %esi
507aa5:	ff 75 08             	push   0x8(%ebp)
507aa8:	e8 53 72 00 00       	call   0x50ed00
507aad:	83 c4 10             	add    $0x10,%esp
507ab0:	85 c0                	test   %eax,%eax
507ab2:	75 38                	jne    0x507aec
507ab4:	8b 75 10             	mov    0x10(%ebp),%esi
507ab7:	47                   	inc    %edi
507ab8:	3b 7d 0c             	cmp    0xc(%ebp),%edi
507abb:	0f 8c 61 ff ff ff    	jl     0x507a22
507ac1:	53                   	push   %ebx
507ac2:	e8 c9 36 ff ff       	call   0x4fb190
507ac7:	83 c4 04             	add    $0x4,%esp
507aca:	80 7b 2e 00          	cmpb   $0x0,0x2e(%ebx)
507ace:	75 1c                	jne    0x507aec
507ad0:	81 7b 04 40 a6 01 00 	cmpl   $0x1a640,0x4(%ebx)
507ad7:	77 13                	ja     0x507aec
507ad9:	72 08                	jb     0x507ae3
507adb:	81 3b ff fd 72 10    	cmpl   $0x1072fdff,(%ebx)
507ae1:	77 09                	ja     0x507aec
507ae3:	5f                   	pop    %edi
507ae4:	5e                   	pop    %esi
507ae5:	33 c0                	xor    %eax,%eax
507ae7:	5b                   	pop    %ebx
507ae8:	8b e5                	mov    %ebp,%esp
507aea:	5d                   	pop    %ebp
507aeb:	c3                   	ret
507aec:	5f                   	pop    %edi
507aed:	5e                   	pop    %esi
507aee:	b8 01 00 00 00       	mov    $0x1,%eax
507af3:	5b                   	pop    %ebx
507af4:	8b e5                	mov    %ebp,%esp
507af6:	5d                   	pop    %ebp
507af7:	c3                   	ret
507af8:	cc                   	int3
507af9:	cc                   	int3
507afa:	cc                   	int3
507afb:	cc                   	int3
507afc:	cc                   	int3
507afd:	cc                   	int3
507afe:	cc                   	int3
507aff:	cc                   	int3
507b00:	55                   	push   %ebp
507b01:	8b ec                	mov    %esp,%ebp
507b03:	83 ec 70             	sub    $0x70,%esp
507b06:	a1 d4 89 72 00       	mov    0x7289d4,%eax
507b0b:	33 c5                	xor    %ebp,%eax
507b0d:	89 45 fc             	mov    %eax,-0x4(%ebp)
507b10:	8b 45 08             	mov    0x8(%ebp),%eax
507b13:	89 45 90             	mov    %eax,-0x70(%ebp)
507b16:	8b 45 0c             	mov    0xc(%ebp),%eax
507b19:	56                   	push   %esi
507b1a:	8b 75 14             	mov    0x14(%ebp),%esi
507b1d:	89 75 94             	mov    %esi,-0x6c(%ebp)
507b20:	83 38 01             	cmpl   $0x1,(%eax)
507b23:	74 11                	je     0x507b36
507b25:	33 c0                	xor    %eax,%eax
507b27:	5e                   	pop    %esi
507b28:	8b 4d fc             	mov    -0x4(%ebp),%ecx
507b2b:	33 cd                	xor    %ebp,%ecx
507b2d:	e8 a8 99 0d 00       	call   0x5e14da
507b32:	8b e5                	mov    %ebp,%esp
507b34:	5d                   	pop    %ebp
507b35:	c3                   	ret
507b36:	8b 48 34             	mov    0x34(%eax),%ecx
507b39:	33 d2                	xor    %edx,%edx
507b3b:	53                   	push   %ebx
507b3c:	8b 58 18             	mov    0x18(%eax),%ebx
507b3f:	57                   	push   %edi
507b40:	8b 3e                	mov    (%esi),%edi
507b42:	89 4d 98             	mov    %ecx,-0x68(%ebp)
507b45:	85 ff                	test   %edi,%edi
507b47:	7e 59                	jle    0x507ba2
507b49:	83 c6 04             	add    $0x4,%esi
507b4c:	0f 1f 40 00          	nopl   0x0(%eax)
507b50:	8b 06                	mov    (%esi),%eax
507b52:	85 c0                	test   %eax,%eax
507b54:	74 2f                	je     0x507b85
507b56:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
507b5d:	00 00 00
507b60:	8b 48 04             	mov    0x4(%eax),%ecx
507b63:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
507b69:	74 17                	je     0x507b82
507b6b:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
507b71:	74 08                	je     0x507b7b
507b73:	8b 40 14             	mov    0x14(%eax),%eax
507b76:	8b 40 04             	mov    0x4(%eax),%eax
507b79:	eb 03                	jmp    0x507b7e
507b7b:	8b 40 0c             	mov    0xc(%eax),%eax
507b7e:	85 c0                	test   %eax,%eax
507b80:	75 de                	jne    0x507b60
507b82:	8b 4d 98             	mov    -0x68(%ebp),%ecx
507b85:	80 38 a4             	cmpb   $0xa4,(%eax)
507b88:	75 10                	jne    0x507b9a
507b8a:	39 48 1c             	cmp    %ecx,0x1c(%eax)
507b8d:	75 0b                	jne    0x507b9a
507b8f:	66 83 78 20 00       	cmpw   $0x0,0x20(%eax)
507b94:	0f 8c d3 00 00 00    	jl     0x507c6d
507b9a:	42                   	inc    %edx
507b9b:	83 c6 14             	add    $0x14,%esi
507b9e:	3b d7                	cmp    %edi,%edx
507ba0:	7c ae                	jl     0x507b50
507ba2:	8b 7b 08             	mov    0x8(%ebx),%edi
507ba5:	85 ff                	test   %edi,%edi
507ba7:	0f 84 d6 00 00 00    	je     0x507c83
507bad:	0f 1f 00             	nopl   (%eax)
507bb0:	80 7f 36 00          	cmpb   $0x0,0x36(%edi)
507bb4:	0f 84 a4 00 00 00    	je     0x507c5e
507bba:	33 c0                	xor    %eax,%eax
507bbc:	33 db                	xor    %ebx,%ebx
507bbe:	66 3b 47 32          	cmp    0x32(%edi),%ax
507bc2:	0f 83 8e 00 00 00    	jae    0x507c56
507bc8:	57                   	push   %edi
507bc9:	6a 02                	push   $0x2
507bcb:	53                   	push   %ebx
507bcc:	51                   	push   %ecx
507bcd:	ff 75 10             	push   0x10(%ebp)
507bd0:	8d 45 9c             	lea    -0x64(%ebp),%eax
507bd3:	33 f6                	xor    %esi,%esi
507bd5:	50                   	push   %eax
507bd6:	e8 05 cc 05 00       	call   0x5647e0
507bdb:	83 c4 18             	add    $0x18,%esp
507bde:	85 c0                	test   %eax,%eax
507be0:	74 23                	je     0x507c05
507be2:	8b 48 20             	mov    0x20(%eax),%ecx
507be5:	0b 48 24             	or     0x24(%eax),%ecx
507be8:	75 0b                	jne    0x507bf5
507bea:	f6 40 0c 02          	testb  $0x2,0xc(%eax)
507bee:	75 17                	jne    0x507c07
507bf0:	85 f6                	test   %esi,%esi
507bf2:	0f 44 f0             	cmove  %eax,%esi
507bf5:	8d 45 9c             	lea    -0x64(%ebp),%eax
507bf8:	50                   	push   %eax
507bf9:	e8 e2 cc 05 00       	call   0x5648e0
507bfe:	83 c4 04             	add    $0x4,%esp
507c01:	85 c0                	test   %eax,%eax
507c03:	75 dd                	jne    0x507be2
507c05:	8b c6                	mov    %esi,%eax
507c07:	85 c0                	test   %eax,%eax
507c09:	75 3b                	jne    0x507c46
507c0b:	53                   	push   %ebx
507c0c:	57                   	push   %edi
507c0d:	ff 75 98             	push   -0x68(%ebp)
507c10:	ff 75 94             	push   -0x6c(%ebp)
507c13:	ff 75 90             	push   -0x70(%ebp)
507c16:	e8 65 a4 ff ff       	call   0x502080
507c1b:	83 c4 14             	add    $0x14,%esp
507c1e:	85 c0                	test   %eax,%eax
507c20:	78 34                	js     0x507c56
507c22:	8b 47 04             	mov    0x4(%edi),%eax
507c25:	0f bf 0c 58          	movswl (%eax,%ebx,2),%ecx
507c29:	85 c9                	test   %ecx,%ecx
507c2b:	78 14                	js     0x507c41
507c2d:	8b 47 0c             	mov    0xc(%edi),%eax
507c30:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
507c33:	8b 40 04             	mov    0x4(%eax),%eax
507c36:	0f b6 44 88 0c       	movzbl 0xc(%eax,%ecx,4),%eax
507c3b:	85 c0                	test   %eax,%eax
507c3d:	74 17                	je     0x507c56
507c3f:	eb 05                	jmp    0x507c46
507c41:	83 f9 ff             	cmp    $0xffffffff,%ecx
507c44:	75 10                	jne    0x507c56
507c46:	0f b7 47 32          	movzwl 0x32(%edi),%eax
507c4a:	43                   	inc    %ebx
507c4b:	8b 4d 98             	mov    -0x68(%ebp),%ecx
507c4e:	3b d8                	cmp    %eax,%ebx
507c50:	0f 8c 72 ff ff ff    	jl     0x507bc8
507c56:	0f b7 47 32          	movzwl 0x32(%edi),%eax
507c5a:	3b d8                	cmp    %eax,%ebx
507c5c:	74 0f                	je     0x507c6d
507c5e:	8b 7f 14             	mov    0x14(%edi),%edi
507c61:	85 ff                	test   %edi,%edi
507c63:	74 1e                	je     0x507c83
507c65:	8b 4d 98             	mov    -0x68(%ebp),%ecx
507c68:	e9 43 ff ff ff       	jmp    0x507bb0
507c6d:	5f                   	pop    %edi
507c6e:	5b                   	pop    %ebx
507c6f:	b8 01 00 00 00       	mov    $0x1,%eax
507c74:	5e                   	pop    %esi
507c75:	8b 4d fc             	mov    -0x4(%ebp),%ecx
507c78:	33 cd                	xor    %ebp,%ecx
507c7a:	e8 5b 98 0d 00       	call   0x5e14da
507c7f:	8b e5                	mov    %ebp,%esp
507c81:	5d                   	pop    %ebp
507c82:	c3                   	ret
507c83:	8b 4d fc             	mov    -0x4(%ebp),%ecx
507c86:	33 c0                	xor    %eax,%eax
507c88:	5f                   	pop    %edi
507c89:	5b                   	pop    %ebx
507c8a:	33 cd                	xor    %ebp,%ecx
507c8c:	5e                   	pop    %esi
507c8d:	e8 48 98 0d 00       	call   0x5e14da
507c92:	8b e5                	mov    %ebp,%esp
507c94:	5d                   	pop    %ebp
507c95:	c3                   	ret
507c96:	cc                   	int3
507c97:	cc                   	int3
507c98:	cc                   	int3
507c99:	cc                   	int3
507c9a:	cc                   	int3
507c9b:	cc                   	int3
507c9c:	cc                   	int3
507c9d:	cc                   	int3
507c9e:	cc                   	int3
507c9f:	cc                   	int3
507ca0:	55                   	push   %ebp
507ca1:	8b ec                	mov    %esp,%ebp
507ca3:	83 ec 08             	sub    $0x8,%esp
507ca6:	8b 4d 14             	mov    0x14(%ebp),%ecx
507ca9:	53                   	push   %ebx
507caa:	56                   	push   %esi
507cab:	8b 75 10             	mov    0x10(%ebp),%esi
507cae:	57                   	push   %edi
507caf:	33 ff                	xor    %edi,%edi
507cb1:	8b 46 04             	mov    0x4(%esi),%eax
507cb4:	0f b7 14 48          	movzwl (%eax,%ecx,2),%edx
507cb8:	8b 45 0c             	mov    0xc(%ebp),%eax
507cbb:	89 55 fc             	mov    %edx,-0x4(%ebp)
507cbe:	85 c0                	test   %eax,%eax
507cc0:	7e 6d                	jle    0x507d2f
507cc2:	8b 5d 08             	mov    0x8(%ebp),%ebx
507cc5:	c1 e1 02             	shl    $0x2,%ecx
507cc8:	89 4d 14             	mov    %ecx,0x14(%ebp)
507ccb:	8b 5b 04             	mov    0x4(%ebx),%ebx
507cce:	66 90                	xchg   %ax,%ax
507cd0:	66 39 13             	cmp    %dx,(%ebx)
507cd3:	75 52                	jne    0x507d27
507cd5:	8b 45 08             	mov    0x8(%ebp),%eax
507cd8:	8b 4e 20             	mov    0x20(%esi),%ecx
507cdb:	8b 55 14             	mov    0x14(%ebp),%edx
507cde:	8b 40 20             	mov    0x20(%eax),%eax
507ce1:	8b 34 11             	mov    (%ecx,%edx,1),%esi
507ce4:	8b 04 b8             	mov    (%eax,%edi,4),%eax
507ce7:	2b f0                	sub    %eax,%esi
507ce9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
507cf0:	0f b6 10             	movzbl (%eax),%edx
507cf3:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
507cf7:	3b d1                	cmp    %ecx,%edx
507cf9:	75 0e                	jne    0x507d09
507cfb:	85 d2                	test   %edx,%edx
507cfd:	75 1c                	jne    0x507d1b
507cff:	5f                   	pop    %edi
507d00:	5e                   	pop    %esi
507d01:	8d 42 01             	lea    0x1(%edx),%eax
507d04:	5b                   	pop    %ebx
507d05:	8b e5                	mov    %ebp,%esp
507d07:	5d                   	pop    %ebp
507d08:	c3                   	ret
507d09:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
507d10:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
507d17:	2b d1                	sub    %ecx,%edx
507d19:	75 03                	jne    0x507d1e
507d1b:	40                   	inc    %eax
507d1c:	eb d2                	jmp    0x507cf0
507d1e:	8b 45 0c             	mov    0xc(%ebp),%eax
507d21:	8b 55 fc             	mov    -0x4(%ebp),%edx
507d24:	8b 75 10             	mov    0x10(%ebp),%esi
507d27:	47                   	inc    %edi
507d28:	83 c3 02             	add    $0x2,%ebx
507d2b:	3b f8                	cmp    %eax,%edi
507d2d:	7c a1                	jl     0x507cd0
507d2f:	5f                   	pop    %edi
507d30:	5e                   	pop    %esi
507d31:	33 c0                	xor    %eax,%eax
507d33:	5b                   	pop    %ebx
507d34:	8b e5                	mov    %ebp,%esp
507d36:	5d                   	pop    %ebp
507d37:	c3                   	ret
507d38:	cc                   	int3
507d39:	cc                   	int3
507d3a:	cc                   	int3
507d3b:	cc                   	int3
507d3c:	cc                   	int3
507d3d:	cc                   	int3
507d3e:	cc                   	int3
507d3f:	cc                   	int3
507d40:	55                   	push   %ebp
507d41:	8b ec                	mov    %esp,%ebp
507d43:	83 ec 2c             	sub    $0x2c,%esp
507d46:	8b 45 08             	mov    0x8(%ebp),%eax
507d49:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
507d4c:	53                   	push   %ebx
507d4d:	56                   	push   %esi
507d4e:	8b 75 0c             	mov    0xc(%ebp),%esi
507d51:	33 db                	xor    %ebx,%ebx
507d53:	8b 00                	mov    (%eax),%eax
507d55:	51                   	push   %ecx
507d56:	ff 75 18             	push   0x18(%ebp)
507d59:	89 5d f8             	mov    %ebx,-0x8(%ebp)
507d5c:	56                   	push   %esi
507d5d:	50                   	push   %eax
507d5e:	89 45 f4             	mov    %eax,-0xc(%ebp)
507d61:	89 5d f0             	mov    %ebx,-0x10(%ebp)
507d64:	e8 27 7b 02 00       	call   0x52f890
507d69:	83 c4 10             	add    $0x10,%esp
507d6c:	85 c0                	test   %eax,%eax
507d6e:	75 06                	jne    0x507d76
507d70:	5e                   	pop    %esi
507d71:	5b                   	pop    %ebx
507d72:	8b e5                	mov    %ebp,%esp
507d74:	5d                   	pop    %ebp