459ceb:	e8 6c 77 fa ff       	call   0x40145c
459cf0:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
459cf6:	50                   	push   %eax
459cf7:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
459cfd:	50                   	push   %eax
459cfe:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
459d04:	50                   	push   %eax
459d05:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
459d0b:	50                   	push   %eax
459d0c:	6a 04                	push   $0x4
459d0e:	e8 7f 77 fa ff       	call   0x401492
459d13:	83 c4 14             	add    $0x14,%esp
459d16:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
459d1d:	00 02 80
459d20:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
459d27:	00 00 00
459d2a:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
459d31:	00 02 80
459d34:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
459d3b:	00 00 00
459d3e:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
459d45:	00 02 80
459d48:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
459d4f:	00 00 00
459d52:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
459d59:	39 40 00
459d5c:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
459d63:	00 00 00
459d66:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
459d6c:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
459d72:	e8 df 76 fa ff       	call   0x401456
459d77:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
459d7d:	50                   	push   %eax
459d7e:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
459d84:	50                   	push   %eax
459d85:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
459d8b:	50                   	push   %eax
459d8c:	6a 00                	push   $0x0
459d8e:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
459d94:	50                   	push   %eax
459d95:	e8 c2 76 fa ff       	call   0x40145c
459d9a:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
459da0:	50                   	push   %eax
459da1:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
459da7:	50                   	push   %eax
459da8:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
459dae:	50                   	push   %eax
459daf:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
459db5:	50                   	push   %eax
459db6:	6a 04                	push   $0x4
459db8:	e8 d5 76 fa ff       	call   0x401492
459dbd:	83 c4 14             	add    $0x14,%esp
459dc0:	66 83 8d b4 fe ff ff 	orw    $0xffff,-0x14c(%ebp)
459dc7:	ff
459dc8:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459dce:	33 c9                	xor    %ecx,%ecx
459dd0:	83 78 48 01          	cmpl   $0x1,0x48(%eax)
459dd4:	0f 94 c1             	sete   %cl
459dd7:	f7 d9                	neg    %ecx
459dd9:	66 39 8d b4 fe ff ff 	cmp    %cx,-0x14c(%ebp)
459de0:	0f 85 e4 00 00 00    	jne    0x459eca
459de6:	66 83 8d b0 fe ff ff 	orw    $0xffff,-0x150(%ebp)
459ded:	ff
459dee:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459df4:	8b 40 48             	mov    0x48(%eax),%eax
459df7:	0c 0c                	or     $0xc,%al
459df9:	f7 d8                	neg    %eax
459dfb:	1b c0                	sbb    %eax,%eax
459dfd:	f7 d8                	neg    %eax
459dff:	f7 d8                	neg    %eax
459e01:	66 39 85 b0 fe ff ff 	cmp    %ax,-0x150(%ebp)
459e08:	75 09                	jne    0x459e13
459e0a:	c7 45 e8 10 00 00 00 	movl   $0x10,-0x18(%ebp)
459e11:	eb 48                	jmp    0x459e5b
459e13:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459e19:	8b 40 48             	mov    0x48(%eax),%eax
459e1c:	0c 04                	or     $0x4,%al
459e1e:	f7 d8                	neg    %eax
459e20:	1b c0                	sbb    %eax,%eax
459e22:	f7 d8                	neg    %eax
459e24:	f7 d8                	neg    %eax
459e26:	66 39 85 b0 fe ff ff 	cmp    %ax,-0x150(%ebp)
459e2d:	75 09                	jne    0x459e38
459e2f:	c7 45 e8 40 00 00 00 	movl   $0x40,-0x18(%ebp)
459e36:	eb 23                	jmp    0x459e5b
459e38:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459e3e:	8b 40 48             	mov    0x48(%eax),%eax
459e41:	0c 08                	or     $0x8,%al
459e43:	f7 d8                	neg    %eax
459e45:	1b c0                	sbb    %eax,%eax
459e47:	f7 d8                	neg    %eax
459e49:	f7 d8                	neg    %eax
459e4b:	66 39 85 b0 fe ff ff 	cmp    %ax,-0x150(%ebp)
459e52:	75 07                	jne    0x459e5b
459e54:	c7 45 e8 30 00 00 00 	movl   $0x30,-0x18(%ebp)
459e5b:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
459e62:	00 02 80
459e65:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
459e6c:	00 00 00
459e6f:	c7 85 4c ff ff ff 04 	movl   $0x80020004,-0xb4(%ebp)
459e76:	00 02 80
459e79:	c7 85 44 ff ff ff 0a 	movl   $0xa,-0xbc(%ebp)
459e80:	00 00 00
459e83:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
459e89:	50                   	push   %eax
459e8a:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
459e90:	50                   	push   %eax
459e91:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459e97:	83 c0 28             	add    $0x28,%eax
459e9a:	50                   	push   %eax
459e9b:	ff 75 e8             	push   -0x18(%ebp)
459e9e:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459ea4:	83 c0 18             	add    $0x18,%eax
459ea7:	50                   	push   %eax
459ea8:	e8 af 75 fa ff       	call   0x40145c
459ead:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
459eb3:	50                   	push   %eax
459eb4:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
459eba:	50                   	push   %eax
459ebb:	6a 02                	push   $0x2
459ebd:	e8 d0 75 fa ff       	call   0x401492
459ec2:	83 c4 0c             	add    $0xc,%esp
459ec5:	e9 6c 01 00 00       	jmp    0x45a036
459eca:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459ed0:	8b 40 4c             	mov    0x4c(%eax),%eax
459ed3:	83 e0 20             	and    $0x20,%eax
459ed6:	f7 d8                	neg    %eax
459ed8:	1b c0                	sbb    %eax,%eax
459eda:	f7 d8                	neg    %eax
459edc:	f7 d8                	neg    %eax
459ede:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459ee5:	75 12                	jne    0x459ef9
459ee7:	6a ff                	push   $0xffffffff
459ee9:	6a 00                	push   $0x0
459eeb:	6a 00                	push   $0x0
459eed:	6a 00                	push   $0x0
459eef:	e8 e8 11 fb ff       	call   0x40b0dc
459ef4:	e9 3d 01 00 00       	jmp    0x45a036
459ef9:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459eff:	8b 40 4c             	mov    0x4c(%eax),%eax
459f02:	83 e0 10             	and    $0x10,%eax
459f05:	f7 d8                	neg    %eax
459f07:	1b c0                	sbb    %eax,%eax
459f09:	f7 d8                	neg    %eax
459f0b:	f7 d8                	neg    %eax
459f0d:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459f14:	75 0a                	jne    0x459f20
459f16:	e8 a7 3e fb ff       	call   0x40ddc2
459f1b:	e9 16 01 00 00       	jmp    0x45a036
459f20:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459f26:	8b 40 4c             	mov    0x4c(%eax),%eax
459f29:	83 e0 08             	and    $0x8,%eax
459f2c:	f7 d8                	neg    %eax
459f2e:	1b c0                	sbb    %eax,%eax
459f30:	f7 d8                	neg    %eax
459f32:	f7 d8                	neg    %eax
459f34:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459f3b:	75 0a                	jne    0x459f47
459f3d:	e8 85 0c fb ff       	call   0x40abc7
459f42:	e9 ef 00 00 00       	jmp    0x45a036
459f47:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459f4d:	8b 40 4c             	mov    0x4c(%eax),%eax
459f50:	83 e0 40             	and    $0x40,%eax
459f53:	f7 d8                	neg    %eax
459f55:	1b c0                	sbb    %eax,%eax
459f57:	f7 d8                	neg    %eax
459f59:	f7 d8                	neg    %eax
459f5b:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459f62:	75 0a                	jne    0x459f6e
459f64:	e8 4c 12 fb ff       	call   0x40b1b5
459f69:	e9 c8 00 00 00       	jmp    0x45a036
459f6e:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459f74:	8b 40 4c             	mov    0x4c(%eax),%eax
459f77:	83 e0 01             	and    $0x1,%eax
459f7a:	f7 d8                	neg    %eax
459f7c:	1b c0                	sbb    %eax,%eax
459f7e:	f7 d8                	neg    %eax
459f80:	f7 d8                	neg    %eax
459f82:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459f89:	75 12                	jne    0x459f9d
459f8b:	6a 00                	push   $0x0
459f8d:	6a 00                	push   $0x0
459f8f:	6a 00                	push   $0x0
459f91:	6a ff                	push   $0xffffffff
459f93:	e8 44 11 fb ff       	call   0x40b0dc
459f98:	e9 99 00 00 00       	jmp    0x45a036
459f9d:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459fa3:	8b 40 4c             	mov    0x4c(%eax),%eax
459fa6:	83 e0 02             	and    $0x2,%eax
459fa9:	f7 d8                	neg    %eax
459fab:	1b c0                	sbb    %eax,%eax
459fad:	f7 d8                	neg    %eax
459faf:	f7 d8                	neg    %eax
459fb1:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459fb8:	75 0f                	jne    0x459fc9
459fba:	6a 00                	push   $0x0
459fbc:	6a 00                	push   $0x0
459fbe:	6a ff                	push   $0xffffffff
459fc0:	6a 00                	push   $0x0
459fc2:	e8 15 11 fb ff       	call   0x40b0dc
459fc7:	eb 6d                	jmp    0x45a036
459fc9:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459fcf:	8b 40 4c             	mov    0x4c(%eax),%eax
459fd2:	83 e0 03             	and    $0x3,%eax
459fd5:	f7 d8                	neg    %eax
459fd7:	1b c0                	sbb    %eax,%eax
459fd9:	f7 d8                	neg    %eax
459fdb:	f7 d8                	neg    %eax
459fdd:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
459fe4:	75 0f                	jne    0x459ff5
459fe6:	6a 00                	push   $0x0
459fe8:	6a ff                	push   $0xffffffff
459fea:	6a 00                	push   $0x0
459fec:	6a 00                	push   $0x0
459fee:	e8 e9 10 fb ff       	call   0x40b0dc
459ff3:	eb 41                	jmp    0x45a036
459ff5:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
459ffb:	8b 40 4c             	mov    0x4c(%eax),%eax
459ffe:	83 e0 04             	and    $0x4,%eax
45a001:	f7 d8                	neg    %eax
45a003:	1b c0                	sbb    %eax,%eax
45a005:	f7 d8                	neg    %eax
45a007:	f7 d8                	neg    %eax
45a009:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
45a010:	75 02                	jne    0x45a014
45a012:	eb 22                	jmp    0x45a036
45a014:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
45a01a:	8b 40 4c             	mov    0x4c(%eax),%eax
45a01d:	83 e0 05             	and    $0x5,%eax
45a020:	f7 d8                	neg    %eax
45a022:	1b c0                	sbb    %eax,%eax
45a024:	f7 d8                	neg    %eax
45a026:	f7 d8                	neg    %eax
45a028:	66 39 85 b4 fe ff ff 	cmp    %ax,-0x14c(%ebp)
45a02f:	75 05                	jne    0x45a036
45a031:	e8 45 11 fb ff       	call   0x40b17b
45a036:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
45a03c:	8b 40 0c             	mov    0xc(%eax),%eax
45a03f:	48                   	dec    %eax
45a040:	89 85 a0 fe ff ff    	mov    %eax,-0x160(%ebp)
45a046:	c7 85 a4 fe ff ff 01 	movl   $0x1,-0x15c(%ebp)
45a04d:	00 00 00
45a050:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
45a054:	eb 0c                	jmp    0x45a062
45a056:	8b 45 d0             	mov    -0x30(%ebp),%eax
45a059:	03 85 a4 fe ff ff    	add    -0x15c(%ebp),%eax
45a05f:	89 45 d0             	mov    %eax,-0x30(%ebp)
45a062:	8b 45 d0             	mov    -0x30(%ebp),%eax
45a065:	3b 85 a0 fe ff ff    	cmp    -0x160(%ebp),%eax
45a06b:	0f 8f 71 54 00 00    	jg     0x45f4e2
45a071:	8b 85 bc fe ff ff    	mov    -0x144(%ebp),%eax
45a077:	8b 4d d0             	mov    -0x30(%ebp),%ecx
45a07a:	3b 48 10             	cmp    0x10(%eax),%ecx
45a07d:	0f 84 5a 54 00 00    	je     0x45f4dd
45a083:	83 c8 ff             	or     $0xffffffff,%eax
45a086:	85 c0                	test   %eax,%eax
45a088:	74 05                	je     0x45a08f
45a08a:	e9 93 28 00 00       	jmp    0x45c922
45a08f:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a096:	00 02 80
45a099:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a0a0:	00 00 00
45a0a3:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a0aa:	00 02 80
45a0ad:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a0b4:	00 00 00
45a0b7:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a0be:	00 02 80
45a0c1:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a0c8:	00 00 00
45a0cb:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a0d2:	39 40 00
45a0d5:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a0dc:	00 00 00
45a0df:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a0e5:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a0eb:	e8 66 73 fa ff       	call   0x401456
45a0f0:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a0f6:	50                   	push   %eax
45a0f7:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a0fd:	50                   	push   %eax
45a0fe:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a104:	50                   	push   %eax
45a105:	6a 00                	push   $0x0
45a107:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a10d:	50                   	push   %eax
45a10e:	e8 49 73 fa ff       	call   0x40145c
45a113:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a119:	50                   	push   %eax
45a11a:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a120:	50                   	push   %eax
45a121:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a127:	50                   	push   %eax
45a128:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a12e:	50                   	push   %eax
45a12f:	6a 04                	push   $0x4
45a131:	e8 5c 73 fa ff       	call   0x401492
45a136:	83 c4 14             	add    $0x14,%esp
45a139:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a140:	00 02 80
45a143:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a14a:	00 00 00
45a14d:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a154:	00 02 80
45a157:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a15e:	00 00 00
45a161:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a168:	00 02 80
45a16b:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a172:	00 00 00
45a175:	c7 85 0c ff ff ff 00 	movl   $0x403900,-0xf4(%ebp)
45a17c:	39 40 00
45a17f:	c7 85 04 ff ff ff 08 	movl   $0x8,-0xfc(%ebp)
45a186:	00 00 00
45a189:	8d 95 04 ff ff ff    	lea    -0xfc(%ebp),%edx
45a18f:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
45a195:	e8 bc 72 fa ff       	call   0x401456
45a19a:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a1a0:	50                   	push   %eax
45a1a1:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a1a7:	50                   	push   %eax
45a1a8:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a1ae:	50                   	push   %eax
45a1af:	6a 00                	push   $0x0
45a1b1:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a1b7:	50                   	push   %eax
45a1b8:	e8 9f 72 fa ff       	call   0x40145c
45a1bd:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
45a1c3:	50                   	push   %eax
45a1c4:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
45a1ca:	50                   	push   %eax
45a1cb:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
45a1d1:	50                   	push   %eax
45a1d2:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
45a1d8:	50                   	push   %eax
45a1d9:	6a 04                	push   $0x4
45a1db:	e8 b2 72 fa ff       	call   0x401492
45a1e0:	83 c4 14             	add    $0x14,%esp
45a1e3:	c7 85 1c ff ff ff 04 	movl   $0x80020004,-0xe4(%ebp)
45a1ea:	00 02 80
45a1ed:	c7 85 14 ff ff ff 0a 	movl   $0xa,-0xec(%ebp)
45a1f4:	00 00 00
45a1f7:	c7 85 2c ff ff ff 04 	movl   $0x80020004,-0xd4(%ebp)
45a1fe:	00 02 80
45a201:	c7 85 24 ff ff ff 0a 	movl   $0xa,-0xdc(%ebp)
45a208:	00 00 00
45a20b:	c7 85 3c ff ff ff 04 	movl   $0x80020004,-0xc4(%ebp)
45a212:	00 02 80
45a215:	c7 85 34 ff ff ff 0a 	movl   $0xa,-0xcc(%ebp)
45a21c:	00 00 00