512383:	cc                   	int3
512384:	cc                   	int3
512385:	cc                   	int3
512386:	cc                   	int3
512387:	cc                   	int3
512388:	cc                   	int3
512389:	cc                   	int3
51238a:	cc                   	int3
51238b:	cc                   	int3
51238c:	cc                   	int3
51238d:	cc                   	int3
51238e:	cc                   	int3
51238f:	cc                   	int3
512390:	55                   	push   %ebp
512391:	8b ec                	mov    %esp,%ebp
512393:	83 ec 18             	sub    $0x18,%esp
512396:	8b 55 14             	mov    0x14(%ebp),%edx
512399:	53                   	push   %ebx
51239a:	8b 5d 08             	mov    0x8(%ebp),%ebx
51239d:	56                   	push   %esi
51239e:	8b 1b                	mov    (%ebx),%ebx
5123a0:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5123a3:	85 d2                	test   %edx,%edx
5123a5:	74 18                	je     0x5123bf
5123a7:	6a 00                	push   $0x0
5123a9:	6a 00                	push   $0x0
5123ab:	52                   	push   %edx
5123ac:	53                   	push   %ebx
5123ad:	e8 ae e4 fe ff       	call   0x500860
5123b2:	8b 55 14             	mov    0x14(%ebp),%edx
5123b5:	83 c4 10             	add    $0x10,%esp
5123b8:	8b f0                	mov    %eax,%esi
5123ba:	89 45 f0             	mov    %eax,-0x10(%ebp)
5123bd:	eb 05                	jmp    0x5123c4
5123bf:	33 f6                	xor    %esi,%esi
5123c1:	89 75 f0             	mov    %esi,-0x10(%ebp)
5123c4:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
5123c8:	0f 85 2f 01 00 00    	jne    0x5124fd
5123ce:	8b 46 14             	mov    0x14(%esi),%eax
5123d1:	33 db                	xor    %ebx,%ebx
5123d3:	8b 4d 10             	mov    0x10(%ebp),%ecx
5123d6:	57                   	push   %edi
5123d7:	8b 7d 0c             	mov    0xc(%ebp),%edi
5123da:	8b 40 1c             	mov    0x1c(%eax),%eax
5123dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5123e0:	8b 46 0c             	mov    0xc(%esi),%eax
5123e3:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5123ea:	8b 40 14             	mov    0x14(%eax),%eax
5123ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
5123f0:	0f b7 41 28          	movzwl 0x28(%ecx),%eax
5123f4:	3b f8                	cmp    %eax,%edi
5123f6:	7d 7a                	jge    0x512472
5123f8:	33 f6                	xor    %esi,%esi
5123fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
512400:	8b 41 30             	mov    0x30(%ecx),%eax
512403:	8b 04 b8             	mov    (%eax,%edi,4),%eax
512406:	39 10                	cmp    %edx,(%eax)
512408:	75 53                	jne    0x51245d
51240a:	8b 40 18             	mov    0x18(%eax),%eax
51240d:	48                   	dec    %eax
51240e:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
512411:	8b 45 fc             	mov    -0x4(%ebp),%eax
512414:	8b 44 98 04          	mov    0x4(%eax,%ebx,4),%eax
512418:	85 c0                	test   %eax,%eax
51241a:	74 41                	je     0x51245d
51241c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
51241f:	50                   	push   %eax
512420:	51                   	push   %ecx
512421:	ff 75 08             	push   0x8(%ebp)
512424:	e8 57 51 01 00       	call   0x527580
512429:	8b 4d f8             	mov    -0x8(%ebp),%ecx
51242c:	89 45 f4             	mov    %eax,-0xc(%ebp)
51242f:	8b 45 fc             	mov    -0x4(%ebp),%eax
512432:	c7 44 98 04 00 00 00 	movl   $0x0,0x4(%eax,%ebx,4)
512439:	00
51243a:	ff 74 99 04          	push   0x4(%ecx,%ebx,4)
51243e:	56                   	push   %esi
51243f:	ff 75 08             	push   0x8(%ebp)
512442:	e8 39 51 01 00       	call   0x527580
512447:	8b 4d 10             	mov    0x10(%ebp),%ecx
51244a:	8b f0                	mov    %eax,%esi
51244c:	8b 45 f8             	mov    -0x8(%ebp),%eax
51244f:	83 c4 18             	add    $0x18,%esp
512452:	8b 55 14             	mov    0x14(%ebp),%edx
512455:	c7 44 98 04 00 00 00 	movl   $0x0,0x4(%eax,%ebx,4)
51245c:	00
51245d:	0f b7 49 28          	movzwl 0x28(%ecx),%ecx
512461:	47                   	inc    %edi
512462:	3b f9                	cmp    %ecx,%edi
512464:	8b 4d 10             	mov    0x10(%ebp),%ecx
512467:	7c 97                	jl     0x512400
512469:	89 75 ec             	mov    %esi,-0x14(%ebp)
51246c:	8b 75 f0             	mov    -0x10(%ebp),%esi
51246f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
512472:	8b 45 fc             	mov    -0x4(%ebp),%eax
512475:	8b 7d e8             	mov    -0x18(%ebp),%edi
512478:	85 c0                	test   %eax,%eax
51247a:	74 0a                	je     0x512486
51247c:	50                   	push   %eax
51247d:	57                   	push   %edi
51247e:	e8 7d eb fe ff       	call   0x501000
512483:	83 c4 08             	add    $0x8,%esp
512486:	8b 45 f8             	mov    -0x8(%ebp),%eax
512489:	85 c0                	test   %eax,%eax
51248b:	74 0a                	je     0x512497
51248d:	50                   	push   %eax
51248e:	57                   	push   %edi
51248f:	e8 6c eb fe ff       	call   0x501000
512494:	83 c4 08             	add    $0x8,%esp
512497:	8b 46 0c             	mov    0xc(%esi),%eax
51249a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
51249d:	89 58 14             	mov    %ebx,0x14(%eax)
5124a0:	8b 46 14             	mov    0x14(%esi),%eax
5124a3:	89 48 1c             	mov    %ecx,0x1c(%eax)
5124a6:	85 db                	test   %ebx,%ebx
5124a8:	74 29                	je     0x5124d3
5124aa:	83 3b 01             	cmpl   $0x1,(%ebx)
5124ad:	75 24                	jne    0x5124d3
5124af:	8b 43 04             	mov    0x4(%ebx),%eax
5124b2:	89 45 08             	mov    %eax,0x8(%ebp)
5124b5:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
5124bc:	8b 46 0c             	mov    0xc(%esi),%eax
5124bf:	85 c0                	test   %eax,%eax
5124c1:	74 0a                	je     0x5124cd
5124c3:	50                   	push   %eax
5124c4:	57                   	push   %edi
5124c5:	e8 e6 42 01 00       	call   0x5267b0
5124ca:	83 c4 08             	add    $0x8,%esp
5124cd:	8b 45 08             	mov    0x8(%ebp),%eax
5124d0:	89 46 0c             	mov    %eax,0xc(%esi)
5124d3:	8b 46 14             	mov    0x14(%esi),%eax
5124d6:	8b 50 30             	mov    0x30(%eax),%edx
5124d9:	85 d2                	test   %edx,%edx
5124db:	74 17                	je     0x5124f4
5124dd:	33 c0                	xor    %eax,%eax
5124df:	39 02                	cmp    %eax,(%edx)
5124e1:	7e 11                	jle    0x5124f4
5124e3:	8d 4a 14             	lea    0x14(%edx),%ecx
5124e6:	33 ff                	xor    %edi,%edi
5124e8:	8d 49 14             	lea    0x14(%ecx),%ecx
5124eb:	66 89 79 ec          	mov    %di,-0x14(%ecx)
5124ef:	40                   	inc    %eax
5124f0:	3b 02                	cmp    (%edx),%eax
5124f2:	7c f2                	jl     0x5124e6
5124f4:	5f                   	pop    %edi
5124f5:	8b c6                	mov    %esi,%eax
5124f7:	5e                   	pop    %esi
5124f8:	5b                   	pop    %ebx
5124f9:	8b e5                	mov    %ebp,%esp
5124fb:	5d                   	pop    %ebp
5124fc:	c3                   	ret
5124fd:	8b c6                	mov    %esi,%eax
5124ff:	5e                   	pop    %esi
512500:	5b                   	pop    %ebx
512501:	8b e5                	mov    %ebp,%esp
512503:	5d                   	pop    %ebp
512504:	c3                   	ret
512505:	cc                   	int3
512506:	cc                   	int3
512507:	cc                   	int3
512508:	cc                   	int3
512509:	cc                   	int3
51250a:	cc                   	int3
51250b:	cc                   	int3
51250c:	cc                   	int3
51250d:	cc                   	int3
51250e:	cc                   	int3
51250f:	cc                   	int3
512510:	55                   	push   %ebp
512511:	8b ec                	mov    %esp,%ebp
512513:	56                   	push   %esi
512514:	8b 75 10             	mov    0x10(%ebp),%esi
512517:	85 f6                	test   %esi,%esi
512519:	74 52                	je     0x51256d
51251b:	53                   	push   %ebx
51251c:	33 db                	xor    %ebx,%ebx
51251e:	39 1e                	cmp    %ebx,(%esi)
512520:	7e 4a                	jle    0x51256c
512522:	8b 4d 14             	mov    0x14(%ebp),%ecx
512525:	83 c6 10             	add    $0x10,%esi
512528:	8b 45 10             	mov    0x10(%ebp),%eax
51252b:	57                   	push   %edi
51252c:	0f 1f 40 00          	nopl   0x0(%eax)
512530:	f6 06 03             	testb  $0x3,(%esi)
512533:	8b 7e f8             	mov    -0x8(%esi),%edi
512536:	75 2b                	jne    0x512563
512538:	85 ff                	test   %edi,%edi
51253a:	74 27                	je     0x512563
51253c:	85 c9                	test   %ecx,%ecx
51253e:	74 23                	je     0x512563
512540:	51                   	push   %ecx
512541:	57                   	push   %edi
512542:	e8 e9 b6 02 00       	call   0x53dc30
512547:	83 c4 08             	add    $0x8,%esp
51254a:	85 c0                	test   %eax,%eax
51254c:	75 0f                	jne    0x51255d
51254e:	57                   	push   %edi
51254f:	ff 75 0c             	push   0xc(%ebp)
512552:	ff 75 08             	push   0x8(%ebp)
512555:	e8 26 0b 00 00       	call   0x513080
51255a:	83 c4 0c             	add    $0xc,%esp
51255d:	8b 4d 14             	mov    0x14(%ebp),%ecx
512560:	8b 45 10             	mov    0x10(%ebp),%eax
512563:	43                   	inc    %ebx
512564:	83 c6 14             	add    $0x14,%esi
512567:	3b 18                	cmp    (%eax),%ebx
512569:	7c c5                	jl     0x512530
51256b:	5f                   	pop    %edi
51256c:	5b                   	pop    %ebx
51256d:	5e                   	pop    %esi
51256e:	5d                   	pop    %ebp
51256f:	c3                   	ret
512570:	55                   	push   %ebp
512571:	8b ec                	mov    %esp,%ebp
512573:	8b 4d 0c             	mov    0xc(%ebp),%ecx
512576:	53                   	push   %ebx
512577:	56                   	push   %esi
512578:	8b 75 08             	mov    0x8(%ebp),%esi
51257b:	8a 19                	mov    (%ecx),%bl
51257d:	57                   	push   %edi
51257e:	8b 56 18             	mov    0x18(%esi),%edx
512581:	80 fb 4d             	cmp    $0x4d,%bl
512584:	75 25                	jne    0x5125ab
512586:	0f bf 41 20          	movswl 0x20(%ecx),%eax
51258a:	3b 42 08             	cmp    0x8(%edx),%eax
51258d:	75 1c                	jne    0x5125ab
51258f:	8b 3e                	mov    (%esi),%edi
512591:	8b 47 78             	mov    0x78(%edi),%eax
512594:	3b 42 0c             	cmp    0xc(%edx),%eax
512597:	75 12                	jne    0x5125ab
512599:	51                   	push   %ecx
51259a:	52                   	push   %edx
51259b:	57                   	push   %edi
51259c:	e8 df 0a 00 00       	call   0x513080
5125a1:	83 c4 0c             	add    $0xc,%esp
5125a4:	33 c0                	xor    %eax,%eax
5125a6:	5f                   	pop    %edi
5125a7:	5e                   	pop    %esi
5125a8:	5b                   	pop    %ebx
5125a9:	5d                   	pop    %ebp
5125aa:	c3                   	ret
5125ab:	80 fb a4             	cmp    $0xa4,%bl
5125ae:	75 1d                	jne    0x5125cd
5125b0:	0f bf 41 20          	movswl 0x20(%ecx),%eax
5125b4:	3b 42 08             	cmp    0x8(%edx),%eax
5125b7:	75 14                	jne    0x5125cd
5125b9:	8b 42 0c             	mov    0xc(%edx),%eax
5125bc:	3b 41 2c             	cmp    0x2c(%ecx),%eax
5125bf:	75 0c                	jne    0x5125cd
5125c1:	51                   	push   %ecx
5125c2:	52                   	push   %edx
5125c3:	ff 36                	push   (%esi)
5125c5:	e8 b6 0a 00 00       	call   0x513080
5125ca:	83 c4 0c             	add    $0xc,%esp
5125cd:	5f                   	pop    %edi
5125ce:	5e                   	pop    %esi
5125cf:	33 c0                	xor    %eax,%eax
5125d1:	5b                   	pop    %ebx
5125d2:	5d                   	pop    %ebp
5125d3:	c3                   	ret
5125d4:	cc                   	int3
5125d5:	cc                   	int3
5125d6:	cc                   	int3
5125d7:	cc                   	int3
5125d8:	cc                   	int3
5125d9:	cc                   	int3
5125da:	cc                   	int3
5125db:	cc                   	int3
5125dc:	cc                   	int3
5125dd:	cc                   	int3
5125de:	cc                   	int3
5125df:	cc                   	int3
5125e0:	55                   	push   %ebp
5125e1:	8b ec                	mov    %esp,%ebp
5125e3:	53                   	push   %ebx
5125e4:	8b 5d 10             	mov    0x10(%ebp),%ebx
5125e7:	85 db                	test   %ebx,%ebx
5125e9:	74 6c                	je     0x512657
5125eb:	57                   	push   %edi
5125ec:	33 ff                	xor    %edi,%edi
5125ee:	39 7b 04             	cmp    %edi,0x4(%ebx)
5125f1:	7e 63                	jle    0x512656
5125f3:	8b 4d 14             	mov    0x14(%ebp),%ecx
5125f6:	56                   	push   %esi
5125f7:	8b 03                	mov    (%ebx),%eax
5125f9:	8b 34 f8             	mov    (%eax,%edi,8),%esi
5125fc:	85 f6                	test   %esi,%esi
5125fe:	75 08                	jne    0x512608
512600:	8b c1                	mov    %ecx,%eax
512602:	f7 d8                	neg    %eax
512604:	1b c0                	sbb    %eax,%eax
512606:	eb 0e                	jmp    0x512616
512608:	85 c9                	test   %ecx,%ecx
51260a:	74 40                	je     0x51264c
51260c:	51                   	push   %ecx
51260d:	56                   	push   %esi
51260e:	e8 1d b6 02 00       	call   0x53dc30
512613:	83 c4 08             	add    $0x8,%esp
512616:	85 c0                	test   %eax,%eax
512618:	75 32                	jne    0x51264c
51261a:	8b 45 08             	mov    0x8(%ebp),%eax
51261d:	05 10 01 00 00       	add    $0x110,%eax
512622:	83 38 00             	cmpl   $0x0,(%eax)
512625:	74 25                	je     0x51264c
512627:	8b 08                	mov    (%eax),%ecx
512629:	39 31                	cmp    %esi,(%ecx)
51262b:	74 0b                	je     0x512638
51262d:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
512631:	8d 41 0c             	lea    0xc(%ecx),%eax
512634:	75 f1                	jne    0x512627
512636:	eb 14                	jmp    0x51264c
512638:	8b d1                	mov    %ecx,%edx
51263a:	8b 4a 0c             	mov    0xc(%edx),%ecx
51263d:	89 08                	mov    %ecx,(%eax)
51263f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
512642:	8b 01                	mov    (%ecx),%eax
512644:	89 42 0c             	mov    %eax,0xc(%edx)
512647:	ff 41 04             	incl   0x4(%ecx)
51264a:	89 11                	mov    %edx,(%ecx)
51264c:	8b 4d 14             	mov    0x14(%ebp),%ecx
51264f:	47                   	inc    %edi
512650:	3b 7b 04             	cmp    0x4(%ebx),%edi
512653:	7c a2                	jl     0x5125f7
512655:	5e                   	pop    %esi
512656:	5f                   	pop    %edi
512657:	5b                   	pop    %ebx
512658:	5d                   	pop    %ebp
512659:	c3                   	ret
51265a:	cc                   	int3
51265b:	cc                   	int3
51265c:	cc                   	int3
51265d:	cc                   	int3
51265e:	cc                   	int3
51265f:	cc                   	int3
512660:	55                   	push   %ebp
512661:	8b ec                	mov    %esp,%ebp
512663:	8b 4d 10             	mov    0x10(%ebp),%ecx
512666:	56                   	push   %esi
512667:	85 c9                	test   %ecx,%ecx
512669:	75 04                	jne    0x51266f
51266b:	33 f6                	xor    %esi,%esi
51266d:	eb 33                	jmp    0x5126a2
51266f:	0f b7 51 08          	movzwl 0x8(%ecx),%edx
512673:	8b c2                	mov    %edx,%eax
512675:	25 02 02 00 00       	and    $0x202,%eax
51267a:	3d 02 02 00 00       	cmp    $0x202,%eax
51267f:	75 0b                	jne    0x51268c
512681:	80 79 0a 01          	cmpb   $0x1,0xa(%ecx)
512685:	75 05                	jne    0x51268c
512687:	8b 71 10             	mov    0x10(%ecx),%esi