608f6f:	7e 24                	jle    0x608f95
608f71:	8b 45 0c             	mov    0xc(%ebp),%eax
608f74:	56                   	push   %esi
608f75:	ff 70 04             	push   0x4(%eax)
608f78:	52                   	push   %edx
608f79:	e8 6e 1d 00 00       	call   0x60acec
608f7e:	83 c4 0c             	add    $0xc,%esp
608f81:	8b f8                	mov    %eax,%edi
608f83:	8b 45 0c             	mov    0xc(%ebp),%eax
608f86:	3b fe                	cmp    %esi,%edi
608f88:	8b 48 04             	mov    0x4(%eax),%ecx
608f8b:	8a 45 08             	mov    0x8(%ebp),%al
608f8e:	88 01                	mov    %al,(%ecx)
608f90:	0f 94 c0             	sete   %al
608f93:	eb 65                	jmp    0x608ffa
608f95:	83 fa ff             	cmp    $0xffffffff,%edx
608f98:	74 1b                	je     0x608fb5
608f9a:	83 fa fe             	cmp    $0xfffffffe,%edx
608f9d:	74 16                	je     0x608fb5
608f9f:	8b c2                	mov    %edx,%eax
608fa1:	8b ca                	mov    %edx,%ecx
608fa3:	83 e0 3f             	and    $0x3f,%eax
608fa6:	c1 f9 06             	sar    $0x6,%ecx
608fa9:	6b c0 38             	imul   $0x38,%eax,%eax
608fac:	03 04 8d b8 10 73 00 	add    0x7310b8(,%ecx,4),%eax
608fb3:	eb 05                	jmp    0x608fba
608fb5:	b8 48 8d 72 00       	mov    $0x728d48,%eax
608fba:	f6 40 28 20          	testb  $0x20,0x28(%eax)
608fbe:	74 c3                	je     0x608f83
608fc0:	6a 02                	push   $0x2
608fc2:	57                   	push   %edi
608fc3:	57                   	push   %edi
608fc4:	52                   	push   %edx
608fc5:	e8 d8 c8 ff ff       	call   0x6058a2
608fca:	23 c2                	and    %edx,%eax
608fcc:	83 c4 10             	add    $0x10,%esp
608fcf:	83 f8 ff             	cmp    $0xffffffff,%eax
608fd2:	75 af                	jne    0x608f83
608fd4:	8b 45 0c             	mov    0xc(%ebp),%eax
608fd7:	6a 10                	push   $0x10
608fd9:	59                   	pop    %ecx
608fda:	83 c0 0c             	add    $0xc,%eax
608fdd:	f0 09 08             	lock or %ecx,(%eax)
608fe0:	b0 01                	mov    $0x1,%al
608fe2:	eb 16                	jmp    0x608ffa
608fe4:	6a 01                	push   $0x1
608fe6:	8d 45 08             	lea    0x8(%ebp),%eax
608fe9:	50                   	push   %eax
608fea:	52                   	push   %edx
608feb:	e8 fc 1c 00 00       	call   0x60acec
608ff0:	83 c4 0c             	add    $0xc,%esp
608ff3:	48                   	dec    %eax
608ff4:	f7 d8                	neg    %eax
608ff6:	1a c0                	sbb    %al,%al
608ff8:	fe c0                	inc    %al
608ffa:	5f                   	pop    %edi
608ffb:	5e                   	pop    %esi
608ffc:	5d                   	pop    %ebp
608ffd:	c3                   	ret
608ffe:	8b ff                	mov    %edi,%edi
609000:	55                   	push   %ebp
609001:	8b ec                	mov    %esp,%ebp
609003:	8b 45 08             	mov    0x8(%ebp),%eax
609006:	83 ec 10             	sub    $0x10,%esp
609009:	8b 40 0c             	mov    0xc(%eax),%eax
60900c:	90                   	nop
60900d:	c1 e8 03             	shr    $0x3,%eax
609010:	a8 01                	test   $0x1,%al
609012:	74 04                	je     0x609018
609014:	b0 01                	mov    $0x1,%al
609016:	c9                   	leave
609017:	c3                   	ret
609018:	8b 45 08             	mov    0x8(%ebp),%eax
60901b:	53                   	push   %ebx
60901c:	56                   	push   %esi
60901d:	8b 40 0c             	mov    0xc(%eax),%eax
609020:	90                   	nop
609021:	a8 c0                	test   $0xc0,%al
609023:	8b 45 08             	mov    0x8(%ebp),%eax
609026:	74 07                	je     0x60902f
609028:	8b 08                	mov    (%eax),%ecx
60902a:	3b 48 04             	cmp    0x4(%eax),%ecx
60902d:	74 4e                	je     0x60907d
60902f:	8b 40 10             	mov    0x10(%eax),%eax
609032:	90                   	nop
609033:	50                   	push   %eax
609034:	e8 3c 05 00 00       	call   0x609575
609039:	8b f0                	mov    %eax,%esi
60903b:	59                   	pop    %ecx
60903c:	83 fe ff             	cmp    $0xffffffff,%esi
60903f:	74 3c                	je     0x60907d
609041:	33 db                	xor    %ebx,%ebx
609043:	8d 45 f8             	lea    -0x8(%ebp),%eax
609046:	43                   	inc    %ebx
609047:	53                   	push   %ebx
609048:	50                   	push   %eax
609049:	6a 00                	push   $0x0
60904b:	6a 00                	push   $0x0
60904d:	56                   	push   %esi
60904e:	ff 15 58 21 68 00    	call   *0x682158
609054:	85 c0                	test   %eax,%eax
609056:	74 25                	je     0x60907d
609058:	8d 45 f0             	lea    -0x10(%ebp),%eax
60905b:	50                   	push   %eax
60905c:	56                   	push   %esi
60905d:	ff 15 14 23 68 00    	call   *0x682314
609063:	85 c0                	test   %eax,%eax
609065:	74 16                	je     0x60907d
609067:	8b 45 f8             	mov    -0x8(%ebp),%eax
60906a:	3b 45 f0             	cmp    -0x10(%ebp),%eax
60906d:	75 08                	jne    0x609077
60906f:	8b 45 fc             	mov    -0x4(%ebp),%eax
609072:	3b 45 f4             	cmp    -0xc(%ebp),%eax
609075:	74 02                	je     0x609079
609077:	32 db                	xor    %bl,%bl
609079:	8a c3                	mov    %bl,%al
60907b:	eb 02                	jmp    0x60907f
60907d:	32 c0                	xor    %al,%al
60907f:	5e                   	pop    %esi
609080:	5b                   	pop    %ebx
609081:	c9                   	leave
609082:	c3                   	ret
609083:	8b ff                	mov    %edi,%edi
609085:	55                   	push   %ebp
609086:	8b ec                	mov    %esp,%ebp
609088:	5d                   	pop    %ebp
609089:	e9 8f fd ff ff       	jmp    0x608e1d
60908e:	8b ff                	mov    %edi,%edi
609090:	55                   	push   %ebp
609091:	8b ec                	mov    %esp,%ebp
609093:	8b 45 08             	mov    0x8(%ebp),%eax
609096:	0f b7 08             	movzwl (%eax),%ecx
609099:	66 85 c9             	test   %cx,%cx
60909c:	74 17                	je     0x6090b5
60909e:	66 83 78 02 3a       	cmpw   $0x3a,0x2(%eax)
6090a3:	75 10                	jne    0x6090b5
6090a5:	8d 41 9f             	lea    -0x61(%ecx),%eax
6090a8:	83 f8 19             	cmp    $0x19,%eax
6090ab:	77 03                	ja     0x6090b0
6090ad:	83 c1 e0             	add    $0xffffffe0,%ecx
6090b0:	8d 41 c0             	lea    -0x40(%ecx),%eax
6090b3:	5d                   	pop    %ebp
6090b4:	c3                   	ret
6090b5:	33 c0                	xor    %eax,%eax
6090b7:	5d                   	pop    %ebp
6090b8:	c3                   	ret
6090b9:	8b ff                	mov    %edi,%edi
6090bb:	55                   	push   %ebp
6090bc:	8b ec                	mov    %esp,%ebp
6090be:	81 ec 10 02 00 00    	sub    $0x210,%esp
6090c4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
6090c9:	33 c5                	xor    %ebp,%eax
6090cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
6090ce:	57                   	push   %edi
6090cf:	68 0a 02 00 00       	push   $0x20a
6090d4:	33 ff                	xor    %edi,%edi
6090d6:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
6090dc:	57                   	push   %edi
6090dd:	50                   	push   %eax
6090de:	e8 1d a9 fd ff       	call   0x5e3a00
6090e3:	83 c4 0c             	add    $0xc,%esp
6090e6:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
6090ec:	50                   	push   %eax
6090ed:	68 05 01 00 00       	push   $0x105
6090f2:	ff 15 fc 21 68 00    	call   *0x6821fc
6090f8:	3d 04 01 00 00       	cmp    $0x104,%eax
6090fd:	77 0f                	ja     0x60910e
6090ff:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
609105:	50                   	push   %eax
609106:	e8 83 ff ff ff       	call   0x60908e
60910b:	59                   	pop    %ecx
60910c:	eb 42                	jmp    0x609150
60910e:	53                   	push   %ebx
60910f:	56                   	push   %esi
609110:	8d 58 01             	lea    0x1(%eax),%ebx
609113:	6a 02                	push   $0x2
609115:	53                   	push   %ebx
609116:	e8 c1 c9 ff ff       	call   0x605adc
60911b:	8b f0                	mov    %eax,%esi
60911d:	59                   	pop    %ecx
60911e:	59                   	pop    %ecx
60911f:	85 f6                	test   %esi,%esi
609121:	74 0c                	je     0x60912f
609123:	56                   	push   %esi
609124:	53                   	push   %ebx
609125:	ff 15 fc 21 68 00    	call   *0x6821fc
60912b:	85 c0                	test   %eax,%eax
60912d:	75 0d                	jne    0x60913c
60912f:	e8 c5 3e fe ff       	call   0x5ecff9
609134:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
60913a:	eb 09                	jmp    0x609145
60913c:	56                   	push   %esi
60913d:	e8 4c ff ff ff       	call   0x60908e
609142:	59                   	pop    %ecx
609143:	8b f8                	mov    %eax,%edi
609145:	56                   	push   %esi
609146:	e8 dd b6 ff ff       	call   0x604828
60914b:	59                   	pop    %ecx
60914c:	5e                   	pop    %esi
60914d:	8b c7                	mov    %edi,%eax
60914f:	5b                   	pop    %ebx
609150:	8b 4d fc             	mov    -0x4(%ebp),%ecx
609153:	33 cd                	xor    %ebp,%ecx
609155:	5f                   	pop    %edi
609156:	e8 7f 83 fd ff       	call   0x5e14da
60915b:	c9                   	leave
60915c:	c3                   	ret
60915d:	8b ff                	mov    %edi,%edi
60915f:	55                   	push   %ebp
609160:	8b ec                	mov    %esp,%ebp
609162:	8b 4d 08             	mov    0x8(%ebp),%ecx
609165:	33 c0                	xor    %eax,%eax
609167:	53                   	push   %ebx
609168:	56                   	push   %esi
609169:	57                   	push   %edi
60916a:	66 39 01             	cmp    %ax,(%ecx)
60916d:	74 31                	je     0x6091a0
60916f:	8b 55 0c             	mov    0xc(%ebp),%edx
609172:	0f b7 3a             	movzwl (%edx),%edi
609175:	8b f2                	mov    %edx,%esi
609177:	66 85 ff             	test   %di,%di
60917a:	74 1c                	je     0x609198
60917c:	0f b7 01             	movzwl (%ecx),%eax
60917f:	8b df                	mov    %edi,%ebx
609181:	66 3b d8             	cmp    %ax,%bx
609184:	74 21                	je     0x6091a7
609186:	83 c6 02             	add    $0x2,%esi
609189:	0f b7 06             	movzwl (%esi),%eax
60918c:	8b d8                	mov    %eax,%ebx
60918e:	66 85 c0             	test   %ax,%ax
609191:	0f b7 01             	movzwl (%ecx),%eax
609194:	75 eb                	jne    0x609181
609196:	33 c0                	xor    %eax,%eax
609198:	83 c1 02             	add    $0x2,%ecx
60919b:	66 39 01             	cmp    %ax,(%ecx)
60919e:	75 d5                	jne    0x609175
6091a0:	33 c0                	xor    %eax,%eax
6091a2:	5f                   	pop    %edi
6091a3:	5e                   	pop    %esi
6091a4:	5b                   	pop    %ebx
6091a5:	5d                   	pop    %ebp
6091a6:	c3                   	ret
6091a7:	8b c1                	mov    %ecx,%eax
6091a9:	eb f7                	jmp    0x6091a2
6091ab:	8b ff                	mov    %edi,%edi
6091ad:	55                   	push   %ebp
6091ae:	8b ec                	mov    %esp,%ebp
6091b0:	51                   	push   %ecx
6091b1:	51                   	push   %ecx
6091b2:	53                   	push   %ebx
6091b3:	56                   	push   %esi
6091b4:	6a 38                	push   $0x38
6091b6:	6a 40                	push   $0x40
6091b8:	e8 1f c9 ff ff       	call   0x605adc
6091bd:	8b f0                	mov    %eax,%esi
6091bf:	33 db                	xor    %ebx,%ebx
6091c1:	89 75 f8             	mov    %esi,-0x8(%ebp)
6091c4:	59                   	pop    %ecx
6091c5:	59                   	pop    %ecx
6091c6:	85 f6                	test   %esi,%esi
6091c8:	75 04                	jne    0x6091ce
6091ca:	8b f3                	mov    %ebx,%esi
6091cc:	eb 4b                	jmp    0x609219
6091ce:	8d 86 00 0e 00 00    	lea    0xe00(%esi),%eax
6091d4:	3b f0                	cmp    %eax,%esi
6091d6:	74 41                	je     0x609219
6091d8:	57                   	push   %edi
6091d9:	8d 7e 20             	lea    0x20(%esi),%edi
6091dc:	8b f0                	mov    %eax,%esi
6091de:	53                   	push   %ebx
6091df:	68 a0 0f 00 00       	push   $0xfa0
6091e4:	8d 47 e0             	lea    -0x20(%edi),%eax
6091e7:	50                   	push   %eax
6091e8:	e8 58 e5 ff ff       	call   0x607745
6091ed:	83 4f f8 ff          	orl    $0xffffffff,-0x8(%edi)
6091f1:	89 1f                	mov    %ebx,(%edi)
6091f3:	8d 7f 38             	lea    0x38(%edi),%edi
6091f6:	89 5f cc             	mov    %ebx,-0x34(%edi)
6091f9:	8d 47 e0             	lea    -0x20(%edi),%eax
6091fc:	c7 47 d0 00 00 0a 0a 	movl   $0xa0a0000,-0x30(%edi)
609203:	c6 47 d4 0a          	movb   $0xa,-0x2c(%edi)
609207:	80 67 d5 f8          	andb   $0xf8,-0x2b(%edi)
60920b:	89 5f d6             	mov    %ebx,-0x2a(%edi)
60920e:	88 5f da             	mov    %bl,-0x26(%edi)
609211:	3b c6                	cmp    %esi,%eax
609213:	75 c9                	jne    0x6091de
609215:	8b 75 f8             	mov    -0x8(%ebp),%esi
609218:	5f                   	pop    %edi
609219:	53                   	push   %ebx
60921a:	e8 09 b6 ff ff       	call   0x604828
60921f:	59                   	pop    %ecx
609220:	8b c6                	mov    %esi,%eax
609222:	5e                   	pop    %esi
609223:	5b                   	pop    %ebx
609224:	c9                   	leave
609225:	c3                   	ret
609226:	8b ff                	mov    %edi,%edi
609228:	55                   	push   %ebp
609229:	8b ec                	mov    %esp,%ebp
60922b:	56                   	push   %esi
60922c:	8b 75 08             	mov    0x8(%ebp),%esi
60922f:	85 f6                	test   %esi,%esi
609231:	74 25                	je     0x609258
609233:	53                   	push   %ebx
609234:	8d 9e 00 0e 00 00    	lea    0xe00(%esi),%ebx
60923a:	57                   	push   %edi
60923b:	8b fe                	mov    %esi,%edi
60923d:	3b f3                	cmp    %ebx,%esi
60923f:	74 0e                	je     0x60924f
609241:	57                   	push   %edi
609242:	ff 15 78 21 68 00    	call   *0x682178
609248:	83 c7 38             	add    $0x38,%edi
60924b:	3b fb                	cmp    %ebx,%edi
60924d:	75 f2                	jne    0x609241
60924f:	56                   	push   %esi
609250:	e8 d3 b5 ff ff       	call   0x604828
609255:	59                   	pop    %ecx
609256:	5f                   	pop    %edi
609257:	5b                   	pop    %ebx
609258:	5e                   	pop    %esi
609259:	5d                   	pop    %ebp
60925a:	c3                   	ret
60925b:	6a 10                	push   $0x10
60925d:	68 30 21 70 00       	push   $0x702130
609262:	e8 a9 92 fd ff       	call   0x5e2510
609267:	81 7d 08 00 20 00 00 	cmpl   $0x2000,0x8(%ebp)
60926e:	72 21                	jb     0x609291
609270:	e8 84 3d fe ff       	call   0x5ecff9
609275:	6a 09                	push   $0x9
609277:	5e                   	pop    %esi
609278:	89 30                	mov    %esi,(%eax)
60927a:	e8 a0 3c fe ff       	call   0x5ecf1f
60927f:	8b c6                	mov    %esi,%eax
609281:	8b 4d f0             	mov    -0x10(%ebp),%ecx
609284:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
60928b:	59                   	pop    %ecx
60928c:	5f                   	pop    %edi
60928d:	5e                   	pop    %esi
60928e:	5b                   	pop    %ebx
60928f:	c9                   	leave
609290:	c3                   	ret
609291:	33 f6                	xor    %esi,%esi
609293:	89 75 e4             	mov    %esi,-0x1c(%ebp)
609296:	6a 07                	push   $0x7
609298:	e8 e4 73 ff ff       	call   0x600681
60929d:	59                   	pop    %ecx
60929e:	89 75 fc             	mov    %esi,-0x4(%ebp)
6092a1:	8b fe                	mov    %esi,%edi
6092a3:	a1 b8 12 73 00       	mov    0x7312b8,%eax
6092a8:	89 7d e0             	mov    %edi,-0x20(%ebp)