5cf04c:	c3                   	ret
5cf04d:	55                   	push   %ebp
5cf04e:	8b ec                	mov    %esp,%ebp
5cf050:	51                   	push   %ecx
5cf051:	66 8b 4d 08          	mov    0x8(%ebp),%cx
5cf055:	b8 ff ff 00 00       	mov    $0xffff,%eax
5cf05a:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
5cf05e:	66 3b c8             	cmp    %ax,%cx
5cf061:	74 49                	je     0x5cf0ac
5cf063:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf066:	8b 40 0c             	mov    0xc(%eax),%eax
5cf069:	85 c0                	test   %eax,%eax
5cf06b:	75 19                	jne    0x5cf086
5cf06d:	ba 00 01 00 00       	mov    $0x100,%edx
5cf072:	66 3b ca             	cmp    %dx,%cx
5cf075:	73 0f                	jae    0x5cf086
5cf077:	8d 41 9f             	lea    -0x61(%ecx),%eax
5cf07a:	66 83 f8 19          	cmp    $0x19,%ax
5cf07e:	77 2c                	ja     0x5cf0ac
5cf080:	66 83 e9 20          	sub    $0x20,%cx
5cf084:	eb 26                	jmp    0x5cf0ac
5cf086:	6a 01                	push   $0x1
5cf088:	8d 4d fc             	lea    -0x4(%ebp),%ecx
5cf08b:	51                   	push   %ecx
5cf08c:	6a 01                	push   $0x1
5cf08e:	8d 4d 08             	lea    0x8(%ebp),%ecx
5cf091:	51                   	push   %ecx
5cf092:	68 00 02 00 00       	push   $0x200
5cf097:	50                   	push   %eax
5cf098:	e8 2e 13 00 00       	call   0x5d03cb
5cf09d:	66 8b 4d 08          	mov    0x8(%ebp),%cx
5cf0a1:	83 c4 18             	add    $0x18,%esp
5cf0a4:	85 c0                	test   %eax,%eax
5cf0a6:	74 04                	je     0x5cf0ac
5cf0a8:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
5cf0ac:	66 8b c1             	mov    %cx,%ax
5cf0af:	c9                   	leave
5cf0b0:	c3                   	ret
5cf0b1:	55                   	push   %ebp
5cf0b2:	8b ec                	mov    %esp,%ebp
5cf0b4:	8b 45 08             	mov    0x8(%ebp),%eax
5cf0b7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cf0ba:	89 48 08             	mov    %ecx,0x8(%eax)
5cf0bd:	8b 4d 10             	mov    0x10(%ebp),%ecx
5cf0c0:	c7 00 d0 f0 5c 00    	movl   $0x5cf0d0,(%eax)
5cf0c6:	89 48 0c             	mov    %ecx,0xc(%eax)
5cf0c9:	5d                   	pop    %ebp
5cf0ca:	c3                   	ret
5cf0cb:	cc                   	int3
5cf0cc:	cc                   	int3
5cf0cd:	cc                   	int3
5cf0ce:	cc                   	int3
5cf0cf:	cc                   	int3
5cf0d0:	55                   	push   %ebp
5cf0d1:	8b ec                	mov    %esp,%ebp
5cf0d3:	8b 4d 08             	mov    0x8(%ebp),%ecx
5cf0d6:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf0d9:	89 41 20             	mov    %eax,0x20(%ecx)
5cf0dc:	8b 45 10             	mov    0x10(%ebp),%eax
5cf0df:	89 41 24             	mov    %eax,0x24(%ecx)
5cf0e2:	5d                   	pop    %ebp
5cf0e3:	c3                   	ret
5cf0e4:	55                   	push   %ebp
5cf0e5:	8b ec                	mov    %esp,%ebp
5cf0e7:	51                   	push   %ecx
5cf0e8:	53                   	push   %ebx
5cf0e9:	56                   	push   %esi
5cf0ea:	57                   	push   %edi
5cf0eb:	8b 7d 0c             	mov    0xc(%ebp),%edi
5cf0ee:	85 ff                	test   %edi,%edi
5cf0f0:	75 03                	jne    0x5cf0f5
5cf0f2:	8d 7d fc             	lea    -0x4(%ebp),%edi
5cf0f5:	8b 45 08             	mov    0x8(%ebp),%eax
5cf0f8:	8b f0                	mov    %eax,%esi
5cf0fa:	0f b6 00             	movzbl (%eax),%eax
5cf0fd:	eb 04                	jmp    0x5cf103
5cf0ff:	46                   	inc    %esi
5cf100:	0f b6 06             	movzbl (%esi),%eax
5cf103:	50                   	push   %eax
5cf104:	e8 da 7d 02 00       	call   0x5f6ee3
5cf109:	59                   	pop    %ecx
5cf10a:	85 c0                	test   %eax,%eax
5cf10c:	75 f1                	jne    0x5cf0ff
5cf10e:	8a 1e                	mov    (%esi),%bl
5cf110:	80 fb 2d             	cmp    $0x2d,%bl
5cf113:	74 09                	je     0x5cf11e
5cf115:	80 fb 2b             	cmp    $0x2b,%bl
5cf118:	74 04                	je     0x5cf11e
5cf11a:	b3 2b                	mov    $0x2b,%bl
5cf11c:	eb 01                	jmp    0x5cf11f
5cf11e:	46                   	inc    %esi
5cf11f:	ff 75 14             	push   0x14(%ebp)
5cf122:	ff 75 10             	push   0x10(%ebp)
5cf125:	57                   	push   %edi
5cf126:	56                   	push   %esi
5cf127:	e8 5d 00 00 00       	call   0x5cf189
5cf12c:	8b 17                	mov    (%edi),%edx
5cf12e:	83 c4 10             	add    $0x10,%esp
5cf131:	8b 4d 08             	mov    0x8(%ebp),%ecx
5cf134:	3b f2                	cmp    %edx,%esi
5cf136:	75 04                	jne    0x5cf13c
5cf138:	89 0f                	mov    %ecx,(%edi)
5cf13a:	8b d1                	mov    %ecx,%edx
5cf13c:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
5cf141:	3b ca                	cmp    %edx,%ecx
5cf143:	75 04                	jne    0x5cf149
5cf145:	85 c0                	test   %eax,%eax
5cf147:	75 15                	jne    0x5cf15e
5cf149:	80 fb 2b             	cmp    $0x2b,%bl
5cf14c:	75 04                	jne    0x5cf152
5cf14e:	3b c6                	cmp    %esi,%eax
5cf150:	77 0c                	ja     0x5cf15e
5cf152:	80 fb 2d             	cmp    $0x2d,%bl
5cf155:	75 2d                	jne    0x5cf184
5cf157:	3d 00 00 00 80       	cmp    $0x80000000,%eax
5cf15c:	76 24                	jbe    0x5cf182
5cf15e:	e8 96 de 01 00       	call   0x5ecff9
5cf163:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5cf169:	8b 45 14             	mov    0x14(%ebp),%eax
5cf16c:	85 c0                	test   %eax,%eax
5cf16e:	74 06                	je     0x5cf176
5cf170:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5cf176:	33 c0                	xor    %eax,%eax
5cf178:	80 fb 2d             	cmp    $0x2d,%bl
5cf17b:	0f 94 c0             	sete   %al
5cf17e:	03 c6                	add    %esi,%eax
5cf180:	eb 02                	jmp    0x5cf184
5cf182:	f7 d8                	neg    %eax
5cf184:	5f                   	pop    %edi
5cf185:	5e                   	pop    %esi
5cf186:	5b                   	pop    %ebx
5cf187:	c9                   	leave
5cf188:	c3                   	ret
5cf189:	55                   	push   %ebp
5cf18a:	8b ec                	mov    %esp,%ebp
5cf18c:	83 ec 14             	sub    $0x14,%esp
5cf18f:	8b 45 14             	mov    0x14(%ebp),%eax
5cf192:	33 c9                	xor    %ecx,%ecx
5cf194:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5cf197:	85 c0                	test   %eax,%eax
5cf199:	74 02                	je     0x5cf19d
5cf19b:	89 08                	mov    %ecx,(%eax)
5cf19d:	53                   	push   %ebx
5cf19e:	8b 5d 08             	mov    0x8(%ebp),%ebx
5cf1a1:	56                   	push   %esi
5cf1a2:	57                   	push   %edi
5cf1a3:	8b f3                	mov    %ebx,%esi
5cf1a5:	0f b6 03             	movzbl (%ebx),%eax
5cf1a8:	eb 04                	jmp    0x5cf1ae
5cf1aa:	46                   	inc    %esi
5cf1ab:	0f b6 06             	movzbl (%esi),%eax
5cf1ae:	50                   	push   %eax
5cf1af:	e8 2f 7d 02 00       	call   0x5f6ee3
5cf1b4:	59                   	pop    %ecx
5cf1b5:	85 c0                	test   %eax,%eax
5cf1b7:	75 f1                	jne    0x5cf1aa
5cf1b9:	8a 06                	mov    (%esi),%al
5cf1bb:	88 45 ff             	mov    %al,-0x1(%ebp)
5cf1be:	3c 2d                	cmp    $0x2d,%al
5cf1c0:	74 0a                	je     0x5cf1cc
5cf1c2:	3c 2b                	cmp    $0x2b,%al
5cf1c4:	74 06                	je     0x5cf1cc
5cf1c6:	c6 45 ff 2b          	movb   $0x2b,-0x1(%ebp)
5cf1ca:	eb 01                	jmp    0x5cf1cd
5cf1cc:	46                   	inc    %esi
5cf1cd:	8b 7d 10             	mov    0x10(%ebp),%edi
5cf1d0:	85 ff                	test   %edi,%edi
5cf1d2:	0f 88 15 01 00 00    	js     0x5cf2ed
5cf1d8:	83 ff 01             	cmp    $0x1,%edi
5cf1db:	0f 84 0c 01 00 00    	je     0x5cf2ed
5cf1e1:	83 ff 24             	cmp    $0x24,%edi
5cf1e4:	0f 8f 03 01 00 00    	jg     0x5cf2ed
5cf1ea:	85 ff                	test   %edi,%edi
5cf1ec:	7e 17                	jle    0x5cf205
5cf1ee:	83 ff 10             	cmp    $0x10,%edi
5cf1f1:	75 34                	jne    0x5cf227
5cf1f3:	80 3e 30             	cmpb   $0x30,(%esi)
5cf1f6:	75 2f                	jne    0x5cf227
5cf1f8:	8a 46 01             	mov    0x1(%esi),%al
5cf1fb:	3c 78                	cmp    $0x78,%al
5cf1fd:	74 25                	je     0x5cf224
5cf1ff:	3c 58                	cmp    $0x58,%al
5cf201:	75 24                	jne    0x5cf227
5cf203:	eb 1f                	jmp    0x5cf224
5cf205:	8a 06                	mov    (%esi),%al
5cf207:	3c 30                	cmp    $0x30,%al
5cf209:	74 05                	je     0x5cf210
5cf20b:	6a 0a                	push   $0xa
5cf20d:	5f                   	pop    %edi
5cf20e:	eb 19                	jmp    0x5cf229
5cf210:	8a 4e 01             	mov    0x1(%esi),%cl
5cf213:	80 f9 78             	cmp    $0x78,%cl
5cf216:	74 09                	je     0x5cf221
5cf218:	80 f9 58             	cmp    $0x58,%cl
5cf21b:	74 04                	je     0x5cf221
5cf21d:	6a 08                	push   $0x8
5cf21f:	eb ec                	jmp    0x5cf20d
5cf221:	6a 10                	push   $0x10
5cf223:	5f                   	pop    %edi
5cf224:	83 c6 02             	add    $0x2,%esi
5cf227:	8a 06                	mov    (%esi),%al
5cf229:	89 75 f0             	mov    %esi,-0x10(%ebp)
5cf22c:	eb 03                	jmp    0x5cf231
5cf22e:	46                   	inc    %esi
5cf22f:	8a 06                	mov    (%esi),%al
5cf231:	3c 30                	cmp    $0x30,%al
5cf233:	74 f9                	je     0x5cf22e
5cf235:	33 c9                	xor    %ecx,%ecx
5cf237:	89 75 ec             	mov    %esi,-0x14(%ebp)
5cf23a:	8b d9                	mov    %ecx,%ebx
5cf23c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5cf23f:	0f be c0             	movsbl %al,%eax
5cf242:	eb 19                	jmp    0x5cf25d
5cf244:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5cf247:	b9 d0 f7 6c 00       	mov    $0x6cf7d0,%ecx
5cf24c:	2a c1                	sub    %cl,%al
5cf24e:	0f af df             	imul   %edi,%ebx
5cf251:	89 45 f8             	mov    %eax,-0x8(%ebp)
5cf254:	0f be c0             	movsbl %al,%eax
5cf257:	03 d8                	add    %eax,%ebx
5cf259:	46                   	inc    %esi
5cf25a:	0f be 06             	movsbl (%esi),%eax
5cf25d:	57                   	push   %edi
5cf25e:	50                   	push   %eax
5cf25f:	e8 c4 86 02 00       	call   0x5f7928
5cf264:	59                   	pop    %ecx
5cf265:	50                   	push   %eax
5cf266:	b8 d0 f7 6c 00       	mov    $0x6cf7d0,%eax
5cf26b:	50                   	push   %eax
5cf26c:	e8 df 3b 01 00       	call   0x5e2e50
5cf271:	83 c4 0c             	add    $0xc,%esp
5cf274:	85 c0                	test   %eax,%eax
5cf276:	75 cc                	jne    0x5cf244
5cf278:	39 75 f0             	cmp    %esi,-0x10(%ebp)
5cf27b:	75 0e                	jne    0x5cf28b
5cf27d:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf280:	85 c0                	test   %eax,%eax
5cf282:	74 72                	je     0x5cf2f6
5cf284:	8b 4d 08             	mov    0x8(%ebp),%ecx
5cf287:	89 08                	mov    %ecx,(%eax)
5cf289:	eb 6b                	jmp    0x5cf2f6
5cf28b:	0f be 87 f8 f7 6c 00 	movsbl 0x6cf7f8(%edi),%eax
5cf292:	8b ce                	mov    %esi,%ecx
5cf294:	2b c8                	sub    %eax,%ecx
5cf296:	2b 4d ec             	sub    -0x14(%ebp),%ecx
5cf299:	78 3c                	js     0x5cf2d7
5cf29b:	85 c9                	test   %ecx,%ecx
5cf29d:	7f 19                	jg     0x5cf2b8
5cf29f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5cf2a2:	8b cb                	mov    %ebx,%ecx
5cf2a4:	0f be c0             	movsbl %al,%eax
5cf2a7:	2b c8                	sub    %eax,%ecx
5cf2a9:	3b d9                	cmp    %ecx,%ebx
5cf2ab:	72 0b                	jb     0x5cf2b8
5cf2ad:	33 d2                	xor    %edx,%edx
5cf2af:	8b c1                	mov    %ecx,%eax
5cf2b1:	f7 f7                	div    %edi
5cf2b3:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5cf2b6:	74 1f                	je     0x5cf2d7
5cf2b8:	e8 3c dd 01 00       	call   0x5ecff9
5cf2bd:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5cf2c3:	8b 45 14             	mov    0x14(%ebp),%eax
5cf2c6:	85 c0                	test   %eax,%eax
5cf2c8:	74 06                	je     0x5cf2d0
5cf2ca:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5cf2d0:	83 cb ff             	or     $0xffffffff,%ebx
5cf2d3:	b0 2b                	mov    $0x2b,%al
5cf2d5:	eb 03                	jmp    0x5cf2da
5cf2d7:	8a 45 ff             	mov    -0x1(%ebp),%al
5cf2da:	3c 2d                	cmp    $0x2d,%al
5cf2dc:	75 02                	jne    0x5cf2e0
5cf2de:	f7 db                	neg    %ebx
5cf2e0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cf2e3:	85 c9                	test   %ecx,%ecx
5cf2e5:	74 02                	je     0x5cf2e9
5cf2e7:	89 31                	mov    %esi,(%ecx)
5cf2e9:	8b c3                	mov    %ebx,%eax
5cf2eb:	eb 0b                	jmp    0x5cf2f8
5cf2ed:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf2f0:	85 c0                	test   %eax,%eax
5cf2f2:	74 02                	je     0x5cf2f6
5cf2f4:	89 18                	mov    %ebx,(%eax)
5cf2f6:	33 c0                	xor    %eax,%eax
5cf2f8:	5f                   	pop    %edi
5cf2f9:	5e                   	pop    %esi
5cf2fa:	5b                   	pop    %ebx
5cf2fb:	c9                   	leave
5cf2fc:	c3                   	ret
5cf2fd:	55                   	push   %ebp
5cf2fe:	8b ec                	mov    %esp,%ebp
5cf300:	51                   	push   %ecx
5cf301:	51                   	push   %ecx
5cf302:	53                   	push   %ebx
5cf303:	56                   	push   %esi
5cf304:	57                   	push   %edi
5cf305:	8b 7d 0c             	mov    0xc(%ebp),%edi
5cf308:	85 ff                	test   %edi,%edi
5cf30a:	75 03                	jne    0x5cf30f
5cf30c:	8d 7d f8             	lea    -0x8(%ebp),%edi
5cf30f:	8b 45 08             	mov    0x8(%ebp),%eax
5cf312:	8b f0                	mov    %eax,%esi
5cf314:	0f b6 00             	movzbl (%eax),%eax
5cf317:	eb 04                	jmp    0x5cf31d
5cf319:	46                   	inc    %esi
5cf31a:	0f b6 06             	movzbl (%esi),%eax
5cf31d:	50                   	push   %eax
5cf31e:	e8 c0 7b 02 00       	call   0x5f6ee3
5cf323:	59                   	pop    %ecx
5cf324:	85 c0                	test   %eax,%eax
5cf326:	75 f1                	jne    0x5cf319
5cf328:	8a 1e                	mov    (%esi),%bl
5cf32a:	80 fb 2d             	cmp    $0x2d,%bl
5cf32d:	74 09                	je     0x5cf338
5cf32f:	80 fb 2b             	cmp    $0x2b,%bl
5cf332:	74 04                	je     0x5cf338
5cf334:	b3 2b                	mov    $0x2b,%bl
5cf336:	eb 01                	jmp    0x5cf339
5cf338:	46                   	inc    %esi
5cf339:	ff 75 14             	push   0x14(%ebp)
5cf33c:	ff 75 10             	push   0x10(%ebp)
5cf33f:	57                   	push   %edi
5cf340:	56                   	push   %esi
5cf341:	e8 85 00 00 00       	call   0x5cf3cb
5cf346:	8b c8                	mov    %eax,%ecx
5cf348:	83 c4 10             	add    $0x10,%esp
5cf34b:	8b 07                	mov    (%edi),%eax
5cf34d:	3b f0                	cmp    %eax,%esi
5cf34f:	89 45 fc             	mov    %eax,-0x4(%ebp)
5cf352:	8b 45 08             	mov    0x8(%ebp),%eax
5cf355:	75 05                	jne    0x5cf35c
5cf357:	89 07                	mov    %eax,(%edi)
5cf359:	89 45 fc             	mov    %eax,-0x4(%ebp)
5cf35c:	33 f6                	xor    %esi,%esi
5cf35e:	bf 00 00 00 80       	mov    $0x80000000,%edi
5cf363:	3b 45 fc             	cmp    -0x4(%ebp),%eax
5cf366:	75 06                	jne    0x5cf36e
5cf368:	8b c1                	mov    %ecx,%eax
5cf36a:	0b c2                	or     %edx,%eax
5cf36c:	75 25                	jne    0x5cf393
5cf36e:	80 fb 2b             	cmp    $0x2b,%bl
5cf371:	75 0f                	jne    0x5cf382
5cf373:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
5cf379:	77 18                	ja     0x5cf393
5cf37b:	72 05                	jb     0x5cf382
5cf37d:	83 f9 ff             	cmp    $0xffffffff,%ecx
5cf380:	77 11                	ja     0x5cf393
5cf382:	80 fb 2d             	cmp    $0x2d,%bl
5cf385:	75 3d                	jne    0x5cf3c4
5cf387:	33 f6                	xor    %esi,%esi
5cf389:	3b d7                	cmp    %edi,%edx