402adc:	83 a7 74 04 00 00 00 	andl   $0x0,0x474(%edi)
402ae3:	83 a7 fc 00 00 00 00 	andl   $0x0,0xfc(%edi)
402aea:	8b cf                	mov    %edi,%ecx
402aec:	89 45 f8             	mov    %eax,-0x8(%ebp)
402aef:	e8 dc bd 00 00       	call   0x40e8d0
402af4:	8b 0f                	mov    (%edi),%ecx
402af6:	8d 47 04             	lea    0x4(%edi),%eax
402af9:	8b 49 04             	mov    0x4(%ecx),%ecx
402afc:	03 c1                	add    %ecx,%eax
402afe:	8b c8                	mov    %eax,%ecx
402b00:	89 45 fc             	mov    %eax,-0x4(%ebp)
402b03:	e8 51 08 00 00       	call   0x403359
402b08:	8b 5d 10             	mov    0x10(%ebp),%ebx
402b0b:	8a 40 10             	mov    0x10(%eax),%al
402b0e:	88 45 0b             	mov    %al,0xb(%ebp)
402b11:	85 db                	test   %ebx,%ebx
402b13:	0f 85 7e 33 07 00    	jne    0x475e97
402b19:	ff 75 f8             	push   -0x8(%ebp)
402b1c:	8b cf                	mov    %edi,%ecx
402b1e:	e8 e0 01 00 00       	call   0x402d03
402b23:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
402b27:	74 0a                	je     0x402b33
402b29:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
402b2e:	e8 ad b2 00 00       	call   0x40dde0
402b33:	8b 7d f4             	mov    -0xc(%ebp),%edi
402b36:	3b 3e                	cmp    (%esi),%edi
402b38:	72 0a                	jb     0x402b44
402b3a:	8a 45 0b             	mov    0xb(%ebp),%al
402b3d:	5f                   	pop    %edi
402b3e:	5e                   	pop    %esi
402b3f:	5b                   	pop    %ebx
402b40:	c9                   	leave
402b41:	c2 0c 00             	ret    $0xc
402b44:	8b ce                	mov    %esi,%ecx
402b46:	e8 d7 b2 00 00       	call   0x40de22
402b4b:	eb e9                	jmp    0x402b36
402b4d:	55                   	push   %ebp
402b4e:	8b ec                	mov    %esp,%ebp
402b50:	83 ec 0c             	sub    $0xc,%esp
402b53:	ff 75 08             	push   0x8(%ebp)
402b56:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402b59:	e8 91 00 00 00       	call   0x402bef
402b5e:	8b c1                	mov    %ecx,%eax
402b60:	50                   	push   %eax
402b61:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
402b66:	e8 0f 00 00 00       	call   0x402b7a
402b6b:	ff 75 f4             	push   -0xc(%ebp)
402b6e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402b71:	e8 f5 b2 00 00       	call   0x40de6b
402b76:	c9                   	leave
402b77:	c2 04 00             	ret    $0x4
402b7a:	55                   	push   %ebp
402b7b:	8b ec                	mov    %esp,%ebp
402b7d:	56                   	push   %esi
402b7e:	57                   	push   %edi
402b7f:	8b f9                	mov    %ecx,%edi
402b81:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
402b85:	0f 85 df 17 07 00    	jne    0x47436a
402b8b:	6a 0c                	push   $0xc
402b8d:	e8 58 c9 01 00       	call   0x41f4ea
402b92:	8b f0                	mov    %eax,%esi
402b94:	59                   	pop    %ecx
402b95:	85 f6                	test   %esi,%esi
402b97:	74 31                	je     0x402bca
402b99:	8b 45 08             	mov    0x8(%ebp),%eax
402b9c:	83 26 00             	andl   $0x0,(%esi)
402b9f:	8b 48 04             	mov    0x4(%eax),%ecx
402ba2:	89 4e 04             	mov    %ecx,0x4(%esi)
402ba5:	85 c9                	test   %ecx,%ecx
402ba7:	78 1b                	js     0x402bc4
402ba9:	ff 30                	push   (%eax)
402bab:	8b ce                	mov    %esi,%ecx
402bad:	56                   	push   %esi
402bae:	e8 1b 00 00 00       	call   0x402bce
402bb3:	8b 47 04             	mov    0x4(%edi),%eax
402bb6:	89 46 08             	mov    %eax,0x8(%esi)
402bb9:	89 77 04             	mov    %esi,0x4(%edi)
402bbc:	ff 07                	incl   (%edi)
402bbe:	5f                   	pop    %edi
402bbf:	5e                   	pop    %esi
402bc0:	5d                   	pop    %ebp
402bc1:	c2 04 00             	ret    $0x4
402bc4:	83 66 04 00          	andl   $0x0,0x4(%esi)
402bc8:	eb df                	jmp    0x402ba9
402bca:	33 f6                	xor    %esi,%esi
402bcc:	eb e5                	jmp    0x402bb3
402bce:	55                   	push   %ebp
402bcf:	8b ec                	mov    %esp,%ebp
402bd1:	51                   	push   %ecx
402bd2:	53                   	push   %ebx
402bd3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
402bd6:	56                   	push   %esi
402bd7:	8b 75 08             	mov    0x8(%ebp),%esi
402bda:	57                   	push   %edi
402bdb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
402bde:	85 db                	test   %ebx,%ebx
402be0:	0f 85 38 18 07 00    	jne    0x47441e
402be6:	21 1e                	and    %ebx,(%esi)
402be8:	5f                   	pop    %edi
402be9:	5e                   	pop    %esi
402bea:	5b                   	pop    %ebx
402beb:	c9                   	leave
402bec:	c2 08 00             	ret    $0x8
402bef:	55                   	push   %ebp
402bf0:	8b ec                	mov    %esp,%ebp
402bf2:	8b 45 08             	mov    0x8(%ebp),%eax
402bf5:	83 21 00             	andl   $0x0,(%ecx)
402bf8:	89 41 04             	mov    %eax,0x4(%ecx)
402bfb:	85 c0                	test   %eax,%eax
402bfd:	78 06                	js     0x402c05
402bff:	8b c1                	mov    %ecx,%eax
402c01:	5d                   	pop    %ebp
402c02:	c2 04 00             	ret    $0x4
402c05:	83 61 04 00          	andl   $0x0,0x4(%ecx)
402c09:	eb f4                	jmp    0x402bff
402c0b:	56                   	push   %esi
402c0c:	8b f1                	mov    %ecx,%esi
402c0e:	8b 0e                	mov    (%esi),%ecx
402c10:	85 c9                	test   %ecx,%ecx
402c12:	74 06                	je     0x402c1a
402c14:	51                   	push   %ecx
402c15:	e8 7f fe ff ff       	call   0x402a99
402c1a:	56                   	push   %esi
402c1b:	e8 3e c9 01 00       	call   0x41f55e
402c20:	59                   	pop    %ecx
402c21:	8b c6                	mov    %esi,%eax
402c23:	5e                   	pop    %esi
402c24:	c2 04 00             	ret    $0x4
402c27:	55                   	push   %ebp
402c28:	8b ec                	mov    %esp,%ebp
402c2a:	53                   	push   %ebx
402c2b:	56                   	push   %esi
402c2c:	8b 75 08             	mov    0x8(%ebp),%esi
402c2f:	57                   	push   %edi
402c30:	56                   	push   %esi
402c31:	8b f9                	mov    %ecx,%edi
402c33:	e8 1c fe ff ff       	call   0x402a54
402c38:	33 db                	xor    %ebx,%ebx
402c3a:	43                   	inc    %ebx
402c3b:	53                   	push   %ebx
402c3c:	8b cf                	mov    %edi,%ecx
402c3e:	e8 36 00 00 00       	call   0x402c79
402c43:	85 c0                	test   %eax,%eax
402c45:	0f 8e e4 9f 07 00    	jle    0x47cc2f
402c4b:	8b 46 04             	mov    0x4(%esi),%eax
402c4e:	8b 70 08             	mov    0x8(%eax),%esi
402c51:	8b ce                	mov    %esi,%ecx
402c53:	e8 14 67 00 00       	call   0x40936c
402c58:	8b 8f f8 01 00 00    	mov    0x1f8(%edi),%ecx
402c5e:	6a 00                	push   $0x0
402c60:	ff 76 08             	push   0x8(%esi)
402c63:	e8 98 e3 ff ff       	call   0x401000
402c68:	84 c0                	test   %al,%al
402c6a:	0f 84 d2 9f 07 00    	je     0x47cc42
402c70:	5f                   	pop    %edi
402c71:	5e                   	pop    %esi
402c72:	33 c0                	xor    %eax,%eax
402c74:	5b                   	pop    %ebx
402c75:	5d                   	pop    %ebp
402c76:	c2 08 00             	ret    $0x8
402c79:	55                   	push   %ebp
402c7a:	8b ec                	mov    %esp,%ebp
402c7c:	51                   	push   %ecx
402c7d:	53                   	push   %ebx
402c7e:	56                   	push   %esi
402c7f:	8b f1                	mov    %ecx,%esi
402c81:	57                   	push   %edi
402c82:	8d 9e 00 03 00 00    	lea    0x300(%esi),%ebx
402c88:	8b cb                	mov    %ebx,%ecx
402c8a:	e8 7c 07 00 00       	call   0x40340b
402c8f:	8d be d8 01 00 00    	lea    0x1d8(%esi),%edi
402c95:	6a 07                	push   $0x7
402c97:	8b cf                	mov    %edi,%ecx
402c99:	e8 46 a9 00 00       	call   0x40d5e4
402c9e:	8b cf                	mov    %edi,%ecx
402ca0:	84 c0                	test   %al,%al
402ca2:	0f 85 af 9f 07 00    	jne    0x47cc57
402ca8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402cac:	6a 04                	push   $0x4
402cae:	e8 31 a9 00 00       	call   0x40d5e4
402cb3:	84 c0                	test   %al,%al
402cb5:	0f 84 d4 9f 07 00    	je     0x47cc8f
402cbb:	8b cf                	mov    %edi,%ecx
402cbd:	e8 aa 66 00 00       	call   0x40936c
402cc2:	ff 75 08             	push   0x8(%ebp)
402cc5:	0f b6 86 fc 02 00 00 	movzbl 0x2fc(%esi),%eax
402ccc:	50                   	push   %eax
402ccd:	0f b6 86 fd 02 00 00 	movzbl 0x2fd(%esi),%eax
402cd4:	50                   	push   %eax
402cd5:	ff b6 f4 02 00 00    	push   0x2f4(%esi)
402cdb:	8d 86 e8 01 00 00    	lea    0x1e8(%esi),%eax
402ce1:	53                   	push   %ebx
402ce2:	50                   	push   %eax
402ce3:	ff 77 08             	push   0x8(%edi)
402ce6:	8d 8e f8 01 00 00    	lea    0x1f8(%esi),%ecx
402cec:	e8 cf 01 00 00       	call   0x402ec0
402cf1:	89 45 fc             	mov    %eax,-0x4(%ebp)
402cf4:	85 c0                	test   %eax,%eax
402cf6:	0f 84 93 9f 07 00    	je     0x47cc8f
402cfc:	5f                   	pop    %edi
402cfd:	5e                   	pop    %esi
402cfe:	5b                   	pop    %ebx
402cff:	c9                   	leave
402d00:	c2 04 00             	ret    $0x4
402d03:	55                   	push   %ebp
402d04:	8b ec                	mov    %esp,%ebp
402d06:	56                   	push   %esi
402d07:	57                   	push   %edi
402d08:	8b f9                	mov    %ecx,%edi
402d0a:	8b 07                	mov    (%edi),%eax
402d0c:	8d 4f 04             	lea    0x4(%edi),%ecx
402d0f:	8b 40 04             	mov    0x4(%eax),%eax
402d12:	03 c8                	add    %eax,%ecx
402d14:	e8 4e 06 00 00       	call   0x403367
402d19:	8b 75 08             	mov    0x8(%ebp),%esi
402d1c:	8d 8f d8 01 00 00    	lea    0x1d8(%edi),%ecx
402d22:	8d 46 08             	lea    0x8(%esi),%eax
402d25:	50                   	push   %eax
402d26:	e8 83 af 00 00       	call   0x40dcae
402d2b:	8d 46 18             	lea    0x18(%esi),%eax
402d2e:	50                   	push   %eax
402d2f:	8d 8f e8 01 00 00    	lea    0x1e8(%edi),%ecx
402d35:	e8 b3 41 00 00       	call   0x406eed
402d3a:	8b 46 28             	mov    0x28(%esi),%eax
402d3d:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
402d43:	8b 46 2c             	mov    0x2c(%esi),%eax
402d46:	89 87 10 03 00 00    	mov    %eax,0x310(%edi)
402d4c:	ff 76 30             	push   0x30(%esi)
402d4f:	8d 8f f8 01 00 00    	lea    0x1f8(%edi),%ecx
402d55:	e8 6c 02 00 00       	call   0x402fc6
402d5a:	8b 46 34             	mov    0x34(%esi),%eax
402d5d:	89 87 18 03 00 00    	mov    %eax,0x318(%edi)
402d63:	8d 46 38             	lea    0x38(%esi),%eax
402d66:	50                   	push   %eax
402d67:	8d 8f 58 04 00 00    	lea    0x458(%edi),%ecx
402d6d:	e8 7b 41 00 00       	call   0x406eed
402d72:	83 bf fc 00 00 00 01 	cmpl   $0x1,0xfc(%edi)
402d79:	8b 46 48             	mov    0x48(%esi),%eax
402d7c:	89 87 68 04 00 00    	mov    %eax,0x468(%edi)
402d82:	8b 46 4c             	mov    0x4c(%esi),%eax
402d85:	89 87 6c 04 00 00    	mov    %eax,0x46c(%edi)
402d8b:	8b 46 50             	mov    0x50(%esi),%eax
402d8e:	89 87 74 04 00 00    	mov    %eax,0x474(%edi)
402d94:	74 09                	je     0x402d9f
402d96:	8b 46 54             	mov    0x54(%esi),%eax
402d99:	89 87 fc 00 00 00    	mov    %eax,0xfc(%edi)
402d9f:	8b 06                	mov    (%esi),%eax
402da1:	51                   	push   %ecx
402da2:	8b ce                	mov    %esi,%ecx
402da4:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
402daa:	e8 74 fc ff ff       	call   0x402a23
402daf:	5f                   	pop    %edi
402db0:	5e                   	pop    %esi
402db1:	5d                   	pop    %ebp
402db2:	c2 04 00             	ret    $0x4
402db5:	55                   	push   %ebp
402db6:	8b ec                	mov    %esp,%ebp
402db8:	83 ec 18             	sub    $0x18,%esp
402dbb:	53                   	push   %ebx
402dbc:	56                   	push   %esi
402dbd:	57                   	push   %edi
402dbe:	8b d9                	mov    %ecx,%ebx
402dc0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402dc3:	68 00 dc 49 00       	push   $0x49dc00
402dc8:	e8 ec 9f 00 00       	call   0x40cdb9
402dcd:	8b 75 08             	mov    0x8(%ebp),%esi
402dd0:	6a 04                	push   $0x4
402dd2:	8b 46 04             	mov    0x4(%esi),%eax
402dd5:	8b 38                	mov    (%eax),%edi
402dd7:	8b cf                	mov    %edi,%ecx
402dd9:	e8 06 a8 00 00       	call   0x40d5e4
402dde:	84 c0                	test   %al,%al
402de0:	0f 84 9f 31 07 00    	je     0x475f85
402de6:	6a 38                	push   $0x38
402de8:	e8 fd c6 01 00       	call   0x41f4ea
402ded:	59                   	pop    %ecx
402dee:	85 c0                	test   %eax,%eax
402df0:	0f 84 c3 00 00 00    	je     0x402eb9
402df6:	8b c8                	mov    %eax,%ecx
402df8:	e8 bd 1a 00 00       	call   0x4048ba
402dfd:	8b f8                	mov    %eax,%edi
402dff:	8b 46 04             	mov    0x4(%esi),%eax
402e02:	8b 30                	mov    (%eax),%esi
402e04:	8b ce                	mov    %esi,%ecx
402e06:	e8 61 65 00 00       	call   0x40936c
402e0b:	68 00 20 00 00       	push   $0x2000
402e10:	ff 76 08             	push   0x8(%esi)
402e13:	8b cf                	mov    %edi,%ecx
402e15:	e8 36 17 00 00       	call   0x404550
402e1a:	84 c0                	test   %al,%al
402e1c:	0f 84 3f 31 07 00    	je     0x475f61
402e22:	33 f6                	xor    %esi,%esi
402e24:	8b 45 08             	mov    0x8(%ebp),%eax
402e27:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
402e2b:	0f 83 7d 31 07 00    	jae    0x475fae
402e31:	8b cf                	mov    %edi,%ecx
402e33:	e8 db fb ff ff       	call   0x402a13
402e38:	f6 47 28 10          	testb  $0x10,0x28(%edi)
402e3c:	89 45 fc             	mov    %eax,-0x4(%ebp)
402e3f:	0f 85 8f 31 07 00    	jne    0x475fd4
402e45:	8d 4d e8             	lea    -0x18(%ebp),%ecx
402e48:	e8 aa a9 00 00       	call   0x40d7f7
402e4d:	8d 45 fc             	lea    -0x4(%ebp),%eax
402e50:	50                   	push   %eax
402e51:	8d 45 e8             	lea    -0x18(%ebp),%eax
402e54:	50                   	push   %eax
402e55:	8b cf                	mov    %edi,%ecx
402e57:	e8 d0 b6 01 00       	call   0x41e52c
402e5c:	84 c0                	test   %al,%al
402e5e:	0f 84 dd 31 07 00    	je     0x476041
402e64:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402e67:	8d 45 e8             	lea    -0x18(%ebp),%eax
402e6a:	50                   	push   %eax
402e6b:	e8 f8 3c 00 00       	call   0x406b68
402e70:	8b 03                	mov    (%ebx),%eax
402e72:	56                   	push   %esi
402e73:	8b 48 04             	mov    0x4(%eax),%ecx
402e76:	ff 75 fc             	push   -0x4(%ebp)
402e79:	03 cb                	add    %ebx,%ecx
402e7b:	e8 a1 04 00 00       	call   0x403321
402e80:	8d 4d e8             	lea    -0x18(%ebp),%ecx
402e83:	e8 af 9c 00 00       	call   0x40cb37
402e88:	8b 45 08             	mov    0x8(%ebp),%eax
402e8b:	6a 04                	push   $0x4
402e8d:	8b 48 04             	mov    0x4(%eax),%ecx
402e90:	8b 09                	mov    (%ecx),%ecx
402e92:	e8 4d a7 00 00       	call   0x40d5e4
402e97:	84 c0                	test   %al,%al
402e99:	74 15                	je     0x402eb0
402e9b:	8b cf                	mov    %edi,%ecx
402e9d:	e8 65 1a 00 00       	call   0x404907
402ea2:	51                   	push   %ecx
402ea3:	8b cf                	mov    %edi,%ecx
402ea5:	89 77 2c             	mov    %esi,0x2c(%edi)
402ea8:	89 77 30             	mov    %esi,0x30(%edi)
402eab:	e8 8b 16 00 00       	call   0x40453b
402eb0:	5f                   	pop    %edi
402eb1:	5e                   	pop    %esi
402eb2:	33 c0                	xor    %eax,%eax
402eb4:	5b                   	pop    %ebx
402eb5:	c9                   	leave
402eb6:	c2 08 00             	ret    $0x8
402eb9:	33 ff                	xor    %edi,%edi
402ebb:	e9 3f ff ff ff       	jmp    0x402dff
402ec0:	55                   	push   %ebp
402ec1:	8b ec                	mov    %esp,%ebp
402ec3:	83 e4 f8             	and    $0xfffffff8,%esp
402ec6:	83 ec 3c             	sub    $0x3c,%esp
402ec9:	53                   	push   %ebx
402eca:	56                   	push   %esi