51350e:	83 c4 08             	add    $0x8,%esp
513511:	8b 75 b8             	mov    -0x48(%ebp),%esi
513514:	57                   	push   %edi
513515:	56                   	push   %esi
513516:	e8 d5 c8 03 00       	call   0x54fdf0
51351b:	ff 33                	push   (%ebx)
51351d:	ff 36                	push   (%esi)
51351f:	e8 9c 48 02 00       	call   0x537dc0
513524:	8b 4d bc             	mov    -0x44(%ebp),%ecx
513527:	83 c4 10             	add    $0x10,%esp
51352a:	8b 45 b4             	mov    -0x4c(%ebp),%eax
51352d:	41                   	inc    %ecx
51352e:	83 c3 10             	add    $0x10,%ebx
513531:	89 4d bc             	mov    %ecx,-0x44(%ebp)
513534:	3b 08                	cmp    (%eax),%ecx
513536:	0f 8c f4 fe ff ff    	jl     0x513430
51353c:	5f                   	pop    %edi
51353d:	5b                   	pop    %ebx
51353e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
513541:	33 cd                	xor    %ebp,%ecx
513543:	5e                   	pop    %esi
513544:	e8 91 df 0c 00       	call   0x5e14da
513549:	8b e5                	mov    %ebp,%esp
51354b:	5d                   	pop    %ebp
51354c:	c3                   	ret
51354d:	cc                   	int3
51354e:	cc                   	int3
51354f:	cc                   	int3
513550:	55                   	push   %ebp
513551:	8b ec                	mov    %esp,%ebp
513553:	81 ec f0 00 00 00    	sub    $0xf0,%esp
513559:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51355e:	33 c5                	xor    %ebp,%eax
513560:	89 45 fc             	mov    %eax,-0x4(%ebp)
513563:	8b 45 10             	mov    0x10(%ebp),%eax
513566:	8d 95 28 ff ff ff    	lea    -0xd8(%ebp),%edx
51356c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
51356f:	50                   	push   %eax
513570:	51                   	push   %ecx
513571:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
513577:	89 95 14 ff ff ff    	mov    %edx,-0xec(%ebp)
51357d:	50                   	push   %eax
51357e:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
513585:	00 00 00
513588:	c7 85 18 ff ff ff d2 	movl   $0xd2,-0xe8(%ebp)
51358f:	00 00 00
513592:	c7 85 1c ff ff ff 00 	movl   $0x0,-0xe4(%ebp)
513599:	00 00 00
51359c:	c7 85 20 ff ff ff 00 	movl   $0x0,-0xe0(%ebp)
5135a3:	00 00 00
5135a6:	66 c7 85 24 ff ff ff 	movw   $0x0,-0xdc(%ebp)
5135ad:	00 00
5135af:	e8 dc a9 fd ff       	call   0x4edf90
5135b4:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
5135ba:	83 c4 0c             	add    $0xc,%esp
5135bd:	85 c9                	test   %ecx,%ecx
5135bf:	74 2d                	je     0x5135ee
5135c1:	83 bd 1c ff ff ff 00 	cmpl   $0x0,-0xe4(%ebp)
5135c8:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
5135ce:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
5135d2:	76 1a                	jbe    0x5135ee
5135d4:	f6 85 25 ff ff ff 04 	testb  $0x4,-0xdb(%ebp)
5135db:	75 11                	jne    0x5135ee
5135dd:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
5135e3:	50                   	push   %eax
5135e4:	e8 77 43 04 00       	call   0x557960
5135e9:	83 c4 04             	add    $0x4,%esp
5135ec:	8b c8                	mov    %eax,%ecx
5135ee:	51                   	push   %ecx
5135ef:	ff 75 08             	push   0x8(%ebp)
5135f2:	ff 35 00 19 72 00    	push   0x721900
5135f8:	ff 15 fc 18 72 00    	call   *0x7218fc
5135fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
513601:	83 c4 0c             	add    $0xc,%esp
513604:	33 cd                	xor    %ebp,%ecx
513606:	e8 cf de 0c 00       	call   0x5e14da
51360b:	8b e5                	mov    %ebp,%esp
51360d:	5d                   	pop    %ebp
51360e:	c3                   	ret
51360f:	cc                   	int3
513610:	55                   	push   %ebp
513611:	8b ec                	mov    %esp,%ebp
513613:	51                   	push   %ecx
513614:	8b 55 08             	mov    0x8(%ebp),%edx
513617:	53                   	push   %ebx
513618:	8b 5d 0c             	mov    0xc(%ebp),%ebx
51361b:	56                   	push   %esi
51361c:	8b 72 08             	mov    0x8(%edx),%esi
51361f:	89 75 fc             	mov    %esi,-0x4(%ebp)
513622:	8b 43 20             	mov    0x20(%ebx),%eax
513625:	03 43 2c             	add    0x2c(%ebx),%eax
513628:	0f 84 bc 00 00 00    	je     0x5136ea
51362e:	8b 4e 6c             	mov    0x6c(%esi),%ecx
513631:	8b 43 10             	mov    0x10(%ebx),%eax
513634:	57                   	push   %edi
513635:	8b 7b 14             	mov    0x14(%ebx),%edi
513638:	89 45 0c             	mov    %eax,0xc(%ebp)
51363b:	39 4e 70             	cmp    %ecx,0x70(%esi)
51363e:	7f 14                	jg     0x513654
513640:	57                   	push   %edi
513641:	50                   	push   %eax
513642:	6a 00                	push   $0x0
513644:	6a 48                	push   $0x48
513646:	56                   	push   %esi
513647:	e8 b4 2e ff ff       	call   0x506500
51364c:	8b 55 08             	mov    0x8(%ebp),%edx
51364f:	83 c4 14             	add    $0x14,%esp
513652:	eb 2e                	jmp    0x513682
513654:	8d 41 01             	lea    0x1(%ecx),%eax
513657:	89 46 6c             	mov    %eax,0x6c(%esi)
51365a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51365d:	8b 46 68             	mov    0x68(%esi),%eax
513660:	8b 75 0c             	mov    0xc(%ebp),%esi
513663:	c7 04 88 48 00 00 00 	movl   $0x48,(%eax,%ecx,4)
51366a:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
513671:	00
513672:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
513676:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
51367a:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
513681:	00
513682:	8b 73 28             	mov    0x28(%ebx),%esi
513685:	33 ff                	xor    %edi,%edi
513687:	39 7b 2c             	cmp    %edi,0x2c(%ebx)
51368a:	7e 5d                	jle    0x5136e9
51368c:	0f 1f 40 00          	nopl   0x0(%eax)
513690:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
513694:	7c 47                	jl     0x5136dd
513696:	8b 06                	mov    (%esi),%eax
513698:	8b 40 14             	mov    0x14(%eax),%eax
51369b:	85 c0                	test   %eax,%eax
51369d:	74 29                	je     0x5136c8
51369f:	83 38 01             	cmpl   $0x1,(%eax)
5136a2:	75 24                	jne    0x5136c8
5136a4:	6a 00                	push   $0x0
5136a6:	6a 00                	push   $0x0
5136a8:	50                   	push   %eax
5136a9:	52                   	push   %edx
5136aa:	e8 c1 c5 01 00       	call   0x52fc70
5136af:	6a f7                	push   $0xfffffff7
5136b1:	50                   	push   %eax
5136b2:	6a 00                	push   $0x0
5136b4:	6a 00                	push   $0x0
5136b6:	ff 76 0c             	push   0xc(%esi)
5136b9:	6a 64                	push   $0x64
5136bb:	ff 75 fc             	push   -0x4(%ebp)
5136be:	e8 cd e4 02 00       	call   0x541b90
5136c3:	83 c4 2c             	add    $0x2c,%esp
5136c6:	eb 15                	jmp    0x5136dd
5136c8:	68 a0 b2 6b 00       	push   $0x6bb2a0
5136cd:	52                   	push   %edx
5136ce:	e8 8d fb 00 00       	call   0x523260
5136d3:	83 c4 08             	add    $0x8,%esp
5136d6:	c7 46 0c ff ff ff ff 	movl   $0xffffffff,0xc(%esi)
5136dd:	8b 55 08             	mov    0x8(%ebp),%edx
5136e0:	47                   	inc    %edi
5136e1:	83 c6 10             	add    $0x10,%esi
5136e4:	3b 7b 2c             	cmp    0x2c(%ebx),%edi
5136e7:	7c a7                	jl     0x513690
5136e9:	5f                   	pop    %edi
5136ea:	5e                   	pop    %esi
5136eb:	5b                   	pop    %ebx
5136ec:	8b e5                	mov    %ebp,%esp
5136ee:	5d                   	pop    %ebp
5136ef:	c3                   	ret
5136f0:	55                   	push   %ebp
5136f1:	8b ec                	mov    %esp,%ebp
5136f3:	53                   	push   %ebx
5136f4:	8b 5d 10             	mov    0x10(%ebp),%ebx
5136f7:	57                   	push   %edi
5136f8:	8b 7d 0c             	mov    0xc(%ebp),%edi
5136fb:	0f b7 47 34          	movzwl 0x34(%edi),%eax
5136ff:	3b c3                	cmp    %ebx,%eax
513701:	7c 06                	jl     0x513709
513703:	5f                   	pop    %edi
513704:	33 c0                	xor    %eax,%eax
513706:	5b                   	pop    %ebx
513707:	5d                   	pop    %ebp
513708:	c3                   	ret
513709:	8b 4d 08             	mov    0x8(%ebp),%ecx
51370c:	8d 04 dd 00 00 00 00 	lea    0x0(,%ebx,8),%eax
513713:	2b c3                	sub    %ebx,%eax
513715:	99                   	cltd
513716:	89 45 0c             	mov    %eax,0xc(%ebp)
513719:	56                   	push   %esi
51371a:	52                   	push   %edx
51371b:	50                   	push   %eax
51371c:	85 c9                	test   %ecx,%ecx
51371e:	74 0b                	je     0x51372b
513720:	51                   	push   %ecx
513721:	e8 ba dc 00 00       	call   0x5213e0
513726:	83 c4 0c             	add    $0xc,%esp
513729:	eb 08                	jmp    0x513733
51372b:	e8 30 d8 01 00       	call   0x530f60
513730:	83 c4 08             	add    $0x8,%esp
513733:	8b f0                	mov    %eax,%esi
513735:	85 f6                	test   %esi,%esi
513737:	74 5b                	je     0x513794
513739:	ff 75 0c             	push   0xc(%ebp)
51373c:	6a 00                	push   $0x0
51373e:	56                   	push   %esi
51373f:	e8 bc 02 0d 00       	call   0x5e3a00
513744:	0f b7 47 34          	movzwl 0x34(%edi),%eax
513748:	c1 e0 02             	shl    $0x2,%eax
51374b:	50                   	push   %eax
51374c:	ff 77 20             	push   0x20(%edi)
51374f:	56                   	push   %esi
513750:	e8 ab f7 0c 00       	call   0x5e2f00
513755:	0f b7 47 34          	movzwl 0x34(%edi),%eax
513759:	03 c0                	add    %eax,%eax
51375b:	89 77 20             	mov    %esi,0x20(%edi)
51375e:	50                   	push   %eax
51375f:	ff 77 04             	push   0x4(%edi)
513762:	8d 34 9e             	lea    (%esi,%ebx,4),%esi
513765:	56                   	push   %esi
513766:	e8 95 f7 0c 00       	call   0x5e2f00
51376b:	0f b7 47 34          	movzwl 0x34(%edi),%eax
51376f:	50                   	push   %eax
513770:	ff 77 1c             	push   0x1c(%edi)
513773:	89 77 04             	mov    %esi,0x4(%edi)
513776:	8d 34 5e             	lea    (%esi,%ebx,2),%esi
513779:	56                   	push   %esi
51377a:	e8 81 f7 0c 00       	call   0x5e2f00
51377f:	83 4f 38 10          	orl    $0x10,0x38(%edi)
513783:	83 c4 30             	add    $0x30,%esp
513786:	89 77 1c             	mov    %esi,0x1c(%edi)
513789:	33 c0                	xor    %eax,%eax
51378b:	66 89 5f 34          	mov    %bx,0x34(%edi)
51378f:	5e                   	pop    %esi
513790:	5f                   	pop    %edi
513791:	5b                   	pop    %ebx
513792:	5d                   	pop    %ebp
513793:	c3                   	ret
513794:	5e                   	pop    %esi
513795:	5f                   	pop    %edi
513796:	b8 07 00 00 00       	mov    $0x7,%eax
51379b:	5b                   	pop    %ebx
51379c:	5d                   	pop    %ebp
51379d:	c3                   	ret
51379e:	cc                   	int3
51379f:	cc                   	int3
5137a0:	55                   	push   %ebp
5137a1:	8b ec                	mov    %esp,%ebp
5137a3:	51                   	push   %ecx
5137a4:	53                   	push   %ebx
5137a5:	56                   	push   %esi
5137a6:	8b 75 08             	mov    0x8(%ebp),%esi
5137a9:	b8 0a 00 00 00       	mov    $0xa,%eax
5137ae:	57                   	push   %edi
5137af:	6a 00                	push   $0x0
5137b1:	2b 46 38             	sub    0x38(%esi),%eax
5137b4:	8b 5e 40             	mov    0x40(%esi),%ebx
5137b7:	8b 0e                	mov    (%esi),%ecx
5137b9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5137bc:	c1 e0 02             	shl    $0x2,%eax
5137bf:	50                   	push   %eax
5137c0:	53                   	push   %ebx
5137c1:	51                   	push   %ecx
5137c2:	89 4d 08             	mov    %ecx,0x8(%ebp)
5137c5:	e8 96 dd 00 00       	call   0x521560
5137ca:	8b f8                	mov    %eax,%edi
5137cc:	83 c4 10             	add    $0x10,%esp
5137cf:	85 ff                	test   %edi,%edi
5137d1:	75 10                	jne    0x5137e3
5137d3:	85 db                	test   %ebx,%ebx
5137d5:	74 0c                	je     0x5137e3
5137d7:	53                   	push   %ebx
5137d8:	ff 75 08             	push   0x8(%ebp)
5137db:	e8 90 db 00 00       	call   0x521370
5137e0:	83 c4 08             	add    $0x8,%esp
5137e3:	89 7e 40             	mov    %edi,0x40(%esi)
5137e6:	85 ff                	test   %edi,%edi
5137e8:	75 0a                	jne    0x5137f4
5137ea:	89 7e 3c             	mov    %edi,0x3c(%esi)
5137ed:	5f                   	pop    %edi
5137ee:	5e                   	pop    %esi
5137ef:	5b                   	pop    %ebx
5137f0:	8b e5                	mov    %ebp,%esp
5137f2:	5d                   	pop    %ebp
5137f3:	c3                   	ret
5137f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5137f7:	89 46 3c             	mov    %eax,0x3c(%esi)
5137fa:	8b 45 0c             	mov    0xc(%ebp),%eax
5137fd:	8b 48 6c             	mov    0x6c(%eax),%ecx
513800:	8b 45 10             	mov    0x10(%ebp),%eax
513803:	89 0c 87             	mov    %ecx,(%edi,%eax,4)
513806:	5f                   	pop    %edi
513807:	5e                   	pop    %esi
513808:	5b                   	pop    %ebx
513809:	8b e5                	mov    %ebp,%esp
51380b:	5d                   	pop    %ebp
51380c:	c3                   	ret
51380d:	cc                   	int3
51380e:	cc                   	int3
51380f:	cc                   	int3
513810:	55                   	push   %ebp
513811:	8b ec                	mov    %esp,%ebp
513813:	83 ec 24             	sub    $0x24,%esp
513816:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51381b:	33 c5                	xor    %ebp,%eax
51381d:	89 45 fc             	mov    %eax,-0x4(%ebp)
513820:	8b 45 10             	mov    0x10(%ebp),%eax
513823:	8b 4d 0c             	mov    0xc(%ebp),%ecx
513826:	8b 55 08             	mov    0x8(%ebp),%edx
513829:	53                   	push   %ebx
51382a:	8d 04 80             	lea    (%eax,%eax,4),%eax
51382d:	89 55 dc             	mov    %edx,-0x24(%ebp)
513830:	8b 44 81 04          	mov    0x4(%ecx,%eax,4),%eax
513834:	8b 1a                	mov    (%edx),%ebx
513836:	56                   	push   %esi
513837:	8b 75 14             	mov    0x14(%ebp),%esi
51383a:	85 c0                	test   %eax,%eax
51383c:	0f 84 ee 00 00 00    	je     0x513930
513842:	57                   	push   %edi
513843:	6a 00                	push   $0x0
513845:	6a 00                	push   $0x0
513847:	50                   	push   %eax
513848:	53                   	push   %ebx
513849:	e8 12 d0 fe ff       	call   0x500860
51384e:	8b f8                	mov    %eax,%edi
513850:	83 c4 10             	add    $0x10,%esp
513853:	85 ff                	test   %edi,%edi
513855:	0f 84 bd 00 00 00    	je     0x513918
51385b:	8b 4d 18             	mov    0x18(%ebp),%ecx
51385e:	80 39 47             	cmpb   $0x47,(%ecx)
513861:	74 31                	je     0x513894
513863:	8b 45 1c             	mov    0x1c(%ebp),%eax
513866:	85 c0                	test   %eax,%eax
513868:	7e 2a                	jle    0x513894
51386a:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
513871:	0f 57 c0             	xorps  %xmm0,%xmm0
513874:	89 45 f8             	mov    %eax,-0x8(%ebp)
513877:	8d 45 e0             	lea    -0x20(%ebp),%eax
51387a:	57                   	push   %edi
51387b:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
51387f:	50                   	push   %eax
513880:	66 0f d6 45 f0       	movq   %xmm0,-0x10(%ebp)
513885:	c7 45 e4 80 6d 50 00 	movl   $0x506d80,-0x1c(%ebp)
51388c:	e8 1f c7 04 00       	call   0x55ffb0
513891:	83 c4 08             	add    $0x8,%esp
513894:	80 3e 6f             	cmpb   $0x6f,(%esi)
513897:	75 11                	jne    0x5138aa
513899:	ff 76 08             	push   0x8(%esi)
51389c:	57                   	push   %edi
51389d:	ff 75 dc             	push   -0x24(%ebp)
5138a0:	e8 5b fc 00 00       	call   0x523500
5138a5:	83 c4 0c             	add    $0xc,%esp
5138a8:	8b f8                	mov    %eax,%edi
5138aa:	81 4e 04 00 00 00 08 	orl    $0x8000000,0x4(%esi)
5138b1:	56                   	push   %esi
5138b2:	53                   	push   %ebx