603a16:	89 b5 40 fd ff ff    	mov    %esi,-0x2c0(%ebp)
603a1c:	8b 46 20             	mov    0x20(%esi),%eax
603a1f:	89 85 34 fd ff ff    	mov    %eax,-0x2cc(%ebp)
603a25:	8b 46 24             	mov    0x24(%esi),%eax
603a28:	89 85 3c fd ff ff    	mov    %eax,-0x2c4(%ebp)
603a2e:	8b 47 08             	mov    0x8(%edi),%eax
603a31:	3b 01                	cmp    (%ecx),%eax
603a33:	74 47                	je     0x603a7c
603a35:	8b b5 40 fd ff ff    	mov    -0x2c0(%ebp),%esi
603a3b:	42                   	inc    %edx
603a3c:	8b 01                	mov    (%ecx),%eax
603a3e:	8b 9d 34 fd ff ff    	mov    -0x2cc(%ebp),%ebx
603a44:	8b 49 04             	mov    0x4(%ecx),%ecx
603a47:	89 1e                	mov    %ebx,(%esi)
603a49:	8b 9d 3c fd ff ff    	mov    -0x2c4(%ebp),%ebx
603a4f:	89 8d 3c fd ff ff    	mov    %ecx,-0x2c4(%ebp)
603a55:	8b ce                	mov    %esi,%ecx
603a57:	83 c1 08             	add    $0x8,%ecx
603a5a:	89 5e 04             	mov    %ebx,0x4(%esi)
603a5d:	8b 9d 24 fd ff ff    	mov    -0x2dc(%ebp),%ebx
603a63:	8b b5 30 fd ff ff    	mov    -0x2d0(%ebp),%esi
603a69:	89 85 34 fd ff ff    	mov    %eax,-0x2cc(%ebp)
603a6f:	89 8d 40 fd ff ff    	mov    %ecx,-0x2c0(%ebp)
603a75:	83 fa 05             	cmp    $0x5,%edx
603a78:	7c b4                	jl     0x603a2e
603a7a:	eb 23                	jmp    0x603a9f
603a7c:	85 d2                	test   %edx,%edx
603a7e:	74 1f                	je     0x603a9f
603a80:	8b 04 d6             	mov    (%esi,%edx,8),%eax
603a83:	89 06                	mov    %eax,(%esi)
603a85:	8b 44 d6 04          	mov    0x4(%esi,%edx,8),%eax
603a89:	89 46 04             	mov    %eax,0x4(%esi)
603a8c:	8b 85 34 fd ff ff    	mov    -0x2cc(%ebp),%eax
603a92:	89 04 d6             	mov    %eax,(%esi,%edx,8)
603a95:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
603a9b:	89 44 d6 04          	mov    %eax,0x4(%esi,%edx,8)
603a9f:	83 fa 05             	cmp    $0x5,%edx
603aa2:	75 71                	jne    0x603b15
603aa4:	6a 01                	push   $0x1
603aa6:	ff 77 08             	push   0x8(%edi)
603aa9:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
603aaf:	50                   	push   %eax
603ab0:	6a 7f                	push   $0x7f
603ab2:	68 70 44 6d 00       	push   $0x6d4470
603ab7:	6a 01                	push   $0x1
603ab9:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
603abf:	e8 fb 7d 00 00       	call   0x60b8bf
603ac4:	83 c4 1c             	add    $0x1c,%esp
603ac7:	85 c0                	test   %eax,%eax
603ac9:	74 3c                	je     0x603b07
603acb:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
603ad1:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
603ad6:	66 21 8c 45 f4 fd ff 	and    %cx,-0x20c(%ebp,%eax,2)
603add:	ff
603ade:	40                   	inc    %eax
603adf:	83 f8 7f             	cmp    $0x7f,%eax
603ae2:	72 ed                	jb     0x603ad1
603ae4:	68 fe 00 00 00       	push   $0xfe
603ae9:	ff 35 74 8b 72 00    	push   0x728b74
603aef:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
603af5:	50                   	push   %eax
603af6:	e8 e0 11 fe ff       	call   0x5e4cdb
603afb:	33 c9                	xor    %ecx,%ecx
603afd:	83 c4 0c             	add    $0xc,%esp
603b00:	85 c0                	test   %eax,%eax
603b02:	0f 94 c1             	sete   %cl
603b05:	eb 06                	jmp    0x603b0d
603b07:	8b 8d 44 fd ff ff    	mov    -0x2bc(%ebp),%ecx
603b0d:	89 4e 04             	mov    %ecx,0x4(%esi)
603b10:	8b 47 08             	mov    0x8(%edi),%eax
603b13:	89 06                	mov    %eax,(%esi)
603b15:	8b 46 04             	mov    0x4(%esi),%eax
603b18:	89 47 18             	mov    %eax,0x18(%edi)
603b1b:	eb 1e                	jmp    0x603b3b
603b1d:	83 fb 01             	cmp    $0x1,%ebx
603b20:	75 0b                	jne    0x603b2d
603b22:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
603b28:	89 47 10             	mov    %eax,0x10(%edi)
603b2b:	eb 0e                	jmp    0x603b3b
603b2d:	83 fb 05             	cmp    $0x5,%ebx
603b30:	75 09                	jne    0x603b3b
603b32:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
603b38:	89 47 14             	mov    %eax,0x14(%edi)
603b3b:	6b c3 0c             	imul   $0xc,%ebx,%eax
603b3e:	57                   	push   %edi
603b3f:	8b b0 f8 44 6d 00    	mov    0x6d44f8(%eax),%esi
603b45:	8b ce                	mov    %esi,%ecx
603b47:	ff 15 e0 24 68 00    	call   *0x6824e0
603b4d:	ff d6                	call   *%esi
603b4f:	59                   	pop    %ecx
603b50:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
603b56:	85 c0                	test   %eax,%eax
603b58:	74 4a                	je     0x603ba4
603b5a:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
603b60:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
603b63:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
603b6a:	e8 b9 0c 00 00       	call   0x604828
603b6f:	8b 8d 28 fd ff ff    	mov    -0x2d8(%ebp),%ecx
603b75:	8b 85 20 fd ff ff    	mov    -0x2e0(%ebp),%eax
603b7b:	51                   	push   %ecx
603b7c:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
603b83:	e8 a0 0c 00 00       	call   0x604828
603b88:	8b 85 1c fd ff ff    	mov    -0x2e4(%ebp),%eax
603b8e:	59                   	pop    %ecx
603b8f:	59                   	pop    %ecx
603b90:	89 47 08             	mov    %eax,0x8(%edi)
603b93:	33 c0                	xor    %eax,%eax
603b95:	8b 4d fc             	mov    -0x4(%ebp),%ecx
603b98:	5f                   	pop    %edi
603b99:	5e                   	pop    %esi
603b9a:	33 cd                	xor    %ebp,%ecx
603b9c:	5b                   	pop    %ebx
603b9d:	e8 38 d9 fd ff       	call   0x5e14da
603ba2:	c9                   	leave
603ba3:	c3                   	ret
603ba4:	81 f9 40 8c 72 00    	cmp    $0x728c40,%ecx
603baa:	74 4a                	je     0x603bf6
603bac:	8b f3                	mov    %ebx,%esi
603bae:	83 c9 ff             	or     $0xffffffff,%ecx
603bb1:	03 f6                	add    %esi,%esi
603bb3:	8b 44 f7 28          	mov    0x28(%edi,%esi,8),%eax
603bb7:	f0 0f c1 08          	lock xadd %ecx,(%eax)
603bbb:	75 39                	jne    0x603bf6
603bbd:	ff 74 f7 28          	push   0x28(%edi,%esi,8)
603bc1:	e8 62 0c 00 00       	call   0x604828
603bc6:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
603bca:	e8 59 0c 00 00       	call   0x604828
603bcf:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
603bd6:	e8 4d 0c 00 00       	call   0x604828
603bdb:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
603be1:	83 c4 0c             	add    $0xc,%esp
603be4:	8b 8d 44 fd ff ff    	mov    -0x2bc(%ebp),%ecx
603bea:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
603bed:	89 8c 9f a0 00 00 00 	mov    %ecx,0xa0(%edi,%ebx,4)
603bf4:	eb 06                	jmp    0x603bfc
603bf6:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
603bfc:	8b 8d 28 fd ff ff    	mov    -0x2d8(%ebp),%ecx
603c02:	03 db                	add    %ebx,%ebx
603c04:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
603c0a:	8b 04 38             	mov    (%eax,%edi,1),%eax
603c0d:	89 4c df 28          	mov    %ecx,0x28(%edi,%ebx,8)
603c11:	eb 82                	jmp    0x603b95
603c13:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
603c19:	50                   	push   %eax
603c1a:	50                   	push   %eax
603c1b:	50                   	push   %eax
603c1c:	50                   	push   %eax
603c1d:	50                   	push   %eax
603c1e:	e8 29 93 fe ff       	call   0x5ecf4c
603c23:	cc                   	int3
603c24:	8b ff                	mov    %edi,%edi
603c26:	55                   	push   %ebp
603c27:	8b ec                	mov    %esp,%ebp
603c29:	51                   	push   %ecx
603c2a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
603c2e:	8d 45 fc             	lea    -0x4(%ebp),%eax
603c31:	6a 02                	push   $0x2
603c33:	50                   	push   %eax
603c34:	68 04 10 00 20       	push   $0x20001004
603c39:	ff 75 08             	push   0x8(%ebp)
603c3c:	e8 05 3a 00 00       	call   0x607646
603c41:	85 c0                	test   %eax,%eax
603c43:	74 07                	je     0x603c4c
603c45:	8b 45 fc             	mov    -0x4(%ebp),%eax
603c48:	85 c0                	test   %eax,%eax
603c4a:	75 05                	jne    0x603c51
603c4c:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
603c51:	c9                   	leave
603c52:	c3                   	ret
603c53:	8b ff                	mov    %edi,%edi
603c55:	55                   	push   %ebp
603c56:	8b ec                	mov    %esp,%ebp
603c58:	83 ec 48             	sub    $0x48,%esp
603c5b:	a1 d4 89 72 00       	mov    0x7289d4,%eax
603c60:	33 c5                	xor    %ebp,%eax
603c62:	89 45 fc             	mov    %eax,-0x4(%ebp)
603c65:	8b 45 0c             	mov    0xc(%ebp),%eax
603c68:	53                   	push   %ebx
603c69:	56                   	push   %esi
603c6a:	8b 75 08             	mov    0x8(%ebp),%esi
603c6d:	33 db                	xor    %ebx,%ebx
603c6f:	57                   	push   %edi
603c70:	68 ca 01 00 00       	push   $0x1ca
603c75:	53                   	push   %ebx
603c76:	56                   	push   %esi
603c77:	89 75 b8             	mov    %esi,-0x48(%ebp)
603c7a:	89 45 c0             	mov    %eax,-0x40(%ebp)
603c7d:	89 5d bc             	mov    %ebx,-0x44(%ebp)
603c80:	e8 7b fd fd ff       	call   0x5e3a00
603c85:	8b 55 c0             	mov    -0x40(%ebp),%edx
603c88:	8d 4d d0             	lea    -0x30(%ebp),%ecx
603c8b:	8b c3                	mov    %ebx,%eax
603c8d:	89 4d c8             	mov    %ecx,-0x38(%ebp)
603c90:	83 c4 0c             	add    $0xc,%esp
603c93:	89 45 c4             	mov    %eax,-0x3c(%ebp)
603c96:	8b fb                	mov    %ebx,%edi
603c98:	43                   	inc    %ebx
603c99:	83 ff 04             	cmp    $0x4,%edi
603c9c:	0f 83 8a 01 00 00    	jae    0x603e2c
603ca2:	83 f8 02             	cmp    $0x2,%eax
603ca5:	74 14                	je     0x603cbb
603ca7:	68 c0 45 6d 00       	push   $0x6d45c0
603cac:	52                   	push   %edx
603cad:	e8 39 ad 00 00       	call   0x60e9eb
603cb2:	8b 55 c0             	mov    -0x40(%ebp),%edx
603cb5:	59                   	pop    %ecx
603cb6:	59                   	pop    %ecx
603cb7:	8b c8                	mov    %eax,%ecx
603cb9:	eb 15                	jmp    0x603cd0
603cbb:	8b ca                	mov    %edx,%ecx
603cbd:	8d 71 02             	lea    0x2(%ecx),%esi
603cc0:	66 8b 01             	mov    (%ecx),%ax
603cc3:	83 c1 02             	add    $0x2,%ecx
603cc6:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
603cca:	75 f4                	jne    0x603cc0
603ccc:	2b ce                	sub    %esi,%ecx
603cce:	d1 f9                	sar    $1,%ecx
603cd0:	8b 45 c8             	mov    -0x38(%ebp),%eax
603cd3:	47                   	inc    %edi
603cd4:	8b 75 c8             	mov    -0x38(%ebp),%esi
603cd7:	83 45 c8 0c          	addl   $0xc,-0x38(%ebp)
603cdb:	89 50 fc             	mov    %edx,-0x4(%eax)
603cde:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
603ce1:	89 08                	mov    %ecx,(%eax)
603ce3:	8b 45 c4             	mov    -0x3c(%ebp),%eax
603ce6:	89 46 04             	mov    %eax,0x4(%esi)
603ce9:	0f b7 02             	movzwl (%edx),%eax
603cec:	8b 75 b8             	mov    -0x48(%ebp),%esi
603cef:	83 e8 2d             	sub    $0x2d,%eax
603cf2:	74 16                	je     0x603d0a
603cf4:	83 e8 01             	sub    $0x1,%eax
603cf7:	74 0c                	je     0x603d05
603cf9:	83 e8 31             	sub    $0x31,%eax
603cfc:	74 0c                	je     0x603d0a
603cfe:	8b c3                	mov    %ebx,%eax
603d00:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
603d03:	eb 0a                	jmp    0x603d0f
603d05:	6a 02                	push   $0x2
603d07:	58                   	pop    %eax
603d08:	eb 02                	jmp    0x603d0c
603d0a:	33 c0                	xor    %eax,%eax
603d0c:	89 45 c4             	mov    %eax,-0x3c(%ebp)
603d0f:	83 c2 02             	add    $0x2,%edx
603d12:	89 55 c0             	mov    %edx,-0x40(%ebp)
603d15:	3b c3                	cmp    %ebx,%eax
603d17:	75 80                	jne    0x603c99
603d19:	83 ef 01             	sub    $0x1,%edi
603d1c:	0f 84 fc 00 00 00    	je     0x603e1e
603d22:	83 ef 01             	sub    $0x1,%edi
603d25:	0f 84 ab 00 00 00    	je     0x603dd6
603d2b:	83 ef 01             	sub    $0x1,%edi
603d2e:	74 4d                	je     0x603d7d
603d30:	83 ef 01             	sub    $0x1,%edi
603d33:	0f 85 f3 00 00 00    	jne    0x603e2c
603d39:	8d 45 cc             	lea    -0x34(%ebp),%eax
603d3c:	50                   	push   %eax
603d3d:	56                   	push   %esi
603d3e:	e8 39 01 00 00       	call   0x603e7c
603d43:	59                   	pop    %ecx
603d44:	59                   	pop    %ecx
603d45:	84 c0                	test   %al,%al
603d47:	0f 84 c9 00 00 00    	je     0x603e16
603d4d:	8d 45 d8             	lea    -0x28(%ebp),%eax
603d50:	50                   	push   %eax
603d51:	56                   	push   %esi
603d52:	e8 50 02 00 00       	call   0x603fa7
603d57:	59                   	pop    %ecx
603d58:	59                   	pop    %ecx
603d59:	84 c0                	test   %al,%al
603d5b:	0f 84 b5 00 00 00    	je     0x603e16
603d61:	8d 45 e4             	lea    -0x1c(%ebp),%eax
603d64:	50                   	push   %eax
603d65:	56                   	push   %esi
603d66:	e8 83 01 00 00       	call   0x603eee
603d6b:	59                   	pop    %ecx
603d6c:	59                   	pop    %ecx
603d6d:	84 c0                	test   %al,%al
603d6f:	0f 84 a1 00 00 00    	je     0x603e16
603d75:	8d 45 f0             	lea    -0x10(%ebp),%eax
603d78:	e9 8c 00 00 00       	jmp    0x603e09
603d7d:	8d 45 cc             	lea    -0x34(%ebp),%eax
603d80:	50                   	push   %eax
603d81:	56                   	push   %esi
603d82:	e8 f5 00 00 00       	call   0x603e7c
603d87:	59                   	pop    %ecx
603d88:	59                   	pop    %ecx
603d89:	84 c0                	test   %al,%al
603d8b:	0f 84 85 00 00 00    	je     0x603e16
603d91:	8d 45 d8             	lea    -0x28(%ebp),%eax
603d94:	50                   	push   %eax
603d95:	56                   	push   %esi
603d96:	e8 0c 02 00 00       	call   0x603fa7
603d9b:	59                   	pop    %ecx
603d9c:	59                   	pop    %ecx
603d9d:	84 c0                	test   %al,%al
603d9f:	74 20                	je     0x603dc1
603da1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
603da4:	50                   	push   %eax
603da5:	56                   	push   %esi
603da6:	e8 43 01 00 00       	call   0x603eee
603dab:	59                   	pop    %ecx
603dac:	59                   	pop    %ecx
603dad:	84 c0                	test   %al,%al
603daf:	75 69                	jne    0x603e1a
603db1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
603db4:	50                   	push   %eax
603db5:	56                   	push   %esi
603db6:	e8 82 00 00 00       	call   0x603e3d
603dbb:	59                   	pop    %ecx
603dbc:	59                   	pop    %ecx
603dbd:	84 c0                	test   %al,%al
603dbf:	75 59                	jne    0x603e1a
603dc1:	8d 45 d8             	lea    -0x28(%ebp),%eax
603dc4:	50                   	push   %eax
603dc5:	56                   	push   %esi
603dc6:	e8 23 01 00 00       	call   0x603eee
603dcb:	59                   	pop    %ecx
603dcc:	59                   	pop    %ecx
603dcd:	84 c0                	test   %al,%al
603dcf:	74 45                	je     0x603e16
603dd1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
603dd4:	eb 33                	jmp    0x603e09
603dd6:	8d 45 cc             	lea    -0x34(%ebp),%eax
603dd9:	50                   	push   %eax
603dda:	56                   	push   %esi
603ddb:	e8 9c 00 00 00       	call   0x603e7c
603de0:	59                   	pop    %ecx
603de1:	59                   	pop    %ecx
603de2:	84 c0                	test   %al,%al
603de4:	74 30                	je     0x603e16
603de6:	8d 45 d8             	lea    -0x28(%ebp),%eax
603de9:	50                   	push   %eax
603dea:	56                   	push   %esi
603deb:	e8 b7 01 00 00       	call   0x603fa7
603df0:	59                   	pop    %ecx
603df1:	59                   	pop    %ecx
603df2:	84 c0                	test   %al,%al
603df4:	75 24                	jne    0x603e1a
603df6:	8d 45 d8             	lea    -0x28(%ebp),%eax
603df9:	50                   	push   %eax
603dfa:	56                   	push   %esi
603dfb:	e8 ee 00 00 00       	call   0x603eee
603e00:	59                   	pop    %ecx
603e01:	59                   	pop    %ecx
603e02:	84 c0                	test   %al,%al
603e04:	75 14                	jne    0x603e1a
603e06:	8d 45 d8             	lea    -0x28(%ebp),%eax
603e09:	50                   	push   %eax
603e0a:	56                   	push   %esi
603e0b:	e8 2d 00 00 00       	call   0x603e3d