415ace:	8d 45 98             	lea    -0x68(%ebp),%eax
415ad1:	89 35 c8 8d 43 00    	mov    %esi,0x438dc8
415ad7:	50                   	push   %eax
415ad8:	8d 45 94             	lea    -0x6c(%ebp),%eax
415adb:	8b cf                	mov    %edi,%ecx
415add:	50                   	push   %eax
415ade:	e8 fd dd ff ff       	call   0x4138e0
415ae3:	8b f0                	mov    %eax,%esi
415ae5:	85 f6                	test   %esi,%esi
415ae7:	78 3a                	js     0x415b23
415ae9:	ff 75 98             	push   -0x68(%ebp)
415aec:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
415aef:	53                   	push   %ebx
415af0:	ff 75 94             	push   -0x6c(%ebp)
415af3:	e8 a8 db ff ff       	call   0x4136a0
415af8:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
415afc:	0f 84 0d cd 00 00    	je     0x42280f
415b02:	ff 75 a0             	push   -0x60(%ebp)
415b05:	ff 15 78 a4 43 00    	call   *0x43a478
415b0b:	59                   	pop    %ecx
415b0c:	8b 0d 9c 8d 43 00    	mov    0x438d9c,%ecx
415b12:	99                   	cltd
415b13:	8b f8                	mov    %eax,%edi
415b15:	85 c9                	test   %ecx,%ecx
415b17:	0f 85 64 cd 00 00    	jne    0x422881
415b1d:	89 3d 9c 8d 43 00    	mov    %edi,0x438d9c
415b23:	8b 45 a0             	mov    -0x60(%ebp),%eax
415b26:	c7 45 9c 64 11 40 00 	movl   $0x401164,-0x64(%ebp)
415b2d:	85 c0                	test   %eax,%eax
415b2f:	74 0b                	je     0x415b3c
415b31:	8d 4d ac             	lea    -0x54(%ebp),%ecx
415b34:	3b c1                	cmp    %ecx,%eax
415b36:	0f 85 58 cd 00 00    	jne    0x422894
415b3c:	8b c6                	mov    %esi,%eax
415b3e:	e8 ad 52 00 00       	call   0x41adf0
415b43:	c3                   	ret
415b44:	8b ff                	mov    %edi,%edi
415b46:	55                   	push   %ebp
415b47:	8b ec                	mov    %esp,%ebp
415b49:	83 ec 0c             	sub    $0xc,%esp
415b4c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
415b50:	53                   	push   %ebx
415b51:	56                   	push   %esi
415b52:	57                   	push   %edi
415b53:	8b d9                	mov    %ecx,%ebx
415b55:	74 5d                	je     0x415bb4
415b57:	ff 73 2c             	push   0x2c(%ebx)
415b5a:	e8 93 f3 ff ff       	call   0x414ef2
415b5f:	83 7b 48 ff          	cmpl   $0xffffffff,0x48(%ebx)
415b63:	8b c8                	mov    %eax,%ecx
415b65:	89 4d f4             	mov    %ecx,-0xc(%ebp)
415b68:	bf 10 27 00 00       	mov    $0x2710,%edi
415b6d:	0f 85 2e cd 00 00    	jne    0x4228a1
415b73:	8b 75 0c             	mov    0xc(%ebp),%esi
415b76:	3b f7                	cmp    %edi,%esi
415b78:	72 41                	jb     0x415bbb
415b7a:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
415b7e:	33 c0                	xor    %eax,%eax
415b80:	89 45 fc             	mov    %eax,-0x4(%ebp)
415b83:	8d 43 14             	lea    0x14(%ebx),%eax
415b86:	57                   	push   %edi
415b87:	8b d0                	mov    %eax,%edx
415b89:	e8 f2 ef ff ff       	call   0x414b80
415b8e:	8b 53 28             	mov    0x28(%ebx),%edx
415b91:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
415b97:	85 c9                	test   %ecx,%ecx
415b99:	79 27                	jns    0x415bc2
415b9b:	3d 02 01 00 00       	cmp    $0x102,%eax
415ba0:	0f 84 0c cd 00 00    	je     0x4228b2
415ba6:	8b c8                	mov    %eax,%ecx
415ba8:	e8 99 f3 ff ff       	call   0x414f46
415bad:	5f                   	pop    %edi
415bae:	5e                   	pop    %esi
415baf:	5b                   	pop    %ebx
415bb0:	c9                   	leave
415bb1:	c2 08 00             	ret    $0x8
415bb4:	b8 03 40 00 80       	mov    $0x80004003,%eax
415bb9:	eb f2                	jmp    0x415bad
415bbb:	8b f7                	mov    %edi,%esi
415bbd:	89 75 0c             	mov    %esi,0xc(%ebp)
415bc0:	eb b8                	jmp    0x415b7a
415bc2:	b8 b4 0d 04 80       	mov    $0x80040db4,%eax
415bc7:	eb e4                	jmp    0x415bad
415bc9:	8b ff                	mov    %edi,%edi
415bcb:	55                   	push   %ebp
415bcc:	8b ec                	mov    %esp,%ebp
415bce:	83 ec 48             	sub    $0x48,%esp
415bd1:	a1 08 85 43 00       	mov    0x438508,%eax
415bd6:	33 c5                	xor    %ebp,%eax
415bd8:	89 45 fc             	mov    %eax,-0x4(%ebp)
415bdb:	53                   	push   %ebx
415bdc:	56                   	push   %esi
415bdd:	57                   	push   %edi
415bde:	33 c0                	xor    %eax,%eax
415be0:	8d 7d d8             	lea    -0x28(%ebp),%edi
415be3:	89 45 c8             	mov    %eax,-0x38(%ebp)
415be6:	be 10 5f 40 00       	mov    $0x405f10,%esi
415beb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
415bee:	8b d9                	mov    %ecx,%ebx
415bf0:	89 45 f0             	mov    %eax,-0x10(%ebp)
415bf3:	89 45 f4             	mov    %eax,-0xc(%ebp)
415bf6:	89 45 f8             	mov    %eax,-0x8(%ebp)
415bf9:	6a 02                	push   $0x2
415bfb:	58                   	pop    %eax
415bfc:	89 45 cc             	mov    %eax,-0x34(%ebp)
415bff:	89 45 d0             	mov    %eax,-0x30(%ebp)
415c02:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415c03:	6a 1f                	push   $0x1f
415c05:	58                   	pop    %eax
415c06:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
415c0a:	8b 42 04             	mov    0x4(%edx),%eax
415c0d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415c0e:	89 45 c0             	mov    %eax,-0x40(%ebp)
415c11:	8d 45 c8             	lea    -0x38(%ebp),%eax
415c14:	50                   	push   %eax
415c15:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415c16:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415c17:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
415c1e:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
415c25:	e8 a6 ce ff ff       	call   0x412ad0
415c2a:	85 c0                	test   %eax,%eax
415c2c:	78 0b                	js     0x415c39
415c2e:	8d 45 b8             	lea    -0x48(%ebp),%eax
415c31:	8b cb                	mov    %ebx,%ecx
415c33:	50                   	push   %eax
415c34:	e8 47 9c ff ff       	call   0x40f880
415c39:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415c3c:	5f                   	pop    %edi
415c3d:	5e                   	pop    %esi
415c3e:	33 cd                	xor    %ebp,%ecx
415c40:	5b                   	pop    %ebx
415c41:	e8 7a 4b 00 00       	call   0x41a7c0
415c46:	c9                   	leave
415c47:	c3                   	ret
415c48:	8b ff                	mov    %edi,%edi
415c4a:	55                   	push   %ebp
415c4b:	8b ec                	mov    %esp,%ebp
415c4d:	51                   	push   %ecx
415c4e:	8b 45 08             	mov    0x8(%ebp),%eax
415c51:	56                   	push   %esi
415c52:	8b f1                	mov    %ecx,%esi
415c54:	6a ff                	push   $0xffffffff
415c56:	8b 50 04             	mov    0x4(%eax),%edx
415c59:	52                   	push   %edx
415c5a:	8d 46 10             	lea    0x10(%esi),%eax
415c5d:	89 75 fc             	mov    %esi,-0x4(%ebp)
415c60:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
415c66:	89 46 04             	mov    %eax,0x4(%esi)
415c69:	c7 46 08 41 00 00 00 	movl   $0x41,0x8(%esi)
415c70:	e8 5b e0 ff ff       	call   0x413cd0
415c75:	c7 06 c4 11 40 00    	movl   $0x4011c4,(%esi)
415c7b:	8b c6                	mov    %esi,%eax
415c7d:	5e                   	pop    %esi
415c7e:	c9                   	leave
415c7f:	c2 04 00             	ret    $0x4
415c82:	6a 04                	push   $0x4
415c84:	b8 b4 ea 41 00       	mov    $0x41eab4,%eax
415c89:	e8 80 51 00 00       	call   0x41ae0e
415c8e:	8b fa                	mov    %edx,%edi
415c90:	8b d9                	mov    %ecx,%ebx
415c92:	8b 75 14             	mov    0x14(%ebp),%esi
415c95:	33 c0                	xor    %eax,%eax
415c97:	89 45 f0             	mov    %eax,-0x10(%ebp)
415c9a:	89 06                	mov    %eax,(%esi)
415c9c:	8b 55 0c             	mov    0xc(%ebp),%edx
415c9f:	8b 4d 08             	mov    0x8(%ebp),%ecx
415ca2:	89 45 fc             	mov    %eax,-0x4(%ebp)
415ca5:	8d 45 f0             	lea    -0x10(%ebp),%eax
415ca8:	50                   	push   %eax
415ca9:	e8 2b 00 00 00       	call   0x415cd9
415cae:	56                   	push   %esi
415caf:	51                   	push   %ecx
415cb0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415cb3:	8b d3                	mov    %ebx,%edx
415cb5:	57                   	push   %edi
415cb6:	e8 4b 01 00 00       	call   0x415e06
415cbb:	8b f0                	mov    %eax,%esi
415cbd:	85 f6                	test   %esi,%esi
415cbf:	0f 88 5f cc 00 00    	js     0x422924
415cc5:	33 f6                	xor    %esi,%esi
415cc7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415cca:	e8 30 65 ff ff       	call   0x40c1ff
415ccf:	8b c6                	mov    %esi,%eax
415cd1:	e8 06 51 00 00       	call   0x41addc
415cd6:	c2 10 00             	ret    $0x10
415cd9:	6a 20                	push   $0x20
415cdb:	b8 df ea 41 00       	mov    $0x41eadf,%eax
415ce0:	e8 5c 51 00 00       	call   0x41ae41
415ce5:	89 55 d8             	mov    %edx,-0x28(%ebp)
415ce8:	8b d9                	mov    %ecx,%ebx
415cea:	8b 45 08             	mov    0x8(%ebp),%eax
415ced:	33 f6                	xor    %esi,%esi
415cef:	89 45 d4             	mov    %eax,-0x2c(%ebp)
415cf2:	89 75 dc             	mov    %esi,-0x24(%ebp)
415cf5:	89 30                	mov    %esi,(%eax)
415cf7:	8d 45 dc             	lea    -0x24(%ebp),%eax
415cfa:	89 75 fc             	mov    %esi,-0x4(%ebp)
415cfd:	50                   	push   %eax
415cfe:	56                   	push   %esi
415cff:	ff 15 44 d0 43 00    	call   *0x43d044
415d05:	8b f8                	mov    %eax,%edi
415d07:	85 ff                	test   %edi,%edi
415d09:	0f 88 e5 00 00 00    	js     0x415df4
415d0f:	8b 45 dc             	mov    -0x24(%ebp),%eax
415d12:	8d 55 e0             	lea    -0x20(%ebp),%edx
415d15:	89 75 ec             	mov    %esi,-0x14(%ebp)
415d18:	c7 45 e0 10 00 00 00 	movl   $0x10,-0x20(%ebp)
415d1f:	c7 45 e4 02 00 00 00 	movl   $0x2,-0x1c(%ebp)
415d26:	c7 45 e8 00 10 00 00 	movl   $0x1000,-0x18(%ebp)
415d2d:	8b 08                	mov    (%eax),%ecx
415d2f:	52                   	push   %edx
415d30:	50                   	push   %eax
415d31:	8b 71 18             	mov    0x18(%ecx),%esi
415d34:	8b ce                	mov    %esi,%ecx
415d36:	ff 15 20 a5 43 00    	call   *0x43a520
415d3c:	ff d6                	call   *%esi
415d3e:	8b f8                	mov    %eax,%edi
415d40:	85 ff                	test   %edi,%edi
415d42:	0f 88 ac 00 00 00    	js     0x415df4
415d48:	8b 45 dc             	mov    -0x24(%ebp),%eax
415d4b:	ff 75 d8             	push   -0x28(%ebp)
415d4e:	68 24 41 40 00       	push   $0x404124
415d53:	8b 08                	mov    (%eax),%ecx
415d55:	50                   	push   %eax
415d56:	8b 71 24             	mov    0x24(%ecx),%esi
415d59:	8b ce                	mov    %esi,%ecx
415d5b:	ff 15 20 a5 43 00    	call   *0x43a520
415d61:	ff d6                	call   *%esi
415d63:	8b f8                	mov    %eax,%edi
415d65:	85 ff                	test   %edi,%edi
415d67:	0f 88 87 00 00 00    	js     0x415df4
415d6d:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
415d71:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
415d75:	8d 45 d8             	lea    -0x28(%ebp),%eax
415d78:	8b 33                	mov    (%ebx),%esi
415d7a:	50                   	push   %eax
415d7b:	68 14 41 40 00       	push   $0x404114
415d80:	53                   	push   %ebx
415d81:	8b 0e                	mov    (%esi),%ecx
415d83:	ff 15 20 a5 43 00    	call   *0x43a520
415d89:	ff 16                	call   *(%esi)
415d8b:	85 c0                	test   %eax,%eax
415d8d:	78 3a                	js     0x415dc9
415d8f:	8b 45 dc             	mov    -0x24(%ebp),%eax
415d92:	53                   	push   %ebx
415d93:	68 e8 40 40 00       	push   $0x4040e8
415d98:	50                   	push   %eax
415d99:	8b 08                	mov    (%eax),%ecx
415d9b:	8b 71 24             	mov    0x24(%ecx),%esi
415d9e:	8b ce                	mov    %esi,%ecx
415da0:	ff 15 20 a5 43 00    	call   *0x43a520
415da6:	ff d6                	call   *%esi
415da8:	8b f8                	mov    %eax,%edi
415daa:	85 ff                	test   %edi,%edi
415dac:	78 1b                	js     0x415dc9
415dae:	8b 45 dc             	mov    -0x24(%ebp),%eax
415db1:	53                   	push   %ebx
415db2:	68 bc 40 40 00       	push   $0x4040bc
415db7:	50                   	push   %eax
415db8:	8b 08                	mov    (%eax),%ecx
415dba:	8b 71 24             	mov    0x24(%ecx),%esi
415dbd:	8b ce                	mov    %esi,%ecx
415dbf:	ff 15 20 a5 43 00    	call   *0x43a520
415dc5:	ff d6                	call   *%esi
415dc7:	8b f8                	mov    %eax,%edi
415dc9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
415dcd:	8b 45 d8             	mov    -0x28(%ebp),%eax
415dd0:	85 c0                	test   %eax,%eax
415dd2:	74 10                	je     0x415de4
415dd4:	8b 08                	mov    (%eax),%ecx
415dd6:	50                   	push   %eax
415dd7:	8b 71 08             	mov    0x8(%ecx),%esi
415dda:	8b ce                	mov    %esi,%ecx
415ddc:	ff 15 20 a5 43 00    	call   *0x43a520
415de2:	ff d6                	call   *%esi
415de4:	85 ff                	test   %edi,%edi
415de6:	78 0c                	js     0x415df4
415de8:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
415deb:	8b 45 dc             	mov    -0x24(%ebp),%eax
415dee:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
415df2:	89 01                	mov    %eax,(%ecx)
415df4:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415df7:	e8 03 64 ff ff       	call   0x40c1ff
415dfc:	8b c7                	mov    %edi,%eax
415dfe:	e8 ed 4f 00 00       	call   0x41adf0
415e03:	c2 04 00             	ret    $0x4
415e06:	6a 0c                	push   $0xc
415e08:	b8 14 eb 41 00       	mov    $0x41eb14,%eax
415e0d:	e8 fc 4f 00 00       	call   0x41ae0e
415e12:	8b fa                	mov    %edx,%edi
415e14:	8b f1                	mov    %ecx,%esi
415e16:	8b 5d 10             	mov    0x10(%ebp),%ebx
415e19:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
415e1d:	6a 04                	push   $0x4
415e1f:	68 78 41 40 00       	push   $0x404178
415e24:	83 23 00             	andl   $0x0,(%ebx)
415e27:	57                   	push   %edi
415e28:	ff 15 f4 a4 43 00    	call   *0x43a4f4
415e2e:	83 c4 0c             	add    $0xc,%esp
415e31:	8d 4d ec             	lea    -0x14(%ebp),%ecx
415e34:	f7 d8                	neg    %eax
415e36:	1b c0                	sbb    %eax,%eax
415e38:	83 c7 08             	add    $0x8,%edi
415e3b:	6a 00                	push   $0x0
415e3d:	6a 00                	push   $0x0
415e3f:	51                   	push   %ecx
415e40:	83 e0 f8             	and    $0xfffffff8,%eax
415e43:	56                   	push   %esi
415e44:	03 c7                	add    %edi,%eax
415e46:	50                   	push   %eax
415e47:	ff 15 0c a4 43 00    	call   *0x43a40c
415e4d:	8b f8                	mov    %eax,%edi
415e4f:	85 ff                	test   %edi,%edi
415e51:	0f 88 e5 ca 00 00    	js     0x42293c
415e57:	33 f6                	xor    %esi,%esi
415e59:	89 75 e8             	mov    %esi,-0x18(%ebp)
415e5c:	8d 45 e8             	lea    -0x18(%ebp),%eax
415e5f:	89 75 fc             	mov    %esi,-0x4(%ebp)
415e62:	50                   	push   %eax
415e63:	68 68 41 40 00       	push   $0x404168
415e68:	ff 75 ec             	push   -0x14(%ebp)
415e6b:	ff 15 08 a4 43 00    	call   *0x43a408
415e71:	8b f8                	mov    %eax,%edi
415e73:	85 ff                	test   %edi,%edi
415e75:	78 6d                	js     0x415ee4
415e77:	89 75 f0             	mov    %esi,-0x10(%ebp)
415e7a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
415e7e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415e81:	8b 45 e8             	mov    -0x18(%ebp),%eax
415e84:	51                   	push   %ecx
415e85:	68 58 41 40 00       	push   $0x404158
415e8a:	50                   	push   %eax
415e8b:	8b 30                	mov    (%eax),%esi
415e8d:	8b 0e                	mov    (%esi),%ecx
415e8f:	ff 15 20 a5 43 00    	call   *0x43a520
415e95:	ff 16                	call   *(%esi)
415e97:	8b f8                	mov    %eax,%edi
415e99:	85 ff                	test   %edi,%edi
415e9b:	78 2c                	js     0x415ec9
415e9d:	8b 45 f0             	mov    -0x10(%ebp),%eax
415ea0:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
415ea4:	53                   	push   %ebx
415ea5:	68 48 41 40 00       	push   $0x404148
415eaa:	ff 35 1c 8a 43 00    	push   0x438a1c
415eb0:	8b 30                	mov    (%eax),%esi
415eb2:	8d 0c cd d0 02 00 00 	lea    0x2d0(,%ecx,8),%ecx
415eb9:	51                   	push   %ecx
415eba:	50                   	push   %eax
415ebb:	8b 4e 24             	mov    0x24(%esi),%ecx
415ebe:	ff 15 20 a5 43 00    	call   *0x43a520