406a81:	0f 90 c1             	seto   %cl
406a84:	f7 d9                	neg    %ecx
406a86:	0b c8                	or     %eax,%ecx
406a88:	51                   	push   %ecx
406a89:	e8 73 2c 07 00       	call   0x479701
406a8e:	8b f0                	mov    %eax,%esi
406a90:	83 c4 04             	add    $0x4,%esp
406a93:	85 f6                	test   %esi,%esi
406a95:	0f 84 9c 01 00 00    	je     0x406c37
406a9b:	83 bd b4 fd ff ff 08 	cmpl   $0x8,-0x24c(%ebp)
406aa2:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
406aa8:	0f 43 8d a0 fd ff ff 	cmovae -0x260(%ebp),%ecx
406aaf:	51                   	push   %ecx
406ab0:	57                   	push   %edi
406ab1:	56                   	push   %esi
406ab2:	e8 e6 2b 07 00       	call   0x47969d
406ab7:	83 c4 0c             	add    $0xc,%esp
406aba:	8d 85 70 fd ff ff    	lea    -0x290(%ebp),%eax
406ac0:	83 bd 84 fd ff ff 08 	cmpl   $0x8,-0x27c(%ebp)
406ac7:	0f 43 85 70 fd ff ff 	cmovae -0x290(%ebp),%eax
406ace:	50                   	push   %eax
406acf:	56                   	push   %esi
406ad0:	ff 15 68 e2 49 00    	call   *0x49e268
406ad6:	8b ce                	mov    %esi,%ecx
406ad8:	83 f8 01             	cmp    $0x1,%eax
406adb:	0f 94 c3             	sete   %bl
406ade:	8d 51 02             	lea    0x2(%ecx),%edx
406ae1:	66 8b 01             	mov    (%ecx),%ax
406ae4:	83 c1 02             	add    $0x2,%ecx
406ae7:	66 85 c0             	test   %ax,%ax
406aea:	75 f5                	jne    0x406ae1
406aec:	2b ca                	sub    %edx,%ecx
406aee:	d1 f9                	sar    $1,%ecx
406af0:	51                   	push   %ecx
406af1:	56                   	push   %esi
406af2:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
406af8:	e8 03 c3 ff ff       	call   0x402e00
406afd:	56                   	push   %esi
406afe:	e8 7f 2b 07 00       	call   0x479682
406b03:	83 c4 04             	add    $0x4,%esp
406b06:	84 db                	test   %bl,%bl
406b08:	0f 84 29 01 00 00    	je     0x406c37
406b0e:	51                   	push   %ecx
406b0f:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
406b15:	e8 46 07 02 00       	call   0x427260
406b1a:	83 c4 04             	add    $0x4,%esp
406b1d:	84 c0                	test   %al,%al
406b1f:	0f 84 12 01 00 00    	je     0x406c37
406b25:	6a 0c                	push   $0xc
406b27:	68 08 02 4b 00       	push   $0x4b0208
406b2c:	8d 8d 4c fd ff ff    	lea    -0x2b4(%ebp),%ecx
406b32:	c7 85 4c fd ff ff 00 	movl   $0x0,-0x2b4(%ebp)
406b39:	00 00 00
406b3c:	c7 85 5c fd ff ff 00 	movl   $0x0,-0x2a4(%ebp)
406b43:	00 00 00
406b46:	c7 85 60 fd ff ff 00 	movl   $0x0,-0x2a0(%ebp)
406b4d:	00 00 00
406b50:	e8 0b b5 ff ff       	call   0x402060
406b55:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
406b59:	8b 9d 64 fd ff ff    	mov    -0x29c(%ebp),%ebx
406b5f:	8b 8d b0 fd ff ff    	mov    -0x250(%ebp),%ecx
406b65:	83 cb 02             	or     $0x2,%ebx
406b68:	89 9d 68 fd ff ff    	mov    %ebx,-0x298(%ebp)
406b6e:	85 c9                	test   %ecx,%ecx
406b70:	0f 84 c7 00 00 00    	je     0x406c3d
406b76:	8b 85 5c fd ff ff    	mov    -0x2a4(%ebp),%eax
406b7c:	85 c0                	test   %eax,%eax
406b7e:	0f 84 b9 00 00 00    	je     0x406c3d
406b84:	8d 79 0b             	lea    0xb(%ecx),%edi
406b87:	ba 02 00 00 00       	mov    $0x2,%edx
406b8c:	03 f8                	add    %eax,%edi
406b8e:	33 c9                	xor    %ecx,%ecx
406b90:	8b c7                	mov    %edi,%eax
406b92:	f7 e2                	mul    %edx
406b94:	0f 90 c1             	seto   %cl
406b97:	f7 d9                	neg    %ecx
406b99:	0b c8                	or     %eax,%ecx
406b9b:	51                   	push   %ecx
406b9c:	e8 60 2b 07 00       	call   0x479701
406ba1:	8b f0                	mov    %eax,%esi
406ba3:	83 c4 04             	add    $0x4,%esp
406ba6:	85 f6                	test   %esi,%esi
406ba8:	0f 84 8f 00 00 00    	je     0x406c3d
406bae:	83 bd b4 fd ff ff 08 	cmpl   $0x8,-0x24c(%ebp)
406bb5:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
406bbb:	0f 43 8d a0 fd ff ff 	cmovae -0x260(%ebp),%ecx
406bc2:	51                   	push   %ecx
406bc3:	57                   	push   %edi
406bc4:	56                   	push   %esi
406bc5:	e8 d3 2a 07 00       	call   0x47969d
406bca:	83 c4 0c             	add    $0xc,%esp
406bcd:	8d 85 4c fd ff ff    	lea    -0x2b4(%ebp),%eax
406bd3:	83 bd 60 fd ff ff 08 	cmpl   $0x8,-0x2a0(%ebp)
406bda:	0f 43 85 4c fd ff ff 	cmovae -0x2b4(%ebp),%eax
406be1:	50                   	push   %eax
406be2:	56                   	push   %esi
406be3:	ff 15 68 e2 49 00    	call   *0x49e268
406be9:	8b ce                	mov    %esi,%ecx
406beb:	83 f8 01             	cmp    $0x1,%eax
406bee:	0f 94 85 6f fd ff ff 	sete   -0x291(%ebp)
406bf5:	8d 51 02             	lea    0x2(%ecx),%edx
406bf8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
406bff:	00
406c00:	66 8b 01             	mov    (%ecx),%ax
406c03:	83 c1 02             	add    $0x2,%ecx
406c06:	66 85 c0             	test   %ax,%ax
406c09:	75 f5                	jne    0x406c00
406c0b:	2b ca                	sub    %edx,%ecx
406c0d:	d1 f9                	sar    $1,%ecx
406c0f:	51                   	push   %ecx
406c10:	56                   	push   %esi
406c11:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
406c17:	e8 e4 c1 ff ff       	call   0x402e00
406c1c:	56                   	push   %esi
406c1d:	e8 60 2a 07 00       	call   0x479682
406c22:	83 c4 04             	add    $0x4,%esp
406c25:	80 bd 6f fd ff ff 00 	cmpb   $0x0,-0x291(%ebp)
406c2c:	74 0f                	je     0x406c3d
406c2e:	c6 85 6f fd ff ff 00 	movb   $0x0,-0x291(%ebp)
406c35:	eb 0d                	jmp    0x406c44
406c37:	8b 9d 64 fd ff ff    	mov    -0x29c(%ebp),%ebx
406c3d:	c6 85 6f fd ff ff 01 	movb   $0x1,-0x291(%ebp)
406c44:	c7 45 fc 0d 00 00 00 	movl   $0xd,-0x4(%ebp)
406c4b:	f6 c3 02             	test   $0x2,%bl
406c4e:	74 5d                	je     0x406cad
406c50:	8b 8d 60 fd ff ff    	mov    -0x2a0(%ebp),%ecx
406c56:	83 f9 08             	cmp    $0x8,%ecx
406c59:	72 35                	jb     0x406c90
406c5b:	8b 95 4c fd ff ff    	mov    -0x2b4(%ebp),%edx
406c61:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406c68:	8b c2                	mov    %edx,%eax
406c6a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406c70:	72 14                	jb     0x406c86
406c72:	8b 50 fc             	mov    -0x4(%eax),%edx
406c75:	83 c1 23             	add    $0x23,%ecx
406c78:	2b c2                	sub    %edx,%eax
406c7a:	83 c0 fc             	add    $0xfffffffc,%eax
406c7d:	83 f8 1f             	cmp    $0x1f,%eax
406c80:	0f 87 05 04 00 00    	ja     0x40708b
406c86:	51                   	push   %ecx
406c87:	52                   	push   %edx
406c88:	e8 7b 2d 06 00       	call   0x469a08
406c8d:	83 c4 08             	add    $0x8,%esp
406c90:	33 c0                	xor    %eax,%eax
406c92:	c7 85 5c fd ff ff 00 	movl   $0x0,-0x2a4(%ebp)
406c99:	00 00 00
406c9c:	c7 85 60 fd ff ff 07 	movl   $0x7,-0x2a0(%ebp)
406ca3:	00 00 00
406ca6:	66 89 85 4c fd ff ff 	mov    %ax,-0x2b4(%ebp)
406cad:	80 bd 6f fd ff ff 00 	cmpb   $0x0,-0x291(%ebp)
406cb4:	74 65                	je     0x406d1b
406cb6:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
406cbb:	85 c0                	test   %eax,%eax
406cbd:	75 36                	jne    0x406cf5
406cbf:	68 84 00 00 00       	push   $0x84
406cc4:	e8 0f 2d 06 00       	call   0x4699d8
406cc9:	8b f0                	mov    %eax,%esi
406ccb:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
406cd1:	68 84 00 00 00       	push   $0x84
406cd6:	6a 00                	push   $0x0
406cd8:	56                   	push   %esi
406cd9:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
406cdd:	e8 ce 4e 06 00       	call   0x46bbb0
406ce2:	83 c4 10             	add    $0x10,%esp
406ce5:	8b ce                	mov    %esi,%ecx
406ce7:	e8 94 ef ff ff       	call   0x405c80
406cec:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
406cf0:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
406cf5:	8b 48 04             	mov    0x4(%eax),%ecx
406cf8:	83 c0 04             	add    $0x4,%eax
406cfb:	68 1c 01 4b 00       	push   $0x4b011c
406d00:	68 60 ea 4a 00       	push   $0x4aea60
406d05:	50                   	push   %eax
406d06:	8b 71 24             	mov    0x24(%ecx),%esi
406d09:	8b ce                	mov    %esi,%ecx
406d0b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
406d11:	ff d6                	call   *%esi
406d13:	83 c4 0c             	add    $0xc,%esp
406d16:	e9 a8 00 00 00       	jmp    0x406dc3
406d1b:	83 ec 10             	sub    $0x10,%esp
406d1e:	8d 95 a0 fd ff ff    	lea    -0x260(%ebp),%edx
406d24:	8d 8d 88 fd ff ff    	lea    -0x278(%ebp),%ecx
406d2a:	e8 b1 07 02 00       	call   0x4274e0
406d2f:	83 c4 10             	add    $0x10,%esp
406d32:	84 c0                	test   %al,%al
406d34:	0f 85 89 00 00 00    	jne    0x406dc3
406d3a:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
406d3f:	85 c0                	test   %eax,%eax
406d41:	75 36                	jne    0x406d79
406d43:	68 84 00 00 00       	push   $0x84
406d48:	e8 8b 2c 06 00       	call   0x4699d8
406d4d:	8b f0                	mov    %eax,%esi
406d4f:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
406d55:	68 84 00 00 00       	push   $0x84
406d5a:	6a 00                	push   $0x0
406d5c:	56                   	push   %esi
406d5d:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
406d61:	e8 4a 4e 06 00       	call   0x46bbb0
406d66:	83 c4 10             	add    $0x10,%esp
406d69:	8b ce                	mov    %esi,%ecx
406d6b:	e8 10 ef ff ff       	call   0x405c80
406d70:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
406d74:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
406d79:	83 bd b4 fd ff ff 08 	cmpl   $0x8,-0x24c(%ebp)
406d80:	8d 50 04             	lea    0x4(%eax),%edx
406d83:	8b 32                	mov    (%edx),%esi
406d85:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
406d8b:	0f 43 8d a0 fd ff ff 	cmovae -0x260(%ebp),%ecx
406d92:	8d 85 88 fd ff ff    	lea    -0x278(%ebp),%eax
406d98:	83 bd 9c fd ff ff 08 	cmpl   $0x8,-0x264(%ebp)
406d9f:	51                   	push   %ecx
406da0:	0f 43 85 88 fd ff ff 	cmovae -0x278(%ebp),%eax
406da7:	8b 76 24             	mov    0x24(%esi),%esi
406daa:	8b ce                	mov    %esi,%ecx
406dac:	50                   	push   %eax
406dad:	68 28 02 4b 00       	push   $0x4b0228
406db2:	68 60 ea 4a 00       	push   $0x4aea60
406db7:	52                   	push   %edx
406db8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
406dbe:	ff d6                	call   *%esi
406dc0:	83 c4 14             	add    $0x14,%esp
406dc3:	8b 8d b4 fd ff ff    	mov    -0x24c(%ebp),%ecx
406dc9:	b3 01                	mov    $0x1,%bl
406dcb:	83 f9 08             	cmp    $0x8,%ecx
406dce:	72 35                	jb     0x406e05
406dd0:	8b 95 a0 fd ff ff    	mov    -0x260(%ebp),%edx
406dd6:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406ddd:	8b c2                	mov    %edx,%eax
406ddf:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406de5:	72 14                	jb     0x406dfb
406de7:	8b 50 fc             	mov    -0x4(%eax),%edx
406dea:	83 c1 23             	add    $0x23,%ecx
406ded:	2b c2                	sub    %edx,%eax
406def:	83 c0 fc             	add    $0xfffffffc,%eax
406df2:	83 f8 1f             	cmp    $0x1f,%eax
406df5:	0f 87 9a 02 00 00    	ja     0x407095
406dfb:	51                   	push   %ecx
406dfc:	52                   	push   %edx
406dfd:	e8 06 2c 06 00       	call   0x469a08
406e02:	83 c4 08             	add    $0x8,%esp
406e05:	8b 8d 9c fd ff ff    	mov    -0x264(%ebp),%ecx
406e0b:	33 c0                	xor    %eax,%eax
406e0d:	c7 85 b0 fd ff ff 00 	movl   $0x0,-0x250(%ebp)
406e14:	00 00 00
406e17:	c7 85 b4 fd ff ff 07 	movl   $0x7,-0x24c(%ebp)
406e1e:	00 00 00
406e21:	66 89 85 a0 fd ff ff 	mov    %ax,-0x260(%ebp)
406e28:	83 f9 08             	cmp    $0x8,%ecx
406e2b:	72 35                	jb     0x406e62
406e2d:	8b 95 88 fd ff ff    	mov    -0x278(%ebp),%edx
406e33:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406e3a:	8b c2                	mov    %edx,%eax
406e3c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406e42:	72 14                	jb     0x406e58
406e44:	8b 50 fc             	mov    -0x4(%eax),%edx
406e47:	83 c1 23             	add    $0x23,%ecx
406e4a:	2b c2                	sub    %edx,%eax
406e4c:	83 c0 fc             	add    $0xfffffffc,%eax
406e4f:	83 f8 1f             	cmp    $0x1f,%eax
406e52:	0f 87 3d 02 00 00    	ja     0x407095
406e58:	51                   	push   %ecx
406e59:	52                   	push   %edx
406e5a:	e8 a9 2b 06 00       	call   0x469a08
406e5f:	83 c4 08             	add    $0x8,%esp
406e62:	33 c0                	xor    %eax,%eax
406e64:	c7 85 98 fd ff ff 00 	movl   $0x0,-0x268(%ebp)
406e6b:	00 00 00
406e6e:	c7 85 9c fd ff ff 07 	movl   $0x7,-0x264(%ebp)
406e75:	00 00 00
406e78:	66 89 85 88 fd ff ff 	mov    %ax,-0x278(%ebp)
406e7f:	e9 e2 00 00 00       	jmp    0x406f66
406e84:	83 f9 08             	cmp    $0x8,%ecx
406e87:	72 35                	jb     0x406ebe
406e89:	8b 95 4c fd ff ff    	mov    -0x2b4(%ebp),%edx
406e8f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406e96:	8b c2                	mov    %edx,%eax
406e98:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406e9e:	72 14                	jb     0x406eb4
406ea0:	8b 50 fc             	mov    -0x4(%eax),%edx
406ea3:	83 c1 23             	add    $0x23,%ecx
406ea6:	2b c2                	sub    %edx,%eax
406ea8:	83 c0 fc             	add    $0xfffffffc,%eax
406eab:	83 f8 1f             	cmp    $0x1f,%eax
406eae:	0f 87 dc 01 00 00    	ja     0x407090
406eb4:	51                   	push   %ecx
406eb5:	52                   	push   %edx
406eb6:	e8 4d 2b 06 00       	call   0x469a08
406ebb:	83 c4 08             	add    $0x8,%esp
406ebe:	33 c0                	xor    %eax,%eax
406ec0:	c7 85 5c fd ff ff 00 	movl   $0x0,-0x2a4(%ebp)
406ec7:	00 00 00
406eca:	66 89 85 4c fd ff ff 	mov    %ax,-0x2b4(%ebp)
406ed1:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
406ed6:	c7 85 60 fd ff ff 07 	movl   $0x7,-0x2a0(%ebp)
406edd:	00 00 00
406ee0:	85 c0                	test   %eax,%eax
406ee2:	75 36                	jne    0x406f1a
406ee4:	68 84 00 00 00       	push   $0x84
406ee9:	e8 ea 2a 06 00       	call   0x4699d8
406eee:	8b f0                	mov    %eax,%esi
406ef0:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
406ef6:	68 84 00 00 00       	push   $0x84
406efb:	6a 00                	push   $0x0
406efd:	56                   	push   %esi
406efe:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
406f02:	e8 a9 4c 06 00       	call   0x46bbb0
406f07:	83 c4 10             	add    $0x10,%esp
406f0a:	8b ce                	mov    %esi,%ecx
406f0c:	e8 6f ed ff ff       	call   0x405c80
406f11:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
406f15:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
406f1a:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
406f21:	8d 50 04             	lea    0x4(%eax),%edx
406f24:	8b 32                	mov    (%edx),%esi
406f26:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
406f2c:	0f 43 8d d0 fd ff ff 	cmovae -0x230(%ebp),%ecx
406f33:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
406f39:	83 bd cc fd ff ff 08 	cmpl   $0x8,-0x234(%ebp)
406f40:	51                   	push   %ecx
406f41:	0f 43 85 b8 fd ff ff 	cmovae -0x248(%ebp),%eax
406f48:	8b 76 24             	mov    0x24(%esi),%esi
406f4b:	8b ce                	mov    %esi,%ecx
406f4d:	50                   	push   %eax
406f4e:	68 90 01 4b 00       	push   $0x4b0190
406f53:	68 60 ea 4a 00       	push   $0x4aea60
406f58:	52                   	push   %edx
406f59:	ff 15 d4 e2 49 00    	call   *0x49e2d4
406f5f:	ff d6                	call   *%esi
406f61:	83 c4 14             	add    $0x14,%esp
406f64:	32 db                	xor    %bl,%bl
406f66:	8b 8d 84 fd ff ff    	mov    -0x27c(%ebp),%ecx
406f6c:	83 f9 08             	cmp    $0x8,%ecx
406f6f:	72 35                	jb     0x406fa6
406f71:	8b 95 70 fd ff ff    	mov    -0x290(%ebp),%edx
406f77:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406f7e:	8b c2                	mov    %edx,%eax
406f80:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406f86:	72 14                	jb     0x406f9c
406f88:	8b 50 fc             	mov    -0x4(%eax),%edx
406f8b:	83 c1 23             	add    $0x23,%ecx
406f8e:	2b c2                	sub    %edx,%eax
406f90:	83 c0 fc             	add    $0xfffffffc,%eax
406f93:	83 f8 1f             	cmp    $0x1f,%eax
406f96:	0f 87 f9 00 00 00    	ja     0x407095
406f9c:	51                   	push   %ecx
406f9d:	52                   	push   %edx
406f9e:	e8 65 2a 06 00       	call   0x469a08
406fa3:	83 c4 08             	add    $0x8,%esp
406fa6:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
406fac:	33 c0                	xor    %eax,%eax