472b0f:	24 07                	and    $0x7,%al
472b11:	3c 04                	cmp    $0x4,%al
472b13:	0f 84 b5 00 00 00    	je     0x472bce
472b19:	83 fb 0b             	cmp    $0xb,%ebx
472b1c:	75 33                	jne    0x472b51
472b1e:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
472b22:	79 04                	jns    0x472b28
472b24:	33 f6                	xor    %esi,%esi
472b26:	eb 7c                	jmp    0x472ba4
472b28:	8b 4d fc             	mov    -0x4(%ebp),%ecx
472b2b:	ff 47 48             	incl   0x48(%edi)
472b2e:	57                   	push   %edi
472b2f:	56                   	push   %esi
472b30:	e8 7b 11 00 00       	call   0x473cb0
472b35:	ff 4f 48             	decl   0x48(%edi)
472b38:	8b f0                	mov    %eax,%esi
472b3a:	8b 47 3c             	mov    0x3c(%edi),%eax
472b3d:	33 c9                	xor    %ecx,%ecx
472b3f:	ff 47 44             	incl   0x44(%edi)
472b42:	83 f8 0b             	cmp    $0xb,%eax
472b45:	c7 47 3c 00 00 00 00 	movl   $0x0,0x3c(%edi)
472b4c:	0f 45 f1             	cmovne %ecx,%esi
472b4f:	eb 53                	jmp    0x472ba4
472b51:	8b c3                	mov    %ebx,%eax
472b53:	c1 e8 03             	shr    $0x3,%eax
472b56:	89 45 f8             	mov    %eax,-0x8(%ebp)
472b59:	50                   	push   %eax
472b5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
472b5d:	8b 48 04             	mov    0x4(%eax),%ecx
472b60:	e8 9b de 01 00       	call   0x490a00
472b65:	85 c0                	test   %eax,%eax
472b67:	74 21                	je     0x472b8a
472b69:	8b 4f 4c             	mov    0x4c(%edi),%ecx
472b6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
472b6f:	ff 75 f8             	push   -0x8(%ebp)
472b72:	85 c9                	test   %ecx,%ecx
472b74:	75 0a                	jne    0x472b80
472b76:	8b 48 08             	mov    0x8(%eax),%ecx
472b79:	e8 72 17 ff ff       	call   0x4642f0
472b7e:	eb 0c                	jmp    0x472b8c
472b80:	ff 70 04             	push   0x4(%eax)
472b83:	e8 e8 db 01 00       	call   0x490770
472b88:	eb 02                	jmp    0x472b8c
472b8a:	33 c0                	xor    %eax,%eax
472b8c:	50                   	push   %eax
472b8d:	8b 45 fc             	mov    -0x4(%ebp),%eax
472b90:	ff 70 08             	push   0x8(%eax)
472b93:	6a 00                	push   $0x0
472b95:	53                   	push   %ebx
472b96:	57                   	push   %edi
472b97:	56                   	push   %esi
472b98:	ff 30                	push   (%eax)
472b9a:	e8 f1 17 00 00       	call   0x474390
472b9f:	83 c4 1c             	add    $0x1c,%esp
472ba2:	8b f0                	mov    %eax,%esi
472ba4:	85 f6                	test   %esi,%esi
472ba6:	0f 85 e6 fe ff ff    	jne    0x472a92
472bac:	5f                   	pop    %edi
472bad:	5e                   	pop    %esi
472bae:	33 c0                	xor    %eax,%eax
472bb0:	5b                   	pop    %ebx
472bb1:	8b e5                	mov    %ebp,%esp
472bb3:	5d                   	pop    %ebp
472bb4:	c2 08 00             	ret    $0x8
472bb7:	85 c0                	test   %eax,%eax
472bb9:	7e 19                	jle    0x472bd4
472bbb:	33 c0                	xor    %eax,%eax
472bbd:	39 47 08             	cmp    %eax,0x8(%edi)
472bc0:	5f                   	pop    %edi
472bc1:	0f 44 f0             	cmove  %eax,%esi
472bc4:	8b c6                	mov    %esi,%eax
472bc6:	5e                   	pop    %esi
472bc7:	5b                   	pop    %ebx
472bc8:	8b e5                	mov    %ebp,%esp
472bca:	5d                   	pop    %ebp
472bcb:	c2 08 00             	ret    $0x8
472bce:	8d 43 ff             	lea    -0x1(%ebx),%eax
472bd1:	89 47 3c             	mov    %eax,0x3c(%edi)
472bd4:	5f                   	pop    %edi
472bd5:	8b c6                	mov    %esi,%eax
472bd7:	5e                   	pop    %esi
472bd8:	5b                   	pop    %ebx
472bd9:	8b e5                	mov    %ebp,%esp
472bdb:	5d                   	pop    %ebp
472bdc:	c2 08 00             	ret    $0x8
472bdf:	cc                   	int3
472be0:	55                   	push   %ebp
472be1:	8b ec                	mov    %esp,%ebp
472be3:	8b 41 04             	mov    0x4(%ecx),%eax
472be6:	56                   	push   %esi
472be7:	8b 31                	mov    (%ecx),%esi
472be9:	2b c6                	sub    %esi,%eax
472beb:	83 f8 04             	cmp    $0x4,%eax
472bee:	7c 13                	jl     0x472c03
472bf0:	8b 45 08             	mov    0x8(%ebp),%eax
472bf3:	8b 16                	mov    (%esi),%edx
472bf5:	89 10                	mov    %edx,(%eax)
472bf7:	8d 46 04             	lea    0x4(%esi),%eax
472bfa:	89 01                	mov    %eax,(%ecx)
472bfc:	b0 01                	mov    $0x1,%al
472bfe:	5e                   	pop    %esi
472bff:	5d                   	pop    %ebp
472c00:	c2 04 00             	ret    $0x4
472c03:	5e                   	pop    %esi
472c04:	5d                   	pop    %ebp
472c05:	e9 e6 6b fe ff       	jmp    0x4597f0
472c0a:	cc                   	int3
472c0b:	cc                   	int3
472c0c:	cc                   	int3
472c0d:	cc                   	int3
472c0e:	cc                   	int3
472c0f:	cc                   	int3
472c10:	55                   	push   %ebp
472c11:	8b ec                	mov    %esp,%ebp
472c13:	56                   	push   %esi
472c14:	8b f1                	mov    %ecx,%esi
472c16:	57                   	push   %edi
472c17:	8b 46 04             	mov    0x4(%esi),%eax
472c1a:	8b 3e                	mov    (%esi),%edi
472c1c:	2b c7                	sub    %edi,%eax
472c1e:	83 f8 08             	cmp    $0x8,%eax
472c21:	7c 1a                	jl     0x472c3d
472c23:	8b 45 08             	mov    0x8(%ebp),%eax
472c26:	8b 17                	mov    (%edi),%edx
472c28:	8b 4f 04             	mov    0x4(%edi),%ecx
472c2b:	89 10                	mov    %edx,(%eax)
472c2d:	89 48 04             	mov    %ecx,0x4(%eax)
472c30:	8d 47 08             	lea    0x8(%edi),%eax
472c33:	89 06                	mov    %eax,(%esi)
472c35:	b0 01                	mov    $0x1,%al
472c37:	5f                   	pop    %edi
472c38:	5e                   	pop    %esi
472c39:	5d                   	pop    %ebp
472c3a:	c2 04 00             	ret    $0x4
472c3d:	ff 75 08             	push   0x8(%ebp)
472c40:	e8 fb 6b fe ff       	call   0x459840
472c45:	5f                   	pop    %edi
472c46:	5e                   	pop    %esi
472c47:	5d                   	pop    %ebp
472c48:	c2 04 00             	ret    $0x4
472c4b:	cc                   	int3
472c4c:	cc                   	int3
472c4d:	cc                   	int3
472c4e:	cc                   	int3
472c4f:	cc                   	int3
472c50:	55                   	push   %ebp
472c51:	8b ec                	mov    %esp,%ebp
472c53:	8b 41 04             	mov    0x4(%ecx),%eax
472c56:	56                   	push   %esi
472c57:	8b 75 08             	mov    0x8(%ebp),%esi
472c5a:	2b c6                	sub    %esi,%eax
472c5c:	57                   	push   %edi
472c5d:	8b 7d 0c             	mov    0xc(%ebp),%edi
472c60:	83 c0 10             	add    $0x10,%eax
472c63:	3b f8                	cmp    %eax,%edi
472c65:	7f 13                	jg     0x472c7a
472c67:	8b 4d 10             	mov    0x10(%ebp),%ecx
472c6a:	57                   	push   %edi
472c6b:	56                   	push   %esi
472c6c:	e8 af 49 fd ff       	call   0x447620
472c71:	8d 04 3e             	lea    (%esi,%edi,1),%eax
472c74:	5f                   	pop    %edi
472c75:	5e                   	pop    %esi
472c76:	5d                   	pop    %ebp
472c77:	c2 0c 00             	ret    $0xc
472c7a:	ff 75 10             	push   0x10(%ebp)
472c7d:	57                   	push   %edi
472c7e:	56                   	push   %esi
472c7f:	e8 6c cc fe ff       	call   0x45f8f0
472c84:	5f                   	pop    %edi
472c85:	5e                   	pop    %esi
472c86:	5d                   	pop    %ebp
472c87:	c2 0c 00             	ret    $0xc
472c8a:	cc                   	int3
472c8b:	cc                   	int3
472c8c:	cc                   	int3
472c8d:	cc                   	int3
472c8e:	cc                   	int3
472c8f:	cc                   	int3
472c90:	55                   	push   %ebp
472c91:	8b ec                	mov    %esp,%ebp
472c93:	8b 01                	mov    (%ecx),%eax
472c95:	33 d2                	xor    %edx,%edx
472c97:	3b 41 04             	cmp    0x4(%ecx),%eax
472c9a:	73 18                	jae    0x472cb4
472c9c:	0f b6 10             	movzbl (%eax),%edx
472c9f:	81 fa 80 00 00 00    	cmp    $0x80,%edx
472ca5:	73 0d                	jae    0x472cb4
472ca7:	8b 45 08             	mov    0x8(%ebp),%eax
472caa:	89 10                	mov    %edx,(%eax)
472cac:	ff 01                	incl   (%ecx)
472cae:	b0 01                	mov    $0x1,%al
472cb0:	5d                   	pop    %ebp
472cb1:	c2 04 00             	ret    $0x4
472cb4:	52                   	push   %edx
472cb5:	e8 e6 71 fe ff       	call   0x459ea0
472cba:	8b 4d 08             	mov    0x8(%ebp),%ecx
472cbd:	89 01                	mov    %eax,(%ecx)
472cbf:	85 d2                	test   %edx,%edx
472cc1:	7c 06                	jl     0x472cc9
472cc3:	7f e9                	jg     0x472cae
472cc5:	85 c0                	test   %eax,%eax
472cc7:	73 e5                	jae    0x472cae
472cc9:	32 c0                	xor    %al,%al
472ccb:	5d                   	pop    %ebp
472ccc:	c2 04 00             	ret    $0x4
472ccf:	cc                   	int3
472cd0:	55                   	push   %ebp
472cd1:	8b ec                	mov    %esp,%ebp
472cd3:	83 ec 10             	sub    $0x10,%esp
472cd6:	56                   	push   %esi
472cd7:	8b f1                	mov    %ecx,%esi
472cd9:	8b 06                	mov    (%esi),%eax
472cdb:	3b 46 04             	cmp    0x4(%esi),%eax
472cde:	73 1d                	jae    0x472cfd
472ce0:	8a 00                	mov    (%eax),%al
472ce2:	3c 80                	cmp    $0x80,%al
472ce4:	73 17                	jae    0x472cfd
472ce6:	8b 4d 08             	mov    0x8(%ebp),%ecx
472ce9:	0f b6 c0             	movzbl %al,%eax
472cec:	99                   	cltd
472ced:	89 01                	mov    %eax,(%ecx)
472cef:	b0 01                	mov    $0x1,%al
472cf1:	89 51 04             	mov    %edx,0x4(%ecx)
472cf4:	ff 06                	incl   (%esi)
472cf6:	5e                   	pop    %esi
472cf7:	8b e5                	mov    %ebp,%esp
472cf9:	5d                   	pop    %ebp
472cfa:	c2 04 00             	ret    $0x4
472cfd:	8d 45 f0             	lea    -0x10(%ebp),%eax
472d00:	50                   	push   %eax
472d01:	e8 ba 72 fe ff       	call   0x459fc0
472d06:	8b 45 08             	mov    0x8(%ebp),%eax
472d09:	8b 4d f0             	mov    -0x10(%ebp),%ecx
472d0c:	8b 55 f4             	mov    -0xc(%ebp),%edx
472d0f:	5e                   	pop    %esi
472d10:	89 08                	mov    %ecx,(%eax)
472d12:	89 50 04             	mov    %edx,0x4(%eax)
472d15:	8a 45 f8             	mov    -0x8(%ebp),%al
472d18:	8b e5                	mov    %ebp,%esp
472d1a:	5d                   	pop    %ebp
472d1b:	c2 04 00             	ret    $0x4
472d1e:	cc                   	int3
472d1f:	cc                   	int3
472d20:	55                   	push   %ebp
472d21:	8b ec                	mov    %esp,%ebp
472d23:	8b 45 08             	mov    0x8(%ebp),%eax
472d26:	8b c8                	mov    %eax,%ecx
472d28:	03 c0                	add    %eax,%eax
472d2a:	c1 f9 1f             	sar    $0x1f,%ecx
472d2d:	33 c8                	xor    %eax,%ecx
472d2f:	83 c9 01             	or     $0x1,%ecx
472d32:	0f bd c1             	bsr    %ecx,%eax
472d35:	8d 04 c0             	lea    (%eax,%eax,8),%eax
472d38:	83 c0 49             	add    $0x49,%eax
472d3b:	c1 e8 06             	shr    $0x6,%eax
472d3e:	5d                   	pop    %ebp
472d3f:	c3                   	ret
472d40:	55                   	push   %ebp
472d41:	8b ec                	mov    %esp,%ebp
472d43:	8b 4d 0c             	mov    0xc(%ebp),%ecx
472d46:	8b d1                	mov    %ecx,%edx
472d48:	8b 45 08             	mov    0x8(%ebp),%eax
472d4b:	56                   	push   %esi
472d4c:	8b f1                	mov    %ecx,%esi
472d4e:	c1 fa 1f             	sar    $0x1f,%edx
472d51:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
472d55:	c1 fe 1f             	sar    $0x1f,%esi
472d58:	03 c0                	add    %eax,%eax
472d5a:	33 d0                	xor    %eax,%edx
472d5c:	83 ca 01             	or     $0x1,%edx
472d5f:	33 f1                	xor    %ecx,%esi
472d61:	75 0f                	jne    0x472d72
472d63:	0f bd c2             	bsr    %edx,%eax
472d66:	5e                   	pop    %esi
472d67:	8d 04 c0             	lea    (%eax,%eax,8),%eax
472d6a:	83 c0 49             	add    $0x49,%eax
472d6d:	c1 e8 06             	shr    $0x6,%eax
472d70:	5d                   	pop    %ebp
472d71:	c3                   	ret
472d72:	0f bd c6             	bsr    %esi,%eax
472d75:	5e                   	pop    %esi
472d76:	83 c0 20             	add    $0x20,%eax
472d79:	8d 04 c0             	lea    (%eax,%eax,8),%eax
472d7c:	83 c0 49             	add    $0x49,%eax
472d7f:	c1 e8 06             	shr    $0x6,%eax
472d82:	5d                   	pop    %ebp
472d83:	c3                   	ret
472d84:	cc                   	int3
472d85:	cc                   	int3
472d86:	cc                   	int3
472d87:	cc                   	int3
472d88:	cc                   	int3
472d89:	cc                   	int3
472d8a:	cc                   	int3
472d8b:	cc                   	int3
472d8c:	cc                   	int3
472d8d:	cc                   	int3
472d8e:	cc                   	int3
472d8f:	cc                   	int3
472d90:	55                   	push   %ebp
472d91:	8b ec                	mov    %esp,%ebp
472d93:	6a ff                	push   $0xffffffff
472d95:	68 4d 93 5f 00       	push   $0x5f934d
472d9a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
472da0:	50                   	push   %eax
472da1:	83 ec 30             	sub    $0x30,%esp
472da4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
472da9:	33 c5                	xor    %ebp,%eax
472dab:	89 45 f0             	mov    %eax,-0x10(%ebp)
472dae:	53                   	push   %ebx
472daf:	56                   	push   %esi
472db0:	57                   	push   %edi
472db1:	50                   	push   %eax
472db2:	8d 45 f4             	lea    -0xc(%ebp),%eax
472db5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
472dbb:	8b 5d 14             	mov    0x14(%ebp),%ebx
472dbe:	8b 75 10             	mov    0x10(%ebp),%esi
472dc1:	8b 45 08             	mov    0x8(%ebp),%eax
472dc4:	8b 7d 0c             	mov    0xc(%ebp),%edi
472dc7:	89 45 c4             	mov    %eax,-0x3c(%ebp)
472dca:	3b 33                	cmp    (%ebx),%esi
472dcc:	72 0d                	jb     0x472ddb
472dce:	56                   	push   %esi
472dcf:	8b cb                	mov    %ebx,%ecx
472dd1:	e8 9a 67 fe ff       	call   0x459570
472dd6:	8b f0                	mov    %eax,%esi
472dd8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
472ddb:	8b c8                	mov    %eax,%ecx
472ddd:	e8 be 63 fe ff       	call   0x4591a0
472de2:	48                   	dec    %eax
472de3:	83 f8 11             	cmp    $0x11,%eax
472de6:	0f 87 56 01 00 00    	ja     0x472f42
472dec:	ff 24 85 60 2f 47 00 	jmp    *0x472f60(,%eax,4)
472df3:	68 31 04 00 00       	push   $0x431
472df8:	68 88 79 60 00       	push   $0x607988
472dfd:	6a 03                	push   $0x3
472dff:	8d 4d cc             	lea    -0x34(%ebp),%ecx
472e02:	e8 d9 24 00 00       	call   0x4752e0
472e07:	68 48 78 60 00       	push   $0x607848
472e0c:	8b c8                	mov    %eax,%ecx
472e0e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
472e15:	e8 d6 2a 00 00       	call   0x4758f0
472e1a:	50                   	push   %eax
472e1b:	8d 4d cb             	lea    -0x35(%ebp),%ecx
472e1e:	e8 5d 28 00 00       	call   0x475680
472e23:	8d 4d cc             	lea    -0x34(%ebp),%ecx
472e26:	e8 e5 27 00 00       	call   0x475610
472e2b:	e9 12 01 00 00       	jmp    0x472f42
472e30:	56                   	push   %esi