4779fd:	6b c7 f6             	imul   $0xfffffff6,%edi,%eax
477a00:	6a 48                	push   $0x48
477a02:	59                   	pop    %ecx
477a03:	99                   	cltd
477a04:	f7 f9                	idiv   %ecx
477a06:	50                   	push   %eax
477a07:	ff 15 1c f1 48 00    	call   *0x48f11c
477a0d:	8b 35 88 f6 48 00    	mov    0x48f688,%esi
477a13:	6a 01                	push   $0x1
477a15:	50                   	push   %eax
477a16:	6a 30                	push   $0x30
477a18:	ff 35 90 62 4c 00    	push   0x4c6290
477a1e:	ff d6                	call   *%esi
477a20:	8b 45 ec             	mov    -0x14(%ebp),%eax
477a23:	33 ff                	xor    %edi,%edi
477a25:	2b 45 e4             	sub    -0x1c(%ebp),%eax
477a28:	b9 04 01 00 00       	mov    $0x104,%ecx
477a2d:	57                   	push   %edi
477a2e:	57                   	push   %edi
477a2f:	57                   	push   %edi
477a30:	ff 35 98 62 4c 00    	push   0x4c6298
477a36:	2b c1                	sub    %ecx,%eax
477a38:	6a 14                	push   $0x14
477a3a:	51                   	push   %ecx
477a3b:	99                   	cltd
477a3c:	6a 1e                	push   $0x1e
477a3e:	2b c2                	sub    %edx,%eax
477a40:	d1 f8                	sar    $1,%eax
477a42:	50                   	push   %eax
477a43:	68 01 00 00 50       	push   $0x50000001
477a48:	57                   	push   %edi
477a49:	8b 3d 20 f7 48 00    	mov    0x48f720,%edi
477a4f:	68 00 a9 4b 00       	push   $0x4ba900
477a54:	68 00 02 00 00       	push   $0x200
477a59:	ff d7                	call   *%edi
477a5b:	68 00 00 64 00       	push   $0x640000
477a60:	6a 00                	push   $0x0
477a62:	68 01 04 00 00       	push   $0x401
477a67:	50                   	push   %eax
477a68:	a3 94 62 4c 00       	mov    %eax,0x4c6294
477a6d:	ff d6                	call   *%esi
477a6f:	6a 00                	push   $0x0
477a71:	6a 01                	push   $0x1
477a73:	68 04 04 00 00       	push   $0x404
477a78:	ff 35 94 62 4c 00    	push   0x4c6294
477a7e:	ff d6                	call   *%esi
477a80:	8b 45 ec             	mov    -0x14(%ebp),%eax
477a83:	33 c9                	xor    %ecx,%ecx
477a85:	51                   	push   %ecx
477a86:	51                   	push   %ecx
477a87:	51                   	push   %ecx
477a88:	ff 35 98 62 4c 00    	push   0x4c6298
477a8e:	6a 32                	push   $0x32
477a90:	68 00 05 00 00       	push   $0x500
477a95:	6a 37                	push   $0x37
477a97:	2b 45 e4             	sub    -0x1c(%ebp),%eax
477a9a:	2d 18 01 00 00       	sub    $0x118,%eax
477a9f:	50                   	push   %eax
477aa0:	68 00 00 00 50       	push   $0x50000000
477aa5:	ff 75 d4             	push   -0x2c(%ebp)
477aa8:	68 00 f9 48 00       	push   $0x48f900
477aad:	51                   	push   %ecx
477aae:	ff d7                	call   *%edi
477ab0:	6a 01                	push   $0x1
477ab2:	6a 11                	push   $0x11
477ab4:	a3 8c 62 4c 00       	mov    %eax,0x4c628c
477ab9:	ff d3                	call   *%ebx
477abb:	50                   	push   %eax
477abc:	6a 30                	push   $0x30
477abe:	ff 35 8c 62 4c 00    	push   0x4c628c
477ac4:	ff d6                	call   *%esi
477ac6:	6a 04                	push   $0x4
477ac8:	ff 35 98 62 4c 00    	push   0x4c6298
477ace:	ff 15 1c f7 48 00    	call   *0x48f71c
477ad4:	5f                   	pop    %edi
477ad5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
477ad8:	e8 87 df f8 ff       	call   0x405a64
477add:	5e                   	pop    %esi
477ade:	33 c0                	xor    %eax,%eax
477ae0:	5b                   	pop    %ebx
477ae1:	8b e5                	mov    %ebp,%esp
477ae3:	5d                   	pop    %ebp
477ae4:	c2 0c 00             	ret    $0xc
477ae7:	55                   	push   %ebp
477ae8:	8b ec                	mov    %esp,%ebp
477aea:	8b 45 08             	mov    0x8(%ebp),%eax
477aed:	0f b6 d0             	movzbl %al,%edx
477af0:	56                   	push   %esi
477af1:	8b 75 0c             	mov    0xc(%ebp),%esi
477af4:	8b ca                	mov    %edx,%ecx
477af6:	2b ce                	sub    %esi,%ecx
477af8:	79 02                	jns    0x477afc
477afa:	33 c9                	xor    %ecx,%ecx
477afc:	8b 45 10             	mov    0x10(%ebp),%eax
477aff:	88 08                	mov    %cl,(%eax)
477b01:	8d 04 32             	lea    (%edx,%esi,1),%eax
477b04:	b9 ff 00 00 00       	mov    $0xff,%ecx
477b09:	5e                   	pop    %esi
477b0a:	3b c1                	cmp    %ecx,%eax
477b0c:	7f 02                	jg     0x477b10
477b0e:	8b c8                	mov    %eax,%ecx
477b10:	8b 45 14             	mov    0x14(%ebp),%eax
477b13:	88 08                	mov    %cl,(%eax)
477b15:	5d                   	pop    %ebp
477b16:	c2 10 00             	ret    $0x10
477b19:	cc                   	int3
477b1a:	cc                   	int3
477b1b:	55                   	push   %ebp
477b1c:	8b ec                	mov    %esp,%ebp
477b1e:	81 ec b8 00 00 00    	sub    $0xb8,%esp
477b24:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
477b28:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
477b2c:	53                   	push   %ebx
477b2d:	56                   	push   %esi
477b2e:	33 db                	xor    %ebx,%ebx
477b30:	c7 45 f4 f4 01 00 00 	movl   $0x1f4,-0xc(%ebp)
477b37:	57                   	push   %edi
477b38:	bf 01 00 00 50       	mov    $0x50000001,%edi
477b3d:	c7 45 fc 90 01 00 00 	movl   $0x190,-0x4(%ebp)
477b44:	89 5d d0             	mov    %ebx,-0x30(%ebp)
477b47:	89 7d ec             	mov    %edi,-0x14(%ebp)
477b4a:	c7 45 f8 00 00 c0 88 	movl   $0x88c00000,-0x8(%ebp)
477b51:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
477b58:	39 1d a0 62 4c 00    	cmp    %ebx,0x4c62a0
477b5e:	74 3c                	je     0x477b9c
477b60:	a1 a4 62 4c 00       	mov    0x4c62a4,%eax
477b65:	8b 35 c8 f0 48 00    	mov    0x48f0c8,%esi
477b6b:	85 c0                	test   %eax,%eax
477b6d:	74 09                	je     0x477b78
477b6f:	50                   	push   %eax
477b70:	ff d6                	call   *%esi
477b72:	89 1d a4 62 4c 00    	mov    %ebx,0x4c62a4
477b78:	a1 9c 62 4c 00       	mov    0x4c629c,%eax
477b7d:	85 c0                	test   %eax,%eax
477b7f:	74 09                	je     0x477b8a
477b81:	50                   	push   %eax
477b82:	ff d6                	call   *%esi
477b84:	89 1d 9c 62 4c 00    	mov    %ebx,0x4c629c
477b8a:	ff 35 a0 62 4c 00    	push   0x4c62a0
477b90:	ff 15 3c f6 48 00    	call   *0x48f63c
477b96:	89 1d a0 62 4c 00    	mov    %ebx,0x4c62a0
477b9c:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
477ba0:	0f 84 ef 04 00 00    	je     0x478095
477ba6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
477ba9:	50                   	push   %eax
477baa:	ff 15 44 f6 48 00    	call   *0x48f644
477bb0:	50                   	push   %eax
477bb1:	ff 15 94 f6 48 00    	call   *0x48f694
477bb7:	8b 75 0c             	mov    0xc(%ebp),%esi
477bba:	8b 5d 08             	mov    0x8(%ebp),%ebx
477bbd:	83 fe 03             	cmp    $0x3,%esi
477bc0:	72 1e                	jb     0x477be0
477bc2:	8b 43 04             	mov    0x4(%ebx),%eax
477bc5:	8b 48 08             	mov    0x8(%eax),%ecx
477bc8:	e8 cf 20 f9 ff       	call   0x409c9c
477bcd:	83 f8 ff             	cmp    $0xffffffff,%eax
477bd0:	74 0e                	je     0x477be0
477bd2:	8b 43 04             	mov    0x4(%ebx),%eax
477bd5:	8b 48 08             	mov    0x8(%eax),%ecx
477bd8:	e8 bf 20 f9 ff       	call   0x409c9c
477bdd:	89 45 f4             	mov    %eax,-0xc(%ebp)
477be0:	83 fe 04             	cmp    $0x4,%esi
477be3:	72 1e                	jb     0x477c03
477be5:	8b 4b 04             	mov    0x4(%ebx),%ecx
477be8:	8b 49 0c             	mov    0xc(%ecx),%ecx
477beb:	e8 ac 20 f9 ff       	call   0x409c9c
477bf0:	83 f8 ff             	cmp    $0xffffffff,%eax
477bf3:	74 0e                	je     0x477c03
477bf5:	8b 43 04             	mov    0x4(%ebx),%eax
477bf8:	8b 48 0c             	mov    0xc(%eax),%ecx
477bfb:	e8 9c 20 f9 ff       	call   0x409c9c
477c00:	89 45 fc             	mov    %eax,-0x4(%ebp)
477c03:	83 fe 05             	cmp    $0x5,%esi
477c06:	72 0e                	jb     0x477c16
477c08:	8b 4b 04             	mov    0x4(%ebx),%ecx
477c0b:	8b 49 10             	mov    0x10(%ecx),%ecx
477c0e:	e8 89 20 f9 ff       	call   0x409c9c
477c13:	89 45 e8             	mov    %eax,-0x18(%ebp)
477c16:	83 fe 06             	cmp    $0x6,%esi
477c19:	72 0e                	jb     0x477c29
477c1b:	8b 4b 04             	mov    0x4(%ebx),%ecx
477c1e:	8b 49 14             	mov    0x14(%ecx),%ecx
477c21:	e8 76 20 f9 ff       	call   0x409c9c
477c26:	89 45 e4             	mov    %eax,-0x1c(%ebp)
477c29:	83 fe 07             	cmp    $0x7,%esi
477c2c:	0f 82 87 00 00 00    	jb     0x477cb9
477c32:	8b 4b 04             	mov    0x4(%ebx),%ecx
477c35:	8b 49 18             	mov    0x18(%ecx),%ecx
477c38:	e8 5f 20 f9 ff       	call   0x409c9c
477c3d:	83 f8 ff             	cmp    $0xffffffff,%eax
477c40:	74 77                	je     0x477cb9
477c42:	8b 43 04             	mov    0x4(%ebx),%eax
477c45:	8b 48 18             	mov    0x18(%eax),%ecx
477c48:	e8 4f 20 f9 ff       	call   0x409c9c
477c4d:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
477c51:	8b c8                	mov    %eax,%ecx
477c53:	89 4d d0             	mov    %ecx,-0x30(%ebp)
477c56:	75 29                	jne    0x477c81
477c58:	f6 c1 08             	test   $0x8,%cl
477c5b:	74 0a                	je     0x477c67
477c5d:	b8 02 00 00 50       	mov    $0x50000002,%eax
477c62:	89 45 ec             	mov    %eax,-0x14(%ebp)
477c65:	eb 02                	jmp    0x477c69
477c67:	8b c7                	mov    %edi,%eax
477c69:	f6 c1 04             	test   $0x4,%cl
477c6c:	74 10                	je     0x477c7e
477c6e:	0f be c0             	movsbl %al,%eax
477c71:	83 e0 02             	and    $0x2,%eax
477c74:	0d 01 00 00 a0       	or     $0xa0000001,%eax
477c79:	d1 e8                	shr    $1,%eax
477c7b:	89 45 ec             	mov    %eax,-0x14(%ebp)
477c7e:	8b 7d ec             	mov    -0x14(%ebp),%edi
477c81:	8a c1                	mov    %cl,%al
477c83:	24 02                	and    $0x2,%al
477c85:	0f be c0             	movsbl %al,%eax
477c88:	f7 d8                	neg    %eax
477c8a:	1b c0                	sbb    %eax,%eax
477c8c:	f7 d0                	not    %eax
477c8e:	23 45 f0             	and    -0x10(%ebp),%eax
477c91:	8b f0                	mov    %eax,%esi
477c93:	89 75 f0             	mov    %esi,-0x10(%ebp)
477c96:	f6 c1 01             	test   $0x1,%cl
477c99:	74 0a                	je     0x477ca5
477c9b:	b8 00 00 80 88       	mov    $0x88800000,%eax
477ca0:	89 45 f8             	mov    %eax,-0x8(%ebp)
477ca3:	eb 05                	jmp    0x477caa
477ca5:	b8 00 00 c0 88       	mov    $0x88c00000,%eax
477caa:	f6 c1 10             	test   $0x10,%cl
477cad:	74 0d                	je     0x477cbc
477caf:	35 00 00 00 08       	xor    $0x8000000,%eax
477cb4:	89 45 f8             	mov    %eax,-0x8(%ebp)
477cb7:	eb 03                	jmp    0x477cbc
477cb9:	8b 75 f0             	mov    -0x10(%ebp),%esi
477cbc:	83 7d e8 ff          	cmpl   $0xffffffff,-0x18(%ebp)
477cc0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
477cc3:	75 0d                	jne    0x477cd2
477cc5:	8b 45 dc             	mov    -0x24(%ebp),%eax
477cc8:	2b c1                	sub    %ecx,%eax
477cca:	99                   	cltd
477ccb:	2b c2                	sub    %edx,%eax
477ccd:	d1 f8                	sar    $1,%eax
477ccf:	89 45 e8             	mov    %eax,-0x18(%ebp)
477cd2:	83 7d e4 ff          	cmpl   $0xffffffff,-0x1c(%ebp)
477cd6:	75 0e                	jne    0x477ce6
477cd8:	8b 45 e0             	mov    -0x20(%ebp),%eax
477cdb:	2b 45 fc             	sub    -0x4(%ebp),%eax
477cde:	99                   	cltd
477cdf:	2b c2                	sub    %edx,%eax
477ce1:	d1 f8                	sar    $1,%eax
477ce3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
477ce6:	ff 75 fc             	push   -0x4(%ebp)
477ce9:	8d 45 d4             	lea    -0x2c(%ebp),%eax
477cec:	51                   	push   %ecx
477ced:	6a 00                	push   $0x0
477cef:	6a 00                	push   $0x0
477cf1:	50                   	push   %eax
477cf2:	ff 15 c4 f5 48 00    	call   *0x48f5c4
477cf8:	56                   	push   %esi
477cf9:	6a 00                	push   $0x0
477cfb:	ff 75 f8             	push   -0x8(%ebp)
477cfe:	8d 45 d4             	lea    -0x2c(%ebp),%eax
477d01:	50                   	push   %eax
477d02:	ff 15 cc f4 48 00    	call   *0x48f4cc
477d08:	8b 43 04             	mov    0x4(%ebx),%eax
477d0b:	8b 30                	mov    (%eax),%esi
477d0d:	8b ce                	mov    %esi,%ecx
477d0f:	e8 83 1c f9 ff       	call   0x409997
477d14:	8b 46 08             	mov    0x8(%esi),%eax
477d17:	8b 35 20 f7 48 00    	mov    0x48f720,%esi
477d1d:	8b 08                	mov    (%eax),%ecx
477d1f:	33 c0                	xor    %eax,%eax
477d21:	50                   	push   %eax
477d22:	50                   	push   %eax
477d23:	50                   	push   %eax
477d24:	ff 35 ac 62 4c 00    	push   0x4c62ac
477d2a:	8b 45 e0             	mov    -0x20(%ebp),%eax
477d2d:	2b 45 d8             	sub    -0x28(%ebp),%eax
477d30:	50                   	push   %eax
477d31:	8b 45 dc             	mov    -0x24(%ebp),%eax
477d34:	2b 45 d4             	sub    -0x2c(%ebp),%eax
477d37:	50                   	push   %eax
477d38:	ff 75 e4             	push   -0x1c(%ebp)
477d3b:	ff 75 e8             	push   -0x18(%ebp)
477d3e:	ff 75 f8             	push   -0x8(%ebp)
477d41:	51                   	push   %ecx
477d42:	68 6c f9 48 00       	push   $0x48f96c
477d47:	ff 75 f0             	push   -0x10(%ebp)
477d4a:	ff d6                	call   *%esi
477d4c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
477d4f:	a3 a0 62 4c 00       	mov    %eax,0x4c62a0
477d54:	51                   	push   %ecx
477d55:	50                   	push   %eax
477d56:	ff 15 34 f6 48 00    	call   *0x48f634
477d5c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
477d5f:	8b 45 e0             	mov    -0x20(%ebp),%eax
477d62:	2b 4d d4             	sub    -0x2c(%ebp),%ecx
477d65:	2b 45 d8             	sub    -0x28(%ebp),%eax
477d68:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
477d6c:	0f 85 3b 01 00 00    	jne    0x477ead
477d72:	33 ff                	xor    %edi,%edi
477d74:	57                   	push   %edi
477d75:	57                   	push   %edi
477d76:	57                   	push   %edi
477d77:	ff 35 a0 62 4c 00    	push   0x4c62a0
477d7d:	89 7d 10             	mov    %edi,0x10(%ebp)
477d80:	50                   	push   %eax
477d81:	51                   	push   %ecx
477d82:	57                   	push   %edi
477d83:	57                   	push   %edi
477d84:	68 0e 00 00 50       	push   $0x5000000e
477d89:	57                   	push   %edi
477d8a:	68 00 f9 48 00       	push   $0x48f900
477d8f:	57                   	push   %edi
477d90:	ff d6                	call   *%esi
477d92:	8b 4b 04             	mov    0x4(%ebx),%ecx
477d95:	89 45 d0             	mov    %eax,-0x30(%ebp)
477d98:	8b 71 04             	mov    0x4(%ecx),%esi
477d9b:	8b ce                	mov    %esi,%ecx
477d9d:	e8 f5 1b f9 ff       	call   0x409997
477da2:	8b 4e 08             	mov    0x8(%esi),%ecx
477da5:	57                   	push   %edi
477da6:	57                   	push   %edi
477da7:	6a 03                	push   $0x3
477da9:	57                   	push   %edi
477daa:	57                   	push   %edi
477dab:	68 00 00 00 80       	push   $0x80000000
477db0:	ff 31                	push   (%ecx)
477db2:	ff 15 d4 f1 48 00    	call   *0x48f1d4
477db8:	8b d8                	mov    %eax,%ebx
477dba:	83 fb ff             	cmp    $0xffffffff,%ebx
477dbd:	0f 84 d2 02 00 00    	je     0x478095
477dc3:	57                   	push   %edi
477dc4:	53                   	push   %ebx
477dc5:	ff 15 f0 f2 48 00    	call   *0x48f2f0
477dcb:	8b f0                	mov    %eax,%esi
477dcd:	56                   	push   %esi
477dce:	6a 02                	push   $0x2
477dd0:	ff 15 ec f2 48 00    	call   *0x48f2ec
477dd6:	8b f8                	mov    %eax,%edi
477dd8:	57                   	push   %edi
477dd9:	ff 15 e4 f2 48 00    	call   *0x48f2e4
477ddf:	6a 00                	push   $0x0
477de1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
477de4:	51                   	push   %ecx
477de5:	56                   	push   %esi
477de6:	50                   	push   %eax
477de7:	53                   	push   %ebx
477de8:	ff 15 e0 f1 48 00    	call   *0x48f1e0
477dee:	57                   	push   %edi
477def:	8b f0                	mov    %eax,%esi