577ca0:	33 c0                	xor    %eax,%eax
577ca2:	eb 14                	jmp    0x577cb8
577ca4:	89 73 04             	mov    %esi,0x4(%ebx)
577ca7:	89 7b 08             	mov    %edi,0x8(%ebx)
577caa:	8b 55 fc             	mov    -0x4(%ebp),%edx
577cad:	8b c3                	mov    %ebx,%eax
577caf:	89 53 0c             	mov    %edx,0xc(%ebx)
577cb2:	8b 4d 08             	mov    0x8(%ebp),%ecx
577cb5:	89 4b 10             	mov    %ecx,0x10(%ebx)
577cb8:	5f                   	pop    %edi
577cb9:	5e                   	pop    %esi
577cba:	5b                   	pop    %ebx
577cbb:	59                   	pop    %ecx
577cbc:	5d                   	pop    %ebp
577cbd:	c2 04 00             	ret    $0x4
577cc0:	53                   	push   %ebx
577cc1:	56                   	push   %esi
577cc2:	57                   	push   %edi
577cc3:	8b fa                	mov    %edx,%edi
577cc5:	8b f0                	mov    %eax,%esi
577cc7:	b8 2c 00 00 00       	mov    $0x2c,%eax
577ccc:	e8 ab 06 00 00       	call   0x57837c
577cd1:	8b d8                	mov    %eax,%ebx
577cd3:	85 c0                	test   %eax,%eax
577cd5:	75 07                	jne    0x577cde
577cd7:	33 c0                	xor    %eax,%eax
577cd9:	e9 b0 00 00 00       	jmp    0x577d8e
577cde:	33 d2                	xor    %edx,%edx
577ce0:	33 c9                	xor    %ecx,%ecx
577ce2:	89 13                	mov    %edx,(%ebx)
577ce4:	8b d6                	mov    %esi,%edx
577ce6:	0f af d7             	imul   %edi,%edx
577ce9:	89 73 14             	mov    %esi,0x14(%ebx)
577cec:	89 7b 18             	mov    %edi,0x18(%ebx)
577cef:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
577cf2:	33 c0                	xor    %eax,%eax
577cf4:	89 73 20             	mov    %esi,0x20(%ebx)
577cf7:	89 43 24             	mov    %eax,0x24(%ebx)
577cfa:	89 53 28             	mov    %edx,0x28(%ebx)
577cfd:	8b 7b 20             	mov    0x20(%ebx),%edi
577d00:	85 ff                	test   %edi,%edi
577d02:	7e 1c                	jle    0x577d20
577d04:	8b c7                	mov    %edi,%eax
577d06:	c1 e0 02             	shl    $0x2,%eax
577d09:	e8 6e 06 00 00       	call   0x57837c
577d0e:	89 43 1c             	mov    %eax,0x1c(%ebx)
577d11:	85 c0                	test   %eax,%eax
577d13:	75 0b                	jne    0x577d20
577d15:	8b c3                	mov    %ebx,%eax
577d17:	e8 78 00 00 00       	call   0x577d94
577d1c:	33 c0                	xor    %eax,%eax
577d1e:	eb 6e                	jmp    0x577d8e
577d20:	8b 7b 28             	mov    0x28(%ebx),%edi
577d23:	85 ff                	test   %edi,%edi
577d25:	7e 1c                	jle    0x577d43
577d27:	8b c7                	mov    %edi,%eax
577d29:	c1 e0 02             	shl    $0x2,%eax
577d2c:	e8 4b 06 00 00       	call   0x57837c
577d31:	89 43 24             	mov    %eax,0x24(%ebx)
577d34:	85 c0                	test   %eax,%eax
577d36:	75 0b                	jne    0x577d43
577d38:	8b c3                	mov    %ebx,%eax
577d3a:	e8 55 00 00 00       	call   0x577d94
577d3f:	33 c0                	xor    %eax,%eax
577d41:	eb 4b                	jmp    0x577d8e
577d43:	33 c0                	xor    %eax,%eax
577d45:	3b f0                	cmp    %eax,%esi
577d47:	7e 19                	jle    0x577d62
577d49:	8b d0                	mov    %eax,%edx
577d4b:	0f af 53 18          	imul   0x18(%ebx),%edx
577d4f:	c1 e2 02             	shl    $0x2,%edx
577d52:	8b 4b 24             	mov    0x24(%ebx),%ecx
577d55:	03 d1                	add    %ecx,%edx
577d57:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
577d5a:	89 14 81             	mov    %edx,(%ecx,%eax,4)
577d5d:	40                   	inc    %eax
577d5e:	3b f0                	cmp    %eax,%esi
577d60:	7f e7                	jg     0x577d49
577d62:	33 c0                	xor    %eax,%eax
577d64:	eb 09                	jmp    0x577d6f
577d66:	8b 53 24             	mov    0x24(%ebx),%edx
577d69:	33 c9                	xor    %ecx,%ecx
577d6b:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
577d6e:	40                   	inc    %eax
577d6f:	8b 53 28             	mov    0x28(%ebx),%edx
577d72:	3b c2                	cmp    %edx,%eax
577d74:	7c f0                	jl     0x577d66
577d76:	33 c0                	xor    %eax,%eax
577d78:	89 43 04             	mov    %eax,0x4(%ebx)
577d7b:	33 c0                	xor    %eax,%eax
577d7d:	89 43 08             	mov    %eax,0x8(%ebx)
577d80:	8b c3                	mov    %ebx,%eax
577d82:	8b 53 18             	mov    0x18(%ebx),%edx
577d85:	89 53 0c             	mov    %edx,0xc(%ebx)
577d88:	8b 4b 14             	mov    0x14(%ebx),%ecx
577d8b:	89 4b 10             	mov    %ecx,0x10(%ebx)
577d8e:	5f                   	pop    %edi
577d8f:	5e                   	pop    %esi
577d90:	5b                   	pop    %ebx
577d91:	c3                   	ret
577d92:	90                   	nop
577d93:	90                   	nop
577d94:	53                   	push   %ebx
577d95:	8b d8                	mov    %eax,%ebx
577d97:	8b 43 24             	mov    0x24(%ebx),%eax
577d9a:	85 c0                	test   %eax,%eax
577d9c:	74 29                	je     0x577dc7
577d9e:	f6 03 01             	testb  $0x1,(%ebx)
577da1:	74 17                	je     0x577dba
577da3:	68 c8 00 00 00       	push   $0xc8
577da8:	68 fe 28 6a 00       	push   $0x6a28fe
577dad:	68 db 28 6a 00       	push   $0x6a28db
577db2:	e8 89 2d fe ff       	call   0x55ab40
577db7:	83 c4 0c             	add    $0xc,%esp
577dba:	8b 43 24             	mov    0x24(%ebx),%eax
577dbd:	e8 c2 05 00 00       	call   0x578384
577dc2:	33 d2                	xor    %edx,%edx
577dc4:	89 53 24             	mov    %edx,0x24(%ebx)
577dc7:	8b 43 1c             	mov    0x1c(%ebx),%eax
577dca:	85 c0                	test   %eax,%eax
577dcc:	74 0a                	je     0x577dd8
577dce:	e8 b1 05 00 00       	call   0x578384
577dd3:	33 d2                	xor    %edx,%edx
577dd5:	89 53 1c             	mov    %edx,0x1c(%ebx)
577dd8:	8b c3                	mov    %ebx,%eax
577dda:	e8 a5 05 00 00       	call   0x578384
577ddf:	5b                   	pop    %ebx
577de0:	c3                   	ret
577de1:	90                   	nop
577de2:	90                   	nop
577de3:	90                   	nop
577de4:	53                   	push   %ebx
577de5:	8b d8                	mov    %eax,%ebx
577de7:	56                   	push   %esi
577de8:	57                   	push   %edi
577de9:	8b 43 10             	mov    0x10(%ebx),%eax
577dec:	50                   	push   %eax
577ded:	8b 43 04             	mov    0x4(%ebx),%eax
577df0:	8b 4b 0c             	mov    0xc(%ebx),%ecx
577df3:	8b 53 08             	mov    0x8(%ebx),%edx
577df6:	e8 5d fe ff ff       	call   0x577c58
577dfb:	8b f0                	mov    %eax,%esi
577dfd:	85 f6                	test   %esi,%esi
577dff:	75 17                	jne    0x577e18
577e01:	68 da 00 00 00       	push   $0xda
577e06:	68 0a 29 6a 00       	push   $0x6a290a
577e0b:	68 08 29 6a 00       	push   $0x6a2908
577e10:	e8 2b 2d fe ff       	call   0x55ab40
577e15:	83 c4 0c             	add    $0xc,%esp
577e18:	33 d2                	xor    %edx,%edx
577e1a:	eb 1f                	jmp    0x577e3b
577e1c:	33 c0                	xor    %eax,%eax
577e1e:	eb 13                	jmp    0x577e33
577e20:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
577e23:	8b 7e 1c             	mov    0x1c(%esi),%edi
577e26:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
577e29:	8b 3c 97             	mov    (%edi,%edx,4),%edi
577e2c:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
577e2f:	89 0c 87             	mov    %ecx,(%edi,%eax,4)
577e32:	40                   	inc    %eax
577e33:	8b 4b 18             	mov    0x18(%ebx),%ecx
577e36:	3b c1                	cmp    %ecx,%eax
577e38:	7c e6                	jl     0x577e20
577e3a:	42                   	inc    %edx
577e3b:	8b 43 14             	mov    0x14(%ebx),%eax
577e3e:	3b d0                	cmp    %eax,%edx
577e40:	7c da                	jl     0x577e1c
577e42:	8b c6                	mov    %esi,%eax
577e44:	5f                   	pop    %edi
577e45:	5e                   	pop    %esi
577e46:	5b                   	pop    %ebx
577e47:	c3                   	ret
577e48:	53                   	push   %ebx
577e49:	8b d8                	mov    %eax,%ebx
577e4b:	56                   	push   %esi
577e4c:	57                   	push   %edi
577e4d:	8b 53 18             	mov    0x18(%ebx),%edx
577e50:	8b 43 14             	mov    0x14(%ebx),%eax
577e53:	e8 68 fe ff ff       	call   0x577cc0
577e58:	8b c8                	mov    %eax,%ecx
577e5a:	33 d2                	xor    %edx,%edx
577e5c:	eb 1f                	jmp    0x577e7d
577e5e:	33 c0                	xor    %eax,%eax
577e60:	eb 13                	jmp    0x577e75
577e62:	8b 73 1c             	mov    0x1c(%ebx),%esi
577e65:	8b 79 1c             	mov    0x1c(%ecx),%edi
577e68:	8b 34 96             	mov    (%esi,%edx,4),%esi
577e6b:	8b 3c 97             	mov    (%edi,%edx,4),%edi
577e6e:	8b 34 86             	mov    (%esi,%eax,4),%esi
577e71:	89 34 87             	mov    %esi,(%edi,%eax,4)
577e74:	40                   	inc    %eax
577e75:	8b 73 18             	mov    0x18(%ebx),%esi
577e78:	3b c6                	cmp    %esi,%eax
577e7a:	7c e6                	jl     0x577e62
577e7c:	42                   	inc    %edx
577e7d:	8b 43 14             	mov    0x14(%ebx),%eax
577e80:	3b d0                	cmp    %eax,%edx
577e82:	7c da                	jl     0x577e5e
577e84:	8b c1                	mov    %ecx,%eax
577e86:	5f                   	pop    %edi
577e87:	5e                   	pop    %esi
577e88:	5b                   	pop    %ebx
577e89:	c3                   	ret
577e8a:	90                   	nop
577e8b:	90                   	nop
577e8c:	55                   	push   %ebp
577e8d:	8b ec                	mov    %esp,%ebp
577e8f:	56                   	push   %esi
577e90:	57                   	push   %edi
577e91:	8b 7a 04             	mov    0x4(%edx),%edi
577e94:	2b cf                	sub    %edi,%ecx
577e96:	51                   	push   %ecx
577e97:	8b 4d 08             	mov    0x8(%ebp),%ecx
577e9a:	8b 72 08             	mov    0x8(%edx),%esi
577e9d:	2b ce                	sub    %esi,%ecx
577e9f:	49                   	dec    %ecx
577ea0:	51                   	push   %ecx
577ea1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
577ea4:	2b cf                	sub    %edi,%ecx
577ea6:	49                   	dec    %ecx
577ea7:	51                   	push   %ecx
577ea8:	8b 4d 10             	mov    0x10(%ebp),%ecx
577eab:	2b ce                	sub    %esi,%ecx
577ead:	e8 06 00 00 00       	call   0x577eb8
577eb2:	5f                   	pop    %edi
577eb3:	5e                   	pop    %esi
577eb4:	5d                   	pop    %ebp
577eb5:	c2 0c 00             	ret    $0xc
577eb8:	55                   	push   %ebp
577eb9:	8b ec                	mov    %esp,%ebp
577ebb:	53                   	push   %ebx
577ebc:	8b d8                	mov    %eax,%ebx
577ebe:	56                   	push   %esi
577ebf:	57                   	push   %edi
577ec0:	8b 43 24             	mov    0x24(%ebx),%eax
577ec3:	8b f9                	mov    %ecx,%edi
577ec5:	85 c0                	test   %eax,%eax
577ec7:	8b f2                	mov    %edx,%esi
577ec9:	74 14                	je     0x577edf
577ecb:	f6 03 01             	testb  $0x1,(%ebx)
577ece:	75 05                	jne    0x577ed5
577ed0:	e8 af 04 00 00       	call   0x578384
577ed5:	33 d2                	xor    %edx,%edx
577ed7:	33 c9                	xor    %ecx,%ecx
577ed9:	89 53 24             	mov    %edx,0x24(%ebx)
577edc:	89 4b 28             	mov    %ecx,0x28(%ebx)
577edf:	8b 43 1c             	mov    0x1c(%ebx),%eax
577ee2:	85 c0                	test   %eax,%eax
577ee4:	74 0a                	je     0x577ef0
577ee6:	e8 99 04 00 00       	call   0x578384
577eeb:	33 d2                	xor    %edx,%edx
577eed:	89 53 1c             	mov    %edx,0x1c(%ebx)
577ef0:	83 0b 01             	orl    $0x1,(%ebx)
577ef3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
577ef6:	2b cf                	sub    %edi,%ecx
577ef8:	41                   	inc    %ecx
577ef9:	89 4b 14             	mov    %ecx,0x14(%ebx)
577efc:	8b 45 08             	mov    0x8(%ebp),%eax
577eff:	8b 55 10             	mov    0x10(%ebp),%edx
577f02:	2b c2                	sub    %edx,%eax
577f04:	40                   	inc    %eax
577f05:	89 43 18             	mov    %eax,0x18(%ebx)
577f08:	8b 4b 14             	mov    0x14(%ebx),%ecx
577f0b:	89 4b 20             	mov    %ecx,0x20(%ebx)
577f0e:	8b 43 20             	mov    0x20(%ebx),%eax
577f11:	c1 e0 02             	shl    $0x2,%eax
577f14:	e8 63 04 00 00       	call   0x57837c
577f19:	89 43 1c             	mov    %eax,0x1c(%ebx)
577f1c:	33 c0                	xor    %eax,%eax
577f1e:	eb 18                	jmp    0x577f38
577f20:	8d 14 38             	lea    (%eax,%edi,1),%edx
577f23:	8b 4e 1c             	mov    0x1c(%esi),%ecx
577f26:	8b 14 91             	mov    (%ecx,%edx,4),%edx
577f29:	8b 4d 10             	mov    0x10(%ebp),%ecx
577f2c:	c1 e1 02             	shl    $0x2,%ecx
577f2f:	03 d1                	add    %ecx,%edx
577f31:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
577f34:	89 14 81             	mov    %edx,(%ecx,%eax,4)
577f37:	40                   	inc    %eax
577f38:	8b 53 14             	mov    0x14(%ebx),%edx
577f3b:	3b c2                	cmp    %edx,%eax
577f3d:	7c e1                	jl     0x577f20
577f3f:	8b 46 04             	mov    0x4(%esi),%eax
577f42:	8b 55 10             	mov    0x10(%ebp),%edx
577f45:	03 c2                	add    %edx,%eax
577f47:	89 43 04             	mov    %eax,0x4(%ebx)
577f4a:	8b 46 08             	mov    0x8(%esi),%eax
577f4d:	03 f8                	add    %eax,%edi
577f4f:	89 7b 08             	mov    %edi,0x8(%ebx)
577f52:	8b 4b 04             	mov    0x4(%ebx),%ecx
577f55:	8b 43 18             	mov    0x18(%ebx),%eax
577f58:	03 c8                	add    %eax,%ecx
577f5a:	89 4b 0c             	mov    %ecx,0xc(%ebx)
577f5d:	8b 53 08             	mov    0x8(%ebx),%edx
577f60:	8b 4b 14             	mov    0x14(%ebx),%ecx
577f63:	03 d1                	add    %ecx,%edx
577f65:	89 53 10             	mov    %edx,0x10(%ebx)
577f68:	5f                   	pop    %edi
577f69:	5e                   	pop    %esi
577f6a:	5b                   	pop    %ebx
577f6b:	5d                   	pop    %ebp
577f6c:	c2 0c 00             	ret    $0xc
577f6f:	90                   	nop
577f70:	53                   	push   %ebx
577f71:	56                   	push   %esi
577f72:	57                   	push   %edi
577f73:	55                   	push   %ebp
577f74:	83 c4 f8             	add    $0xfffffff8,%esp
577f77:	8b 48 14             	mov    0x14(%eax),%ecx
577f7a:	8b 5a 14             	mov    0x14(%edx),%ebx
577f7d:	3b cb                	cmp    %ebx,%ecx
577f7f:	75 0a                	jne    0x577f8b
577f81:	8b 48 18             	mov    0x18(%eax),%ecx
577f84:	8b 5a 18             	mov    0x18(%edx),%ebx
577f87:	3b cb                	cmp    %ebx,%ecx
577f89:	74 07                	je     0x577f92
577f8b:	b8 01 00 00 00       	mov    $0x1,%eax
577f90:	eb 52                	jmp    0x577fe4
577f92:	33 c9                	xor    %ecx,%ecx
577f94:	89 0c 24             	mov    %ecx,(%esp)
577f97:	8b 48 1c             	mov    0x1c(%eax),%ecx
577f9a:	89 4c 24 04          	mov    %ecx,0x4(%esp)
577f9e:	8b 52 1c             	mov    0x1c(%edx),%edx
577fa1:	8b f2                	mov    %edx,%esi
577fa3:	eb 33                	jmp    0x577fd8
577fa5:	33 d2                	xor    %edx,%edx
577fa7:	8b de                	mov    %esi,%ebx
577fa9:	8b 4c 24 04          	mov    0x4(%esp),%ecx
577fad:	eb 17                	jmp    0x577fc6
577faf:	8b 39                	mov    (%ecx),%edi
577fb1:	8b 2b                	mov    (%ebx),%ebp
577fb3:	8b 6c 95 00          	mov    0x0(%ebp,%edx,4),%ebp
577fb7:	8b 3c 97             	mov    (%edi,%edx,4),%edi
577fba:	3b fd                	cmp    %ebp,%edi
577fbc:	74 07                	je     0x577fc5
577fbe:	b8 01 00 00 00       	mov    $0x1,%eax
577fc3:	eb 1f                	jmp    0x577fe4
577fc5:	42                   	inc    %edx
577fc6:	8b 78 18             	mov    0x18(%eax),%edi
577fc9:	3b d7                	cmp    %edi,%edx
577fcb:	7c e2                	jl     0x577faf
577fcd:	ff 04 24             	incl   (%esp)
577fd0:	83 44 24 04 04       	addl   $0x4,0x4(%esp)
577fd5:	83 c6 04             	add    $0x4,%esi
577fd8:	8b 50 14             	mov    0x14(%eax),%edx
577fdb:	8b 0c 24             	mov    (%esp),%ecx
577fde:	3b d1                	cmp    %ecx,%edx
577fe0:	7f c3                	jg     0x577fa5
577fe2:	33 c0                	xor    %eax,%eax
577fe4:	59                   	pop    %ecx