609c82:	0f 84 d4 00 00 00    	je     0x609d5c
609c88:	6a 03                	push   $0x3
609c8a:	8d 45 fc             	lea    -0x4(%ebp),%eax
609c8d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
609c90:	50                   	push   %eax
609c91:	ff 75 08             	push   0x8(%ebp)
609c94:	e8 3c b5 ff ff       	call   0x6051d5
609c99:	83 c4 0c             	add    $0xc,%esp
609c9c:	85 c0                	test   %eax,%eax
609c9e:	7e 09                	jle    0x609ca9
609ca0:	8d 4e ff             	lea    -0x1(%esi),%ecx
609ca3:	f7 d9                	neg    %ecx
609ca5:	1b c9                	sbb    %ecx,%ecx
609ca7:	23 f1                	and    %ecx,%esi
609ca9:	83 f8 ff             	cmp    $0xffffffff,%eax
609cac:	74 49                	je     0x609cf7
609cae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
609cb1:	83 f8 02             	cmp    $0x2,%eax
609cb4:	74 58                	je     0x609d0e
609cb6:	83 f8 03             	cmp    $0x3,%eax
609cb9:	0f 85 88 00 00 00    	jne    0x609d47
609cbf:	81 f9 ef bb bf 00    	cmp    $0xbfbbef,%ecx
609cc5:	75 47                	jne    0x609d0e
609cc7:	c6 07 01             	movb   $0x1,(%edi)
609cca:	e9 8d 00 00 00       	jmp    0x609d5c
609ccf:	6a 02                	push   $0x2
609cd1:	53                   	push   %ebx
609cd2:	53                   	push   %ebx
609cd3:	ff 75 08             	push   0x8(%ebp)
609cd6:	e8 e2 bb ff ff       	call   0x6058bd
609cdb:	83 c4 10             	add    $0x10,%esp
609cde:	0b c2                	or     %edx,%eax
609ce0:	74 7e                	je     0x609d60
609ce2:	53                   	push   %ebx
609ce3:	53                   	push   %ebx
609ce4:	53                   	push   %ebx
609ce5:	ff 75 08             	push   0x8(%ebp)
609ce8:	e8 d0 bb ff ff       	call   0x6058bd
609ced:	23 c2                	and    %edx,%eax
609cef:	83 c4 10             	add    $0x10,%esp
609cf2:	83 f8 ff             	cmp    $0xffffffff,%eax
609cf5:	75 0c                	jne    0x609d03
609cf7:	e8 fd 32 fe ff       	call   0x5ecff9
609cfc:	8b 00                	mov    (%eax),%eax
609cfe:	e9 b0 00 00 00       	jmp    0x609db3
609d03:	8b 4d 10             	mov    0x10(%ebp),%ecx
609d06:	c1 e9 1f             	shr    $0x1f,%ecx
609d09:	e9 72 ff ff ff       	jmp    0x609c80
609d0e:	0f b7 c1             	movzwl %cx,%eax
609d11:	3d fe ff 00 00       	cmp    $0xfffe,%eax
609d16:	75 0d                	jne    0x609d25
609d18:	e8 dc 32 fe ff       	call   0x5ecff9
609d1d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
609d23:	eb d2                	jmp    0x609cf7
609d25:	3d ff fe 00 00       	cmp    $0xfeff,%eax
609d2a:	75 1b                	jne    0x609d47
609d2c:	53                   	push   %ebx
609d2d:	53                   	push   %ebx
609d2e:	6a 02                	push   $0x2
609d30:	ff 75 08             	push   0x8(%ebp)
609d33:	e8 85 bb ff ff       	call   0x6058bd
609d38:	23 c2                	and    %edx,%eax
609d3a:	83 c4 10             	add    $0x10,%esp
609d3d:	83 f8 ff             	cmp    $0xffffffff,%eax
609d40:	74 b5                	je     0x609cf7
609d42:	c6 07 02             	movb   $0x2,(%edi)
609d45:	eb 15                	jmp    0x609d5c
609d47:	53                   	push   %ebx
609d48:	53                   	push   %ebx
609d49:	53                   	push   %ebx
609d4a:	ff 75 08             	push   0x8(%ebp)
609d4d:	e8 6b bb ff ff       	call   0x6058bd
609d52:	23 c2                	and    %edx,%eax
609d54:	83 c4 10             	add    $0x10,%esp
609d57:	83 f8 ff             	cmp    $0xffffffff,%eax
609d5a:	74 9b                	je     0x609cf7
609d5c:	85 f6                	test   %esi,%esi
609d5e:	74 51                	je     0x609db1
609d60:	0f be 07             	movsbl (%edi),%eax
609d63:	8b f3                	mov    %ebx,%esi
609d65:	89 5d fc             	mov    %ebx,-0x4(%ebp)
609d68:	83 e8 01             	sub    $0x1,%eax
609d6b:	74 11                	je     0x609d7e
609d6d:	83 e8 01             	sub    $0x1,%eax
609d70:	75 16                	jne    0x609d88
609d72:	6a 02                	push   $0x2
609d74:	c7 45 fc ff fe 00 00 	movl   $0xfeff,-0x4(%ebp)
609d7b:	5e                   	pop    %esi
609d7c:	eb 0e                	jmp    0x609d8c
609d7e:	6a 03                	push   $0x3
609d80:	c7 45 fc ef bb bf 00 	movl   $0xbfbbef,-0x4(%ebp)
609d87:	5e                   	pop    %esi
609d88:	85 f6                	test   %esi,%esi
609d8a:	74 25                	je     0x609db1
609d8c:	8b c6                	mov    %esi,%eax
609d8e:	2b c3                	sub    %ebx,%eax
609d90:	50                   	push   %eax
609d91:	8d 45 fc             	lea    -0x4(%ebp),%eax
609d94:	03 c3                	add    %ebx,%eax
609d96:	50                   	push   %eax
609d97:	ff 75 08             	push   0x8(%ebp)
609d9a:	e8 4d 0f 00 00       	call   0x60acec
609d9f:	83 c4 0c             	add    $0xc,%esp
609da2:	83 f8 ff             	cmp    $0xffffffff,%eax
609da5:	0f 84 4c ff ff ff    	je     0x609cf7
609dab:	03 d8                	add    %eax,%ebx
609dad:	3b f3                	cmp    %ebx,%esi
609daf:	7f db                	jg     0x609d8c
609db1:	33 c0                	xor    %eax,%eax
609db3:	5f                   	pop    %edi
609db4:	5e                   	pop    %esi
609db5:	5b                   	pop    %ebx
609db6:	c9                   	leave
609db7:	c3                   	ret
609db8:	53                   	push   %ebx
609db9:	53                   	push   %ebx
609dba:	53                   	push   %ebx
609dbb:	53                   	push   %ebx
609dbc:	53                   	push   %ebx
609dbd:	e8 8a 31 fe ff       	call   0x5ecf4c
609dc2:	cc                   	int3
609dc3:	8b ff                	mov    %edi,%edi
609dc5:	55                   	push   %ebp
609dc6:	8b ec                	mov    %esp,%ebp
609dc8:	8b 45 20             	mov    0x20(%ebp),%eax
609dcb:	0b 45 24             	or     0x24(%ebp),%eax
609dce:	6a 00                	push   $0x0
609dd0:	50                   	push   %eax
609dd1:	ff 75 18             	push   0x18(%ebp)
609dd4:	ff 75 0c             	push   0xc(%ebp)
609dd7:	ff 75 1c             	push   0x1c(%ebp)
609dda:	ff 75 14             	push   0x14(%ebp)
609ddd:	ff 75 08             	push   0x8(%ebp)
609de0:	ff 15 f0 21 68 00    	call   *0x6821f0
609de6:	5d                   	pop    %ebp
609de7:	c3                   	ret
609de8:	8b ff                	mov    %edi,%edi
609dea:	55                   	push   %ebp
609deb:	8b ec                	mov    %esp,%ebp
609ded:	8b 45 08             	mov    0x8(%ebp),%eax
609df0:	ba 00 07 00 00       	mov    $0x700,%edx
609df5:	23 c2                	and    %edx,%eax
609df7:	b9 00 04 00 00       	mov    $0x400,%ecx
609dfc:	3b c1                	cmp    %ecx,%eax
609dfe:	77 28                	ja     0x609e28
609e00:	74 21                	je     0x609e23
609e02:	85 c0                	test   %eax,%eax
609e04:	74 1d                	je     0x609e23
609e06:	3d 00 01 00 00       	cmp    $0x100,%eax
609e0b:	74 12                	je     0x609e1f
609e0d:	3d 00 02 00 00       	cmp    $0x200,%eax
609e12:	74 3b                	je     0x609e4f
609e14:	3d 00 03 00 00       	cmp    $0x300,%eax
609e19:	75 1f                	jne    0x609e3a
609e1b:	6a 02                	push   $0x2
609e1d:	eb 06                	jmp    0x609e25
609e1f:	6a 04                	push   $0x4
609e21:	eb 02                	jmp    0x609e25
609e23:	6a 03                	push   $0x3
609e25:	58                   	pop    %eax
609e26:	5d                   	pop    %ebp
609e27:	c3                   	ret
609e28:	3d 00 05 00 00       	cmp    $0x500,%eax
609e2d:	74 24                	je     0x609e53
609e2f:	3d 00 06 00 00       	cmp    $0x600,%eax
609e34:	74 19                	je     0x609e4f
609e36:	3b c2                	cmp    %edx,%eax
609e38:	74 19                	je     0x609e53
609e3a:	e8 ba 31 fe ff       	call   0x5ecff9
609e3f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
609e45:	e8 d5 30 fe ff       	call   0x5ecf1f
609e4a:	83 c8 ff             	or     $0xffffffff,%eax
609e4d:	5d                   	pop    %ebp
609e4e:	c3                   	ret
609e4f:	6a 05                	push   $0x5
609e51:	eb d2                	jmp    0x609e25
609e53:	33 c0                	xor    %eax,%eax
609e55:	40                   	inc    %eax
609e56:	5d                   	pop    %ebp
609e57:	c3                   	ret
609e58:	8b ff                	mov    %edi,%edi
609e5a:	55                   	push   %ebp
609e5b:	8b ec                	mov    %esp,%ebp
609e5d:	51                   	push   %ecx
609e5e:	53                   	push   %ebx
609e5f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
609e62:	8b c3                	mov    %ebx,%eax
609e64:	56                   	push   %esi
609e65:	8b 75 08             	mov    0x8(%ebp),%esi
609e68:	83 e0 03             	and    $0x3,%eax
609e6b:	57                   	push   %edi
609e6c:	bf 00 00 00 80       	mov    $0x80000000,%edi
609e71:	c6 06 00             	movb   $0x0,(%esi)
609e74:	83 e8 00             	sub    $0x0,%eax
609e77:	74 47                	je     0x609ec0
609e79:	83 e8 01             	sub    $0x1,%eax
609e7c:	74 21                	je     0x609e9f
609e7e:	83 e8 01             	sub    $0x1,%eax
609e81:	74 15                	je     0x609e98
609e83:	e8 71 31 fe ff       	call   0x5ecff9
609e88:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
609e8e:	e8 8c 30 fe ff       	call   0x5ecf1f
609e93:	83 c8 ff             	or     $0xffffffff,%eax
609e96:	eb 2a                	jmp    0x609ec2
609e98:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
609e9d:	eb 23                	jmp    0x609ec2
609e9f:	f7 c3 00 00 07 00    	test   $0x70000,%ebx
609ea5:	0f 95 c1             	setne  %cl
609ea8:	f6 c3 08             	test   $0x8,%bl
609eab:	0f 95 c0             	setne  %al
609eae:	22 c8                	and    %al,%cl
609eb0:	0f b6 c1             	movzbl %cl,%eax
609eb3:	f7 d8                	neg    %eax
609eb5:	1b c0                	sbb    %eax,%eax
609eb7:	23 c7                	and    %edi,%eax
609eb9:	05 00 00 00 40       	add    $0x40000000,%eax
609ebe:	eb 02                	jmp    0x609ec2
609ec0:	8b c7                	mov    %edi,%eax
609ec2:	53                   	push   %ebx
609ec3:	89 46 04             	mov    %eax,0x4(%esi)
609ec6:	e8 1d ff ff ff       	call   0x609de8
609ecb:	59                   	pop    %ecx
609ecc:	89 46 08             	mov    %eax,0x8(%esi)
609ecf:	8b 45 10             	mov    0x10(%ebp),%eax
609ed2:	6a 10                	push   $0x10
609ed4:	59                   	pop    %ecx
609ed5:	2b c1                	sub    %ecx,%eax
609ed7:	74 3e                	je     0x609f17
609ed9:	2b c1                	sub    %ecx,%eax
609edb:	74 35                	je     0x609f12
609edd:	2b c1                	sub    %ecx,%eax
609edf:	74 2c                	je     0x609f0d
609ee1:	2b c1                	sub    %ecx,%eax
609ee3:	74 24                	je     0x609f09
609ee5:	83 e8 40             	sub    $0x40,%eax
609ee8:	74 15                	je     0x609eff
609eea:	e8 0a 31 fe ff       	call   0x5ecff9
609eef:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
609ef5:	e8 25 30 fe ff       	call   0x5ecf1f
609efa:	83 c8 ff             	or     $0xffffffff,%eax
609efd:	eb 1a                	jmp    0x609f19
609eff:	33 c0                	xor    %eax,%eax
609f01:	39 7e 04             	cmp    %edi,0x4(%esi)
609f04:	0f 94 c0             	sete   %al
609f07:	eb 10                	jmp    0x609f19
609f09:	6a 03                	push   $0x3
609f0b:	eb 02                	jmp    0x609f0f
609f0d:	6a 02                	push   $0x2
609f0f:	58                   	pop    %eax
609f10:	eb 07                	jmp    0x609f19
609f12:	33 c0                	xor    %eax,%eax
609f14:	40                   	inc    %eax
609f15:	eb 02                	jmp    0x609f19
609f17:	33 c0                	xor    %eax,%eax
609f19:	83 66 14 00          	andl   $0x0,0x14(%esi)
609f1d:	89 46 0c             	mov    %eax,0xc(%esi)
609f20:	c7 46 10 80 00 00 00 	movl   $0x80,0x10(%esi)
609f27:	84 db                	test   %bl,%bl
609f29:	79 03                	jns    0x609f2e
609f2b:	80 0e 10             	orb    $0x10,(%esi)
609f2e:	bf 00 80 00 00       	mov    $0x8000,%edi
609f33:	85 df                	test   %ebx,%edi
609f35:	75 1e                	jne    0x609f55
609f37:	f7 c3 00 40 07 00    	test   $0x74000,%ebx
609f3d:	75 13                	jne    0x609f52
609f3f:	8d 45 fc             	lea    -0x4(%ebp),%eax
609f42:	50                   	push   %eax
609f43:	e8 87 58 ff ff       	call   0x5ff7cf
609f48:	59                   	pop    %ecx
609f49:	85 c0                	test   %eax,%eax
609f4b:	75 78                	jne    0x609fc5
609f4d:	39 7d fc             	cmp    %edi,-0x4(%ebp)
609f50:	74 03                	je     0x609f55
609f52:	80 0e 80             	orb    $0x80,(%esi)
609f55:	b9 00 01 00 00       	mov    $0x100,%ecx
609f5a:	85 d9                	test   %ebx,%ecx
609f5c:	74 15                	je     0x609f73
609f5e:	a1 cc 14 73 00       	mov    0x7314cc,%eax
609f63:	f7 d0                	not    %eax
609f65:	23 45 14             	and    0x14(%ebp),%eax
609f68:	84 c0                	test   %al,%al
609f6a:	78 07                	js     0x609f73
609f6c:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
609f73:	f6 c3 40             	test   $0x40,%bl
609f76:	74 12                	je     0x609f8a
609f78:	81 4e 14 00 00 00 04 	orl    $0x4000000,0x14(%esi)
609f7f:	81 4e 04 00 00 01 00 	orl    $0x10000,0x4(%esi)
609f86:	83 4e 0c 04          	orl    $0x4,0xc(%esi)
609f8a:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
609f90:	74 03                	je     0x609f95
609f92:	09 4e 10             	or     %ecx,0x10(%esi)
609f95:	f7 c3 00 20 00 00    	test   $0x2000,%ebx
609f9b:	74 07                	je     0x609fa4
609f9d:	81 4e 14 00 00 00 02 	orl    $0x2000000,0x14(%esi)
609fa4:	f6 c3 20             	test   $0x20,%bl
609fa7:	74 09                	je     0x609fb2
609fa9:	81 4e 14 00 00 00 08 	orl    $0x8000000,0x14(%esi)
609fb0:	eb 0c                	jmp    0x609fbe
609fb2:	f6 c3 10             	test   $0x10,%bl
609fb5:	74 07                	je     0x609fbe
609fb7:	81 4e 14 00 00 00 10 	orl    $0x10000000,0x14(%esi)
609fbe:	5f                   	pop    %edi
609fbf:	8b c6                	mov    %esi,%eax
609fc1:	5e                   	pop    %esi
609fc2:	5b                   	pop    %ebx
609fc3:	c9                   	leave
609fc4:	c3                   	ret
609fc5:	33 c0                	xor    %eax,%eax
609fc7:	50                   	push   %eax
609fc8:	50                   	push   %eax
609fc9:	50                   	push   %eax
609fca:	50                   	push   %eax
609fcb:	50                   	push   %eax
609fcc:	e8 7b 2f fe ff       	call   0x5ecf4c
609fd1:	cc                   	int3
609fd2:	8b ff                	mov    %edi,%edi
609fd4:	55                   	push   %ebp
609fd5:	8b ec                	mov    %esp,%ebp
609fd7:	51                   	push   %ecx
609fd8:	53                   	push   %ebx
609fd9:	56                   	push   %esi
609fda:	8b 75 08             	mov    0x8(%ebp),%esi
609fdd:	8b d6                	mov    %esi,%edx
609fdf:	8b c6                	mov    %esi,%eax
609fe1:	c1 fa 06             	sar    $0x6,%edx
609fe4:	83 e0 3f             	and    $0x3f,%eax
609fe7:	6b c8 38             	imul   $0x38,%eax,%ecx
609fea:	57                   	push   %edi
609feb:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
609ff2:	8a 44 08 28          	mov    0x28(%eax,%ecx,1),%al
609ff6:	a8 48                	test   $0x48,%al
609ff8:	75 7b                	jne    0x60a075
609ffa:	84 c0                	test   %al,%al
609ffc:	79 77                	jns    0x60a075
609ffe:	6a 02                	push   $0x2
60a000:	6a ff                	push   $0xffffffff
60a002:	6a ff                	push   $0xffffffff
60a004:	56                   	push   %esi
60a005:	e8 b3 b8 ff ff       	call   0x6058bd
60a00a:	8b f8                	mov    %eax,%edi
60a00c:	8b da                	mov    %edx,%ebx
60a00e:	8b cf                	mov    %edi,%ecx
60a010:	83 c4 10             	add    $0x10,%esp
60a013:	23 cb                	and    %ebx,%ecx
60a015:	83 f9 ff             	cmp    $0xffffffff,%ecx
60a018:	75 16                	jne    0x60a030
60a01a:	e8 c7 2f fe ff       	call   0x5ecfe6
60a01f:	81 38 83 00 00 00    	cmpl   $0x83,(%eax)
60a025:	74 4e                	je     0x60a075
60a027:	e8 cd 2f fe ff       	call   0x5ecff9