407a99:	0f 84 be 00 00 00    	je     0x407b5d
407a9f:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
407aa5:	50                   	push   %eax
407aa6:	50                   	push   %eax
407aa7:	68 08 28 40 00       	push   $0x402808
407aac:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
407ab2:	56                   	push   %esi
407ab3:	50                   	push   %eax
407ab4:	e8 eb 0c 00 00       	call   0x4087a4
407ab9:	83 c4 14             	add    $0x14,%esp
407abc:	85 c0                	test   %eax,%eax
407abe:	0f 88 99 00 00 00    	js     0x407b5d
407ac4:	39 3d 30 a2 41 00    	cmp    %edi,0x41a230
407aca:	75 09                	jne    0x407ad5
407acc:	e8 95 af 00 00       	call   0x412a66
407ad1:	85 c0                	test   %eax,%eax
407ad3:	74 0f                	je     0x407ae4
407ad5:	39 3d 3c a2 41 00    	cmp    %edi,0x41a23c
407adb:	74 07                	je     0x407ae4
407add:	b8 78 28 40 00       	mov    $0x402878,%eax
407ae2:	eb 1a                	jmp    0x407afe
407ae4:	39 3d f4 97 41 00    	cmp    %edi,0x4197f4
407aea:	74 0d                	je     0x407af9
407aec:	b8 f8 29 40 00       	mov    $0x4029f8,%eax
407af1:	39 3d fc 97 41 00    	cmp    %edi,0x4197fc
407af7:	75 05                	jne    0x407afe
407af9:	b8 88 2a 40 00       	mov    $0x402a88,%eax
407afe:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
407b04:	51                   	push   %ecx
407b05:	51                   	push   %ecx
407b06:	50                   	push   %eax
407b07:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
407b0d:	68 f4 01 00 00       	push   $0x1f4
407b12:	50                   	push   %eax
407b13:	e8 8c 0c 00 00       	call   0x4087a4
407b18:	83 c4 14             	add    $0x14,%esp
407b1b:	85 c0                	test   %eax,%eax
407b1d:	78 3e                	js     0x407b5d
407b1f:	57                   	push   %edi
407b20:	8d 85 f8 f7 ff ff    	lea    -0x808(%ebp),%eax
407b26:	50                   	push   %eax
407b27:	6a 01                	push   $0x1
407b29:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
407b2f:	50                   	push   %eax
407b30:	ff 15 00 b0 41 00    	call   *0x41b000
407b36:	85 c0                	test   %eax,%eax
407b38:	75 23                	jne    0x407b5d
407b3a:	57                   	push   %edi
407b3b:	8d 85 f8 f7 ff ff    	lea    -0x808(%ebp),%eax
407b41:	50                   	push   %eax
407b42:	6a 01                	push   $0x1
407b44:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
407b4a:	50                   	push   %eax
407b4b:	ff 15 00 b0 41 00    	call   *0x41b000
407b51:	f7 d8                	neg    %eax
407b53:	1b c0                	sbb    %eax,%eax
407b55:	23 85 f8 f7 ff ff    	and    -0x808(%ebp),%eax
407b5b:	eb 06                	jmp    0x407b63
407b5d:	8b 85 f8 f7 ff ff    	mov    -0x808(%ebp),%eax
407b63:	8b 4d f8             	mov    -0x8(%ebp),%ecx
407b66:	5f                   	pop    %edi
407b67:	5e                   	pop    %esi
407b68:	33 cd                	xor    %ebp,%ecx
407b6a:	5b                   	pop    %ebx
407b6b:	e8 70 bd 00 00       	call   0x4138e0
407b70:	c9                   	leave
407b71:	c2 04 00             	ret    $0x4
407b74:	8b ff                	mov    %edi,%edi
407b76:	51                   	push   %ecx
407b77:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
407b7d:	56                   	push   %esi
407b7e:	57                   	push   %edi
407b7f:	8b 08                	mov    (%eax),%ecx
407b81:	a1 f0 97 41 00       	mov    0x4197f0,%eax
407b86:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
407b8c:	7f 09                	jg     0x407b97
407b8e:	a1 ec 97 41 00       	mov    0x4197ec,%eax
407b93:	5f                   	pop    %edi
407b94:	5e                   	pop    %esi
407b95:	59                   	pop    %ecx
407b96:	c3                   	ret
407b97:	bf f0 97 41 00       	mov    $0x4197f0,%edi
407b9c:	57                   	push   %edi
407b9d:	e8 f3 bf 00 00       	call   0x413b95
407ba2:	83 3d f0 97 41 00 ff 	cmpl   $0xffffffff,0x4197f0
407ba9:	59                   	pop    %ecx
407baa:	75 e2                	jne    0x407b8e
407bac:	33 f6                	xor    %esi,%esi
407bae:	c7 05 e0 97 41 00 0c 	movl   $0xc,0x4197e0
407bb5:	00 00 00
407bb8:	51                   	push   %ecx
407bb9:	89 35 ec 97 41 00    	mov    %esi,0x4197ec
407bbf:	89 35 e4 97 41 00    	mov    %esi,0x4197e4
407bc5:	89 35 e8 97 41 00    	mov    %esi,0x4197e8
407bcb:	e8 d3 fd ff ff       	call   0x4079a3
407bd0:	68 b0 46 41 00       	push   $0x4146b0
407bd5:	a3 e4 97 41 00       	mov    %eax,0x4197e4
407bda:	89 35 e8 97 41 00    	mov    %esi,0x4197e8
407be0:	c7 05 ec 97 41 00 e0 	movl   $0x4197e0,0x4197ec
407be7:	97 41 00
407bea:	e8 dc be 00 00       	call   0x413acb
407bef:	59                   	pop    %ecx
407bf0:	57                   	push   %edi
407bf1:	e8 4c bf 00 00       	call   0x413b42
407bf6:	59                   	pop    %ecx
407bf7:	eb 95                	jmp    0x407b8e
407bf9:	8b ff                	mov    %edi,%edi
407bfb:	55                   	push   %ebp
407bfc:	8b ec                	mov    %esp,%ebp
407bfe:	6a ff                	push   $0xffffffff
407c00:	68 1b 42 41 00       	push   $0x41421b
407c05:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407c0b:	50                   	push   %eax
407c0c:	a1 18 51 41 00       	mov    0x415118,%eax
407c11:	33 c5                	xor    %ebp,%eax
407c13:	50                   	push   %eax
407c14:	8d 45 f4             	lea    -0xc(%ebp),%eax
407c17:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407c1d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407c21:	b9 3c 50 41 00       	mov    $0x41503c,%ecx
407c26:	c7 05 3c 50 41 00 54 	movl   $0x401554,0x41503c
407c2d:	15 40 00
407c30:	e8 51 0b 00 00       	call   0x408786
407c35:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407c38:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407c3f:	59                   	pop    %ecx
407c40:	c9                   	leave
407c41:	c3                   	ret
407c42:	8b ff                	mov    %edi,%edi
407c44:	55                   	push   %ebp
407c45:	8b ec                	mov    %esp,%ebp
407c47:	6a ff                	push   $0xffffffff
407c49:	68 1b 42 41 00       	push   $0x41421b
407c4e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407c54:	50                   	push   %eax
407c55:	a1 18 51 41 00       	mov    0x415118,%eax
407c5a:	33 c5                	xor    %ebp,%eax
407c5c:	50                   	push   %eax
407c5d:	8d 45 f4             	lea    -0xc(%ebp),%eax
407c60:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407c66:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407c6a:	b9 44 50 41 00       	mov    $0x415044,%ecx
407c6f:	c7 05 44 50 41 00 54 	movl   $0x401554,0x415044
407c76:	15 40 00
407c79:	e8 08 0b 00 00       	call   0x408786
407c7e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407c81:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407c88:	59                   	pop    %ecx
407c89:	c9                   	leave
407c8a:	c3                   	ret
407c8b:	8b ff                	mov    %edi,%edi
407c8d:	53                   	push   %ebx
407c8e:	56                   	push   %esi
407c8f:	57                   	push   %edi
407c90:	bf 44 50 41 00       	mov    $0x415044,%edi
407c95:	8b cf                	mov    %edi,%ecx
407c97:	e8 ea 0a 00 00       	call   0x408786
407c9c:	68 48 50 41 00       	push   $0x415048
407ca1:	68 d4 27 40 00       	push   $0x4027d4
407ca6:	6a 01                	push   $0x1
407ca8:	33 f6                	xor    %esi,%esi
407caa:	56                   	push   %esi
407cab:	68 e4 27 40 00       	push   $0x4027e4
407cb0:	ff 15 88 b3 41 00    	call   *0x41b388
407cb6:	85 c0                	test   %eax,%eax
407cb8:	0f 88 86 00 00 00    	js     0x407d44
407cbe:	39 35 48 50 41 00    	cmp    %esi,0x415048
407cc4:	74 7e                	je     0x407d44
407cc6:	bb 3c 50 41 00       	mov    $0x41503c,%ebx
407ccb:	8b cb                	mov    %ebx,%ecx
407ccd:	e8 b4 0a 00 00       	call   0x408786
407cd2:	8b 0d 48 50 41 00    	mov    0x415048,%ecx
407cd8:	89 35 40 50 41 00    	mov    %esi,0x415040
407cde:	85 c9                	test   %ecx,%ecx
407ce0:	74 21                	je     0x407d03
407ce2:	8b 01                	mov    (%ecx),%eax
407ce4:	68 40 50 41 00       	push   $0x415040
407ce9:	68 f4 27 40 00       	push   $0x4027f4
407cee:	51                   	push   %ecx
407cef:	8b 30                	mov    (%eax),%esi
407cf1:	8b ce                	mov    %esi,%ecx
407cf3:	ff 15 90 b3 41 00    	call   *0x41b390
407cf9:	ff d6                	call   *%esi
407cfb:	8b 35 40 50 41 00    	mov    0x415040,%esi
407d01:	eb 05                	jmp    0x407d08
407d03:	b8 05 40 00 80       	mov    $0x80004005,%eax
407d08:	85 c0                	test   %eax,%eax
407d0a:	78 38                	js     0x407d44
407d0c:	85 f6                	test   %esi,%esi
407d0e:	74 34                	je     0x407d44
407d10:	8b 06                	mov    (%esi),%eax
407d12:	6a 01                	push   $0x1
407d14:	56                   	push   %esi
407d15:	8b 70 14             	mov    0x14(%eax),%esi
407d18:	8b ce                	mov    %esi,%ecx
407d1a:	ff 15 90 b3 41 00    	call   *0x41b390
407d20:	ff d6                	call   *%esi
407d22:	ff 35 80 93 41 00    	push   0x419380
407d28:	68 4d 01 00 00       	push   $0x14d
407d2d:	e8 c9 b0 00 00       	call   0x412dfb
407d32:	85 c0                	test   %eax,%eax
407d34:	79 14                	jns    0x407d4a
407d36:	8b cb                	mov    %ebx,%ecx
407d38:	e8 49 0a 00 00       	call   0x408786
407d3d:	8b cf                	mov    %edi,%ecx
407d3f:	e8 42 0a 00 00       	call   0x408786
407d44:	33 c0                	xor    %eax,%eax
407d46:	5f                   	pop    %edi
407d47:	5e                   	pop    %esi
407d48:	5b                   	pop    %ebx
407d49:	c3                   	ret
407d4a:	33 c0                	xor    %eax,%eax
407d4c:	40                   	inc    %eax
407d4d:	eb f7                	jmp    0x407d46
407d4f:	6a 4c                	push   $0x4c
407d51:	b8 6b 42 41 00       	mov    $0x41426b,%eax
407d56:	e8 17 bf 00 00       	call   0x413c72
407d5b:	8b f9                	mov    %ecx,%edi
407d5d:	51                   	push   %ecx
407d5e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
407d61:	e8 f4 80 00 00       	call   0x40fe5a
407d66:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407d6a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407d6d:	e8 14 0a 00 00       	call   0x408786
407d72:	8d 45 ec             	lea    -0x14(%ebp),%eax
407d75:	50                   	push   %eax
407d76:	51                   	push   %ecx
407d77:	51                   	push   %ecx
407d78:	8d 4d cc             	lea    -0x34(%ebp),%ecx
407d7b:	e8 e4 b2 00 00       	call   0x413064
407d80:	ff 75 ec             	push   -0x14(%ebp)
407d83:	8d 4d a8             	lea    -0x58(%ebp),%ecx
407d86:	e8 86 81 00 00       	call   0x40ff11
407d8b:	8b d0                	mov    %eax,%edx
407d8d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407d91:	e8 18 01 00 00       	call   0x407eae
407d96:	8b 4a 20             	mov    0x20(%edx),%ecx
407d99:	85 c9                	test   %ecx,%ecx
407d9b:	74 16                	je     0x407db3
407d9d:	8b 31                	mov    (%ecx),%esi
407d9f:	57                   	push   %edi
407da0:	50                   	push   %eax
407da1:	68 04 04 00 00       	push   $0x404
407da6:	51                   	push   %ecx
407da7:	8b 4e 18             	mov    0x18(%esi),%ecx
407daa:	ff 15 90 b3 41 00    	call   *0x41b390
407db0:	ff 56 18             	call   *0x18(%esi)
407db3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407db7:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
407dba:	c7 45 c4 54 15 40 00 	movl   $0x401554,-0x3c(%ebp)
407dc1:	e8 c0 09 00 00       	call   0x408786
407dc6:	8d 4d a8             	lea    -0x58(%ebp),%ecx
407dc9:	e8 14 b2 00 00       	call   0x412fe2
407dce:	8d 4d cc             	lea    -0x34(%ebp),%ecx
407dd1:	e8 dc 80 00 00       	call   0x40feb2
407dd6:	e8 55 be 00 00       	call   0x413c30
407ddb:	c3                   	ret
407ddc:	8b ff                	mov    %edi,%edi
407dde:	55                   	push   %ebp
407ddf:	8b ec                	mov    %esp,%ebp
407de1:	6a ff                	push   $0xffffffff
407de3:	68 90 42 41 00       	push   $0x414290
407de8:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407dee:	50                   	push   %eax
407def:	56                   	push   %esi
407df0:	a1 18 51 41 00       	mov    0x415118,%eax
407df5:	33 c5                	xor    %ebp,%eax
407df7:	50                   	push   %eax
407df8:	8d 45 f4             	lea    -0xc(%ebp),%eax
407dfb:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407e01:	8b f1                	mov    %ecx,%esi
407e03:	8d 4e 1c             	lea    0x1c(%esi),%ecx
407e06:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407e0a:	c7 01 54 15 40 00    	movl   $0x401554,(%ecx)
407e10:	e8 71 09 00 00       	call   0x408786
407e15:	8b ce                	mov    %esi,%ecx
407e17:	e8 c6 b1 00 00       	call   0x412fe2
407e1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407e1f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407e26:	59                   	pop    %ecx
407e27:	5e                   	pop    %esi
407e28:	c9                   	leave
407e29:	c3                   	ret
407e2a:	6a 50                	push   $0x50
407e2c:	b8 bb 42 41 00       	mov    $0x4142bb,%eax
407e31:	e8 3c be 00 00       	call   0x413c72
407e36:	83 65 a4 00          	andl   $0x0,-0x5c(%ebp)
407e3a:	51                   	push   %ecx
407e3b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
407e3e:	e8 17 80 00 00       	call   0x40fe5a
407e43:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407e47:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407e4a:	e8 37 09 00 00       	call   0x408786
407e4f:	8d 45 ec             	lea    -0x14(%ebp),%eax
407e52:	50                   	push   %eax
407e53:	51                   	push   %ecx
407e54:	51                   	push   %ecx
407e55:	8d 4d cc             	lea    -0x34(%ebp),%ecx
407e58:	e8 07 b2 00 00       	call   0x413064
407e5d:	ff 75 ec             	push   -0x14(%ebp)
407e60:	8d 4d a8             	lea    -0x58(%ebp),%ecx
407e63:	e8 a9 80 00 00       	call   0x40ff11
407e68:	8b d0                	mov    %eax,%edx
407e6a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
407e6d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407e71:	50                   	push   %eax
407e72:	e8 37 00 00 00       	call   0x407eae
407e77:	50                   	push   %eax
407e78:	51                   	push   %ecx
407e79:	8b ca                	mov    %edx,%ecx
407e7b:	e8 32 81 00 00       	call   0x40ffb2
407e80:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407e84:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
407e87:	c7 45 c4 54 15 40 00 	movl   $0x401554,-0x3c(%ebp)
407e8e:	e8 f3 08 00 00       	call   0x408786
407e93:	8d 4d a8             	lea    -0x58(%ebp),%ecx
407e96:	e8 47 b1 00 00       	call   0x412fe2
407e9b:	8b 75 a4             	mov    -0x5c(%ebp),%esi
407e9e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
407ea1:	e8 0c 80 00 00       	call   0x40feb2
407ea6:	8b c6                	mov    %esi,%eax
407ea8:	e8 83 bd 00 00       	call   0x413c30
407ead:	c3                   	ret
407eae:	8b 0d 80 93 41 00    	mov    0x419380,%ecx
407eb4:	33 c0                	xor    %eax,%eax
407eb6:	f6 c1 01             	test   $0x1,%cl
407eb9:	74 04                	je     0x407ebf
407ebb:	6a 03                	push   $0x3
407ebd:	58                   	pop    %eax
407ebe:	c3                   	ret
407ebf:	f6 c1 02             	test   $0x2,%cl
407ec2:	74 04                	je     0x407ec8
407ec4:	6a 04                	push   $0x4
407ec6:	58                   	pop    %eax
407ec7:	c3                   	ret
407ec8:	f6 c1 04             	test   $0x4,%cl
407ecb:	74 04                	je     0x407ed1
407ecd:	6a 05                	push   $0x5
407ecf:	58                   	pop    %eax
407ed0:	c3                   	ret
407ed1:	f6 c1 08             	test   $0x8,%cl
407ed4:	74 04                	je     0x407eda
407ed6:	6a 06                	push   $0x6
407ed8:	58                   	pop    %eax
407ed9:	c3                   	ret
407eda:	f6 c1 10             	test   $0x10,%cl
407edd:	74 04                	je     0x407ee3
407edf:	6a 07                	push   $0x7
407ee1:	58                   	pop    %eax
407ee2:	c3                   	ret