a57ac0:	55                   	push   %ebp
a57ac1:	8b ec                	mov    %esp,%ebp
a57ac3:	51                   	push   %ecx
a57ac4:	56                   	push   %esi
a57ac5:	8b 75 08             	mov    0x8(%ebp),%esi
a57ac8:	b8 bc 15 d8 00       	mov    $0xd815bc,%eax
a57acd:	2b 05 40 f6 d5 00    	sub    0xd5f640,%eax
a57ad3:	89 45 fc             	mov    %eax,-0x4(%ebp)
a57ad6:	8d 45 fc             	lea    -0x4(%ebp),%eax
a57ad9:	68 40 f6 d5 00       	push   $0xd5f640
a57ade:	50                   	push   %eax
a57adf:	56                   	push   %esi
a57ae0:	6a 08                	push   $0x8
a57ae2:	e8 1b d8 9b ff       	call   0x415302
a57ae7:	83 c4 10             	add    $0x10,%esp
a57aea:	85 c0                	test   %eax,%eax
a57aec:	74 0b                	je     0xa57af9
a57aee:	29 35 40 f6 d5 00    	sub    %esi,0xd5f640
a57af4:	5e                   	pop    %esi
a57af5:	8b e5                	mov    %ebp,%esp
a57af7:	5d                   	pop    %ebp
a57af8:	c3                   	ret
a57af9:	e8 48 1f 9d ff       	call   0x429a46
a57afe:	cc                   	int3
a57aff:	cc                   	int3
a57b00:	cc                   	int3
a57b01:	cc                   	int3
a57b02:	cc                   	int3
a57b03:	cc                   	int3
a57b04:	cc                   	int3
a57b05:	cc                   	int3
a57b06:	cc                   	int3
a57b07:	cc                   	int3
a57b08:	cc                   	int3
a57b09:	cc                   	int3
a57b0a:	cc                   	int3
a57b0b:	cc                   	int3
a57b0c:	cc                   	int3
a57b0d:	cc                   	int3
a57b0e:	55                   	push   %ebp
a57b0f:	8b ec                	mov    %esp,%ebp
a57b11:	56                   	push   %esi
a57b12:	8b 75 08             	mov    0x8(%ebp),%esi
a57b15:	57                   	push   %edi
a57b16:	8b f9                	mov    %ecx,%edi
a57b18:	8b 46 04             	mov    0x4(%esi),%eax
a57b1b:	8b 57 04             	mov    0x4(%edi),%edx
a57b1e:	89 47 04             	mov    %eax,0x4(%edi)
a57b21:	89 56 04             	mov    %edx,0x4(%esi)
a57b24:	8b 0f                	mov    (%edi),%ecx
a57b26:	8b 06                	mov    (%esi),%eax
a57b28:	89 07                	mov    %eax,(%edi)
a57b2a:	5f                   	pop    %edi
a57b2b:	89 0e                	mov    %ecx,(%esi)
a57b2d:	5e                   	pop    %esi
a57b2e:	5d                   	pop    %ebp
a57b2f:	c2 04 00             	ret    $0x4
a57b32:	cc                   	int3
a57b33:	cc                   	int3
a57b34:	cc                   	int3
a57b35:	cc                   	int3
a57b36:	cc                   	int3
a57b37:	cc                   	int3
a57b38:	cc                   	int3
a57b39:	cc                   	int3
a57b3a:	cc                   	int3
a57b3b:	55                   	push   %ebp
a57b3c:	8b ec                	mov    %esp,%ebp
a57b3e:	ff 75 0c             	push   0xc(%ebp)
a57b41:	8b 4d 08             	mov    0x8(%ebp),%ecx
a57b44:	e8 a9 5a 9c ff       	call   0x41d5f2
a57b49:	5d                   	pop    %ebp
a57b4a:	c3                   	ret
a57b4b:	cc                   	int3
a57b4c:	cc                   	int3
a57b4d:	cc                   	int3
a57b4e:	cc                   	int3
a57b4f:	55                   	push   %ebp
a57b50:	8b ec                	mov    %esp,%ebp
a57b52:	8b 45 08             	mov    0x8(%ebp),%eax
a57b55:	8b 08                	mov    (%eax),%ecx
a57b57:	8b 45 0c             	mov    0xc(%ebp),%eax
a57b5a:	3b 08                	cmp    (%eax),%ecx
a57b5c:	0f 94 c0             	sete   %al
a57b5f:	5d                   	pop    %ebp
a57b60:	c3                   	ret
a57b61:	cc                   	int3
a57b62:	cc                   	int3
a57b63:	cc                   	int3
a57b64:	cc                   	int3
a57b65:	55                   	push   %ebp
a57b66:	8b ec                	mov    %esp,%ebp
a57b68:	8b 4d 08             	mov    0x8(%ebp),%ecx
a57b6b:	85 c9                	test   %ecx,%ecx
a57b6d:	74 0f                	je     0xa57b7e
a57b6f:	ff 75 0c             	push   0xc(%ebp)
a57b72:	83 21 00             	andl   $0x0,(%ecx)
a57b75:	83 61 04 00          	andl   $0x0,0x4(%ecx)
a57b79:	e8 51 6d 9d ff       	call   0x42e8cf
a57b7e:	5d                   	pop    %ebp
a57b7f:	c3                   	ret
a57b80:	cc                   	int3
a57b81:	cc                   	int3
a57b82:	cc                   	int3
a57b83:	cc                   	int3
a57b84:	cc                   	int3
a57b85:	cc                   	int3
a57b86:	55                   	push   %ebp
a57b87:	8b ec                	mov    %esp,%ebp
a57b89:	51                   	push   %ecx
a57b8a:	51                   	push   %ecx
a57b8b:	6a 01                	push   $0x1
a57b8d:	ff 75 10             	push   0x10(%ebp)
a57b90:	8d 45 f8             	lea    -0x8(%ebp),%eax
a57b93:	ff 75 0c             	push   0xc(%ebp)
a57b96:	50                   	push   %eax
a57b97:	e8 6e 04 9e ff       	call   0x43800a
a57b9c:	8b 4d 08             	mov    0x8(%ebp),%ecx
a57b9f:	83 c4 10             	add    $0x10,%esp
a57ba2:	50                   	push   %eax
a57ba3:	e8 f0 50 9b ff       	call   0x40cc98
a57ba8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
a57bab:	85 c9                	test   %ecx,%ecx
a57bad:	74 05                	je     0xa57bb4
a57baf:	e8 4b 15 9d ff       	call   0x4290ff
a57bb4:	8b e5                	mov    %ebp,%esp
a57bb6:	5d                   	pop    %ebp
a57bb7:	c3                   	ret
a57bb8:	cc                   	int3
a57bb9:	cc                   	int3
a57bba:	cc                   	int3
a57bbb:	cc                   	int3
a57bbc:	cc                   	int3
a57bbd:	cc                   	int3
a57bbe:	cc                   	int3
a57bbf:	cc                   	int3
a57bc0:	cc                   	int3
a57bc1:	cc                   	int3
a57bc2:	cc                   	int3
a57bc3:	cc                   	int3
a57bc4:	55                   	push   %ebp
a57bc5:	8b ec                	mov    %esp,%ebp
a57bc7:	8b 45 08             	mov    0x8(%ebp),%eax
a57bca:	85 c0                	test   %eax,%eax
a57bcc:	74 07                	je     0xa57bd5
a57bce:	83 20 00             	andl   $0x0,(%eax)
a57bd1:	83 60 04 00          	andl   $0x0,0x4(%eax)
a57bd5:	5d                   	pop    %ebp
a57bd6:	c3                   	ret
a57bd7:	cc                   	int3
a57bd8:	cc                   	int3
a57bd9:	cc                   	int3
a57bda:	cc                   	int3
a57bdb:	55                   	push   %ebp
a57bdc:	8b ec                	mov    %esp,%ebp
a57bde:	51                   	push   %ecx
a57bdf:	51                   	push   %ecx
a57be0:	8d 45 f8             	lea    -0x8(%ebp),%eax
a57be3:	50                   	push   %eax
a57be4:	e8 c2 4f 9d ff       	call   0x42cbab
a57be9:	8d 45 f8             	lea    -0x8(%ebp),%eax
a57bec:	50                   	push   %eax
a57bed:	ff 75 08             	push   0x8(%ebp)
a57bf0:	e8 6b 8d 9b ff       	call   0x410960
a57bf5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
a57bf8:	83 c4 0c             	add    $0xc,%esp
a57bfb:	85 c9                	test   %ecx,%ecx
a57bfd:	74 05                	je     0xa57c04
a57bff:	e8 fb 14 9d ff       	call   0x4290ff
a57c04:	8b e5                	mov    %ebp,%esp
a57c06:	5d                   	pop    %ebp
a57c07:	c3                   	ret
a57c08:	cc                   	int3
a57c09:	cc                   	int3
a57c0a:	cc                   	int3
a57c0b:	cc                   	int3
a57c0c:	cc                   	int3
a57c0d:	cc                   	int3
a57c0e:	cc                   	int3
a57c0f:	cc                   	int3
a57c10:	cc                   	int3
a57c11:	cc                   	int3
a57c12:	cc                   	int3
a57c13:	55                   	push   %ebp
a57c14:	8b ec                	mov    %esp,%ebp
a57c16:	8b 4d 08             	mov    0x8(%ebp),%ecx
a57c19:	6a 00                	push   $0x0
a57c1b:	e8 73 f0 9b ff       	call   0x416c93
a57c20:	5d                   	pop    %ebp
a57c21:	c3                   	ret
a57c22:	cc                   	int3
a57c23:	cc                   	int3
a57c24:	cc                   	int3
a57c25:	55                   	push   %ebp
a57c26:	8b ec                	mov    %esp,%ebp
a57c28:	8b 4d 08             	mov    0x8(%ebp),%ecx
a57c2b:	e8 f6 bc 9b ff       	call   0x413926
a57c30:	8b c8                	mov    %eax,%ecx
a57c32:	e9 90 9d 9c ff       	jmp    0x4219c7
a57c37:	cc                   	int3
a57c38:	cc                   	int3
a57c39:	cc                   	int3
a57c3a:	cc                   	int3
a57c3b:	55                   	push   %ebp
a57c3c:	8b ec                	mov    %esp,%ebp
a57c3e:	8b 55 08             	mov    0x8(%ebp),%edx
a57c41:	56                   	push   %esi
a57c42:	8b 75 0c             	mov    0xc(%ebp),%esi
a57c45:	8b 4a 04             	mov    0x4(%edx),%ecx
a57c48:	8b 46 04             	mov    0x4(%esi),%eax
a57c4b:	89 42 04             	mov    %eax,0x4(%edx)
a57c4e:	89 4e 04             	mov    %ecx,0x4(%esi)
a57c51:	8b 06                	mov    (%esi),%eax
a57c53:	8b 0a                	mov    (%edx),%ecx
a57c55:	89 02                	mov    %eax,(%edx)
a57c57:	89 0e                	mov    %ecx,(%esi)
a57c59:	5e                   	pop    %esi
a57c5a:	5d                   	pop    %ebp
a57c5b:	c3                   	ret
a57c5c:	cc                   	int3
a57c5d:	cc                   	int3
a57c5e:	cc                   	int3
a57c5f:	cc                   	int3
a57c60:	cc                   	int3
a57c61:	cc                   	int3
a57c62:	cc                   	int3
a57c63:	cc                   	int3
a57c64:	55                   	push   %ebp
a57c65:	8b ec                	mov    %esp,%ebp
a57c67:	8b 45 08             	mov    0x8(%ebp),%eax
a57c6a:	83 38 00             	cmpl   $0x0,(%eax)
a57c6d:	0f 95 c0             	setne  %al
a57c70:	5d                   	pop    %ebp
a57c71:	c3                   	ret
a57c72:	cc                   	int3
a57c73:	cc                   	int3
a57c74:	cc                   	int3
a57c75:	55                   	push   %ebp
a57c76:	8b ec                	mov    %esp,%ebp
a57c78:	8b 45 08             	mov    0x8(%ebp),%eax
a57c7b:	53                   	push   %ebx
a57c7c:	56                   	push   %esi
a57c7d:	57                   	push   %edi
a57c7e:	8b 7d 10             	mov    0x10(%ebp),%edi
a57c81:	8d 50 ff             	lea    -0x1(%eax),%edx
a57c84:	8b 1f                	mov    (%edi),%ebx
a57c86:	23 d3                	and    %ebx,%edx
a57c88:	76 04                	jbe    0xa57c8e
a57c8a:	2b c2                	sub    %edx,%eax
a57c8c:	8b d0                	mov    %eax,%edx
a57c8e:	8b 75 14             	mov    0x14(%ebp),%esi
a57c91:	8b 0e                	mov    (%esi),%ecx
a57c93:	3b ca                	cmp    %edx,%ecx
a57c95:	72 12                	jb     0xa57ca9
a57c97:	2b ca                	sub    %edx,%ecx
a57c99:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
a57c9c:	72 0b                	jb     0xa57ca9
a57c9e:	8d 0c 13             	lea    (%ebx,%edx,1),%ecx
a57ca1:	89 0f                	mov    %ecx,(%edi)
a57ca3:	29 16                	sub    %edx,(%esi)
a57ca5:	8b 07                	mov    (%edi),%eax
a57ca7:	eb 02                	jmp    0xa57cab
a57ca9:	33 c0                	xor    %eax,%eax
a57cab:	5f                   	pop    %edi
a57cac:	5e                   	pop    %esi
a57cad:	5b                   	pop    %ebx
a57cae:	5d                   	pop    %ebp
a57caf:	c3                   	ret
a57cb0:	cc                   	int3
a57cb1:	cc                   	int3
a57cb2:	cc                   	int3
a57cb3:	cc                   	int3
a57cb4:	cc                   	int3
a57cb5:	cc                   	int3
a57cb6:	cc                   	int3
a57cb7:	cc                   	int3
a57cb8:	cc                   	int3
a57cb9:	cc                   	int3
a57cba:	cc                   	int3
a57cbb:	cc                   	int3
a57cbc:	cc                   	int3
a57cbd:	cc                   	int3
a57cbe:	55                   	push   %ebp
a57cbf:	8b ec                	mov    %esp,%ebp
a57cc1:	8b 45 08             	mov    0x8(%ebp),%eax
a57cc4:	85 c0                	test   %eax,%eax
a57cc6:	74 11                	je     0xa57cd9
a57cc8:	3d aa aa aa 02       	cmp    $0x2aaaaaa,%eax
a57ccd:	77 0e                	ja     0xa57cdd
a57ccf:	6b c0 60             	imul   $0x60,%eax,%eax
a57cd2:	50                   	push   %eax
a57cd3:	e8 e8 fd ff ff       	call   0xa57ac0
a57cd8:	59                   	pop    %ecx
a57cd9:	5d                   	pop    %ebp
a57cda:	c2 04 00             	ret    $0x4
a57cdd:	e8 64 1d 9d ff       	call   0x429a46
a57ce2:	cc                   	int3
a57ce3:	cc                   	int3
a57ce4:	cc                   	int3
a57ce5:	cc                   	int3
a57ce6:	cc                   	int3
a57ce7:	cc                   	int3
a57ce8:	cc                   	int3
a57ce9:	cc                   	int3
a57cea:	cc                   	int3
a57ceb:	cc                   	int3
a57cec:	55                   	push   %ebp
a57ced:	8b ec                	mov    %esp,%ebp
a57cef:	5d                   	pop    %ebp
a57cf0:	e9 07 0c 9e ff       	jmp    0x4388fc
a57cf5:	cc                   	int3
a57cf6:	cc                   	int3
a57cf7:	c2 08 00             	ret    $0x8
a57cfa:	c2 08 00             	ret    $0x8
a57cfd:	8b 01                	mov    (%ecx),%eax
a57cff:	c3                   	ret
a57d00:	55                   	push   %ebp
a57d01:	8b ec                	mov    %esp,%ebp
a57d03:	56                   	push   %esi
a57d04:	8b 75 08             	mov    0x8(%ebp),%esi
a57d07:	57                   	push   %edi
a57d08:	8b f9                	mov    %ecx,%edi
a57d0a:	8b 46 04             	mov    0x4(%esi),%eax
a57d0d:	8b 57 04             	mov    0x4(%edi),%edx
a57d10:	89 47 04             	mov    %eax,0x4(%edi)
a57d13:	89 56 04             	mov    %edx,0x4(%esi)
a57d16:	8b 0f                	mov    (%edi),%ecx
a57d18:	8b 06                	mov    (%esi),%eax
a57d1a:	89 07                	mov    %eax,(%edi)
a57d1c:	5f                   	pop    %edi
a57d1d:	89 0e                	mov    %ecx,(%esi)
a57d1f:	5e                   	pop    %esi
a57d20:	5d                   	pop    %ebp
a57d21:	c2 04 00             	ret    $0x4
a57d24:	cc                   	int3
a57d25:	cc                   	int3
a57d26:	cc                   	int3
a57d27:	cc                   	int3
a57d28:	cc                   	int3
a57d29:	cc                   	int3
a57d2a:	cc                   	int3
a57d2b:	cc                   	int3
a57d2c:	cc                   	int3
a57d2d:	55                   	push   %ebp
a57d2e:	8b ec                	mov    %esp,%ebp
a57d30:	56                   	push   %esi
a57d31:	8b 75 08             	mov    0x8(%ebp),%esi
a57d34:	83 3e 00             	cmpl   $0x0,(%esi)
a57d37:	74 18                	je     0xa57d51
a57d39:	a1 b8 16 d8 00       	mov    0xd816b8,%eax