50448e:	cc                   	int3
50448f:	cc                   	int3
504490:	55                   	push   %ebp
504491:	8b ec                	mov    %esp,%ebp
504493:	83 ec 1c             	sub    $0x1c,%esp
504496:	53                   	push   %ebx
504497:	8b 5d 08             	mov    0x8(%ebp),%ebx
50449a:	57                   	push   %edi
50449b:	80 bb c7 00 00 00 00 	cmpb   $0x0,0xc7(%ebx)
5044a2:	8b 13                	mov    (%ebx),%edx
5044a4:	8b 7b 08             	mov    0x8(%ebx),%edi
5044a7:	89 55 f8             	mov    %edx,-0x8(%ebp)
5044aa:	0f 85 76 01 00 00    	jne    0x504626
5044b0:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
5044b4:	0f 85 6c 01 00 00    	jne    0x504626
5044ba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5044bd:	8b 41 34             	mov    0x34(%ecx),%eax
5044c0:	85 c0                	test   %eax,%eax
5044c2:	74 09                	je     0x5044cd
5044c4:	8b c8                	mov    %eax,%ecx
5044c6:	8b 41 34             	mov    0x34(%ecx),%eax
5044c9:	85 c0                	test   %eax,%eax
5044cb:	75 f7                	jne    0x5044c4
5044cd:	8b 41 20             	mov    0x20(%ecx),%eax
5044d0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5044d3:	56                   	push   %esi
5044d4:	8b 71 1c             	mov    0x1c(%ecx),%esi
5044d7:	c6 43 10 01          	movb   $0x1,0x10(%ebx)
5044db:	8b 42 24             	mov    0x24(%edx),%eax
5044de:	8b 4a 20             	mov    0x20(%edx),%ecx
5044e1:	89 45 f0             	mov    %eax,-0x10(%ebp)
5044e4:	8b c1                	mov    %ecx,%eax
5044e6:	83 e0 04             	and    $0x4,%eax
5044e9:	89 75 e8             	mov    %esi,-0x18(%ebp)
5044ec:	83 c8 00             	or     $0x0,%eax
5044ef:	74 07                	je     0x5044f8
5044f1:	b8 01 00 00 00       	mov    $0x1,%eax
5044f6:	eb 02                	jmp    0x5044fa
5044f8:	33 c0                	xor    %eax,%eax
5044fa:	83 e1 40             	and    $0x40,%ecx
5044fd:	89 45 f0             	mov    %eax,-0x10(%ebp)
504500:	83 c9 00             	or     $0x0,%ecx
504503:	75 07                	jne    0x50450c
504505:	89 4d f4             	mov    %ecx,-0xc(%ebp)
504508:	85 c0                	test   %eax,%eax
50450a:	74 07                	je     0x504513
50450c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
504513:	ff 36                	push   (%esi)
504515:	57                   	push   %edi
504516:	e8 a5 8a 04 00       	call   0x54cfc0
50451b:	8b 45 e8             	mov    -0x18(%ebp),%eax
50451e:	33 f6                	xor    %esi,%esi
504520:	83 c4 08             	add    $0x8,%esp
504523:	39 30                	cmp    %esi,(%eax)
504525:	0f 8e ed 00 00 00    	jle    0x504618
50452b:	89 75 fc             	mov    %esi,-0x4(%ebp)
50452e:	8d 58 08             	lea    0x8(%eax),%ebx
504531:	8b 0b                	mov    (%ebx),%ecx
504533:	8b 53 fc             	mov    -0x4(%ebx),%edx
504536:	85 c9                	test   %ecx,%ecx
504538:	74 19                	je     0x504553
50453a:	f6 43 08 03          	testb  $0x3,0x8(%ebx)
50453e:	75 13                	jne    0x504553
504540:	8b 07                	mov    (%edi),%eax
504542:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
504546:	0f 85 b6 00 00 00    	jne    0x504602
50454c:	6a ff                	push   $0xffffffff
50454e:	e9 9b 00 00 00       	jmp    0x5045ee
504553:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
504557:	74 60                	je     0x5045b9
504559:	80 3a a4             	cmpb   $0xa4,(%edx)
50455c:	75 5b                	jne    0x5045b9
50455e:	0f bf 42 20          	movswl 0x20(%edx),%eax
504562:	8b 52 2c             	mov    0x2c(%edx),%edx
504565:	85 c0                	test   %eax,%eax
504567:	79 0f                	jns    0x504578
504569:	0f bf 42 28          	movswl 0x28(%edx),%eax
50456d:	85 c0                	test   %eax,%eax
50456f:	79 07                	jns    0x504578
504571:	b8 a0 6a 6b 00       	mov    $0x6b6aa0,%eax
504576:	eb 09                	jmp    0x504581
504578:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
50457b:	8b 42 04             	mov    0x4(%edx),%eax
50457e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
504581:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
504585:	74 24                	je     0x5045ab
504587:	50                   	push   %eax
504588:	ff 32                	push   (%edx)
50458a:	68 24 9d 6b 00       	push   $0x6b9d24
50458f:	ff 75 f8             	push   -0x8(%ebp)
504592:	e8 a9 c9 02 00       	call   0x530f40
504597:	68 c0 10 53 00       	push   $0x5310c0
50459c:	50                   	push   %eax
50459d:	6a 00                	push   $0x0
50459f:	56                   	push   %esi
5045a0:	57                   	push   %edi
5045a1:	e8 ca 89 04 00       	call   0x54cf70
5045a6:	83 c4 24             	add    $0x24,%esp
5045a9:	eb 57                	jmp    0x504602
5045ab:	6a ff                	push   $0xffffffff
5045ad:	50                   	push   %eax
5045ae:	6a 00                	push   $0x0
5045b0:	56                   	push   %esi
5045b1:	57                   	push   %edi
5045b2:	e8 b9 89 04 00       	call   0x54cf70
5045b7:	eb 46                	jmp    0x5045ff
5045b9:	85 c9                	test   %ecx,%ecx
5045bb:	75 16                	jne    0x5045d3
5045bd:	8d 46 01             	lea    0x1(%esi),%eax
5045c0:	50                   	push   %eax
5045c1:	68 28 af 6b 00       	push   $0x6baf28
5045c6:	ff 75 f8             	push   -0x8(%ebp)
5045c9:	e8 72 c9 02 00       	call   0x530f40
5045ce:	83 c4 0c             	add    $0xc,%esp
5045d1:	eb 0c                	jmp    0x5045df
5045d3:	51                   	push   %ecx
5045d4:	ff 75 f8             	push   -0x8(%ebp)
5045d7:	e8 d4 d0 01 00       	call   0x5216b0
5045dc:	83 c4 08             	add    $0x8,%esp
5045df:	8b c8                	mov    %eax,%ecx
5045e1:	8b 07                	mov    (%edi),%eax
5045e3:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5045e7:	75 19                	jne    0x504602
5045e9:	68 c0 10 53 00       	push   $0x5310c0
5045ee:	8b 47 74             	mov    0x74(%edi),%eax
5045f1:	03 45 fc             	add    -0x4(%ebp),%eax
5045f4:	6a 01                	push   $0x1
5045f6:	6a ff                	push   $0xffffffff
5045f8:	51                   	push   %ecx
5045f9:	50                   	push   %eax
5045fa:	e8 e1 74 04 00       	call   0x54bae0
5045ff:	83 c4 14             	add    $0x14,%esp
504602:	8b 45 e8             	mov    -0x18(%ebp),%eax
504605:	46                   	inc    %esi
504606:	83 45 fc 28          	addl   $0x28,-0x4(%ebp)
50460a:	83 c3 14             	add    $0x14,%ebx
50460d:	3b 30                	cmp    (%eax),%esi
50460f:	0f 8c 1c ff ff ff    	jl     0x504531
504615:	8b 5d 08             	mov    0x8(%ebp),%ebx
504618:	50                   	push   %eax
504619:	ff 75 e4             	push   -0x1c(%ebp)
50461c:	53                   	push   %ebx
50461d:	e8 0e 00 00 00       	call   0x504630
504622:	83 c4 0c             	add    $0xc,%esp
504625:	5e                   	pop    %esi
504626:	5f                   	pop    %edi
504627:	5b                   	pop    %ebx
504628:	8b e5                	mov    %ebp,%esp
50462a:	5d                   	pop    %ebp
50462b:	c3                   	ret
50462c:	cc                   	int3
50462d:	cc                   	int3
50462e:	cc                   	int3
50462f:	cc                   	int3
504630:	55                   	push   %ebp
504631:	8b ec                	mov    %esp,%ebp
504633:	83 ec 38             	sub    $0x38,%esp
504636:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50463b:	33 c5                	xor    %ebp,%eax
50463d:	89 45 fc             	mov    %eax,-0x4(%ebp)
504640:	8b 4d 08             	mov    0x8(%ebp),%ecx
504643:	8b 55 10             	mov    0x10(%ebp),%edx
504646:	8b 45 0c             	mov    0xc(%ebp),%eax
504649:	53                   	push   %ebx
50464a:	8b 59 08             	mov    0x8(%ecx),%ebx
50464d:	56                   	push   %esi
50464e:	33 f6                	xor    %esi,%esi
504650:	89 55 c8             	mov    %edx,-0x38(%ebp)
504653:	89 5d d8             	mov    %ebx,-0x28(%ebp)
504656:	89 45 e0             	mov    %eax,-0x20(%ebp)
504659:	89 4d dc             	mov    %ecx,-0x24(%ebp)
50465c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
504663:	89 75 d4             	mov    %esi,-0x2c(%ebp)
504666:	39 32                	cmp    %esi,(%edx)
504668:	0f 8e 1e 01 00 00    	jle    0x50478c
50466e:	8d 42 04             	lea    0x4(%edx),%eax
504671:	57                   	push   %edi
504672:	89 45 d0             	mov    %eax,-0x30(%ebp)
504675:	8d 7e 01             	lea    0x1(%esi),%edi
504678:	ff 30                	push   (%eax)
50467a:	8d 45 dc             	lea    -0x24(%ebp),%eax
50467d:	50                   	push   %eax
50467e:	e8 ed 67 ff ff       	call   0x4fae70
504683:	8b 0b                	mov    (%ebx),%ecx
504685:	83 c4 08             	add    $0x8,%esp
504688:	89 45 cc             	mov    %eax,-0x34(%ebp)
50468b:	80 79 51 00          	cmpb   $0x0,0x51(%ecx)
50468f:	0f 85 d9 00 00 00    	jne    0x50476e
504695:	0f b7 8b 90 00 00 00 	movzwl 0x90(%ebx),%ecx
50469c:	03 ce                	add    %esi,%ecx
50469e:	8d 14 89             	lea    (%ecx,%ecx,4),%edx
5046a1:	8b 4b 74             	mov    0x74(%ebx),%ecx
5046a4:	8d 34 d1             	lea    (%ecx,%edx,8),%esi
5046a7:	85 c0                	test   %eax,%eax
5046a9:	75 22                	jne    0x5046cd
5046ab:	b8 00 24 00 00       	mov    $0x2400,%eax
5046b0:	66 85 46 08          	test   %ax,0x8(%esi)
5046b4:	74 0e                	je     0x5046c4
5046b6:	56                   	push   %esi
5046b7:	e8 94 67 05 00       	call   0x55ae50
5046bc:	83 c4 04             	add    $0x4,%esp
5046bf:	e9 aa 00 00 00       	jmp    0x50476e
5046c4:	66 89 7e 08          	mov    %di,0x8(%esi)
5046c8:	e9 a1 00 00 00       	jmp    0x50476e
5046cd:	8b 4e 20             	mov    0x20(%esi),%ecx
5046d0:	85 c9                	test   %ecx,%ecx
5046d2:	74 05                	je     0x5046d9
5046d4:	8b 51 6c             	mov    0x6c(%ecx),%edx
5046d7:	eb 05                	jmp    0x5046de
5046d9:	ba 00 ca 9a 3b       	mov    $0x3b9aca00,%edx
5046de:	8b f8                	mov    %eax,%edi
5046e0:	8d 5f 01             	lea    0x1(%edi),%ebx
5046e3:	8a 07                	mov    (%edi),%al
5046e5:	47                   	inc    %edi
5046e6:	84 c0                	test   %al,%al
5046e8:	75 f9                	jne    0x5046e3
5046ea:	2b fb                	sub    %ebx,%edi
5046ec:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
5046f2:	8d 5f 01             	lea    0x1(%edi),%ebx
5046f5:	3b fa                	cmp    %edx,%edi
5046f7:	7e 22                	jle    0x50471b
5046f9:	85 c9                	test   %ecx,%ecx
5046fb:	74 69                	je     0x504766
5046fd:	8b 81 f4 00 00 00    	mov    0xf4(%ecx),%eax
504703:	bf 01 00 00 00       	mov    $0x1,%edi
504708:	8b 5d d8             	mov    -0x28(%ebp),%ebx
50470b:	85 c0                	test   %eax,%eax
50470d:	74 5f                	je     0x50476e
50470f:	ff 40 24             	incl   0x24(%eax)
504712:	c7 40 0c 12 00 00 00 	movl   $0x12,0xc(%eax)
504719:	eb 53                	jmp    0x50476e
50471b:	b8 20 00 00 00       	mov    $0x20,%eax
504720:	3b d8                	cmp    %eax,%ebx
504722:	0f 47 c3             	cmova  %ebx,%eax
504725:	39 46 18             	cmp    %eax,0x18(%esi)
504728:	7d 12                	jge    0x50473c
50472a:	6a 00                	push   $0x0
50472c:	50                   	push   %eax
50472d:	56                   	push   %esi
50472e:	e8 bd 6d 04 00       	call   0x54b4f0
504733:	83 c4 0c             	add    $0xc,%esp
504736:	85 c0                	test   %eax,%eax
504738:	75 2c                	jne    0x504766
50473a:	eb 0b                	jmp    0x504747
50473c:	8b 46 14             	mov    0x14(%esi),%eax
50473f:	66 83 66 08 2d       	andw   $0x2d,0x8(%esi)
504744:	89 46 10             	mov    %eax,0x10(%esi)
504747:	53                   	push   %ebx
504748:	ff 75 cc             	push   -0x34(%ebp)
50474b:	ff 76 10             	push   0x10(%esi)
50474e:	e8 ad e7 0d 00       	call   0x5e2f00
504753:	b8 02 02 00 00       	mov    $0x202,%eax
504758:	89 7e 0c             	mov    %edi,0xc(%esi)
50475b:	83 c4 0c             	add    $0xc,%esp
50475e:	66 89 46 08          	mov    %ax,0x8(%esi)
504762:	c6 46 0a 01          	movb   $0x1,0xa(%esi)
504766:	8b 5d d8             	mov    -0x28(%ebp),%ebx
504769:	bf 01 00 00 00       	mov    $0x1,%edi
50476e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
504771:	8b 55 c8             	mov    -0x38(%ebp),%edx
504774:	41                   	inc    %ecx
504775:	8b 45 d0             	mov    -0x30(%ebp),%eax
504778:	8b f1                	mov    %ecx,%esi
50477a:	83 c0 14             	add    $0x14,%eax
50477d:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
504780:	89 45 d0             	mov    %eax,-0x30(%ebp)
504783:	3b 0a                	cmp    (%edx),%ecx
504785:	0f 8c ed fe ff ff    	jl     0x504678
50478b:	5f                   	pop    %edi
50478c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50478f:	5e                   	pop    %esi
504790:	33 cd                	xor    %ebp,%ecx
504792:	5b                   	pop    %ebx
504793:	e8 42 cd 0d 00       	call   0x5e14da
504798:	8b e5                	mov    %ebp,%esp
50479a:	5d                   	pop    %ebp
50479b:	c3                   	ret
50479c:	cc                   	int3
50479d:	cc                   	int3
50479e:	cc                   	int3
50479f:	cc                   	int3
5047a0:	55                   	push   %ebp
5047a1:	8b ec                	mov    %esp,%ebp
5047a3:	83 ec 14             	sub    $0x14,%esp
5047a6:	53                   	push   %ebx
5047a7:	8b 5d 08             	mov    0x8(%ebp),%ebx
5047aa:	56                   	push   %esi
5047ab:	8b 75 1c             	mov    0x1c(%ebp),%esi
5047ae:	57                   	push   %edi
5047af:	8b 7b 08             	mov    0x8(%ebx),%edi
5047b2:	8b 47 6c             	mov    0x6c(%edi),%eax
5047b5:	ff 4b 38             	decl   0x38(%ebx)
5047b8:	8b 4b 38             	mov    0x38(%ebx),%ecx
5047bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
5047be:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5047c1:	85 f6                	test   %esi,%esi
5047c3:	0f 84 97 01 00 00    	je     0x504960
5047c9:	8b 57 6c             	mov    0x6c(%edi),%edx
5047cc:	89 55 f4             	mov    %edx,-0xc(%ebp)
5047cf:	39 57 70             	cmp    %edx,0x70(%edi)
5047d2:	7f 15                	jg     0x5047e9
5047d4:	6a 00                	push   $0x0
5047d6:	6a 00                	push   $0x0
5047d8:	56                   	push   %esi
5047d9:	6a 14                	push   $0x14
5047db:	57                   	push   %edi
5047dc:	e8 1f 1d 00 00       	call   0x506500
5047e1:	83 c4 14             	add    $0x14,%esp
5047e4:	89 45 f4             	mov    %eax,-0xc(%ebp)
5047e7:	eb 2f                	jmp    0x504818
5047e9:	8d 42 01             	lea    0x1(%edx),%eax
5047ec:	89 47 6c             	mov    %eax,0x6c(%edi)
5047ef:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5047f2:	8b 47 68             	mov    0x68(%edi),%eax
5047f5:	c7 04 88 14 00 00 00 	movl   $0x14,(%eax,%ecx,4)
5047fc:	89 74 88 04          	mov    %esi,0x4(%eax,%ecx,4)
504800:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
504807:	00
504808:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50480f:	00
504810:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
504817:	00
504818:	8b 45 20             	mov    0x20(%ebp),%eax
50481b:	85 c0                	test   %eax,%eax
50481d:	74 02                	je     0x504821
50481f:	ff 00                	incl   (%eax)
504821:	8d 4e 01             	lea    0x1(%esi),%ecx
504824:	8b 75 10             	mov    0x10(%ebp),%esi
504827:	6a f7                	push   $0xfffffff7
504829:	50                   	push   %eax
50482a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50482d:	ff 76 0c             	push   0xc(%esi)
504830:	51                   	push   %ecx
504831:	ff 76 08             	push   0x8(%esi)
504834:	6a 56                	push   $0x56
504836:	57                   	push   %edi
504837:	e8 54 d3 03 00       	call   0x541b90
50483c:	8b 4f 6c             	mov    0x6c(%edi),%ecx
50483f:	83 c0 02             	add    $0x2,%eax
504842:	83 c4 1c             	add    $0x1c,%esp
504845:	89 45 f8             	mov    %eax,-0x8(%ebp)
504848:	39 4f 70             	cmp    %ecx,0x70(%edi)
50484b:	7f 13                	jg     0x504860
50484d:	8b 55 fc             	mov    -0x4(%ebp),%edx
504850:	50                   	push   %eax
504851:	52                   	push   %edx
504852:	50                   	push   %eax
504853:	6a 10                	push   $0x10
504855:	57                   	push   %edi
504856:	e8 a5 1c 00 00       	call   0x506500