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
60a02c:	8b 00                	mov    (%eax),%eax
60a02e:	eb 47                	jmp    0x60a077
60a030:	33 c0                	xor    %eax,%eax
60a032:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
60a036:	8d 45 fc             	lea    -0x4(%ebp),%eax
60a039:	6a 01                	push   $0x1
60a03b:	50                   	push   %eax
60a03c:	56                   	push   %esi
60a03d:	e8 93 b1 ff ff       	call   0x6051d5
60a042:	83 c4 0c             	add    $0xc,%esp
60a045:	85 c0                	test   %eax,%eax
60a047:	75 17                	jne    0x60a060
60a049:	66 83 7d fc 1a       	cmpw   $0x1a,-0x4(%ebp)
60a04e:	75 10                	jne    0x60a060
60a050:	53                   	push   %ebx
60a051:	57                   	push   %edi
60a052:	56                   	push   %esi
60a053:	e8 36 84 00 00       	call   0x61248e
60a058:	83 c4 0c             	add    $0xc,%esp
60a05b:	83 f8 ff             	cmp    $0xffffffff,%eax
60a05e:	74 c7                	je     0x60a027
60a060:	33 c0                	xor    %eax,%eax
60a062:	50                   	push   %eax
60a063:	50                   	push   %eax
60a064:	50                   	push   %eax
60a065:	56                   	push   %esi
60a066:	e8 52 b8 ff ff       	call   0x6058bd
60a06b:	23 c2                	and    %edx,%eax
60a06d:	83 c4 10             	add    $0x10,%esp
60a070:	83 f8 ff             	cmp    $0xffffffff,%eax
60a073:	74 b2                	je     0x60a027
60a075:	33 c0                	xor    %eax,%eax
60a077:	5f                   	pop    %edi
60a078:	5e                   	pop    %esi
60a079:	5b                   	pop    %ebx
60a07a:	c9                   	leave
60a07b:	c3                   	ret
60a07c:	8b ff                	mov    %edi,%edi
60a07e:	55                   	push   %ebp
60a07f:	8b ec                	mov    %esp,%ebp
60a081:	83 ec 18             	sub    $0x18,%esp
60a084:	33 c0                	xor    %eax,%eax
60a086:	56                   	push   %esi
60a087:	89 45 e8             	mov    %eax,-0x18(%ebp)
60a08a:	89 45 ec             	mov    %eax,-0x14(%ebp)
60a08d:	89 45 f0             	mov    %eax,-0x10(%ebp)
60a090:	89 45 f4             	mov    %eax,-0xc(%ebp)
60a093:	89 45 f8             	mov    %eax,-0x8(%ebp)
60a096:	88 45 fc             	mov    %al,-0x4(%ebp)
60a099:	e8 d7 ca fe ff       	call   0x5f6b75
60a09e:	50                   	push   %eax
60a09f:	8d 45 e8             	lea    -0x18(%ebp),%eax
60a0a2:	50                   	push   %eax
60a0a3:	ff 75 10             	push   0x10(%ebp)
60a0a6:	e8 ad ca fe ff       	call   0x5f6b58
60a0ab:	83 c4 0c             	add    $0xc,%esp
60a0ae:	85 c0                	test   %eax,%eax
60a0b0:	74 05                	je     0x60a0b7
60a0b2:	83 ce ff             	or     $0xffffffff,%esi
60a0b5:	eb 1f                	jmp    0x60a0d6
60a0b7:	ff 75 20             	push   0x20(%ebp)
60a0ba:	ff 75 1c             	push   0x1c(%ebp)
60a0bd:	ff 75 18             	push   0x18(%ebp)
60a0c0:	ff 75 14             	push   0x14(%ebp)
60a0c3:	ff 75 f0             	push   -0x10(%ebp)
60a0c6:	ff 75 0c             	push   0xc(%ebp)
60a0c9:	ff 75 08             	push   0x8(%ebp)
60a0cc:	e8 39 00 00 00       	call   0x60a10a
60a0d1:	83 c4 1c             	add    $0x1c,%esp
60a0d4:	8b f0                	mov    %eax,%esi
60a0d6:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
60a0da:	74 09                	je     0x60a0e5
60a0dc:	ff 75 f0             	push   -0x10(%ebp)
60a0df:	e8 44 a7 ff ff       	call   0x604828
60a0e4:	59                   	pop    %ecx
60a0e5:	8b c6                	mov    %esi,%eax
60a0e7:	5e                   	pop    %esi
60a0e8:	c9                   	leave
60a0e9:	c3                   	ret
60a0ea:	8b ff                	mov    %edi,%edi
60a0ec:	55                   	push   %ebp
60a0ed:	8b ec                	mov    %esp,%ebp
60a0ef:	6a 01                	push   $0x1
60a0f1:	ff 75 08             	push   0x8(%ebp)
60a0f4:	ff 75 18             	push   0x18(%ebp)
60a0f7:	ff 75 14             	push   0x14(%ebp)
60a0fa:	ff 75 10             	push   0x10(%ebp)
60a0fd:	ff 75 0c             	push   0xc(%ebp)
60a100:	e8 e9 f8 ff ff       	call   0x6099ee
60a105:	83 c4 18             	add    $0x18,%esp
60a108:	5d                   	pop    %ebp
60a109:	c3                   	ret
60a10a:	8b ff                	mov    %edi,%edi
60a10c:	55                   	push   %ebp
60a10d:	8b ec                	mov    %esp,%ebp
60a10f:	83 ec 44             	sub    $0x44,%esp
60a112:	53                   	push   %ebx
60a113:	56                   	push   %esi
60a114:	57                   	push   %edi
60a115:	ff 75 1c             	push   0x1c(%ebp)
60a118:	8d 45 bc             	lea    -0x44(%ebp),%eax
60a11b:	ff 75 18             	push   0x18(%ebp)
60a11e:	ff 75 14             	push   0x14(%ebp)
60a121:	50                   	push   %eax
60a122:	e8 31 fd ff ff       	call   0x609e58
60a127:	83 c4 10             	add    $0x10,%esp
60a12a:	8d 7d d4             	lea    -0x2c(%ebp),%edi
60a12d:	8b f0                	mov    %eax,%esi
60a12f:	6a 06                	push   $0x6
60a131:	59                   	pop    %ecx
60a132:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
60a134:	83 ce ff             	or     $0xffffffff,%esi
60a137:	39 75 e0             	cmp    %esi,-0x20(%ebp)
60a13a:	75 19                	jne    0x60a155
60a13c:	e8 a5 2e fe ff       	call   0x5ecfe6
60a141:	83 20 00             	andl   $0x0,(%eax)
60a144:	8b 45 0c             	mov    0xc(%ebp),%eax
60a147:	89 30                	mov    %esi,(%eax)
60a149:	e8 ab 2e fe ff       	call   0x5ecff9
60a14e:	8b 00                	mov    (%eax),%eax
60a150:	e9 da 02 00 00       	jmp    0x60a42f
60a155:	e8 77 f2 ff ff       	call   0x6093d1
60a15a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
60a15d:	89 03                	mov    %eax,(%ebx)
60a15f:	3b c6                	cmp    %esi,%eax
60a161:	75 17                	jne    0x60a17a
60a163:	e8 7e 2e fe ff       	call   0x5ecfe6
60a168:	83 20 00             	andl   $0x0,(%eax)
60a16b:	89 33                	mov    %esi,(%ebx)
60a16d:	e8 87 2e fe ff       	call   0x5ecff9
60a172:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
60a178:	eb cf                	jmp    0x60a149
60a17a:	8b 45 08             	mov    0x8(%ebp),%eax
60a17d:	8d 75 d4             	lea    -0x2c(%ebp),%esi
60a180:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
60a184:	33 c9                	xor    %ecx,%ecx
60a186:	41                   	inc    %ecx
60a187:	c7 45 ec 0c 00 00 00 	movl   $0xc,-0x14(%ebp)
60a18e:	83 ec 18             	sub    $0x18,%esp
60a191:	89 08                	mov    %ecx,(%eax)
60a193:	8b 45 14             	mov    0x14(%ebp),%eax
60a196:	c1 e8 07             	shr    $0x7,%eax
60a199:	f7 d0                	not    %eax
60a19b:	23 c1                	and    %ecx,%eax
60a19d:	6a 06                	push   $0x6
60a19f:	59                   	pop    %ecx
60a1a0:	89 45 f4             	mov    %eax,-0xc(%ebp)
60a1a3:	8b fc                	mov    %esp,%edi
60a1a5:	8d 45 ec             	lea    -0x14(%ebp),%eax
60a1a8:	50                   	push   %eax
60a1a9:	ff 75 10             	push   0x10(%ebp)
60a1ac:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
60a1ae:	e8 10 fc ff ff       	call   0x609dc3
60a1b3:	8b f8                	mov    %eax,%edi
60a1b5:	83 c4 20             	add    $0x20,%esp
60a1b8:	89 7d f8             	mov    %edi,-0x8(%ebp)
60a1bb:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
60a1c0:	83 ff ff             	cmp    $0xffffffff,%edi
60a1c3:	75 6b                	jne    0x60a230
60a1c5:	8b 4d d8             	mov    -0x28(%ebp),%ecx
60a1c8:	8b c1                	mov    %ecx,%eax
60a1ca:	23 c2                	and    %edx,%eax
60a1cc:	3b c2                	cmp    %edx,%eax
60a1ce:	75 35                	jne    0x60a205
60a1d0:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
60a1d4:	74 2f                	je     0x60a205
60a1d6:	83 ec 18             	sub    $0x18,%esp
60a1d9:	8d 45 ec             	lea    -0x14(%ebp),%eax
60a1dc:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
60a1e2:	8d 75 d4             	lea    -0x2c(%ebp),%esi
60a1e5:	89 4d d8             	mov    %ecx,-0x28(%ebp)
60a1e8:	6a 06                	push   $0x6
60a1ea:	59                   	pop    %ecx
60a1eb:	8b fc                	mov    %esp,%edi
60a1ed:	50                   	push   %eax