49820c:	89 45 b8             	mov    %eax,-0x48(%ebp)
49820f:	89 45 8c             	mov    %eax,-0x74(%ebp)
498212:	ff 45 88             	incl   -0x78(%ebp)
498215:	8b 0e                	mov    (%esi),%ecx
498217:	85 c9                	test   %ecx,%ecx
498219:	74 38                	je     0x498253
49821b:	8b 41 1c             	mov    0x1c(%ecx),%eax
49821e:	83 38 00             	cmpl   $0x0,(%eax)
498221:	74 1b                	je     0x49823e
498223:	8b 51 2c             	mov    0x2c(%ecx),%edx
498226:	8b 02                	mov    (%edx),%eax
498228:	85 c0                	test   %eax,%eax
49822a:	7e 12                	jle    0x49823e
49822c:	48                   	dec    %eax
49822d:	89 02                	mov    %eax,(%edx)
49822f:	8b 49 1c             	mov    0x1c(%ecx),%ecx
498232:	8b 11                	mov    (%ecx),%edx
498234:	8d 42 01             	lea    0x1(%edx),%eax
498237:	89 01                	mov    %eax,(%ecx)
498239:	0f b6 02             	movzbl (%edx),%eax
49823c:	eb 05                	jmp    0x498243
49823e:	8b 01                	mov    (%ecx),%eax
498240:	ff 50 1c             	call   *0x1c(%eax)
498243:	83 f8 ff             	cmp    $0xffffffff,%eax
498246:	74 0b                	je     0x498253
498248:	c6 46 04 00          	movb   $0x0,0x4(%esi)
49824c:	32 c0                	xor    %al,%al
49824e:	e9 9d fc ff ff       	jmp    0x497ef0
498253:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
498259:	b0 01                	mov    $0x1,%al
49825b:	c6 46 04 01          	movb   $0x1,0x4(%esi)
49825f:	e9 8c fc ff ff       	jmp    0x497ef0
498264:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
498267:	8b 4d 88             	mov    -0x78(%ebp),%ecx
49826a:	8b 55 8c             	mov    -0x74(%ebp),%edx
49826d:	85 c9                	test   %ecx,%ecx
49826f:	74 13                	je     0x498284
498271:	83 fb 10             	cmp    $0x10,%ebx
498274:	8d 45 b8             	lea    -0x48(%ebp),%eax
498277:	0f 43 c2             	cmovae %edx,%eax
49827a:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
49827e:	7e 5f                	jle    0x4982df
498280:	41                   	inc    %ecx
498281:	89 4d 88             	mov    %ecx,-0x78(%ebp)
498284:	8b 45 88             	mov    -0x78(%ebp),%eax
498287:	85 c0                	test   %eax,%eax
498289:	74 58                	je     0x4982e3
49828b:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
498291:	8a 09                	mov    (%ecx),%cl
498293:	80 f9 7f             	cmp    $0x7f,%cl
498296:	74 4b                	je     0x4982e3
498298:	83 e8 01             	sub    $0x1,%eax
49829b:	89 45 88             	mov    %eax,-0x78(%ebp)
49829e:	74 1a                	je     0x4982ba
4982a0:	8b 7d 88             	mov    -0x78(%ebp),%edi
4982a3:	8d 45 b8             	lea    -0x48(%ebp),%eax
4982a6:	83 fb 10             	cmp    $0x10,%ebx
4982a9:	0f 43 c2             	cmovae %edx,%eax
4982ac:	3a 0c 38             	cmp    (%eax,%edi,1),%cl
4982af:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
4982b5:	75 28                	jne    0x4982df
4982b7:	8b 45 88             	mov    -0x78(%ebp),%eax
4982ba:	85 c0                	test   %eax,%eax
4982bc:	75 0d                	jne    0x4982cb
4982be:	83 fb 10             	cmp    $0x10,%ebx
4982c1:	8d 45 b8             	lea    -0x48(%ebp),%eax
4982c4:	0f 43 c2             	cmovae %edx,%eax
4982c7:	3a 08                	cmp    (%eax),%cl
4982c9:	7c 14                	jl     0x4982df
4982cb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
4982d1:	40                   	inc    %eax
4982d2:	80 38 00             	cmpb   $0x0,(%eax)
4982d5:	7e ad                	jle    0x498284
4982d7:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
4982dd:	eb a5                	jmp    0x498284
4982df:	c6 45 92 01          	movb   $0x1,-0x6e(%ebp)
4982e3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4982e7:	83 fb 10             	cmp    $0x10,%ebx
4982ea:	72 2b                	jb     0x498317
4982ec:	8d 4b 01             	lea    0x1(%ebx),%ecx
4982ef:	8b c2                	mov    %edx,%eax
4982f1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4982f7:	72 14                	jb     0x49830d
4982f9:	8b 52 fc             	mov    -0x4(%edx),%edx
4982fc:	83 c1 23             	add    $0x23,%ecx
4982ff:	2b c2                	sub    %edx,%eax
498301:	83 c0 fc             	add    $0xfffffffc,%eax
498304:	83 f8 1f             	cmp    $0x1f,%eax
498307:	0f 87 74 0b 00 00    	ja     0x498e81
49830d:	51                   	push   %ecx
49830e:	52                   	push   %edx
49830f:	e8 5e 8d 14 00       	call   0x5e1072
498314:	83 c4 08             	add    $0x8,%esp
498317:	8b 5d 80             	mov    -0x80(%ebp),%ebx
49831a:	80 7d 9f 00          	cmpb   $0x0,-0x61(%ebp)
49831e:	74 0e                	je     0x49832e
498320:	85 db                	test   %ebx,%ebx
498322:	75 0a                	jne    0x49832e
498324:	8b 45 98             	mov    -0x68(%ebp),%eax
498327:	c6 00 30             	movb   $0x30,(%eax)
49832a:	40                   	inc    %eax
49832b:	89 45 98             	mov    %eax,-0x68(%ebp)
49832e:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
498332:	0f 85 a9 01 00 00    	jne    0x4984e1
498338:	8b 0e                	mov    (%esi),%ecx
49833a:	85 c9                	test   %ecx,%ecx
49833c:	0f 84 95 01 00 00    	je     0x4984d7
498342:	8b 41 1c             	mov    0x1c(%ecx),%eax
498345:	8b 10                	mov    (%eax),%edx
498347:	85 d2                	test   %edx,%edx
498349:	0f 84 79 01 00 00    	je     0x4984c8
49834f:	8b 41 2c             	mov    0x2c(%ecx),%eax
498352:	83 38 00             	cmpl   $0x0,(%eax)
498355:	0f 8e 6d 01 00 00    	jle    0x4984c8
49835b:	0f b6 02             	movzbl (%edx),%eax
49835e:	e9 6a 01 00 00       	jmp    0x4984cd
498363:	8a 46 04             	mov    0x4(%esi),%al
498366:	84 c0                	test   %al,%al
498368:	75 35                	jne    0x49839f
49836a:	8b 0e                	mov    (%esi),%ecx
49836c:	85 c9                	test   %ecx,%ecx
49836e:	74 25                	je     0x498395
498370:	8b 41 1c             	mov    0x1c(%ecx),%eax
498373:	8b 10                	mov    (%eax),%edx
498375:	85 d2                	test   %edx,%edx
498377:	74 0d                	je     0x498386
498379:	8b 41 2c             	mov    0x2c(%ecx),%eax
49837c:	83 38 00             	cmpl   $0x0,(%eax)
49837f:	7e 05                	jle    0x498386
498381:	0f b6 02             	movzbl (%edx),%eax
498384:	eb 05                	jmp    0x49838b
498386:	8b 01                	mov    (%ecx),%eax
498388:	ff 50 18             	call   *0x18(%eax)
49838b:	83 f8 ff             	cmp    $0xffffffff,%eax
49838e:	74 05                	je     0x498395
498390:	88 46 05             	mov    %al,0x5(%esi)
498393:	eb 06                	jmp    0x49839b
498395:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
49839b:	c6 46 04 01          	movb   $0x1,0x4(%esi)
49839f:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
4983a3:	75 35                	jne    0x4983da
4983a5:	8b 0f                	mov    (%edi),%ecx
4983a7:	85 c9                	test   %ecx,%ecx
4983a9:	74 25                	je     0x4983d0
4983ab:	8b 41 1c             	mov    0x1c(%ecx),%eax
4983ae:	8b 10                	mov    (%eax),%edx
4983b0:	85 d2                	test   %edx,%edx
4983b2:	74 0d                	je     0x4983c1
4983b4:	8b 41 2c             	mov    0x2c(%ecx),%eax
4983b7:	83 38 00             	cmpl   $0x0,(%eax)
4983ba:	7e 05                	jle    0x4983c1
4983bc:	0f b6 02             	movzbl (%edx),%eax
4983bf:	eb 05                	jmp    0x4983c6
4983c1:	8b 01                	mov    (%ecx),%eax
4983c3:	ff 50 18             	call   *0x18(%eax)
4983c6:	83 f8 ff             	cmp    $0xffffffff,%eax
4983c9:	74 05                	je     0x4983d0
4983cb:	88 47 05             	mov    %al,0x5(%edi)
4983ce:	eb 06                	jmp    0x4983d6
4983d0:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4983d6:	c6 47 04 01          	movb   $0x1,0x4(%edi)
4983da:	8b 0e                	mov    (%esi),%ecx
4983dc:	8b 07                	mov    (%edi),%eax
4983de:	85 c9                	test   %ecx,%ecx
4983e0:	75 0c                	jne    0x4983ee
4983e2:	85 c0                	test   %eax,%eax
4983e4:	75 0c                	jne    0x4983f2
4983e6:	89 5d 80             	mov    %ebx,-0x80(%ebp)
4983e9:	e9 2c ff ff ff       	jmp    0x49831a
4983ee:	85 c0                	test   %eax,%eax
4983f0:	75 f4                	jne    0x4983e6
4983f2:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
4983f6:	75 33                	jne    0x49842b
4983f8:	85 c9                	test   %ecx,%ecx
4983fa:	74 25                	je     0x498421
4983fc:	8b 41 1c             	mov    0x1c(%ecx),%eax
4983ff:	8b 10                	mov    (%eax),%edx
498401:	85 d2                	test   %edx,%edx
498403:	74 0d                	je     0x498412
498405:	8b 41 2c             	mov    0x2c(%ecx),%eax
498408:	83 38 00             	cmpl   $0x0,(%eax)
49840b:	7e 05                	jle    0x498412
49840d:	0f b6 02             	movzbl (%edx),%eax
498410:	eb 05                	jmp    0x498417
498412:	8b 01                	mov    (%ecx),%eax
498414:	ff 50 18             	call   *0x18(%eax)
498417:	83 f8 ff             	cmp    $0xffffffff,%eax
49841a:	74 05                	je     0x498421
49841c:	88 46 05             	mov    %al,0x5(%esi)
49841f:	eb 06                	jmp    0x498427
498421:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
498427:	c6 46 04 01          	movb   $0x1,0x4(%esi)
49842b:	0f b6 46 05          	movzbl 0x5(%esi),%eax
49842f:	6a 1c                	push   $0x1c
498431:	50                   	push   %eax
498432:	8d 45 d0             	lea    -0x30(%ebp),%eax
498435:	50                   	push   %eax
498436:	e8 15 aa 14 00       	call   0x5e2e50
49843b:	83 c4 0c             	add    $0xc,%esp
49843e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
498441:	85 c0                	test   %eax,%eax
498443:	0f 45 c8             	cmovne %eax,%ecx
498446:	8d 45 d0             	lea    -0x30(%ebp),%eax
498449:	2b c8                	sub    %eax,%ecx
49844b:	83 f9 16             	cmp    $0x16,%ecx
49844e:	73 96                	jae    0x4983e6
498450:	39 9d 7c ff ff ff    	cmp    %ebx,-0x84(%ebp)
498456:	7f 05                	jg     0x49845d
498458:	ff 45 84             	incl   -0x7c(%ebp)
49845b:	eb 18                	jmp    0x498475
49845d:	85 c9                	test   %ecx,%ecx
49845f:	75 04                	jne    0x498465
498461:	85 db                	test   %ebx,%ebx
498463:	74 10                	je     0x498475
498465:	8a 81 e8 4c 69 00    	mov    0x694ce8(%ecx),%al
49846b:	8b 4d 98             	mov    -0x68(%ebp),%ecx
49846e:	88 01                	mov    %al,(%ecx)
498470:	41                   	inc    %ecx
498471:	89 4d 98             	mov    %ecx,-0x68(%ebp)
498474:	43                   	inc    %ebx
498475:	8b 0e                	mov    (%esi),%ecx
498477:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
49847b:	85 c9                	test   %ecx,%ecx
49847d:	74 38                	je     0x4984b7
49847f:	8b 41 1c             	mov    0x1c(%ecx),%eax
498482:	83 38 00             	cmpl   $0x0,(%eax)
498485:	74 1b                	je     0x4984a2
498487:	8b 51 2c             	mov    0x2c(%ecx),%edx
49848a:	8b 02                	mov    (%edx),%eax
49848c:	85 c0                	test   %eax,%eax
49848e:	7e 12                	jle    0x4984a2
498490:	48                   	dec    %eax
498491:	89 02                	mov    %eax,(%edx)
498493:	8b 49 1c             	mov    0x1c(%ecx),%ecx
498496:	8b 11                	mov    (%ecx),%edx
498498:	8d 42 01             	lea    0x1(%edx),%eax
49849b:	89 01                	mov    %eax,(%ecx)
49849d:	0f b6 02             	movzbl (%edx),%eax
4984a0:	eb 05                	jmp    0x4984a7
4984a2:	8b 01                	mov    (%ecx),%eax
4984a4:	ff 50 1c             	call   *0x1c(%eax)
4984a7:	83 f8 ff             	cmp    $0xffffffff,%eax
4984aa:	74 0b                	je     0x4984b7
4984ac:	c6 46 04 00          	movb   $0x0,0x4(%esi)
4984b0:	32 c0                	xor    %al,%al
4984b2:	e9 af fe ff ff       	jmp    0x498366
4984b7:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4984bd:	b0 01                	mov    $0x1,%al
4984bf:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4984c3:	e9 9e fe ff ff       	jmp    0x498366
4984c8:	8b 01                	mov    (%ecx),%eax
4984ca:	ff 50 18             	call   *0x18(%eax)
4984cd:	83 f8 ff             	cmp    $0xffffffff,%eax
4984d0:	74 05                	je     0x4984d7
4984d2:	88 46 05             	mov    %al,0x5(%esi)
4984d5:	eb 06                	jmp    0x4984dd
4984d7:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4984dd:	c6 46 04 01          	movb   $0x1,0x4(%esi)
4984e1:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
4984e5:	75 35                	jne    0x49851c
4984e7:	8b 0f                	mov    (%edi),%ecx
4984e9:	85 c9                	test   %ecx,%ecx
4984eb:	74 25                	je     0x498512
4984ed:	8b 41 1c             	mov    0x1c(%ecx),%eax
4984f0:	8b 10                	mov    (%eax),%edx
4984f2:	85 d2                	test   %edx,%edx
4984f4:	74 0d                	je     0x498503
4984f6:	8b 41 2c             	mov    0x2c(%ecx),%eax
4984f9:	83 38 00             	cmpl   $0x0,(%eax)
4984fc:	7e 05                	jle    0x498503
4984fe:	0f b6 02             	movzbl (%edx),%eax
498501:	eb 05                	jmp    0x498508
498503:	8b 01                	mov    (%ecx),%eax
498505:	ff 50 18             	call   *0x18(%eax)
498508:	83 f8 ff             	cmp    $0xffffffff,%eax
49850b:	74 05                	je     0x498512
49850d:	88 47 05             	mov    %al,0x5(%edi)
498510:	eb 06                	jmp    0x498518
498512:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
498518:	c6 47 04 01          	movb   $0x1,0x4(%edi)
49851c:	8b 0e                	mov    (%esi),%ecx
49851e:	8b 07                	mov    (%edi),%eax
498520:	85 c9                	test   %ecx,%ecx
498522:	75 0a                	jne    0x49852e
498524:	85 c0                	test   %eax,%eax
498526:	0f 84 ac 00 00 00    	je     0x4985d8
49852c:	eb 08                	jmp    0x498536
49852e:	85 c0                	test   %eax,%eax
498530:	0f 85 a2 00 00 00    	jne    0x4985d8
498536:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
49853a:	75 33                	jne    0x49856f
49853c:	85 c9                	test   %ecx,%ecx
49853e:	74 25                	je     0x498565
498540:	8b 41 1c             	mov    0x1c(%ecx),%eax
498543:	8b 10                	mov    (%eax),%edx
498545:	85 d2                	test   %edx,%edx
498547:	74 0d                	je     0x498556
498549:	8b 41 2c             	mov    0x2c(%ecx),%eax
49854c:	83 38 00             	cmpl   $0x0,(%eax)
49854f:	7e 05                	jle    0x498556
498551:	0f b6 02             	movzbl (%edx),%eax
498554:	eb 05                	jmp    0x49855b
498556:	8b 01                	mov    (%ecx),%eax
498558:	ff 50 18             	call   *0x18(%eax)
49855b:	83 f8 ff             	cmp    $0xffffffff,%eax
49855e:	74 05                	je     0x498565
498560:	88 46 05             	mov    %al,0x5(%esi)
498563:	eb 06                	jmp    0x49856b
498565:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
49856b:	c6 46 04 01          	movb   $0x1,0x4(%esi)
49856f:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
498575:	8a 5e 05             	mov    0x5(%esi),%bl
498578:	8b 01                	mov    (%ecx),%eax
49857a:	8b 40 0c             	mov    0xc(%eax),%eax
49857d:	ff d0                	call   *%eax
49857f:	3a d8                	cmp    %al,%bl
498581:	75 55                	jne    0x4985d8
498583:	e8 64 e1 15 00       	call   0x5f66ec
498588:	8b 4d 98             	mov    -0x68(%ebp),%ecx
49858b:	8b 00                	mov    (%eax),%eax
49858d:	8a 00                	mov    (%eax),%al
49858f:	88 01                	mov    %al,(%ecx)
498591:	41                   	inc    %ecx
498592:	89 4d 98             	mov    %ecx,-0x68(%ebp)
498595:	8b 0e                	mov    (%esi),%ecx
498597:	85 c9                	test   %ecx,%ecx
498599:	74 33                	je     0x4985ce
49859b:	8b 41 1c             	mov    0x1c(%ecx),%eax
49859e:	83 38 00             	cmpl   $0x0,(%eax)
4985a1:	74 1b                	je     0x4985be
4985a3:	8b 51 2c             	mov    0x2c(%ecx),%edx
4985a6:	8b 02                	mov    (%edx),%eax
4985a8:	85 c0                	test   %eax,%eax
4985aa:	7e 12                	jle    0x4985be
4985ac:	48                   	dec    %eax
4985ad:	89 02                	mov    %eax,(%edx)
4985af:	8b 49 1c             	mov    0x1c(%ecx),%ecx
4985b2:	8b 11                	mov    (%ecx),%edx
4985b4:	8d 42 01             	lea    0x1(%edx),%eax
4985b7:	89 01                	mov    %eax,(%ecx)
4985b9:	0f b6 02             	movzbl (%edx),%eax
4985bc:	eb 05                	jmp    0x4985c3
4985be:	8b 01                	mov    (%ecx),%eax
4985c0:	ff 50 1c             	call   *0x1c(%eax)
4985c3:	83 f8 ff             	cmp    $0xffffffff,%eax
4985c6:	74 06                	je     0x4985ce
4985c8:	c6 46 04 00          	movb   $0x0,0x4(%esi)
4985cc:	eb 0a                	jmp    0x4985d8
4985ce:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4985d4:	c6 46 04 01          	movb   $0x1,0x4(%esi)