5ec213:	c3                   	ret
5ec214:	8b ff                	mov    %edi,%edi
5ec216:	55                   	push   %ebp
5ec217:	8b ec                	mov    %esp,%ebp
5ec219:	83 ec 48             	sub    $0x48,%esp
5ec21c:	8d 45 b8             	lea    -0x48(%ebp),%eax
5ec21f:	50                   	push   %eax
5ec220:	ff 15 6c 21 60 00    	call   *0x60216c
5ec226:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
5ec22b:	0f 84 97 00 00 00    	je     0x5ec2c8
5ec231:	53                   	push   %ebx
5ec232:	8b 5d ec             	mov    -0x14(%ebp),%ebx
5ec235:	85 db                	test   %ebx,%ebx
5ec237:	0f 84 8a 00 00 00    	je     0x5ec2c7
5ec23d:	56                   	push   %esi
5ec23e:	8b 33                	mov    (%ebx),%esi
5ec240:	8d 43 04             	lea    0x4(%ebx),%eax
5ec243:	03 c6                	add    %esi,%eax
5ec245:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ec248:	b8 00 20 00 00       	mov    $0x2000,%eax
5ec24d:	3b f0                	cmp    %eax,%esi
5ec24f:	7c 02                	jl     0x5ec253
5ec251:	8b f0                	mov    %eax,%esi
5ec253:	56                   	push   %esi
5ec254:	e8 c2 29 00 00       	call   0x5eec1b
5ec259:	a1 a8 72 71 00       	mov    0x7172a8,%eax
5ec25e:	59                   	pop    %ecx
5ec25f:	3b f0                	cmp    %eax,%esi
5ec261:	7e 02                	jle    0x5ec265
5ec263:	8b f0                	mov    %eax,%esi
5ec265:	57                   	push   %edi
5ec266:	33 ff                	xor    %edi,%edi
5ec268:	85 f6                	test   %esi,%esi
5ec26a:	74 59                	je     0x5ec2c5
5ec26c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ec26f:	8b 08                	mov    (%eax),%ecx
5ec271:	83 f9 ff             	cmp    $0xffffffff,%ecx
5ec274:	74 44                	je     0x5ec2ba
5ec276:	83 f9 fe             	cmp    $0xfffffffe,%ecx
5ec279:	74 3f                	je     0x5ec2ba
5ec27b:	8a 54 1f 04          	mov    0x4(%edi,%ebx,1),%dl
5ec27f:	f6 c2 01             	test   $0x1,%dl
5ec282:	74 36                	je     0x5ec2ba
5ec284:	f6 c2 08             	test   $0x8,%dl
5ec287:	75 0b                	jne    0x5ec294
5ec289:	51                   	push   %ecx
5ec28a:	ff 15 dc 21 60 00    	call   *0x6021dc
5ec290:	85 c0                	test   %eax,%eax
5ec292:	74 23                	je     0x5ec2b7
5ec294:	8b c7                	mov    %edi,%eax
5ec296:	8b cf                	mov    %edi,%ecx
5ec298:	83 e0 3f             	and    $0x3f,%eax
5ec29b:	c1 f9 06             	sar    $0x6,%ecx
5ec29e:	6b d0 38             	imul   $0x38,%eax,%edx
5ec2a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ec2a4:	03 14 8d a8 70 71 00 	add    0x7170a8(,%ecx,4),%edx
5ec2ab:	8b 00                	mov    (%eax),%eax
5ec2ad:	89 42 18             	mov    %eax,0x18(%edx)
5ec2b0:	8a 44 1f 04          	mov    0x4(%edi,%ebx,1),%al
5ec2b4:	88 42 28             	mov    %al,0x28(%edx)
5ec2b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ec2ba:	47                   	inc    %edi
5ec2bb:	83 c0 04             	add    $0x4,%eax
5ec2be:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ec2c1:	3b fe                	cmp    %esi,%edi
5ec2c3:	75 aa                	jne    0x5ec26f
5ec2c5:	5f                   	pop    %edi
5ec2c6:	5e                   	pop    %esi
5ec2c7:	5b                   	pop    %ebx
5ec2c8:	c9                   	leave
5ec2c9:	c3                   	ret
5ec2ca:	8b ff                	mov    %edi,%edi
5ec2cc:	53                   	push   %ebx
5ec2cd:	56                   	push   %esi
5ec2ce:	57                   	push   %edi
5ec2cf:	33 ff                	xor    %edi,%edi
5ec2d1:	8b c7                	mov    %edi,%eax
5ec2d3:	8b cf                	mov    %edi,%ecx
5ec2d5:	83 e0 3f             	and    $0x3f,%eax
5ec2d8:	c1 f9 06             	sar    $0x6,%ecx
5ec2db:	6b f0 38             	imul   $0x38,%eax,%esi
5ec2de:	03 34 8d a8 70 71 00 	add    0x7170a8(,%ecx,4),%esi
5ec2e5:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
5ec2e9:	74 0c                	je     0x5ec2f7
5ec2eb:	83 7e 18 fe          	cmpl   $0xfffffffe,0x18(%esi)
5ec2ef:	74 06                	je     0x5ec2f7
5ec2f1:	80 4e 28 80          	orb    $0x80,0x28(%esi)
5ec2f5:	eb 75                	jmp    0x5ec36c
5ec2f7:	8b c7                	mov    %edi,%eax
5ec2f9:	c6 46 28 81          	movb   $0x81,0x28(%esi)
5ec2fd:	83 e8 00             	sub    $0x0,%eax
5ec300:	74 10                	je     0x5ec312
5ec302:	83 e8 01             	sub    $0x1,%eax
5ec305:	74 07                	je     0x5ec30e
5ec307:	83 e8 01             	sub    $0x1,%eax
5ec30a:	6a f4                	push   $0xfffffff4
5ec30c:	eb 06                	jmp    0x5ec314
5ec30e:	6a f5                	push   $0xfffffff5
5ec310:	eb 02                	jmp    0x5ec314
5ec312:	6a f6                	push   $0xfffffff6
5ec314:	58                   	pop    %eax
5ec315:	50                   	push   %eax
5ec316:	ff 15 d4 21 60 00    	call   *0x6021d4
5ec31c:	8b d8                	mov    %eax,%ebx
5ec31e:	83 fb ff             	cmp    $0xffffffff,%ebx
5ec321:	74 2b                	je     0x5ec34e
5ec323:	85 db                	test   %ebx,%ebx
5ec325:	74 27                	je     0x5ec34e
5ec327:	53                   	push   %ebx
5ec328:	ff 15 dc 21 60 00    	call   *0x6021dc
5ec32e:	85 c0                	test   %eax,%eax
5ec330:	74 1c                	je     0x5ec34e
5ec332:	0f b6 c0             	movzbl %al,%eax
5ec335:	89 5e 18             	mov    %ebx,0x18(%esi)
5ec338:	83 f8 02             	cmp    $0x2,%eax
5ec33b:	75 06                	jne    0x5ec343
5ec33d:	80 4e 28 40          	orb    $0x40,0x28(%esi)
5ec341:	eb 29                	jmp    0x5ec36c
5ec343:	83 f8 03             	cmp    $0x3,%eax
5ec346:	75 24                	jne    0x5ec36c
5ec348:	80 4e 28 08          	orb    $0x8,0x28(%esi)
5ec34c:	eb 1e                	jmp    0x5ec36c
5ec34e:	80 4e 28 40          	orb    $0x40,0x28(%esi)
5ec352:	c7 46 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%esi)
5ec359:	a1 c0 6c 71 00       	mov    0x716cc0,%eax
5ec35e:	85 c0                	test   %eax,%eax
5ec360:	74 0a                	je     0x5ec36c
5ec362:	8b 04 b8             	mov    (%eax,%edi,4),%eax
5ec365:	c7 40 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%eax)
5ec36c:	47                   	inc    %edi
5ec36d:	83 ff 03             	cmp    $0x3,%edi
5ec370:	0f 85 5b ff ff ff    	jne    0x5ec2d1
5ec376:	5f                   	pop    %edi
5ec377:	5e                   	pop    %esi
5ec378:	5b                   	pop    %ebx
5ec379:	c3                   	ret
5ec37a:	6a 0c                	push   $0xc
5ec37c:	68 a0 aa 68 00       	push   $0x68aaa0
5ec381:	e8 7a 65 fe ff       	call   0x5d2900
5ec386:	6a 07                	push   $0x7
5ec388:	e8 35 c2 ff ff       	call   0x5e85c2
5ec38d:	59                   	pop    %ecx
5ec38e:	33 db                	xor    %ebx,%ebx
5ec390:	88 5d e7             	mov    %bl,-0x19(%ebp)
5ec393:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5ec396:	53                   	push   %ebx
5ec397:	e8 7f 28 00 00       	call   0x5eec1b
5ec39c:	59                   	pop    %ecx
5ec39d:	85 c0                	test   %eax,%eax
5ec39f:	75 0f                	jne    0x5ec3b0
5ec3a1:	e8 6e fe ff ff       	call   0x5ec214
5ec3a6:	e8 1f ff ff ff       	call   0x5ec2ca
5ec3ab:	b3 01                	mov    $0x1,%bl
5ec3ad:	88 5d e7             	mov    %bl,-0x19(%ebp)
5ec3b0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5ec3b7:	e8 15 00 00 00       	call   0x5ec3d1
5ec3bc:	8a c3                	mov    %bl,%al
5ec3be:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ec3c1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ec3c8:	59                   	pop    %ecx
5ec3c9:	5f                   	pop    %edi
5ec3ca:	5e                   	pop    %esi
5ec3cb:	5b                   	pop    %ebx
5ec3cc:	c9                   	leave
5ec3cd:	c3                   	ret
5ec3ce:	8a 5d e7             	mov    -0x19(%ebp),%bl
5ec3d1:	6a 07                	push   $0x7
5ec3d3:	e8 32 c2 ff ff       	call   0x5e860a
5ec3d8:	59                   	pop    %ecx
5ec3d9:	c3                   	ret
5ec3da:	8b ff                	mov    %edi,%edi
5ec3dc:	56                   	push   %esi
5ec3dd:	33 f6                	xor    %esi,%esi
5ec3df:	8b 86 a8 70 71 00    	mov    0x7170a8(%esi),%eax
5ec3e5:	85 c0                	test   %eax,%eax
5ec3e7:	74 0e                	je     0x5ec3f7
5ec3e9:	50                   	push   %eax
5ec3ea:	e8 f7 27 00 00       	call   0x5eebe6
5ec3ef:	83 a6 a8 70 71 00 00 	andl   $0x0,0x7170a8(%esi)
5ec3f6:	59                   	pop    %ecx
5ec3f7:	83 c6 04             	add    $0x4,%esi
5ec3fa:	81 fe 00 02 00 00    	cmp    $0x200,%esi
5ec400:	72 dd                	jb     0x5ec3df
5ec402:	b0 01                	mov    $0x1,%al
5ec404:	5e                   	pop    %esi
5ec405:	c3                   	ret
5ec406:	8b ff                	mov    %edi,%edi
5ec408:	55                   	push   %ebp
5ec409:	8b ec                	mov    %esp,%ebp
5ec40b:	b8 ff ff 00 00       	mov    $0xffff,%eax
5ec410:	83 ec 14             	sub    $0x14,%esp
5ec413:	66 39 45 08          	cmp    %ax,0x8(%ebp)
5ec417:	0f 84 bb 00 00 00    	je     0x5ec4d8
5ec41d:	56                   	push   %esi
5ec41e:	ff 75 0c             	push   0xc(%ebp)
5ec421:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5ec424:	e8 ac e8 fe ff       	call   0x5dacd5
5ec429:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ec42c:	be 00 01 00 00       	mov    $0x100,%esi
5ec431:	66 8b 45 08          	mov    0x8(%ebp),%ax
5ec435:	81 79 08 e9 fd 00 00 	cmpl   $0xfde9,0x8(%ecx)
5ec43c:	75 29                	jne    0x5ec467
5ec43e:	8d 56 80             	lea    -0x80(%esi),%edx
5ec441:	66 3b c2             	cmp    %dx,%ax
5ec444:	73 55                	jae    0x5ec49b
5ec446:	0f b6 d0             	movzbl %al,%edx
5ec449:	f6 04 55 8a 3c 67 00 	testb  $0x1,0x673c8a(,%edx,2)
5ec450:	01
5ec451:	74 0c                	je     0x5ec45f
5ec453:	8b 81 94 00 00 00    	mov    0x94(%ecx),%eax
5ec459:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
5ec45d:	eb 03                	jmp    0x5ec462
5ec45f:	0f b6 c0             	movzbl %al,%eax
5ec462:	0f b7 c0             	movzwl %ax,%eax
5ec465:	eb 2c                	jmp    0x5ec493
5ec467:	66 3b c6             	cmp    %si,%ax
5ec46a:	73 1e                	jae    0x5ec48a
5ec46c:	0f b6 d0             	movzbl %al,%edx
5ec46f:	f6 04 55 8a 3c 67 00 	testb  $0x1,0x673c8a(,%edx,2)
5ec476:	01
5ec477:	74 0c                	je     0x5ec485
5ec479:	8b 81 94 00 00 00    	mov    0x94(%ecx),%eax
5ec47f:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
5ec483:	eb 0e                	jmp    0x5ec493
5ec485:	0f b6 c0             	movzbl %al,%eax
5ec488:	eb 09                	jmp    0x5ec493
5ec48a:	83 b9 a8 00 00 00 00 	cmpl   $0x0,0xa8(%ecx)
5ec491:	75 08                	jne    0x5ec49b
5ec493:	0f b7 c0             	movzwl %ax,%eax
5ec496:	0f b7 c0             	movzwl %ax,%eax
5ec499:	eb 23                	jmp    0x5ec4be
5ec49b:	6a 01                	push   $0x1
5ec49d:	8d 45 fc             	lea    -0x4(%ebp),%eax
5ec4a0:	50                   	push   %eax
5ec4a1:	6a 01                	push   $0x1
5ec4a3:	8d 45 08             	lea    0x8(%ebp),%eax
5ec4a6:	50                   	push   %eax
5ec4a7:	56                   	push   %esi
5ec4a8:	ff b1 a8 00 00 00    	push   0xa8(%ecx)
5ec4ae:	e8 e8 45 00 00       	call   0x5f0a9b
5ec4b3:	83 c4 18             	add    $0x18,%esp
5ec4b6:	85 c0                	test   %eax,%eax
5ec4b8:	75 09                	jne    0x5ec4c3
5ec4ba:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
5ec4be:	0f b7 c0             	movzwl %ax,%eax
5ec4c1:	eb 04                	jmp    0x5ec4c7
5ec4c3:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
5ec4c7:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
5ec4cb:	5e                   	pop    %esi
5ec4cc:	74 0a                	je     0x5ec4d8
5ec4ce:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5ec4d1:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5ec4d8:	c9                   	leave
5ec4d9:	c3                   	ret
5ec4da:	8b ff                	mov    %edi,%edi
5ec4dc:	55                   	push   %ebp
5ec4dd:	8b ec                	mov    %esp,%ebp
5ec4df:	51                   	push   %ecx
5ec4e0:	51                   	push   %ecx
5ec4e1:	66 8b 45 08          	mov    0x8(%ebp),%ax
5ec4e5:	b9 ff ff 00 00       	mov    $0xffff,%ecx
5ec4ea:	56                   	push   %esi
5ec4eb:	66 8b 75 0c          	mov    0xc(%ebp),%si
5ec4ef:	0f b7 d6             	movzwl %si,%edx
5ec4f2:	66 3b c1             	cmp    %cx,%ax
5ec4f5:	74 47                	je     0x5ec53e
5ec4f7:	b9 00 01 00 00       	mov    $0x100,%ecx
5ec4fc:	66 3b c1             	cmp    %cx,%ax
5ec4ff:	73 10                	jae    0x5ec511
5ec501:	0f b7 c8             	movzwl %ax,%ecx
5ec504:	a1 10 19 69 00       	mov    0x691910,%eax
5ec509:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
5ec50d:	23 c2                	and    %edx,%eax
5ec50f:	eb 2f                	jmp    0x5ec540
5ec511:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
5ec515:	33 c0                	xor    %eax,%eax
5ec517:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
5ec51b:	8d 45 fc             	lea    -0x4(%ebp),%eax
5ec51e:	50                   	push   %eax
5ec51f:	6a 01                	push   $0x1
5ec521:	8d 45 f8             	lea    -0x8(%ebp),%eax
5ec524:	50                   	push   %eax
5ec525:	6a 01                	push   $0x1
5ec527:	e8 6d 8b 00 00       	call   0x5f5099
5ec52c:	83 c4 10             	add    $0x10,%esp
5ec52f:	85 c0                	test   %eax,%eax
5ec531:	74 0b                	je     0x5ec53e
5ec533:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
5ec537:	0f b7 ce             	movzwl %si,%ecx
5ec53a:	23 c1                	and    %ecx,%eax
5ec53c:	eb 02                	jmp    0x5ec540
5ec53e:	33 c0                	xor    %eax,%eax
5ec540:	5e                   	pop    %esi
5ec541:	c9                   	leave
5ec542:	c3                   	ret
5ec543:	8b ff                	mov    %edi,%edi
5ec545:	55                   	push   %ebp
5ec546:	8b ec                	mov    %esp,%ebp
5ec548:	56                   	push   %esi
5ec549:	8b 75 08             	mov    0x8(%ebp),%esi
5ec54c:	85 f6                	test   %esi,%esi
5ec54e:	74 0c                	je     0x5ec55c
5ec550:	6a e0                	push   $0xffffffe0
5ec552:	33 d2                	xor    %edx,%edx
5ec554:	58                   	pop    %eax
5ec555:	f7 f6                	div    %esi
5ec557:	3b 45 0c             	cmp    0xc(%ebp),%eax
5ec55a:	72 34                	jb     0x5ec590
5ec55c:	0f af 75 0c          	imul   0xc(%ebp),%esi
5ec560:	85 f6                	test   %esi,%esi
5ec562:	75 17                	jne    0x5ec57b
5ec564:	46                   	inc    %esi
5ec565:	eb 14                	jmp    0x5ec57b
5ec567:	e8 58 d4 ff ff       	call   0x5e99c4
5ec56c:	85 c0                	test   %eax,%eax
5ec56e:	74 20                	je     0x5ec590
5ec570:	56                   	push   %esi
5ec571:	e8 f1 c3 ff ff       	call   0x5e8967
5ec576:	59                   	pop    %ecx
5ec577:	85 c0                	test   %eax,%eax
5ec579:	74 15                	je     0x5ec590
5ec57b:	56                   	push   %esi
5ec57c:	6a 08                	push   $0x8
5ec57e:	ff 35 ec 6c 71 00    	push   0x716cec
5ec584:	ff 15 cc 20 60 00    	call   *0x6020cc
5ec58a:	85 c0                	test   %eax,%eax
5ec58c:	74 d9                	je     0x5ec567
5ec58e:	eb 0d                	jmp    0x5ec59d
5ec590:	e8 f3 e6 fe ff       	call   0x5dac88
5ec595:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5ec59b:	33 c0                	xor    %eax,%eax
5ec59d:	5e                   	pop    %esi
5ec59e:	5d                   	pop    %ebp
5ec59f:	c3                   	ret
5ec5a0:	8b ff                	mov    %edi,%edi
5ec5a2:	55                   	push   %ebp
5ec5a3:	8b ec                	mov    %esp,%ebp
5ec5a5:	8b 55 08             	mov    0x8(%ebp),%edx
5ec5a8:	85 d2                	test   %edx,%edx
5ec5aa:	75 15                	jne    0x5ec5c1
5ec5ac:	e8 d7 e6 fe ff       	call   0x5dac88
5ec5b1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ec5b7:	e8 24 9c fe ff       	call   0x5d61e0
5ec5bc:	83 c8 ff             	or     $0xffffffff,%eax
5ec5bf:	5d                   	pop    %ebp
5ec5c0:	c3                   	ret
5ec5c1:	83 6a 08 01          	subl   $0x1,0x8(%edx)
5ec5c5:	79 09                	jns    0x5ec5d0
5ec5c7:	52                   	push   %edx
5ec5c8:	e8 c3 36 00 00       	call   0x5efc90