575b00:	e8 f3 00 00 00       	call   0x575bf8
575b05:	43                   	inc    %ebx
575b06:	8b 45 f0             	mov    -0x10(%ebp),%eax
575b09:	8b 50 10             	mov    0x10(%eax),%edx
575b0c:	3b d3                	cmp    %ebx,%edx
575b0e:	77 bf                	ja     0x575acf
575b10:	46                   	inc    %esi
575b11:	8b 4d f0             	mov    -0x10(%ebp),%ecx
575b14:	8b 41 14             	mov    0x14(%ecx),%eax
575b17:	3b c6                	cmp    %esi,%eax
575b19:	77 b0                	ja     0x575acb
575b1b:	33 c0                	xor    %eax,%eax
575b1d:	5e                   	pop    %esi
575b1e:	5b                   	pop    %ebx
575b1f:	8b e5                	mov    %ebp,%esp
575b21:	5d                   	pop    %ebp
575b22:	c2 0c 00             	ret    $0xc
575b25:	90                   	nop
575b26:	90                   	nop
575b27:	90                   	nop
575b28:	55                   	push   %ebp
575b29:	8b ec                	mov    %esp,%ebp
575b2b:	51                   	push   %ecx
575b2c:	53                   	push   %ebx
575b2d:	56                   	push   %esi
575b2e:	57                   	push   %edi
575b2f:	8b 40 14             	mov    0x14(%eax),%eax
575b32:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
575b35:	8b 53 10             	mov    0x10(%ebx),%edx
575b38:	8b 43 1c             	mov    0x1c(%ebx),%eax
575b3b:	0f af 55 08          	imul   0x8(%ebp),%edx
575b3f:	03 d1                	add    %ecx,%edx
575b41:	0f af 53 20          	imul   0x20(%ebx),%edx
575b45:	33 c9                	xor    %ecx,%ecx
575b47:	e8 1c 30 00 00       	call   0x578b68
575b4c:	85 c0                	test   %eax,%eax
575b4e:	7d 08                	jge    0x575b58
575b50:	83 c8 ff             	or     $0xffffffff,%eax
575b53:	e9 97 00 00 00       	jmp    0x575bef
575b58:	33 f6                	xor    %esi,%esi
575b5a:	8b 7b 20             	mov    0x20(%ebx),%edi
575b5d:	85 ff                	test   %edi,%edi
575b5f:	7e 7e                	jle    0x575bdf
575b61:	8b 43 1c             	mov    0x1c(%ebx),%eax
575b64:	f6 40 08 07          	testb  $0x7,0x8(%eax)
575b68:	75 54                	jne    0x575bbe
575b6a:	8b 53 1c             	mov    0x1c(%ebx),%edx
575b6d:	8b 4a 40             	mov    0x40(%edx),%ecx
575b70:	85 c9                	test   %ecx,%ecx
575b72:	7c 1c                	jl     0x575b90
575b74:	8b 43 1c             	mov    0x1c(%ebx),%eax
575b77:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
575b7a:	8b 50 40             	mov    0x40(%eax),%edx
575b7d:	8b 41 3c             	mov    0x3c(%ecx),%eax
575b80:	3b d0                	cmp    %eax,%edx
575b82:	7f 0c                	jg     0x575b90
575b84:	8b 53 1c             	mov    0x1c(%ebx),%edx
575b87:	83 4a 08 04          	orl    $0x4,0x8(%edx)
575b8b:	83 c9 ff             	or     $0xffffffff,%ecx
575b8e:	eb 31                	jmp    0x575bc1
575b90:	8b 43 1c             	mov    0x1c(%ebx),%eax
575b93:	ff 48 1c             	decl   0x1c(%eax)
575b96:	79 11                	jns    0x575ba9
575b98:	ba 01 00 00 00       	mov    $0x1,%edx
575b9d:	8b 43 1c             	mov    0x1c(%ebx),%eax
575ba0:	e8 83 31 00 00       	call   0x578d28
575ba5:	8b c8                	mov    %eax,%ecx
575ba7:	eb 18                	jmp    0x575bc1
575ba9:	8b 53 1c             	mov    0x1c(%ebx),%edx
575bac:	ff 42 3c             	incl   0x3c(%edx)
575baf:	8b 43 1c             	mov    0x1c(%ebx),%eax
575bb2:	8b 50 18             	mov    0x18(%eax),%edx
575bb5:	ff 40 18             	incl   0x18(%eax)
575bb8:	33 c9                	xor    %ecx,%ecx
575bba:	8a 0a                	mov    (%edx),%cl
575bbc:	eb 03                	jmp    0x575bc1
575bbe:	83 c9 ff             	or     $0xffffffff,%ecx
575bc1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
575bc4:	41                   	inc    %ecx
575bc5:	75 05                	jne    0x575bcc
575bc7:	83 c8 ff             	or     $0xffffffff,%eax
575bca:	eb 23                	jmp    0x575bef
575bcc:	c1 e6 08             	shl    $0x8,%esi
575bcf:	8b 55 fc             	mov    -0x4(%ebp),%edx
575bd2:	81 e2 ff 00 00 00    	and    $0xff,%edx
575bd8:	0b f2                	or     %edx,%esi
575bda:	4f                   	dec    %edi
575bdb:	85 ff                	test   %edi,%edi
575bdd:	7f 82                	jg     0x575b61
575bdf:	0f b7 53 18          	movzwl 0x18(%ebx),%edx
575be3:	33 c9                	xor    %ecx,%ecx
575be5:	8b c6                	mov    %esi,%eax
575be7:	8a 4b 1a             	mov    0x1a(%ebx),%cl
575bea:	e8 b5 fb ff ff       	call   0x5757a4
575bef:	5f                   	pop    %edi
575bf0:	5e                   	pop    %esi
575bf1:	5b                   	pop    %ebx
575bf2:	59                   	pop    %ecx
575bf3:	5d                   	pop    %ebp
575bf4:	c2 04 00             	ret    $0x4
575bf7:	90                   	nop
575bf8:	55                   	push   %ebp
575bf9:	8b ec                	mov    %esp,%ebp
575bfb:	51                   	push   %ecx
575bfc:	53                   	push   %ebx
575bfd:	56                   	push   %esi
575bfe:	57                   	push   %edi
575bff:	8b 40 14             	mov    0x14(%eax),%eax
575c02:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
575c05:	8b 53 10             	mov    0x10(%ebx),%edx
575c08:	8b 43 1c             	mov    0x1c(%ebx),%eax
575c0b:	0f af 55 0c          	imul   0xc(%ebp),%edx
575c0f:	03 d1                	add    %ecx,%edx
575c11:	0f af 53 20          	imul   0x20(%ebx),%edx
575c15:	33 c9                	xor    %ecx,%ecx
575c17:	e8 4c 2f 00 00       	call   0x578b68
575c1c:	85 c0                	test   %eax,%eax
575c1e:	0f 8c b9 00 00 00    	jl     0x575cdd
575c24:	0f b7 53 18          	movzwl 0x18(%ebx),%edx
575c28:	33 c9                	xor    %ecx,%ecx
575c2a:	8b 45 08             	mov    0x8(%ebp),%eax
575c2d:	8a 4b 1a             	mov    0x1a(%ebx),%cl
575c30:	e8 43 fb ff ff       	call   0x575778
575c35:	8b f8                	mov    %eax,%edi
575c37:	8b 43 20             	mov    0x20(%ebx),%eax
575c3a:	89 45 fc             	mov    %eax,-0x4(%ebp)
575c3d:	8b 55 fc             	mov    -0x4(%ebp),%edx
575c40:	85 d2                	test   %edx,%edx
575c42:	0f 8e 95 00 00 00    	jle    0x575cdd
575c48:	8b 4b 20             	mov    0x20(%ebx),%ecx
575c4b:	8b f7                	mov    %edi,%esi
575c4d:	c1 e1 03             	shl    $0x3,%ecx
575c50:	8b 43 1c             	mov    0x1c(%ebx),%eax
575c53:	83 c1 f8             	add    $0xfffffff8,%ecx
575c56:	d3 ee                	shr    %cl,%esi
575c58:	81 e6 ff 00 00 00    	and    $0xff,%esi
575c5e:	f6 40 08 07          	testb  $0x7,0x8(%eax)
575c62:	75 62                	jne    0x575cc6
575c64:	8b 53 1c             	mov    0x1c(%ebx),%edx
575c67:	8b 4a 40             	mov    0x40(%edx),%ecx
575c6a:	85 c9                	test   %ecx,%ecx
575c6c:	7c 1c                	jl     0x575c8a
575c6e:	8b 43 1c             	mov    0x1c(%ebx),%eax
575c71:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
575c74:	8b 50 40             	mov    0x40(%eax),%edx
575c77:	8b 41 3c             	mov    0x3c(%ecx),%eax
575c7a:	3b d0                	cmp    %eax,%edx
575c7c:	7f 0c                	jg     0x575c8a
575c7e:	8b 53 1c             	mov    0x1c(%ebx),%edx
575c81:	83 4a 08 04          	orl    $0x4,0x8(%edx)
575c85:	83 c9 ff             	or     $0xffffffff,%ecx
575c88:	eb 3f                	jmp    0x575cc9
575c8a:	8b 43 1c             	mov    0x1c(%ebx),%eax
575c8d:	83 48 04 20          	orl    $0x20,0x4(%eax)
575c91:	8b 53 1c             	mov    0x1c(%ebx),%edx
575c94:	ff 4a 1c             	decl   0x1c(%edx)
575c97:	79 14                	jns    0x575cad
575c99:	8b d6                	mov    %esi,%edx
575c9b:	8b 43 1c             	mov    0x1c(%ebx),%eax
575c9e:	81 e2 ff 00 00 00    	and    $0xff,%edx
575ca4:	e8 6f 31 00 00       	call   0x578e18
575ca9:	8b c8                	mov    %eax,%ecx
575cab:	eb 1c                	jmp    0x575cc9
575cad:	8b 43 1c             	mov    0x1c(%ebx),%eax
575cb0:	ff 40 3c             	incl   0x3c(%eax)
575cb3:	8b 53 1c             	mov    0x1c(%ebx),%edx
575cb6:	8b 4a 18             	mov    0x18(%edx),%ecx
575cb9:	ff 42 18             	incl   0x18(%edx)
575cbc:	8b c6                	mov    %esi,%eax
575cbe:	88 01                	mov    %al,(%ecx)
575cc0:	33 c9                	xor    %ecx,%ecx
575cc2:	8a c8                	mov    %al,%cl
575cc4:	eb 03                	jmp    0x575cc9
575cc6:	83 c9 ff             	or     $0xffffffff,%ecx
575cc9:	41                   	inc    %ecx
575cca:	74 11                	je     0x575cdd
575ccc:	c1 e7 08             	shl    $0x8,%edi
575ccf:	ff 4d fc             	decl   -0x4(%ebp)
575cd2:	8b 45 fc             	mov    -0x4(%ebp),%eax
575cd5:	85 c0                	test   %eax,%eax
575cd7:	0f 8f 6b ff ff ff    	jg     0x575c48
575cdd:	5f                   	pop    %edi
575cde:	5e                   	pop    %esi
575cdf:	5b                   	pop    %ebx
575ce0:	59                   	pop    %ecx
575ce1:	5d                   	pop    %ebp
575ce2:	c2 08 00             	ret    $0x8
575ce5:	90                   	nop
575ce6:	90                   	nop
575ce7:	90                   	nop
575ce8:	53                   	push   %ebx
575ce9:	56                   	push   %esi
575cea:	33 c9                	xor    %ecx,%ecx
575cec:	8b 58 14             	mov    0x14(%eax),%ebx
575cef:	eb 12                	jmp    0x575d03
575cf1:	8b 33                	mov    (%ebx),%esi
575cf3:	8b 76 24             	mov    0x24(%esi),%esi
575cf6:	3b f2                	cmp    %edx,%esi
575cf8:	75 05                	jne    0x575cff
575cfa:	8b c1                	mov    %ecx,%eax
575cfc:	5e                   	pop    %esi
575cfd:	5b                   	pop    %ebx
575cfe:	c3                   	ret
575cff:	41                   	inc    %ecx
575d00:	83 c3 04             	add    $0x4,%ebx
575d03:	0f b7 70 10          	movzwl 0x10(%eax),%esi
575d07:	3b ce                	cmp    %esi,%ecx
575d09:	7c e6                	jl     0x575cf1
575d0b:	5e                   	pop    %esi
575d0c:	5b                   	pop    %ebx
575d0d:	c3                   	ret
575d0e:	8b c0                	mov    %eax,%eax
575d10:	53                   	push   %ebx
575d11:	b8 04 00 00 00       	mov    $0x4,%eax
575d16:	e8 61 26 00 00       	call   0x57837c
575d1b:	8b d8                	mov    %eax,%ebx
575d1d:	85 c0                	test   %eax,%eax
575d1f:	75 04                	jne    0x575d25
575d21:	33 c0                	xor    %eax,%eax
575d23:	5b                   	pop    %ebx
575d24:	c3                   	ret
575d25:	33 d2                	xor    %edx,%edx
575d27:	8b c3                	mov    %ebx,%eax
575d29:	89 13                	mov    %edx,(%ebx)
575d2b:	5b                   	pop    %ebx
575d2c:	c3                   	ret
575d2d:	90                   	nop
575d2e:	90                   	nop
575d2f:	90                   	nop
575d30:	e8 4f 26 00 00       	call   0x578384
575d35:	c3                   	ret
575d36:	90                   	nop
575d37:	90                   	nop
575d38:	53                   	push   %ebx
575d39:	56                   	push   %esi
575d3a:	57                   	push   %edi
575d3b:	51                   	push   %ecx
575d3c:	89 14 24             	mov    %edx,(%esp)
575d3f:	8b f8                	mov    %eax,%edi
575d41:	33 c0                	xor    %eax,%eax
575d43:	e8 98 02 00 00       	call   0x575fe0
575d48:	8b d8                	mov    %eax,%ebx
575d4a:	85 c0                	test   %eax,%eax
575d4c:	75 07                	jne    0x575d55
575d4e:	33 c0                	xor    %eax,%eax
575d50:	e9 8b 01 00 00       	jmp    0x575ee0
575d55:	8b d3                	mov    %ebx,%edx
575d57:	8b c7                	mov    %edi,%eax
575d59:	e8 ca 19 00 00       	call   0x577728
575d5e:	85 c0                	test   %eax,%eax
575d60:	75 07                	jne    0x575d69
575d62:	66 81 3b 00 ff       	cmpw   $0xff00,(%ebx)
575d67:	73 0e                	jae    0x575d77
575d69:	8b c3                	mov    %ebx,%eax
575d6b:	e8 b8 02 00 00       	call   0x576028
575d70:	33 c0                	xor    %eax,%eax
575d72:	e9 69 01 00 00       	jmp    0x575ee0
575d77:	0f b7 03             	movzwl (%ebx),%eax
575d7a:	e8 29 1e 00 00       	call   0x577ba8
575d7f:	83 c0 08             	add    $0x8,%eax
575d82:	89 43 60             	mov    %eax,0x60(%ebx)
575d85:	66 8b 03             	mov    (%ebx),%ax
575d88:	66 3d 4f ff          	cmp    $0xff4f,%ax
575d8c:	0f 84 21 01 00 00    	je     0x575eb3
575d92:	66 3d 93 ff          	cmp    $0xff93,%ax
575d96:	0f 84 17 01 00 00    	je     0x575eb3
575d9c:	66 3d d9 ff          	cmp    $0xffd9,%ax
575da0:	0f 84 0d 01 00 00    	je     0x575eb3
575da6:	66 3d 92 ff          	cmp    $0xff92,%ax
575daa:	0f 84 03 01 00 00    	je     0x575eb3
575db0:	66 8b 03             	mov    (%ebx),%ax
575db3:	66 3d 30 ff          	cmp    $0xff30,%ax
575db7:	72 0a                	jb     0x575dc3
575db9:	66 3d 3f ff          	cmp    $0xff3f,%ax
575dbd:	0f 86 f0 00 00 00    	jbe    0x575eb3
575dc3:	8d 53 02             	lea    0x2(%ebx),%edx
575dc6:	8b c7                	mov    %edi,%eax
575dc8:	e8 5b 19 00 00       	call   0x577728
575dcd:	85 c0                	test   %eax,%eax
575dcf:	75 07                	jne    0x575dd8
575dd1:	66 83 7b 02 03       	cmpw   $0x3,0x2(%ebx)
575dd6:	73 0e                	jae    0x575de6
575dd8:	8b c3                	mov    %ebx,%eax
575dda:	e8 49 02 00 00       	call   0x576028
575ddf:	33 c0                	xor    %eax,%eax
575de1:	e9 fa 00 00 00       	jmp    0x575ee0
575de6:	66 81 43 02 fe ff    	addw   $0xfffe,0x2(%ebx)
575dec:	33 d2                	xor    %edx,%edx
575dee:	33 c0                	xor    %eax,%eax
575df0:	e8 27 26 00 00       	call   0x57841c
575df5:	8b f0                	mov    %eax,%esi
575df7:	85 c0                	test   %eax,%eax
575df9:	75 0e                	jne    0x575e09
575dfb:	8b c3                	mov    %ebx,%eax
575dfd:	e8 26 02 00 00       	call   0x576028
575e02:	33 c0                	xor    %eax,%eax
575e04:	e9 d7 00 00 00       	jmp    0x575ee0
575e09:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
575e0d:	8b d7                	mov    %edi,%edx
575e0f:	8b c6                	mov    %esi,%eax
575e11:	e8 12 31 00 00       	call   0x578f28
575e16:	85 c0                	test   %eax,%eax
575e18:	75 0f                	jne    0x575e29
575e1a:	33 c9                	xor    %ecx,%ecx
575e1c:	33 d2                	xor    %edx,%edx
575e1e:	8b c6                	mov    %esi,%eax
575e20:	e8 43 2d 00 00       	call   0x578b68
575e25:	85 c0                	test   %eax,%eax
575e27:	7d 15                	jge    0x575e3e
575e29:	8b c6                	mov    %esi,%eax
575e2b:	e8 0c 29 00 00       	call   0x57873c
575e30:	8b c3                	mov    %ebx,%eax
575e32:	e8 f1 01 00 00       	call   0x576028
575e37:	33 c0                	xor    %eax,%eax
575e39:	e9 a2 00 00 00       	jmp    0x575ee0
575e3e:	8b c3                	mov    %ebx,%eax
575e40:	8b ce                	mov    %esi,%ecx
575e42:	8b 14 24             	mov    (%esp),%edx
575e45:	8b 78 60             	mov    0x60(%eax),%edi
575e48:	ff 57 04             	call   *0x4(%edi)
575e4b:	85 c0                	test   %eax,%eax
575e4d:	74 17                	je     0x575e66
575e4f:	33 c0                	xor    %eax,%eax
575e51:	89 43 60             	mov    %eax,0x60(%ebx)
575e54:	8b c3                	mov    %ebx,%eax
575e56:	e8 cd 01 00 00       	call   0x576028
575e5b:	8b c6                	mov    %esi,%eax
575e5d:	e8 da 28 00 00       	call   0x57873c
575e62:	33 c0                	xor    %eax,%eax
575e64:	eb 7a                	jmp    0x575ee0
575e66:	e8 e1 40 00 00       	call   0x579f4c
575e6b:	85 c0                	test   %eax,%eax
575e6d:	7e 0c                	jle    0x575e7b
575e6f:	ba 80 2e 6a 00       	mov    $0x6a2e80,%edx
575e74:	8b c3                	mov    %ebx,%eax
575e76:	e8 cd 01 00 00       	call   0x576048
575e7b:	8b c6                	mov    %esi,%eax
575e7d:	e8 76 2d 00 00       	call   0x578bf8
575e82:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
575e86:	3b c2                	cmp    %edx,%eax
575e88:	74 20                	je     0x575eaa
575e8a:	8b c6                	mov    %esi,%eax
575e8c:	e8 67 2d 00 00       	call   0x578bf8
575e91:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
575e95:	2b d0                	sub    %eax,%edx
575e97:	52                   	push   %edx
575e98:	68 fc 22 6a 00       	push   $0x6a22fc
575e9d:	68 80 2e 6a 00       	push   $0x6a2e80
575ea2:	e8 25 42 00 00       	call   0x57a0cc
575ea7:	83 c4 0c             	add    $0xc,%esp