425aac:	0f 89 d3 00 00 00    	jns    0x425b85
425ab2:	68 08 d4 45 00       	push   $0x45d408
425ab7:	eb 10                	jmp    0x425ac9
425ab9:	e8 ec c1 fe ff       	call   0x411caa
425abe:	8b f0                	mov    %eax,%esi
425ac0:	85 f6                	test   %esi,%esi
425ac2:	79 18                	jns    0x425adc
425ac4:	68 dc d3 45 00       	push   $0x45d3dc
425ac9:	56                   	push   %esi
425aca:	e8 60 a6 01 00       	call   0x44012f
425acf:	59                   	pop    %ecx
425ad0:	59                   	pop    %ecx
425ad1:	5f                   	pop    %edi
425ad2:	8b c6                	mov    %esi,%eax
425ad4:	5e                   	pop    %esi
425ad5:	5b                   	pop    %ebx
425ad6:	8b e5                	mov    %ebp,%esp
425ad8:	5d                   	pop    %ebp
425ad9:	c2 24 00             	ret    $0x24
425adc:	8b 45 10             	mov    0x10(%ebp),%eax
425adf:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
425ae2:	8b 75 24             	mov    0x24(%ebp),%esi
425ae5:	8b 55 20             	mov    0x20(%ebp),%edx
425ae8:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
425aee:	8b 45 10             	mov    0x10(%ebp),%eax
425af1:	89 48 24             	mov    %ecx,0x24(%eax)
425af4:	33 c9                	xor    %ecx,%ecx
425af6:	8b 45 10             	mov    0x10(%ebp),%eax
425af9:	89 50 08             	mov    %edx,0x8(%eax)
425afc:	83 3e 04             	cmpl   $0x4,(%esi)
425aff:	8b 45 10             	mov    0x10(%ebp),%eax
425b02:	0f 94 c1             	sete   %cl
425b05:	89 48 18             	mov    %ecx,0x18(%eax)
425b08:	8b 45 10             	mov    0x10(%ebp),%eax
425b0b:	ff 70 24             	push   0x24(%eax)
425b0e:	ff 75 08             	push   0x8(%ebp)
425b11:	ff b2 98 00 00 00    	push   0x98(%edx)
425b17:	e8 00 dc ff ff       	call   0x42371c
425b1c:	8b 4d 10             	mov    0x10(%ebp),%ecx
425b1f:	6a 00                	push   $0x0
425b21:	89 41 20             	mov    %eax,0x20(%ecx)
425b24:	8b 45 10             	mov    0x10(%ebp),%eax
425b27:	8b 4e 58             	mov    0x58(%esi),%ecx
425b2a:	89 48 10             	mov    %ecx,0x10(%eax)
425b2d:	8b 45 10             	mov    0x10(%ebp),%eax
425b30:	8b 4e 5c             	mov    0x5c(%esi),%ecx
425b33:	89 48 14             	mov    %ecx,0x14(%eax)
425b36:	8d 46 08             	lea    0x8(%esi),%eax
425b39:	50                   	push   %eax
425b3a:	8b 45 10             	mov    0x10(%ebp),%eax
425b3d:	83 c0 0c             	add    $0xc,%eax
425b40:	50                   	push   %eax
425b41:	e8 5f c6 fd ff       	call   0x4021a5
425b46:	8b f0                	mov    %eax,%esi
425b48:	85 f6                	test   %esi,%esi
425b4a:	79 0a                	jns    0x425b56
425b4c:	68 b8 d3 45 00       	push   $0x45d3b8
425b51:	e9 73 ff ff ff       	jmp    0x425ac9
425b56:	8b 4d 10             	mov    0x10(%ebp),%ecx
425b59:	83 79 18 00          	cmpl   $0x0,0x18(%ecx)
425b5d:	74 07                	je     0x425b66
425b5f:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
425b66:	8b 7d 20             	mov    0x20(%ebp),%edi
425b69:	8d 41 1c             	lea    0x1c(%ecx),%eax
425b6c:	50                   	push   %eax
425b6d:	ff 75 18             	push   0x18(%ebp)
425b70:	ff 75 14             	push   0x14(%ebp)
425b73:	53                   	push   %ebx
425b74:	ff 71 0c             	push   0xc(%ecx)
425b77:	57                   	push   %edi
425b78:	e8 3d e7 fe ff       	call   0x4142ba
425b7d:	8b 4d 10             	mov    0x10(%ebp),%ecx
425b80:	e9 11 ff ff ff       	jmp    0x425a96
425b85:	8b 45 10             	mov    0x10(%ebp),%eax
425b88:	8b 48 28             	mov    0x28(%eax),%ecx
425b8b:	8b 50 2c             	mov    0x2c(%eax),%edx
425b8e:	8b 45 24             	mov    0x24(%ebp),%eax
425b91:	8b 40 04             	mov    0x4(%eax),%eax
425b94:	89 04 d1             	mov    %eax,(%ecx,%edx,8)
425b97:	8b 45 10             	mov    0x10(%ebp),%eax
425b9a:	8b 48 2c             	mov    0x2c(%eax),%ecx
425b9d:	8b 40 28             	mov    0x28(%eax),%eax
425ba0:	89 7c c8 04          	mov    %edi,0x4(%eax,%ecx,8)
425ba4:	8b 45 10             	mov    0x10(%ebp),%eax
425ba7:	ff 40 2c             	incl   0x2c(%eax)
425baa:	8b 5d 10             	mov    0x10(%ebp),%ebx
425bad:	8b 7b 2c             	mov    0x2c(%ebx),%edi
425bb0:	83 ef 01             	sub    $0x1,%edi
425bb3:	0f 84 18 ff ff ff    	je     0x425ad1
425bb9:	8b 5b 28             	mov    0x28(%ebx),%ebx
425bbc:	8b 04 fb             	mov    (%ebx,%edi,8),%eax
425bbf:	3b 44 fb f8          	cmp    -0x8(%ebx,%edi,8),%eax
425bc3:	0f 83 08 ff ff ff    	jae    0x425ad1
425bc9:	8b 4c fb f8          	mov    -0x8(%ebx,%edi,8),%ecx
425bcd:	8b 54 fb fc          	mov    -0x4(%ebx,%edi,8),%edx
425bd1:	89 44 fb f8          	mov    %eax,-0x8(%ebx,%edi,8)
425bd5:	8b 44 fb 04          	mov    0x4(%ebx,%edi,8),%eax
425bd9:	89 44 fb fc          	mov    %eax,-0x4(%ebx,%edi,8)
425bdd:	8b 45 10             	mov    0x10(%ebp),%eax
425be0:	8b 40 28             	mov    0x28(%eax),%eax
425be3:	89 0c f8             	mov    %ecx,(%eax,%edi,8)
425be6:	89 54 f8 04          	mov    %edx,0x4(%eax,%edi,8)
425bea:	83 ef 01             	sub    $0x1,%edi
425bed:	0f 84 de fe ff ff    	je     0x425ad1
425bf3:	8b 5d 10             	mov    0x10(%ebp),%ebx
425bf6:	eb c1                	jmp    0x425bb9
425bf8:	55                   	push   %ebp
425bf9:	8b ec                	mov    %esp,%ebp
425bfb:	83 ec 20             	sub    $0x20,%esp
425bfe:	53                   	push   %ebx
425bff:	8b 5d 08             	mov    0x8(%ebp),%ebx
425c02:	8d 45 fc             	lea    -0x4(%ebp),%eax
425c05:	56                   	push   %esi
425c06:	57                   	push   %edi
425c07:	50                   	push   %eax
425c08:	8d 45 f8             	lea    -0x8(%ebp),%eax
425c0b:	33 f6                	xor    %esi,%esi
425c0d:	50                   	push   %eax
425c0e:	53                   	push   %ebx
425c0f:	89 75 f8             	mov    %esi,-0x8(%ebp)
425c12:	89 75 fc             	mov    %esi,-0x4(%ebp)
425c15:	e8 b0 fb ff ff       	call   0x4257ca
425c1a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425c1d:	8b f8                	mov    %eax,%edi
425c1f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
425c22:	85 ff                	test   %edi,%edi
425c24:	79 12                	jns    0x425c38
425c26:	68 bc ce 45 00       	push   $0x45cebc
425c2b:	57                   	push   %edi
425c2c:	e8 fe a4 01 00       	call   0x44012f
425c31:	59                   	pop    %ecx
425c32:	59                   	pop    %ecx
425c33:	e9 f3 00 00 00       	jmp    0x425d2b
425c38:	89 75 f0             	mov    %esi,-0x10(%ebp)
425c3b:	85 c9                	test   %ecx,%ecx
425c3d:	0f 84 eb 00 00 00    	je     0x425d2e
425c43:	8b d6                	mov    %esi,%edx
425c45:	89 75 ec             	mov    %esi,-0x14(%ebp)
425c48:	8b 7d f8             	mov    -0x8(%ebp),%edi
425c4b:	03 fa                	add    %edx,%edi
425c4d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
425c50:	ff 77 54             	push   0x54(%edi)
425c53:	e8 97 e1 fe ff       	call   0x413def
425c58:	50                   	push   %eax
425c59:	57                   	push   %edi
425c5a:	68 6a 00 00 20       	push   $0x2000006a
425c5f:	6a 02                	push   $0x2
425c61:	e8 a9 f8 fd ff       	call   0x40550f
425c66:	83 c4 10             	add    $0x10,%esp
425c69:	ff 73 28             	push   0x28(%ebx)
425c6c:	ff 73 20             	push   0x20(%ebx)
425c6f:	39 77 50             	cmp    %esi,0x50(%edi)
425c72:	74 0a                	je     0x425c7e
425c74:	ff 77 50             	push   0x50(%edi)
425c77:	e8 7b c7 01 00       	call   0x4423f7
425c7c:	eb 0a                	jmp    0x425c88
425c7e:	ff 77 54             	push   0x54(%edi)
425c81:	56                   	push   %esi
425c82:	57                   	push   %edi
425c83:	e8 c3 c7 01 00       	call   0x44244b
425c88:	85 c0                	test   %eax,%eax
425c8a:	78 53                	js     0x425cdf
425c8c:	8b d6                	mov    %esi,%edx
425c8e:	89 55 08             	mov    %edx,0x8(%ebp)
425c91:	39 73 28             	cmp    %esi,0x28(%ebx)
425c94:	76 63                	jbe    0x425cf9
425c96:	8b ce                	mov    %esi,%ecx
425c98:	89 75 f4             	mov    %esi,-0xc(%ebp)
425c9b:	8b 43 20             	mov    0x20(%ebx),%eax
425c9e:	39 74 08 0c          	cmp    %esi,0xc(%eax,%ecx,1)
425ca2:	75 2a                	jne    0x425cce
425ca4:	8b 43 24             	mov    0x24(%ebx),%eax
425ca7:	ff 77 54             	push   0x54(%edi)
425caa:	57                   	push   %edi
425cab:	8b 04 90             	mov    (%eax,%edx,4),%eax
425cae:	8b 53 20             	mov    0x20(%ebx),%edx
425cb1:	89 45 e0             	mov    %eax,-0x20(%ebp)
425cb4:	ff 74 0a 08          	push   0x8(%edx,%ecx,1)
425cb8:	50                   	push   %eax
425cb9:	53                   	push   %ebx
425cba:	e8 d7 f8 ff ff       	call   0x425596
425cbf:	8b f8                	mov    %eax,%edi
425cc1:	85 ff                	test   %edi,%edi
425cc3:	78 53                	js     0x425d18
425cc5:	8b 7d e4             	mov    -0x1c(%ebp),%edi
425cc8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
425ccb:	8b 55 08             	mov    0x8(%ebp),%edx
425cce:	42                   	inc    %edx
425ccf:	83 c1 10             	add    $0x10,%ecx
425cd2:	89 55 08             	mov    %edx,0x8(%ebp)
425cd5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
425cd8:	3b 53 28             	cmp    0x28(%ebx),%edx
425cdb:	72 be                	jb     0x425c9b
425cdd:	eb 1a                	jmp    0x425cf9
425cdf:	50                   	push   %eax
425ce0:	ff 77 54             	push   0x54(%edi)
425ce3:	e8 07 e1 fe ff       	call   0x413def
425ce8:	50                   	push   %eax
425ce9:	57                   	push   %edi
425cea:	68 79 00 00 a0       	push   $0xa0000079
425cef:	6a 02                	push   $0x2
425cf1:	e8 19 f8 fd ff       	call   0x40550f
425cf6:	83 c4 14             	add    $0x14,%esp
425cf9:	8b 45 f0             	mov    -0x10(%ebp),%eax
425cfc:	8b fe                	mov    %esi,%edi
425cfe:	8b 55 ec             	mov    -0x14(%ebp),%edx
425d01:	40                   	inc    %eax
425d02:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425d05:	83 c2 58             	add    $0x58,%edx
425d08:	89 45 f0             	mov    %eax,-0x10(%ebp)
425d0b:	89 55 ec             	mov    %edx,-0x14(%ebp)
425d0e:	3b c1                	cmp    %ecx,%eax
425d10:	0f 82 32 ff ff ff    	jb     0x425c48
425d16:	eb 16                	jmp    0x425d2e
425d18:	8b 45 e0             	mov    -0x20(%ebp),%eax
425d1b:	ff 30                	push   (%eax)
425d1d:	68 ec ce 45 00       	push   $0x45ceec
425d22:	57                   	push   %edi
425d23:	e8 07 a4 01 00       	call   0x44012f
425d28:	83 c4 0c             	add    $0xc,%esp
425d2b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425d2e:	8b 45 f8             	mov    -0x8(%ebp),%eax
425d31:	85 c0                	test   %eax,%eax
425d33:	74 29                	je     0x425d5e
425d35:	85 c9                	test   %ecx,%ecx
425d37:	74 1f                	je     0x425d58
425d39:	8b 54 06 50          	mov    0x50(%esi,%eax,1),%edx
425d3d:	85 d2                	test   %edx,%edx
425d3f:	74 0c                	je     0x425d4d
425d41:	52                   	push   %edx
425d42:	e8 a8 f7 01 00       	call   0x4454ef
425d47:	8b 45 f8             	mov    -0x8(%ebp),%eax
425d4a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
425d4d:	83 c6 58             	add    $0x58,%esi
425d50:	83 e9 01             	sub    $0x1,%ecx
425d53:	89 4d e8             	mov    %ecx,-0x18(%ebp)
425d56:	75 e1                	jne    0x425d39
425d58:	50                   	push   %eax
425d59:	e8 3b dc fd ff       	call   0x403999
425d5e:	8b c7                	mov    %edi,%eax
425d60:	5f                   	pop    %edi
425d61:	5e                   	pop    %esi
425d62:	5b                   	pop    %ebx
425d63:	8b e5                	mov    %ebp,%esp
425d65:	5d                   	pop    %ebp
425d66:	c2 04 00             	ret    $0x4
425d69:	55                   	push   %ebp
425d6a:	8b ec                	mov    %esp,%ebp
425d6c:	51                   	push   %ecx
425d6d:	51                   	push   %ecx
425d6e:	56                   	push   %esi
425d6f:	57                   	push   %edi
425d70:	8b 7d 08             	mov    0x8(%ebp),%edi
425d73:	33 f6                	xor    %esi,%esi
425d75:	21 75 fc             	and    %esi,-0x4(%ebp)
425d78:	8b 87 a8 00 00 00    	mov    0xa8(%edi),%eax
425d7e:	85 c0                	test   %eax,%eax
425d80:	75 0c                	jne    0x425d8e
425d82:	c7 47 40 02 00 00 00 	movl   $0x2,0x40(%edi)
425d89:	e9 21 01 00 00       	jmp    0x425eaf
425d8e:	21 75 08             	and    %esi,0x8(%ebp)
425d91:	c7 47 40 05 00 00 00 	movl   $0x5,0x40(%edi)
425d98:	85 c0                	test   %eax,%eax
425d9a:	0f 84 0f 01 00 00    	je     0x425eaf
425da0:	33 c9                	xor    %ecx,%ecx
425da2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
425da5:	53                   	push   %ebx
425da6:	8b 9f a4 00 00 00    	mov    0xa4(%edi),%ebx
425dac:	03 d9                	add    %ecx,%ebx
425dae:	8d 4d fc             	lea    -0x4(%ebp),%ecx
425db1:	51                   	push   %ecx
425db2:	68 d8 eb 44 00       	push   $0x44ebd8
425db7:	ff 33                	push   (%ebx)
425db9:	8d 43 08             	lea    0x8(%ebx),%eax
425dbc:	6a 00                	push   $0x0
425dbe:	50                   	push   %eax
425dbf:	ff b7 90 00 00 00    	push   0x90(%edi)
425dc5:	e8 e7 c9 01 00       	call   0x4427b1
425dca:	8b f0                	mov    %eax,%esi
425dcc:	85 f6                	test   %esi,%esi
425dce:	78 37                	js     0x425e07
425dd0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425dd3:	0f b7 01             	movzwl (%ecx),%eax
425dd6:	83 e8 31             	sub    $0x31,%eax
425dd9:	74 23                	je     0x425dfe
425ddb:	83 e8 01             	sub    $0x1,%eax
425dde:	74 15                	je     0x425df5
425de0:	6a 02                	push   $0x2
425de2:	59                   	pop    %ecx
425de3:	2b c1                	sub    %ecx,%eax
425de5:	74 05                	je     0x425dec
425de7:	89 4b 60             	mov    %ecx,0x60(%ebx)
425dea:	eb 2c                	jmp    0x425e18
425dec:	c7 43 60 01 00 00 00 	movl   $0x1,0x60(%ebx)
425df3:	eb 23                	jmp    0x425e18
425df5:	c7 43 60 05 00 00 00 	movl   $0x5,0x60(%ebx)
425dfc:	eb 1a                	jmp    0x425e18
425dfe:	c7 43 60 04 00 00 00 	movl   $0x4,0x60(%ebx)
425e05:	eb 11                	jmp    0x425e18
425e07:	81 fe 6f 06 07 80    	cmp    $0x8007066f,%esi
425e0d:	75 09                	jne    0x425e18
425e0f:	c7 43 60 02 00 00 00 	movl   $0x2,0x60(%ebx)
425e16:	33 f6                	xor    %esi,%esi
425e18:	85 f6                	test   %esi,%esi
425e1a:	78 6c                	js     0x425e88
425e1c:	8b 43 60             	mov    0x60(%ebx),%eax
425e1f:	39 47 40             	cmp    %eax,0x40(%edi)
425e22:	7e 03                	jle    0x425e27
425e24:	89 47 40             	mov    %eax,0x40(%edi)
425e27:	8b 75 0c             	mov    0xc(%ebp),%esi
425e2a:	8d 53 08             	lea    0x8(%ebx),%edx
425e2d:	ff 73 60             	push   0x60(%ebx)
425e30:	52                   	push   %edx
425e31:	8b 46 10             	mov    0x10(%esi),%eax
425e34:	ff 37                	push   (%edi)
425e36:	50                   	push   %eax
425e37:	8b 08                	mov    (%eax),%ecx
425e39:	ff 51 3c             	call   *0x3c(%ecx)
425e3c:	50                   	push   %eax
425e3d:	6a 01                	push   $0x1
425e3f:	56                   	push   %esi
425e40:	e8 46 77 fe ff       	call   0x40d58b
425e45:	8b f0                	mov    %eax,%esi
425e47:	85 f6                	test   %esi,%esi
425e49:	78 1e                	js     0x425e69
425e4b:	8b 45 08             	mov    0x8(%ebp),%eax
425e4e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
425e51:	40                   	inc    %eax
425e52:	83 c1 6c             	add    $0x6c,%ecx
425e55:	89 45 08             	mov    %eax,0x8(%ebp)
425e58:	89 4d f8             	mov    %ecx,-0x8(%ebp)
425e5b:	3b 87 a8 00 00 00    	cmp    0xa8(%edi),%eax
425e61:	0f 82 3f ff ff ff    	jb     0x425da6
425e67:	eb 37                	jmp    0x425ea0
425e69:	56                   	push   %esi
425e6a:	68 02 01 00 00       	push   $0x102
425e6f:	68 70 cf 45 00       	push   $0x45cf70
425e74:	e8 5a d9 fd ff       	call   0x4037d3
425e79:	68 80 cf 45 00       	push   $0x45cf80
425e7e:	56                   	push   %esi
425e7f:	e8 ab a2 01 00       	call   0x44012f
425e84:	59                   	pop    %ecx
425e85:	59                   	pop    %ecx
425e86:	eb 18                	jmp    0x425ea0
425e88:	8d 43 08             	lea    0x8(%ebx),%eax
425e8b:	50                   	push   %eax
425e8c:	ff b7 90 00 00 00    	push   0x90(%edi)
425e92:	68 20 cf 45 00       	push   $0x45cf20
425e97:	56                   	push   %esi
425e98:	e8 92 a2 01 00       	call   0x44012f