409203:	8b ca                	mov    %edx,%ecx
409205:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
40920b:	3b d0                	cmp    %eax,%edx
40920d:	74 0e                	je     0x40921d
40920f:	8b 7d 08             	mov    0x8(%ebp),%edi
409212:	39 39                	cmp    %edi,(%ecx)
409214:	74 0d                	je     0x409223
409216:	83 c1 0c             	add    $0xc,%ecx
409219:	3b c8                	cmp    %eax,%ecx
40921b:	75 f5                	jne    0x409212
40921d:	33 c0                	xor    %eax,%eax
40921f:	5f                   	pop    %edi
409220:	5e                   	pop    %esi
409221:	c9                   	leave
409222:	c3                   	ret
409223:	85 c9                	test   %ecx,%ecx
409225:	74 f6                	je     0x40921d
409227:	8b 79 08             	mov    0x8(%ecx),%edi
40922a:	85 ff                	test   %edi,%edi
40922c:	74 ef                	je     0x40921d
40922e:	83 ff 05             	cmp    $0x5,%edi
409231:	75 09                	jne    0x40923c
409233:	83 61 08 00          	andl   $0x0,0x8(%ecx)
409237:	33 c0                	xor    %eax,%eax
409239:	40                   	inc    %eax
40923a:	eb e3                	jmp    0x40921f
40923c:	83 ff 01             	cmp    $0x1,%edi
40923f:	75 05                	jne    0x409246
409241:	83 c8 ff             	or     $0xffffffff,%eax
409244:	eb d9                	jmp    0x40921f
409246:	8b 46 04             	mov    0x4(%esi),%eax
409249:	89 45 fc             	mov    %eax,-0x4(%ebp)
40924c:	8b 45 0c             	mov    0xc(%ebp),%eax
40924f:	89 46 04             	mov    %eax,0x4(%esi)
409252:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
409256:	0f 85 bb 00 00 00    	jne    0x409317
40925c:	83 c2 24             	add    $0x24,%edx
40925f:	8d 42 6c             	lea    0x6c(%edx),%eax
409262:	eb 07                	jmp    0x40926b
409264:	83 62 08 00          	andl   $0x0,0x8(%edx)
409268:	83 c2 0c             	add    $0xc,%edx
40926b:	3b d0                	cmp    %eax,%edx
40926d:	75 f5                	jne    0x409264
40926f:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
409274:	53                   	push   %ebx
409275:	8b 5e 08             	mov    0x8(%esi),%ebx
409278:	39 01                	cmp    %eax,(%ecx)
40927a:	77 47                	ja     0x4092c3
40927c:	74 3e                	je     0x4092bc
40927e:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
409284:	74 2f                	je     0x4092b5
409286:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
40928c:	74 20                	je     0x4092ae
40928e:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
409294:	74 11                	je     0x4092a7
409296:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
40929c:	8b c3                	mov    %ebx,%eax
40929e:	75 62                	jne    0x409302
4092a0:	b8 81 00 00 00       	mov    $0x81,%eax
4092a5:	eb 58                	jmp    0x4092ff
4092a7:	b8 86 00 00 00       	mov    $0x86,%eax
4092ac:	eb 51                	jmp    0x4092ff
4092ae:	b8 83 00 00 00       	mov    $0x83,%eax
4092b3:	eb 4a                	jmp    0x4092ff
4092b5:	b8 82 00 00 00       	mov    $0x82,%eax
4092ba:	eb 43                	jmp    0x4092ff
4092bc:	b8 84 00 00 00       	mov    $0x84,%eax
4092c1:	eb 3c                	jmp    0x4092ff
4092c3:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
4092c9:	74 2f                	je     0x4092fa
4092cb:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
4092d1:	74 20                	je     0x4092f3
4092d3:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
4092d9:	74 11                	je     0x4092ec
4092db:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
4092e1:	8b c3                	mov    %ebx,%eax
4092e3:	75 1d                	jne    0x409302
4092e5:	b8 8d 00 00 00       	mov    $0x8d,%eax
4092ea:	eb 13                	jmp    0x4092ff
4092ec:	b8 8e 00 00 00       	mov    $0x8e,%eax
4092f1:	eb 0c                	jmp    0x4092ff
4092f3:	b8 85 00 00 00       	mov    $0x85,%eax
4092f8:	eb 05                	jmp    0x4092ff
4092fa:	b8 8a 00 00 00       	mov    $0x8a,%eax
4092ff:	89 46 08             	mov    %eax,0x8(%esi)
409302:	50                   	push   %eax
409303:	6a 08                	push   $0x8
409305:	8b cf                	mov    %edi,%ecx
409307:	ff 15 54 91 41 00    	call   *0x419154
40930d:	ff d7                	call   *%edi
40930f:	59                   	pop    %ecx
409310:	59                   	pop    %ecx
409311:	89 5e 08             	mov    %ebx,0x8(%esi)
409314:	5b                   	pop    %ebx
409315:	eb 12                	jmp    0x409329
409317:	83 61 08 00          	andl   $0x0,0x8(%ecx)
40931b:	ff 71 04             	push   0x4(%ecx)
40931e:	8b cf                	mov    %edi,%ecx
409320:	ff 15 54 91 41 00    	call   *0x419154
409326:	ff d7                	call   *%edi
409328:	59                   	pop    %ecx
409329:	8b 45 fc             	mov    -0x4(%ebp),%eax
40932c:	89 46 04             	mov    %eax,0x4(%esi)
40932f:	e9 0d ff ff ff       	jmp    0x409241
409334:	a1 50 1e 42 00       	mov    0x421e50,%eax
409339:	c3                   	ret
40933a:	8b ff                	mov    %edi,%edi
40933c:	55                   	push   %ebp
40933d:	8b ec                	mov    %esp,%ebp
40933f:	8b 45 08             	mov    0x8(%ebp),%eax
409342:	a3 50 1e 42 00       	mov    %eax,0x421e50
409347:	5d                   	pop    %ebp
409348:	c3                   	ret
409349:	8b ff                	mov    %edi,%edi
40934b:	55                   	push   %ebp
40934c:	8b ec                	mov    %esp,%ebp
40934e:	a1 c0 10 42 00       	mov    0x4210c0,%eax
409353:	83 e0 1f             	and    $0x1f,%eax
409356:	6a 20                	push   $0x20
409358:	59                   	pop    %ecx
409359:	2b c8                	sub    %eax,%ecx
40935b:	8b 45 08             	mov    0x8(%ebp),%eax
40935e:	d3 c8                	ror    %cl,%eax
409360:	33 05 c0 10 42 00    	xor    0x4210c0,%eax
409366:	5d                   	pop    %ebp
409367:	c3                   	ret
409368:	8b 0d c0 10 42 00    	mov    0x4210c0,%ecx
40936e:	8b 15 54 1e 42 00    	mov    0x421e54,%edx
409374:	83 e1 1f             	and    $0x1f,%ecx
409377:	33 15 c0 10 42 00    	xor    0x4210c0,%edx
40937d:	d3 ca                	ror    %cl,%edx
40937f:	85 d2                	test   %edx,%edx
409381:	0f 95 c0             	setne  %al
409384:	c3                   	ret
409385:	8b ff                	mov    %edi,%edi
409387:	55                   	push   %ebp
409388:	8b ec                	mov    %esp,%ebp
40938a:	8b 45 08             	mov    0x8(%ebp),%eax
40938d:	a3 54 1e 42 00       	mov    %eax,0x421e54
409392:	5d                   	pop    %ebp
409393:	c3                   	ret
409394:	8b ff                	mov    %edi,%edi
409396:	55                   	push   %ebp
409397:	8b ec                	mov    %esp,%ebp
409399:	8b 0d c0 10 42 00    	mov    0x4210c0,%ecx
40939f:	56                   	push   %esi
4093a0:	8b 35 54 1e 42 00    	mov    0x421e54,%esi
4093a6:	83 e1 1f             	and    $0x1f,%ecx
4093a9:	33 35 c0 10 42 00    	xor    0x4210c0,%esi
4093af:	d3 ce                	ror    %cl,%esi
4093b1:	85 f6                	test   %esi,%esi
4093b3:	75 04                	jne    0x4093b9
4093b5:	33 c0                	xor    %eax,%eax
4093b7:	eb 0e                	jmp    0x4093c7
4093b9:	ff 75 08             	push   0x8(%ebp)
4093bc:	8b ce                	mov    %esi,%ecx
4093be:	ff 15 54 91 41 00    	call   *0x419154
4093c4:	ff d6                	call   *%esi
4093c6:	59                   	pop    %ecx
4093c7:	5e                   	pop    %esi
4093c8:	5d                   	pop    %ebp
4093c9:	c3                   	ret
4093ca:	8b ff                	mov    %edi,%edi
4093cc:	55                   	push   %ebp
4093cd:	8b ec                	mov    %esp,%ebp
4093cf:	ff 75 08             	push   0x8(%ebp)
4093d2:	e8 72 ff ff ff       	call   0x409349
4093d7:	59                   	pop    %ecx
4093d8:	a3 54 1e 42 00       	mov    %eax,0x421e54
4093dd:	5d                   	pop    %ebp
4093de:	c3                   	ret
4093df:	8b ff                	mov    %edi,%edi
4093e1:	55                   	push   %ebp
4093e2:	8b ec                	mov    %esp,%ebp
4093e4:	83 ec 0c             	sub    $0xc,%esp
4093e7:	57                   	push   %edi
4093e8:	8b 7d 08             	mov    0x8(%ebp),%edi
4093eb:	85 ff                	test   %edi,%edi
4093ed:	75 07                	jne    0x4093f6
4093ef:	33 c0                	xor    %eax,%eax
4093f1:	e9 1c 01 00 00       	jmp    0x409512
4093f6:	56                   	push   %esi
4093f7:	83 ff 02             	cmp    $0x2,%edi
4093fa:	74 1b                	je     0x409417
4093fc:	83 ff 01             	cmp    $0x1,%edi
4093ff:	74 16                	je     0x409417
409401:	e8 29 13 00 00       	call   0x40a72f
409406:	6a 16                	push   $0x16
409408:	5e                   	pop    %esi
409409:	89 30                	mov    %esi,(%eax)
40940b:	e8 b9 e0 ff ff       	call   0x4074c9
409410:	8b c6                	mov    %esi,%eax
409412:	e9 fa 00 00 00       	jmp    0x409511
409417:	53                   	push   %ebx
409418:	68 04 01 00 00       	push   $0x104
40941d:	bb 58 1e 42 00       	mov    $0x421e58,%ebx
409422:	33 f6                	xor    %esi,%esi
409424:	53                   	push   %ebx
409425:	56                   	push   %esi
409426:	ff 15 14 90 41 00    	call   *0x419014
40942c:	89 1d 80 20 42 00    	mov    %ebx,0x422080
409432:	8b 1d 94 20 42 00    	mov    0x422094,%ebx
409438:	85 db                	test   %ebx,%ebx
40943a:	74 05                	je     0x409441
40943c:	66 39 33             	cmp    %si,(%ebx)
40943f:	75 05                	jne    0x409446
409441:	bb 58 1e 42 00       	mov    $0x421e58,%ebx
409446:	8d 45 f4             	lea    -0xc(%ebp),%eax
409449:	89 75 fc             	mov    %esi,-0x4(%ebp)
40944c:	50                   	push   %eax
40944d:	8d 45 fc             	lea    -0x4(%ebp),%eax
409450:	89 75 f4             	mov    %esi,-0xc(%ebp)
409453:	50                   	push   %eax
409454:	56                   	push   %esi
409455:	56                   	push   %esi
409456:	53                   	push   %ebx
409457:	e8 b9 00 00 00       	call   0x409515
40945c:	6a 02                	push   $0x2
40945e:	ff 75 f4             	push   -0xc(%ebp)
409461:	ff 75 fc             	push   -0x4(%ebp)
409464:	e8 4d 02 00 00       	call   0x4096b6
409469:	8b f0                	mov    %eax,%esi
40946b:	83 c4 20             	add    $0x20,%esp
40946e:	85 f6                	test   %esi,%esi
409470:	75 0c                	jne    0x40947e
409472:	e8 b8 12 00 00       	call   0x40a72f
409477:	6a 0c                	push   $0xc
409479:	5e                   	pop    %esi
40947a:	89 30                	mov    %esi,(%eax)
40947c:	eb 2f                	jmp    0x4094ad
40947e:	8d 45 f4             	lea    -0xc(%ebp),%eax
409481:	50                   	push   %eax
409482:	8d 45 fc             	lea    -0x4(%ebp),%eax
409485:	50                   	push   %eax
409486:	8b 45 fc             	mov    -0x4(%ebp),%eax
409489:	8d 04 86             	lea    (%esi,%eax,4),%eax
40948c:	50                   	push   %eax
40948d:	56                   	push   %esi
40948e:	53                   	push   %ebx
40948f:	e8 81 00 00 00       	call   0x409515
409494:	83 c4 14             	add    $0x14,%esp
409497:	83 ff 01             	cmp    $0x1,%edi
40949a:	75 1c                	jne    0x4094b8
40949c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40949f:	48                   	dec    %eax
4094a0:	89 35 8c 20 42 00    	mov    %esi,0x42208c
4094a6:	a3 84 20 42 00       	mov    %eax,0x422084
4094ab:	33 f6                	xor    %esi,%esi
4094ad:	6a 00                	push   $0x0
4094af:	e8 eb 12 00 00       	call   0x40a79f
4094b4:	8b c6                	mov    %esi,%eax
4094b6:	eb 57                	jmp    0x40950f
4094b8:	8d 45 f8             	lea    -0x8(%ebp),%eax
4094bb:	33 db                	xor    %ebx,%ebx
4094bd:	50                   	push   %eax
4094be:	56                   	push   %esi
4094bf:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4094c2:	e8 ad 51 00 00       	call   0x40e674
4094c7:	8b f8                	mov    %eax,%edi
4094c9:	59                   	pop    %ecx
4094ca:	59                   	pop    %ecx
4094cb:	85 ff                	test   %edi,%edi
4094cd:	74 0a                	je     0x4094d9
4094cf:	ff 75 f8             	push   -0x8(%ebp)
4094d2:	e8 c8 12 00 00       	call   0x40a79f
4094d7:	eb 2a                	jmp    0x409503
4094d9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4094dc:	8b cb                	mov    %ebx,%ecx
4094de:	8b c2                	mov    %edx,%eax
4094e0:	39 1a                	cmp    %ebx,(%edx)
4094e2:	74 08                	je     0x4094ec
4094e4:	8d 40 04             	lea    0x4(%eax),%eax
4094e7:	41                   	inc    %ecx
4094e8:	39 18                	cmp    %ebx,(%eax)
4094ea:	75 f8                	jne    0x4094e4
4094ec:	53                   	push   %ebx
4094ed:	89 0d 84 20 42 00    	mov    %ecx,0x422084
4094f3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4094f6:	89 15 8c 20 42 00    	mov    %edx,0x42208c
4094fc:	e8 9e 12 00 00       	call   0x40a79f
409501:	8b fb                	mov    %ebx,%edi
409503:	59                   	pop    %ecx
409504:	56                   	push   %esi
409505:	89 5d f8             	mov    %ebx,-0x8(%ebp)
409508:	e8 92 12 00 00       	call   0x40a79f
40950d:	8b c7                	mov    %edi,%eax
40950f:	59                   	pop    %ecx
409510:	5b                   	pop    %ebx
409511:	5e                   	pop    %esi
409512:	5f                   	pop    %edi
409513:	c9                   	leave
409514:	c3                   	ret
409515:	8b ff                	mov    %edi,%edi
409517:	55                   	push   %ebp
409518:	8b ec                	mov    %esp,%ebp
40951a:	8b 45 18             	mov    0x18(%ebp),%eax
40951d:	83 ec 0c             	sub    $0xc,%esp
409520:	8b 4d 14             	mov    0x14(%ebp),%ecx
409523:	8b 55 08             	mov    0x8(%ebp),%edx
409526:	83 20 00             	andl   $0x0,(%eax)
409529:	56                   	push   %esi
40952a:	8b 75 0c             	mov    0xc(%ebp),%esi
40952d:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
409533:	8b 4d 10             	mov    0x10(%ebp),%ecx
409536:	85 f6                	test   %esi,%esi
409538:	74 08                	je     0x409542
40953a:	89 0e                	mov    %ecx,(%esi)
40953c:	83 c6 04             	add    $0x4,%esi
40953f:	89 75 0c             	mov    %esi,0xc(%ebp)
409542:	53                   	push   %ebx
409543:	57                   	push   %edi
409544:	32 db                	xor    %bl,%bl
409546:	c7 45 f4 09 00 00 00 	movl   $0x9,-0xc(%ebp)
40954d:	eb 03                	jmp    0x409552
40954f:	8b 45 18             	mov    0x18(%ebp),%eax
409552:	6a 22                	push   $0x22
409554:	5e                   	pop    %esi
409555:	66 39 32             	cmp    %si,(%edx)
409558:	8b fa                	mov    %edx,%edi
40955a:	8b 75 0c             	mov    0xc(%ebp),%esi
40955d:	75 0d                	jne    0x40956c
40955f:	84 db                	test   %bl,%bl
409561:	6a 22                	push   $0x22
409563:	0f 94 c3             	sete   %bl
409566:	83 c2 02             	add    $0x2,%edx
409569:	58                   	pop    %eax
40956a:	eb 1a                	jmp    0x409586
40956c:	ff 00                	incl   (%eax)
40956e:	85 c9                	test   %ecx,%ecx
409570:	74 09                	je     0x40957b
409572:	66 8b 02             	mov    (%edx),%ax
409575:	66 89 01             	mov    %ax,(%ecx)
409578:	83 c1 02             	add    $0x2,%ecx
40957b:	0f b7 02             	movzwl (%edx),%eax
40957e:	83 c2 02             	add    $0x2,%edx
409581:	66 85 c0             	test   %ax,%ax
409584:	74 23                	je     0x4095a9
409586:	84 db                	test   %bl,%bl
409588:	75 c5                	jne    0x40954f
40958a:	6a 20                	push   $0x20
40958c:	5f                   	pop    %edi
40958d:	66 3b c7             	cmp    %di,%ax
409590:	74 0b                	je     0x40959d
409592:	6a 09                	push   $0x9
409594:	5f                   	pop    %edi
409595:	66 3b c7             	cmp    %di,%ax
409598:	8b 45 18             	mov    0x18(%ebp),%eax
40959b:	75 b5                	jne    0x409552
40959d:	85 c9                	test   %ecx,%ecx
40959f:	74 0a                	je     0x4095ab