573ba1:	83 c4 0c             	add    $0xc,%esp
573ba4:	68 80 1f 6a 00       	push   $0x6a1f80
573ba9:	57                   	push   %edi
573baa:	e8 1d 65 00 00       	call   0x57a0cc
573baf:	83 c4 08             	add    $0x8,%esp
573bb2:	8b 43 0c             	mov    0xc(%ebx),%eax
573bb5:	50                   	push   %eax
573bb6:	8b 53 08             	mov    0x8(%ebx),%edx
573bb9:	52                   	push   %edx
573bba:	6a 22                	push   $0x22
573bbc:	8b 4e 04             	mov    0x4(%esi),%ecx
573bbf:	51                   	push   %ecx
573bc0:	6a 22                	push   $0x22
573bc2:	68 8a 1f 6a 00       	push   $0x6a1f8a
573bc7:	57                   	push   %edi
573bc8:	e8 ff 64 00 00       	call   0x57a0cc
573bcd:	83 c4 1c             	add    $0x1c,%esp
573bd0:	8b 03                	mov    (%ebx),%eax
573bd2:	8b 50 10             	mov    0x10(%eax),%edx
573bd5:	85 d2                	test   %edx,%edx
573bd7:	74 09                	je     0x573be2
573bd9:	8b d7                	mov    %edi,%edx
573bdb:	8b c3                	mov    %ebx,%eax
573bdd:	8b 08                	mov    (%eax),%ecx
573bdf:	ff 51 10             	call   *0x10(%ecx)
573be2:	5f                   	pop    %edi
573be3:	5e                   	pop    %esi
573be4:	5b                   	pop    %ebx
573be5:	c3                   	ret
573be6:	90                   	nop
573be7:	90                   	nop
573be8:	83 c0 10             	add    $0x10,%eax
573beb:	8b c8                	mov    %eax,%ecx
573bed:	8b c2                	mov    %edx,%eax
573bef:	8b d1                	mov    %ecx,%edx
573bf1:	e8 1e 07 00 00       	call   0x574314
573bf6:	85 c0                	test   %eax,%eax
573bf8:	74 04                	je     0x573bfe
573bfa:	83 c8 ff             	or     $0xffffffff,%eax
573bfd:	c3                   	ret
573bfe:	33 c0                	xor    %eax,%eax
573c00:	c3                   	ret
573c01:	90                   	nop
573c02:	90                   	nop
573c03:	90                   	nop
573c04:	53                   	push   %ebx
573c05:	8b d8                	mov    %eax,%ebx
573c07:	56                   	push   %esi
573c08:	57                   	push   %edi
573c09:	8b fa                	mov    %edx,%edi
573c0b:	8d 73 10             	lea    0x10(%ebx),%esi
573c0e:	8b d6                	mov    %esi,%edx
573c10:	8b c7                	mov    %edi,%eax
573c12:	e8 fd 06 00 00       	call   0x574314
573c17:	85 c0                	test   %eax,%eax
573c19:	75 0e                	jne    0x573c29
573c1b:	8d 56 04             	lea    0x4(%esi),%edx
573c1e:	8b c7                	mov    %edi,%eax
573c20:	e8 ef 06 00 00       	call   0x574314
573c25:	85 c0                	test   %eax,%eax
573c27:	74 05                	je     0x573c2e
573c29:	83 c8 ff             	or     $0xffffffff,%eax
573c2c:	eb 3b                	jmp    0x573c69
573c2e:	8b 43 0c             	mov    0xc(%ebx),%eax
573c31:	83 e8 08             	sub    $0x8,%eax
573c34:	83 e8 08             	sub    $0x8,%eax
573c37:	c1 e8 02             	shr    $0x2,%eax
573c3a:	89 46 08             	mov    %eax,0x8(%esi)
573c3d:	83 f8 20             	cmp    $0x20,%eax
573c40:	76 05                	jbe    0x573c47
573c42:	83 c8 ff             	or     $0xffffffff,%eax
573c45:	eb 22                	jmp    0x573c69
573c47:	33 db                	xor    %ebx,%ebx
573c49:	eb 15                	jmp    0x573c60
573c4b:	8d 54 9e 0c          	lea    0xc(%esi,%ebx,4),%edx
573c4f:	8b c7                	mov    %edi,%eax
573c51:	e8 be 06 00 00       	call   0x574314
573c56:	85 c0                	test   %eax,%eax
573c58:	74 05                	je     0x573c5f
573c5a:	83 c8 ff             	or     $0xffffffff,%eax
573c5d:	eb 0a                	jmp    0x573c69
573c5f:	43                   	inc    %ebx
573c60:	8b 56 08             	mov    0x8(%esi),%edx
573c63:	3b da                	cmp    %edx,%ebx
573c65:	72 e4                	jb     0x573c4b
573c67:	33 c0                	xor    %eax,%eax
573c69:	5f                   	pop    %edi
573c6a:	5e                   	pop    %esi
573c6b:	5b                   	pop    %ebx
573c6c:	c3                   	ret
573c6d:	90                   	nop
573c6e:	90                   	nop
573c6f:	90                   	nop
573c70:	53                   	push   %ebx
573c71:	8d 58 10             	lea    0x10(%eax),%ebx
573c74:	56                   	push   %esi
573c75:	8b f2                	mov    %edx,%esi
573c77:	8d 53 04             	lea    0x4(%ebx),%edx
573c7a:	8b c6                	mov    %esi,%eax
573c7c:	e8 93 06 00 00       	call   0x574314
573c81:	85 c0                	test   %eax,%eax
573c83:	75 53                	jne    0x573cd8
573c85:	8b d3                	mov    %ebx,%edx
573c87:	8b c6                	mov    %esi,%eax
573c89:	e8 86 06 00 00       	call   0x574314
573c8e:	85 c0                	test   %eax,%eax
573c90:	75 46                	jne    0x573cd8
573c92:	8d 53 08             	lea    0x8(%ebx),%edx
573c95:	8b c6                	mov    %esi,%eax
573c97:	e8 b4 05 00 00       	call   0x574250
573c9c:	85 c0                	test   %eax,%eax
573c9e:	75 38                	jne    0x573cd8
573ca0:	8d 53 0a             	lea    0xa(%ebx),%edx
573ca3:	8b c6                	mov    %esi,%eax
573ca5:	e8 42 05 00 00       	call   0x5741ec
573caa:	85 c0                	test   %eax,%eax
573cac:	75 2a                	jne    0x573cd8
573cae:	8d 53 0b             	lea    0xb(%ebx),%edx
573cb1:	8b c6                	mov    %esi,%eax
573cb3:	e8 34 05 00 00       	call   0x5741ec
573cb8:	85 c0                	test   %eax,%eax
573cba:	75 1c                	jne    0x573cd8
573cbc:	8d 53 0c             	lea    0xc(%ebx),%edx
573cbf:	8b c6                	mov    %esi,%eax
573cc1:	e8 26 05 00 00       	call   0x5741ec
573cc6:	85 c0                	test   %eax,%eax
573cc8:	75 0e                	jne    0x573cd8
573cca:	8d 53 0d             	lea    0xd(%ebx),%edx
573ccd:	8b c6                	mov    %esi,%eax
573ccf:	e8 18 05 00 00       	call   0x5741ec
573cd4:	85 c0                	test   %eax,%eax
573cd6:	74 06                	je     0x573cde
573cd8:	83 c8 ff             	or     $0xffffffff,%eax
573cdb:	5e                   	pop    %esi
573cdc:	5b                   	pop    %ebx
573cdd:	c3                   	ret
573cde:	33 c0                	xor    %eax,%eax
573ce0:	5e                   	pop    %esi
573ce1:	5b                   	pop    %ebx
573ce2:	c3                   	ret
573ce3:	90                   	nop
573ce4:	53                   	push   %ebx
573ce5:	56                   	push   %esi
573ce6:	57                   	push   %edi
573ce7:	8d 70 10             	lea    0x10(%eax),%esi
573cea:	66 8b 58 0c          	mov    0xc(%eax),%bx
573cee:	8b fa                	mov    %edx,%edi
573cf0:	66 83 eb 08          	sub    $0x8,%bx
573cf4:	0f b7 c3             	movzwl %bx,%eax
573cf7:	66 89 1e             	mov    %bx,(%esi)
573cfa:	e8 7d 46 00 00       	call   0x57837c
573cff:	89 46 04             	mov    %eax,0x4(%esi)
573d02:	85 c0                	test   %eax,%eax
573d04:	75 05                	jne    0x573d0b
573d06:	83 c8 ff             	or     $0xffffffff,%eax
573d09:	eb 23                	jmp    0x573d2e
573d0b:	33 db                	xor    %ebx,%ebx
573d0d:	eb 16                	jmp    0x573d25
573d0f:	8b 56 04             	mov    0x4(%esi),%edx
573d12:	8b c7                	mov    %edi,%eax
573d14:	03 d3                	add    %ebx,%edx
573d16:	e8 d1 04 00 00       	call   0x5741ec
573d1b:	85 c0                	test   %eax,%eax
573d1d:	74 05                	je     0x573d24
573d1f:	83 c8 ff             	or     $0xffffffff,%eax
573d22:	eb 0a                	jmp    0x573d2e
573d24:	43                   	inc    %ebx
573d25:	0f b7 16             	movzwl (%esi),%edx
573d28:	3b da                	cmp    %edx,%ebx
573d2a:	7c e3                	jl     0x573d0f
573d2c:	33 c0                	xor    %eax,%eax
573d2e:	5f                   	pop    %edi
573d2f:	5e                   	pop    %esi
573d30:	5b                   	pop    %ebx
573d31:	c3                   	ret
573d32:	90                   	nop
573d33:	90                   	nop
573d34:	53                   	push   %ebx
573d35:	8d 58 10             	lea    0x10(%eax),%ebx
573d38:	56                   	push   %esi
573d39:	33 c0                	xor    %eax,%eax
573d3b:	8b f2                	mov    %edx,%esi
573d3d:	8a 43 02             	mov    0x2(%ebx),%al
573d40:	50                   	push   %eax
573d41:	33 d2                	xor    %edx,%edx
573d43:	8a 53 01             	mov    0x1(%ebx),%dl
573d46:	33 c9                	xor    %ecx,%ecx
573d48:	52                   	push   %edx
573d49:	8a 0b                	mov    (%ebx),%cl
573d4b:	51                   	push   %ecx
573d4c:	68 ab 1f 6a 00       	push   $0x6a1fab
573d51:	56                   	push   %esi
573d52:	e8 75 63 00 00       	call   0x57a0cc
573d57:	83 c4 14             	add    $0x14,%esp
573d5a:	8a 03                	mov    (%ebx),%al
573d5c:	fe c8                	dec    %al
573d5e:	74 07                	je     0x573d67
573d60:	fe c8                	dec    %al
573d62:	74 18                	je     0x573d7c
573d64:	5e                   	pop    %esi
573d65:	5b                   	pop    %ebx
573d66:	c3                   	ret
573d67:	8b 53 04             	mov    0x4(%ebx),%edx
573d6a:	52                   	push   %edx
573d6b:	68 c9 1f 6a 00       	push   $0x6a1fc9
573d70:	56                   	push   %esi
573d71:	e8 56 63 00 00       	call   0x57a0cc
573d76:	83 c4 0c             	add    $0xc,%esp
573d79:	5e                   	pop    %esi
573d7a:	5b                   	pop    %ebx
573d7b:	c3                   	ret
573d7c:	8b 4b 0c             	mov    0xc(%ebx),%ecx
573d7f:	8b 53 08             	mov    0x8(%ebx),%edx
573d82:	8b c6                	mov    %esi,%eax
573d84:	e8 e7 61 00 00       	call   0x579f70
573d89:	5e                   	pop    %esi
573d8a:	5b                   	pop    %ebx
573d8b:	c3                   	ret
573d8c:	53                   	push   %ebx
573d8d:	56                   	push   %esi
573d8e:	57                   	push   %edi
573d8f:	8b f8                	mov    %eax,%edi
573d91:	8b f2                	mov    %edx,%esi
573d93:	33 c0                	xor    %eax,%eax
573d95:	8d 5f 10             	lea    0x10(%edi),%ebx
573d98:	55                   	push   %ebp
573d99:	33 d2                	xor    %edx,%edx
573d9b:	33 c9                	xor    %ecx,%ecx
573d9d:	89 43 04             	mov    %eax,0x4(%ebx)
573da0:	89 53 08             	mov    %edx,0x8(%ebx)
573da3:	8b d3                	mov    %ebx,%edx
573da5:	89 4b 0c             	mov    %ecx,0xc(%ebx)
573da8:	8b c6                	mov    %esi,%eax
573daa:	e8 3d 04 00 00       	call   0x5741ec
573daf:	85 c0                	test   %eax,%eax
573db1:	75 1c                	jne    0x573dcf
573db3:	8d 53 01             	lea    0x1(%ebx),%edx
573db6:	8b c6                	mov    %esi,%eax
573db8:	e8 2f 04 00 00       	call   0x5741ec
573dbd:	85 c0                	test   %eax,%eax
573dbf:	75 0e                	jne    0x573dcf
573dc1:	8d 53 02             	lea    0x2(%ebx),%edx
573dc4:	8b c6                	mov    %esi,%eax
573dc6:	e8 21 04 00 00       	call   0x5741ec
573dcb:	85 c0                	test   %eax,%eax
573dcd:	74 05                	je     0x573dd4
573dcf:	83 c8 ff             	or     $0xffffffff,%eax
573dd2:	eb 5a                	jmp    0x573e2e
573dd4:	8a 13                	mov    (%ebx),%dl
573dd6:	fe ca                	dec    %dl
573dd8:	74 06                	je     0x573de0
573dda:	fe ca                	dec    %dl
573ddc:	74 15                	je     0x573df3
573dde:	eb 4c                	jmp    0x573e2c
573de0:	8d 53 04             	lea    0x4(%ebx),%edx
573de3:	8b c6                	mov    %esi,%eax
573de5:	e8 2a 05 00 00       	call   0x574314
573dea:	85 c0                	test   %eax,%eax
573dec:	74 3e                	je     0x573e2c
573dee:	83 c8 ff             	or     $0xffffffff,%eax
573df1:	eb 3b                	jmp    0x573e2e
573df3:	8b 6f 0c             	mov    0xc(%edi),%ebp
573df6:	83 ed 08             	sub    $0x8,%ebp
573df9:	83 ed 03             	sub    $0x3,%ebp
573dfc:	89 6b 0c             	mov    %ebp,0xc(%ebx)
573dff:	8b c5                	mov    %ebp,%eax
573e01:	e8 76 45 00 00       	call   0x57837c
573e06:	8b f8                	mov    %eax,%edi
573e08:	89 7b 08             	mov    %edi,0x8(%ebx)
573e0b:	85 ff                	test   %edi,%edi
573e0d:	75 05                	jne    0x573e14
573e0f:	83 c8 ff             	or     $0xffffffff,%eax
573e12:	eb 1a                	jmp    0x573e2e
573e14:	8b 4b 0c             	mov    0xc(%ebx),%ecx
573e17:	8b d7                	mov    %edi,%edx
573e19:	8b c6                	mov    %esi,%eax
573e1b:	e8 60 4a 00 00       	call   0x578880
573e20:	8b 53 0c             	mov    0xc(%ebx),%edx
573e23:	3b c2                	cmp    %edx,%eax
573e25:	74 05                	je     0x573e2c
573e27:	83 c8 ff             	or     $0xffffffff,%eax
573e2a:	eb 02                	jmp    0x573e2e
573e2c:	33 c0                	xor    %eax,%eax
573e2e:	5d                   	pop    %ebp
573e2f:	5f                   	pop    %edi
573e30:	5e                   	pop    %esi
573e31:	5b                   	pop    %ebx
573e32:	c3                   	ret
573e33:	90                   	nop
573e34:	53                   	push   %ebx
573e35:	56                   	push   %esi
573e36:	57                   	push   %edi
573e37:	8b fa                	mov    %edx,%edi
573e39:	8d 70 10             	lea    0x10(%eax),%esi
573e3c:	33 db                	xor    %ebx,%ebx
573e3e:	eb 2c                	jmp    0x573e6c
573e40:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
573e43:	8b 56 04             	mov    0x4(%esi),%edx
573e46:	0f b7 4c 42 04       	movzwl 0x4(%edx,%eax,2),%ecx
573e4b:	51                   	push   %ecx
573e4c:	8b 56 04             	mov    0x4(%esi),%edx
573e4f:	0f b7 4c 42 02       	movzwl 0x2(%edx,%eax,2),%ecx
573e54:	51                   	push   %ecx
573e55:	8b 56 04             	mov    0x4(%esi),%edx
573e58:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
573e5c:	50                   	push   %eax
573e5d:	68 d2 1f 6a 00       	push   $0x6a1fd2
573e62:	57                   	push   %edi
573e63:	e8 64 62 00 00       	call   0x57a0cc
573e68:	83 c4 14             	add    $0x14,%esp
573e6b:	43                   	inc    %ebx
573e6c:	0f b7 0e             	movzwl (%esi),%ecx
573e6f:	3b d9                	cmp    %ecx,%ebx
573e71:	7c cd                	jl     0x573e40
573e73:	5f                   	pop    %edi
573e74:	5e                   	pop    %esi
573e75:	5b                   	pop    %ebx
573e76:	c3                   	ret
573e77:	90                   	nop
573e78:	83 c0 10             	add    $0x10,%eax
573e7b:	8b 50 08             	mov    0x8(%eax),%edx
573e7e:	85 d2                	test   %edx,%edx
573e80:	74 07                	je     0x573e89
573e82:	52                   	push   %edx
573e83:	e8 10 6c fe ff       	call   0x55aa98
573e88:	59                   	pop    %ecx
573e89:	c3                   	ret
573e8a:	90                   	nop
573e8b:	90                   	nop
573e8c:	53                   	push   %ebx
573e8d:	56                   	push   %esi
573e8e:	57                   	push   %edi
573e8f:	55                   	push   %ebp
573e90:	8b fa                	mov    %edx,%edi
573e92:	8d 68 10             	lea    0x10(%eax),%ebp
573e95:	8b d5                	mov    %ebp,%edx
573e97:	8b c7                	mov    %edi,%eax
573e99:	e8 b2 03 00 00       	call   0x574250
573e9e:	85 c0                	test   %eax,%eax
573ea0:	74 05                	je     0x573ea7
573ea2:	83 c8 ff             	or     $0xffffffff,%eax
573ea5:	eb 65                	jmp    0x573f0c
573ea7:	0f b7 55 00          	movzwl 0x0(%ebp),%edx
573eab:	8b c2                	mov    %edx,%eax
573ead:	03 c0                	add    %eax,%eax
573eaf:	8d 04 40             	lea    (%eax,%eax,2),%eax
573eb2:	e8 c5 44 00 00       	call   0x57837c
573eb7:	89 45 04             	mov    %eax,0x4(%ebp)
573eba:	85 c0                	test   %eax,%eax
573ebc:	75 05                	jne    0x573ec3