402aef:	50                   	push   %eax
402af0:	e8 65 f1 ff ff       	call   0x401c5a
402af5:	e9 db 00 00 00       	jmp    0x402bd5
402afa:	8b cf                	mov    %edi,%ecx
402afc:	e8 a5 89 00 00       	call   0x40b4a6
402b01:	8a c8                	mov    %al,%cl
402b03:	80 e1 01             	and    $0x1,%cl
402b06:	d1 e8                	shr    $1,%eax
402b08:	88 8e b1 10 00 00    	mov    %cl,0x10b1(%esi)
402b0e:	24 01                	and    $0x1,%al
402b10:	8b cf                	mov    %edi,%ecx
402b12:	88 86 ba 10 00 00    	mov    %al,0x10ba(%esi)
402b18:	e8 de 88 00 00       	call   0x40b3fb
402b1d:	0f b6 c0             	movzbl %al,%eax
402b20:	89 86 dc 10 00 00    	mov    %eax,0x10dc(%esi)
402b26:	83 f8 18             	cmp    $0x18,%eax
402b29:	76 0c                	jbe    0x402b37
402b2b:	8b 4d 68             	mov    0x68(%ebp),%ecx
402b2e:	8d 46 20             	lea    0x20(%esi),%eax
402b31:	50                   	push   %eax
402b32:	e8 23 f1 ff ff       	call   0x401c5a
402b37:	6a 10                	push   $0x10
402b39:	8d 86 91 10 00 00    	lea    0x1091(%esi),%eax
402b3f:	50                   	push   %eax
402b40:	8b cf                	mov    %edi,%ecx
402b42:	e8 e8 89 00 00       	call   0x40b52f
402b47:	6a 10                	push   $0x10
402b49:	8d 86 a1 10 00 00    	lea    0x10a1(%esi),%eax
402b4f:	50                   	push   %eax
402b50:	8b cf                	mov    %edi,%ecx
402b52:	e8 d8 89 00 00       	call   0x40b52f
402b57:	80 be b1 10 00 00 00 	cmpb   $0x0,0x10b1(%esi)
402b5e:	74 5d                	je     0x402bbd
402b60:	6a 08                	push   $0x8
402b62:	8d 9e b2 10 00 00    	lea    0x10b2(%esi),%ebx
402b68:	53                   	push   %ebx
402b69:	8b cf                	mov    %edi,%ecx
402b6b:	e8 bf 89 00 00       	call   0x40b52f
402b70:	6a 04                	push   $0x4
402b72:	8d 45 7c             	lea    0x7c(%ebp),%eax
402b75:	50                   	push   %eax
402b76:	8b cf                	mov    %edi,%ecx
402b78:	e8 b2 89 00 00       	call   0x40b52f
402b7d:	8d 45 ac             	lea    -0x54(%ebp),%eax
402b80:	50                   	push   %eax
402b81:	e8 ab d8 00 00       	call   0x410431
402b86:	6a 08                	push   $0x8
402b88:	53                   	push   %ebx
402b89:	8d 45 ac             	lea    -0x54(%ebp),%eax
402b8c:	50                   	push   %eax
402b8d:	e8 a1 db 00 00       	call   0x410733
402b92:	8d 45 24             	lea    0x24(%ebp),%eax
402b95:	50                   	push   %eax
402b96:	8d 45 ac             	lea    -0x54(%ebp),%eax
402b99:	50                   	push   %eax
402b9a:	e8 0d dc 00 00       	call   0x4107ac
402b9f:	6a 04                	push   $0x4
402ba1:	8d 45 24             	lea    0x24(%ebp),%eax
402ba4:	50                   	push   %eax
402ba5:	8d 45 7c             	lea    0x7c(%ebp),%eax
402ba8:	50                   	push   %eax
402ba9:	e8 36 7a 01 00       	call   0x41a5e4
402bae:	83 c4 0c             	add    $0xc,%esp
402bb1:	f7 d8                	neg    %eax
402bb3:	1a c0                	sbb    %al,%al
402bb5:	fe c0                	inc    %al
402bb7:	88 86 b1 10 00 00    	mov    %al,0x10b1(%esi)
402bbd:	c6 86 90 10 00 00 01 	movb   $0x1,0x1090(%esi)
402bc4:	c7 86 8c 10 00 00 05 	movl   $0x5,0x108c(%esi)
402bcb:	00 00 00
402bce:	c6 86 8b 10 00 00 01 	movb   $0x1,0x108b(%esi)
402bd5:	8b 45 5c             	mov    0x5c(%ebp),%eax
402bd8:	89 47 18             	mov    %eax,0x18(%edi)
402bdb:	8b 47 14             	mov    0x14(%edi),%eax
402bde:	2b 47 18             	sub    0x18(%edi),%eax
402be1:	83 f8 02             	cmp    $0x2,%eax
402be4:	0f 83 35 fb ff ff    	jae    0x40271f
402bea:	5b                   	pop    %ebx
402beb:	5e                   	pop    %esi
402bec:	5f                   	pop    %edi
402bed:	83 c5 6c             	add    $0x6c,%ebp
402bf0:	c9                   	leave
402bf1:	c2 0c 00             	ret    $0xc
402bf4:	b8 c8 91 42 00       	mov    $0x4291c8,%eax
402bf9:	e8 ba 72 01 00       	call   0x419eb8
402bfe:	b8 00 e7 00 00       	mov    $0xe700,%eax
402c03:	e8 c8 78 01 00       	call   0x41a4d0
402c08:	53                   	push   %ebx
402c09:	56                   	push   %esi
402c0a:	8b f1                	mov    %ecx,%esi
402c0c:	80 be 44 a2 00 00 00 	cmpb   $0x0,0xa244(%esi)
402c13:	57                   	push   %edi
402c14:	74 1c                	je     0x402c32
402c16:	83 c6 1e             	add    $0x1e,%esi
402c19:	56                   	push   %esi
402c1a:	6a 1b                	push   $0x1b
402c1c:	e8 8f 38 00 00       	call   0x4064b0
402c21:	6a 03                	push   $0x3
402c23:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
402c28:	e8 dd 37 00 00       	call   0x40640a
402c2d:	e9 44 02 00 00       	jmp    0x402e76
402c32:	80 be 22 7b 00 00 05 	cmpb   $0x5,0x7b22(%esi)
402c39:	0f 87 2c 02 00 00    	ja     0x402e6b
402c3f:	8b 86 30 a2 00 00    	mov    0xa230(%esi),%eax
402c45:	0f b6 8e 21 7b 00 00 	movzbl 0x7b21(%esi),%ecx
402c4c:	83 e8 03             	sub    $0x3,%eax
402c4f:	f7 d8                	neg    %eax
402c51:	1b c0                	sbb    %eax,%eax
402c53:	83 e0 1d             	and    $0x1d,%eax
402c56:	3b c8                	cmp    %eax,%ecx
402c58:	0f 8f 0d 02 00 00    	jg     0x402e6b
402c5e:	8b 86 50 8b 00 00    	mov    0x8b50(%esi),%eax
402c64:	0b 86 54 8b 00 00    	or     0x8b54(%esi),%eax
402c6a:	75 0f                	jne    0x402c7b
402c6c:	38 86 91 8b 00 00    	cmp    %al,0x8b91(%esi)
402c72:	75 07                	jne    0x402c7b
402c74:	b0 01                	mov    $0x1,%al
402c76:	e9 fd 01 00 00       	jmp    0x402e78
402c7b:	8d be 30 1c 00 00    	lea    0x1c30(%esi),%edi
402c81:	8b cf                	mov    %edi,%ecx
402c83:	e8 69 89 00 00       	call   0x40b5f1
402c88:	57                   	push   %edi
402c89:	8d 8d f4 18 ff ff    	lea    -0xe70c(%ebp),%ecx
402c8f:	e8 01 46 01 00       	call   0x417295
402c94:	33 db                	xor    %ebx,%ebx
402c96:	53                   	push   %ebx
402c97:	ff b6 ec 8b 00 00    	push   0x8bec(%esi)
402c9d:	8d 8d f4 18 ff ff    	lea    -0xe70c(%ebp),%ecx
402ca3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402ca6:	e8 69 f6 00 00       	call   0x412314
402cab:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
402cae:	75 56                	jne    0x402d06
402cb0:	39 9e 5c 8b 00 00    	cmp    %ebx,0x8b5c(%esi)
402cb6:	7c 2d                	jl     0x402ce5
402cb8:	7f 0c                	jg     0x402cc6
402cba:	81 be 58 8b 00 00 00 	cmpl   $0x1000000,0x8b58(%esi)
402cc1:	00 00 01
402cc4:	76 1f                	jbe    0x402ce5
402cc6:	83 c6 1e             	add    $0x1e,%esi
402cc9:	56                   	push   %esi
402cca:	6a 1c                	push   $0x1c
402ccc:	e8 df 37 00 00       	call   0x4064b0
402cd1:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
402cd5:	8d 8d f4 18 ff ff    	lea    -0xe70c(%ebp),%ecx
402cdb:	e8 36 25 01 00       	call   0x415216
402ce0:	e9 91 01 00 00       	jmp    0x402e76
402ce5:	8b 5d 08             	mov    0x8(%ebp),%ebx
402ce8:	ff b6 58 8b 00 00    	push   0x8b58(%esi)
402cee:	8b cb                	mov    %ebx,%ecx
402cf0:	e8 da ee ff ff       	call   0x401bcf
402cf5:	ff b6 58 8b 00 00    	push   0x8b58(%esi)
402cfb:	8b cf                	mov    %edi,%ecx
402cfd:	ff 33                	push   (%ebx)
402cff:	e8 63 8a 00 00       	call   0x40b767
402d04:	33 db                	xor    %ebx,%ebx
402d06:	80 be 93 8b 00 00 00 	cmpb   $0x0,0x8b93(%esi)
402d0d:	74 52                	je     0x402d61
402d0f:	8b 86 04 57 00 00    	mov    0x5704(%esi),%eax
402d15:	80 b8 20 41 00 00 00 	cmpb   $0x0,0x4120(%eax)
402d1c:	74 b3                	je     0x402cd1
402d1e:	0f b6 96 98 8b 00 00 	movzbl 0x8b98(%esi),%edx
402d25:	8d 8e c3 8b 00 00    	lea    0x8bc3(%esi),%ecx
402d2b:	51                   	push   %ecx
402d2c:	8d 8e ba 8b 00 00    	lea    0x8bba(%esi),%ecx
402d32:	51                   	push   %ecx
402d33:	ff b6 e4 8b 00 00    	push   0x8be4(%esi)
402d39:	8d 8e a9 8b 00 00    	lea    0x8ba9(%esi),%ecx
402d3f:	51                   	push   %ecx
402d40:	f7 da                	neg    %edx
402d42:	1b d2                	sbb    %edx,%edx
402d44:	8d 8e 99 8b 00 00    	lea    0x8b99(%esi),%ecx
402d4a:	23 d1                	and    %ecx,%edx
402d4c:	52                   	push   %edx
402d4d:	05 20 40 00 00       	add    $0x4020,%eax
402d52:	50                   	push   %eax
402d53:	ff b6 94 8b 00 00    	push   0x8b94(%esi)
402d59:	8b cf                	mov    %edi,%ecx
402d5b:	53                   	push   %ebx
402d5c:	e8 bb 89 00 00       	call   0x40b71c
402d61:	6a 01                	push   $0x1
402d63:	8d 9e 68 8b 00 00    	lea    0x8b68(%esi),%ebx
402d69:	ff 33                	push   (%ebx)
402d6b:	8d 8e 98 4b 00 00    	lea    0x4b98(%esi),%ecx
402d71:	e8 8d 6a 00 00       	call   0x409803
402d76:	8b 8e 54 8b 00 00    	mov    0x8b54(%esi),%ecx
402d7c:	ff 75 0c             	push   0xc(%ebp)
402d7f:	8b 86 50 8b 00 00    	mov    0x8b50(%esi),%eax
402d85:	89 8e 54 1c 00 00    	mov    %ecx,0x1c54(%esi)
402d8b:	56                   	push   %esi
402d8c:	8b cf                	mov    %edi,%ecx
402d8e:	89 86 50 1c 00 00    	mov    %eax,0x1c50(%esi)
402d94:	c6 86 58 1c 00 00 00 	movb   $0x0,0x1c58(%esi)
402d9b:	e8 5c 89 00 00       	call   0x40b6fc
402da0:	8a 86 91 8b 00 00    	mov    0x8b91(%esi),%al
402da6:	88 86 8f 34 00 00    	mov    %al,0x348f(%esi)
402dac:	83 67 3c 00          	andl   $0x0,0x3c(%edi)
402db0:	8d 86 08 7b 00 00    	lea    0x7b08(%esi),%eax
402db6:	89 47 38             	mov    %eax,0x38(%edi)
402db9:	80 be 22 7b 00 00 00 	cmpb   $0x0,0x7b22(%esi)
402dc0:	8b 86 58 8b 00 00    	mov    0x8b58(%esi),%eax
402dc6:	8b 8e 5c 8b 00 00    	mov    0x8b5c(%esi),%ecx
402dcc:	89 85 34 65 ff ff    	mov    %eax,-0x9acc(%ebp)
402dd2:	89 8d 38 65 ff ff    	mov    %ecx,-0x9ac8(%ebp)
402dd8:	c6 85 4c 65 ff ff 00 	movb   $0x0,-0x9ab4(%ebp)
402ddf:	75 0a                	jne    0x402deb
402de1:	51                   	push   %ecx
402de2:	50                   	push   %eax
402de3:	57                   	push   %edi
402de4:	e8 ea 43 00 00       	call   0x4071d3
402de9:	eb 15                	jmp    0x402e00
402deb:	0f b6 86 21 7b 00 00 	movzbl 0x7b21(%esi),%eax
402df2:	6a 00                	push   $0x0
402df4:	50                   	push   %eax
402df5:	8d 8d f4 18 ff ff    	lea    -0xe70c(%ebp),%ecx
402dfb:	e8 fe 58 01 00       	call   0x4186fe
402e00:	0f b6 8e c2 8b 00 00 	movzbl 0x8bc2(%esi),%ecx
402e07:	f7 d9                	neg    %ecx
402e09:	1b c9                	sbb    %ecx,%ecx
402e0b:	8d 86 c3 8b 00 00    	lea    0x8bc3(%esi),%eax
402e11:	23 c8                	and    %eax,%ecx
402e13:	51                   	push   %ecx
402e14:	53                   	push   %ebx
402e15:	8d 8e 98 4b 00 00    	lea    0x4b98(%esi),%ecx
402e1b:	e8 47 6c 00 00       	call   0x409a67
402e20:	84 c0                	test   %al,%al
402e22:	75 33                	jne    0x402e57
402e24:	8d 86 28 7b 00 00    	lea    0x7b28(%esi),%eax
402e2a:	50                   	push   %eax
402e2b:	83 c6 1e             	add    $0x1e,%esi
402e2e:	56                   	push   %esi
402e2f:	6a 1d                	push   $0x1d
402e31:	e8 a3 36 00 00       	call   0x4064d9
402e36:	6a 03                	push   $0x3
402e38:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
402e3d:	e8 c8 35 00 00       	call   0x40640a
402e42:	8b 4d 08             	mov    0x8(%ebp),%ecx
402e45:	85 c9                	test   %ecx,%ecx
402e47:	0f 84 84 fe ff ff    	je     0x402cd1
402e4d:	e8 27 dc 00 00       	call   0x410a79
402e52:	e9 7a fe ff ff       	jmp    0x402cd1
402e57:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
402e5b:	8d 8d f4 18 ff ff    	lea    -0xe70c(%ebp),%ecx
402e61:	e8 b0 23 01 00       	call   0x415216
402e66:	e9 09 fe ff ff       	jmp    0x402c74
402e6b:	83 c6 1e             	add    $0x1e,%esi
402e6e:	56                   	push   %esi
402e6f:	6a 1c                	push   $0x1c
402e71:	e8 3a 36 00 00       	call   0x4064b0
402e76:	32 c0                	xor    %al,%al
402e78:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402e7b:	5f                   	pop    %edi
402e7c:	5e                   	pop    %esi
402e7d:	5b                   	pop    %ebx
402e7e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402e85:	c9                   	leave
402e86:	c2 08 00             	ret    $0x8
402e89:	55                   	push   %ebp
402e8a:	83 ec 50             	sub    $0x50,%esp
402e8d:	b8 da 91 42 00       	mov    $0x4291da,%eax
402e92:	e8 21 70 01 00       	call   0x419eb8
402e97:	b8 70 20 00 00       	mov    $0x2070,%eax
402e9c:	e8 2f 76 01 00       	call   0x41a4d0
402ea1:	53                   	push   %ebx
402ea2:	56                   	push   %esi
402ea3:	8b d9                	mov    %ecx,%ebx
402ea5:	57                   	push   %edi
402ea6:	53                   	push   %ebx
402ea7:	8d 4d 28             	lea    0x28(%ebp),%ecx
402eaa:	e8 20 87 00 00       	call   0x40b5cf
402eaf:	33 ff                	xor    %edi,%edi
402eb1:	80 bb 3c a2 00 00 00 	cmpb   $0x0,0xa23c(%ebx)
402eb8:	89 7d fc             	mov    %edi,-0x4(%ebp)
402ebb:	74 4f                	je     0x402f0c
402ebd:	8b 83 40 a2 00 00    	mov    0xa240(%ebx),%eax
402ec3:	8b 93 24 a2 00 00    	mov    0xa224(%ebx),%edx
402ec9:	33 c9                	xor    %ecx,%ecx
402ecb:	83 c0 08             	add    $0x8,%eax
402ece:	13 cf                	adc    %edi,%ecx
402ed0:	3b d1                	cmp    %ecx,%edx
402ed2:	7c 38                	jl     0x402f0c
402ed4:	7f 0a                	jg     0x402ee0
402ed6:	8b 8b 20 a2 00 00    	mov    0xa220(%ebx),%ecx
402edc:	3b c8                	cmp    %eax,%ecx
402ede:	76 2c                	jbe    0x402f0c
402ee0:	8b cb                	mov    %ebx,%ecx
402ee2:	c6 45 53 01          	movb   $0x1,0x53(%ebp)
402ee6:	e8 9e ec ff ff       	call   0x401b89
402eeb:	8b 03                	mov    (%ebx),%eax
402eed:	6a 10                	push   $0x10
402eef:	8d 4d 10             	lea    0x10(%ebp),%ecx
402ef2:	51                   	push   %ecx
402ef3:	8b cb                	mov    %ebx,%ecx
402ef5:	ff 50 08             	call   *0x8(%eax)
402ef8:	83 f8 10             	cmp    $0x10,%eax
402efb:	74 15                	je     0x402f12
402efd:	8b cb                	mov    %ebx,%ecx
402eff:	e8 ea ec ff ff       	call   0x401bee
402f04:	39 7d 28             	cmp    %edi,0x28(%ebp)
402f07:	e9 d1 06 00 00       	jmp    0x4035dd
402f0c:	c6 45 53 00          	movb   $0x0,0x53(%ebp)
402f10:	eb 7a                	jmp    0x402f8c
402f12:	8d 45 20             	lea    0x20(%ebp),%eax
402f15:	50                   	push   %eax
402f16:	57                   	push   %edi
402f17:	ff b3 a8 57 00 00    	push   0x57a8(%ebx)
402f1d:	8d 45 10             	lea    0x10(%ebp),%eax
402f20:	50                   	push   %eax
402f21:	8d 83 ac 57 00 00    	lea    0x57ac(%ebx),%eax
402f27:	50                   	push   %eax
402f28:	8b 83 04 57 00 00    	mov    0x5704(%ebx),%eax
402f2e:	05 20 40 00 00       	add    $0x4020,%eax
402f33:	50                   	push   %eax
402f34:	6a 05                	push   $0x5
402f36:	8d b3 24 10 00 00    	lea    0x1024(%ebx),%esi
402f3c:	57                   	push   %edi
402f3d:	8b ce                	mov    %esi,%ecx
402f3f:	e8 f3 31 00 00       	call   0x406137
402f44:	80 bb a4 57 00 00 00 	cmpb   $0x0,0x57a4(%ebx)
402f4b:	74 3c                	je     0x402f89
402f4d:	6a 08                	push   $0x8
402f4f:	8d 83 bc 57 00 00    	lea    0x57bc(%ebx),%eax
402f55:	50                   	push   %eax
402f56:	8d 45 20             	lea    0x20(%ebp),%eax
402f59:	50                   	push   %eax
402f5a:	e8 85 76 01 00       	call   0x41a5e4
402f5f:	83 c4 0c             	add    $0xc,%esp
402f62:	85 c0                	test   %eax,%eax
402f64:	74 23                	je     0x402f89
402f66:	8d 43 1e             	lea    0x1e(%ebx),%eax
402f69:	50                   	push   %eax
402f6a:	6a 06                	push   $0x6
402f6c:	e8 3f 35 00 00       	call   0x4064b0
402f71:	6a 0b                	push   $0xb
402f73:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
402f78:	c6 83 45 a2 00 00 01 	movb   $0x1,0xa245(%ebx)
402f7f:	e8 86 34 00 00       	call   0x40640a
402f84:	e9 7b ff ff ff       	jmp    0x402f04
402f89:	89 75 44             	mov    %esi,0x44(%ebp)
402f8c:	6a 07                	push   $0x7
402f8e:	8d 4d 28             	lea    0x28(%ebp),%ecx
402f91:	e8 cb 83 00 00       	call   0x40b361
402f96:	83 f8 07             	cmp    $0x7,%eax
402f99:	0f 82 5e ff ff ff    	jb     0x402efd
402f9f:	8d 4d 28             	lea    0x28(%ebp),%ecx
402fa2:	c6 83 3c 57 00 00 00 	movb   $0x0,0x573c(%ebx)
402fa9:	8d b3 2c 57 00 00    	lea    0x572c(%ebx),%esi
402faf:	e8 94 84 00 00       	call   0x40b448
402fb4:	6a 04                	push   $0x4
402fb6:	8d 4d 28             	lea    0x28(%ebp),%ecx
402fb9:	89 06                	mov    %eax,(%esi)