50542e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505431:	33 cd                	xor    %ebp,%ecx
505433:	e8 a2 c0 0d 00       	call   0x5e14da
505438:	8b e5                	mov    %ebp,%esp
50543a:	5d                   	pop    %ebp
50543b:	c3                   	ret
50543c:	6a 00                	push   $0x0
50543e:	6a 00                	push   $0x0
505440:	6a 00                	push   $0x0
505442:	6a 21                	push   $0x21
505444:	53                   	push   %ebx
505445:	e8 56 43 01 00       	call   0x5197a0
50544a:	83 c4 14             	add    $0x14,%esp
50544d:	85 c0                	test   %eax,%eax
50544f:	0f 85 85 05 00 00    	jne    0x5059da
505455:	ff 4b 38             	decl   0x38(%ebx)
505458:	b9 40 01 00 00       	mov    $0x140,%ecx
50545d:	8b 43 38             	mov    0x38(%ebx),%eax
505460:	50                   	push   %eax
505461:	57                   	push   %edi
505462:	53                   	push   %ebx
505463:	89 45 c8             	mov    %eax,-0x38(%ebp)
505466:	66 89 4f 02          	mov    %cx,0x2(%edi)
50546a:	e8 81 5e ff ff       	call   0x4fb2f0
50546f:	8b 47 3c             	mov    0x3c(%edi),%eax
505472:	83 c4 0c             	add    $0xc,%esp
505475:	8b 4d d8             	mov    -0x28(%ebp),%ecx
505478:	89 45 b0             	mov    %eax,-0x50(%ebp)
50547b:	8b 47 08             	mov    0x8(%edi),%eax
50547e:	89 45 b4             	mov    %eax,-0x4c(%ebp)
505481:	8b 47 0c             	mov    0xc(%edi),%eax
505484:	89 45 bc             	mov    %eax,-0x44(%ebp)
505487:	8b 47 30             	mov    0x30(%edi),%eax
50548a:	c7 47 3c 00 00 00 00 	movl   $0x0,0x3c(%edi)
505491:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
505498:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
50549f:	8b 11                	mov    (%ecx),%edx
5054a1:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5054a4:	33 c0                	xor    %eax,%eax
5054a6:	85 d2                	test   %edx,%edx
5054a8:	7e 22                	jle    0x5054cc
5054aa:	83 c1 30             	add    $0x30,%ecx
5054ad:	0f 1f 00             	nopl   (%eax)
5054b0:	f6 01 20             	testb  $0x20,(%ecx)
5054b3:	75 0a                	jne    0x5054bf
5054b5:	40                   	inc    %eax
5054b6:	83 c1 48             	add    $0x48,%ecx
5054b9:	3b c2                	cmp    %edx,%eax
5054bb:	7c f3                	jl     0x5054b0
5054bd:	eb 0d                	jmp    0x5054cc
5054bf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5054c2:	8d 04 c0             	lea    (%eax,%eax,8),%eax
5054c5:	8b 44 c1 34          	mov    0x34(%ecx,%eax,8),%eax
5054c9:	89 45 cc             	mov    %eax,-0x34(%ebp)
5054cc:	8b 53 28             	mov    0x28(%ebx),%edx
5054cf:	33 c9                	xor    %ecx,%ecx
5054d1:	89 55 e0             	mov    %edx,-0x20(%ebp)
5054d4:	8d 42 01             	lea    0x1(%edx),%eax
5054d7:	89 43 28             	mov    %eax,0x28(%ebx)
5054da:	80 3f 84             	cmpb   $0x84,(%edi)
5054dd:	75 16                	jne    0x5054f5
5054df:	39 4d d4             	cmp    %ecx,-0x2c(%ebp)
5054e2:	89 45 d0             	mov    %eax,-0x30(%ebp)
5054e5:	0f 95 c1             	setne  %cl
5054e8:	40                   	inc    %eax
5054e9:	89 43 28             	mov    %eax,0x28(%ebx)
5054ec:	8d 0c 4d 06 00 00 00 	lea    0x6(,%ecx,2),%ecx
5054f3:	eb 0d                	jmp    0x505502
5054f5:	39 4d d4             	cmp    %ecx,-0x2c(%ebp)
5054f8:	0f 95 c1             	setne  %cl
5054fb:	8d 0c 4d 05 00 00 00 	lea    0x5(,%ecx,2),%ecx
505502:	ff 43 2c             	incl   0x2c(%ebx)
505505:	8b 43 2c             	mov    0x2c(%ebx),%eax
505508:	88 4d e4             	mov    %cl,-0x1c(%ebp)
50550b:	89 55 e8             	mov    %edx,-0x18(%ebp)
50550e:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
505515:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
50551c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
505523:	8b 4e 6c             	mov    0x6c(%esi),%ecx
505526:	89 45 d8             	mov    %eax,-0x28(%ebp)
505529:	39 4e 70             	cmp    %ecx,0x70(%esi)
50552c:	7f 14                	jg     0x505542
50552e:	ff 75 dc             	push   -0x24(%ebp)
505531:	50                   	push   %eax
505532:	ff 75 cc             	push   -0x34(%ebp)
505535:	6a 72                	push   $0x72
505537:	56                   	push   %esi
505538:	e8 c3 0f 00 00       	call   0x506500
50553d:	83 c4 14             	add    $0x14,%esp
505540:	eb 30                	jmp    0x505572
505542:	8b 55 cc             	mov    -0x34(%ebp),%edx
505545:	8d 41 01             	lea    0x1(%ecx),%eax
505548:	89 46 6c             	mov    %eax,0x6c(%esi)
50554b:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50554e:	8b 46 68             	mov    0x68(%esi),%eax
505551:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
505555:	8b 55 d8             	mov    -0x28(%ebp),%edx
505558:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
50555c:	8b 55 dc             	mov    -0x24(%ebp),%edx
50555f:	c7 04 88 72 00 00 00 	movl   $0x72,(%eax,%ecx,4)
505566:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
50556a:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505571:	00
505572:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
505576:	8b 55 e0             	mov    -0x20(%ebp),%edx
505579:	74 2d                	je     0x5055a8
50557b:	6a 01                	push   $0x1
50557d:	57                   	push   %edi
50557e:	53                   	push   %ebx
50557f:	e8 4c 60 00 00       	call   0x50b5d0
505584:	6a f7                	push   $0xfffffff7
505586:	50                   	push   %eax
505587:	8b 45 d4             	mov    -0x2c(%ebp),%eax
50558a:	6a 00                	push   $0x0
50558c:	8b 00                	mov    (%eax),%eax
50558e:	83 c0 02             	add    $0x2,%eax
505591:	50                   	push   %eax
505592:	ff 75 e0             	push   -0x20(%ebp)
505595:	6a 64                	push   $0x64
505597:	56                   	push   %esi
505598:	e8 f3 c5 03 00       	call   0x541b90
50559d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5055a0:	83 c4 28             	add    $0x28,%esp
5055a3:	89 45 f8             	mov    %eax,-0x8(%ebp)
5055a6:	eb 49                	jmp    0x5055f1
5055a8:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5055ab:	39 4e 70             	cmp    %ecx,0x70(%esi)
5055ae:	7f 13                	jg     0x5055c3
5055b0:	6a 00                	push   $0x0
5055b2:	ff 75 dc             	push   -0x24(%ebp)
5055b5:	52                   	push   %edx
5055b6:	6a 64                	push   $0x64
5055b8:	56                   	push   %esi
5055b9:	e8 42 0f 00 00       	call   0x506500
5055be:	83 c4 14             	add    $0x14,%esp
5055c1:	eb 2e                	jmp    0x5055f1
5055c3:	8d 41 01             	lea    0x1(%ecx),%eax
5055c6:	89 46 6c             	mov    %eax,0x6c(%esi)
5055c9:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5055cc:	8b 46 68             	mov    0x68(%esi),%eax
5055cf:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5055d3:	8b 55 dc             	mov    -0x24(%ebp),%edx
5055d6:	c7 04 88 64 00 00 00 	movl   $0x64,(%eax,%ecx,4)
5055dd:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5055e1:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5055e8:	00
5055e9:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5055f0:	00
5055f1:	8b 45 d0             	mov    -0x30(%ebp),%eax
5055f4:	85 c0                	test   %eax,%eax
5055f6:	74 58                	je     0x505650
5055f8:	8b 56 6c             	mov    0x6c(%esi),%edx
5055fb:	39 56 70             	cmp    %edx,0x70(%esi)
5055fe:	7f 14                	jg     0x505614
505600:	6a 00                	push   $0x0
505602:	6a 00                	push   $0x0
505604:	50                   	push   %eax
505605:	6a 64                	push   $0x64
505607:	56                   	push   %esi
505608:	e8 f3 0e 00 00       	call   0x506500
50560d:	83 c4 14             	add    $0x14,%esp
505610:	8b d0                	mov    %eax,%edx
505612:	eb 35                	jmp    0x505649
505614:	8b 5d d0             	mov    -0x30(%ebp),%ebx
505617:	8d 42 01             	lea    0x1(%edx),%eax
50561a:	89 46 6c             	mov    %eax,0x6c(%esi)
50561d:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
505620:	8b 46 68             	mov    0x68(%esi),%eax
505623:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
505627:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
50562a:	c7 04 88 64 00 00 00 	movl   $0x64,(%eax,%ecx,4)
505631:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
505638:	00
505639:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
505640:	00
505641:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505648:	00
505649:	89 57 14             	mov    %edx,0x14(%edi)
50564c:	83 4f 04 20          	orl    $0x20,0x4(%edi)
505650:	8b 4d c0             	mov    -0x40(%ebp),%ecx
505653:	68 70 af 6b 00       	push   $0x6baf70
505658:	6a 01                	push   $0x1
50565a:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
505661:	53                   	push   %ebx
505662:	c7 41 38 00 00 00 00 	movl   $0x0,0x38(%ecx)
505669:	e8 72 45 04 00       	call   0x549be0
50566e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
505671:	50                   	push   %eax
505672:	ff 75 c0             	push   -0x40(%ebp)
505675:	53                   	push   %ebx
505676:	e8 25 44 03 00       	call   0x539aa0
50567b:	8b 4d c0             	mov    -0x40(%ebp),%ecx
50567e:	83 c4 18             	add    $0x18,%esp
505681:	89 79 38             	mov    %edi,0x38(%ecx)
505684:	85 c0                	test   %eax,%eax
505686:	0f 85 30 03 00 00    	jne    0x5059bc
50568c:	8b 4e 6c             	mov    0x6c(%esi),%ecx
50568f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
505692:	39 4e 70             	cmp    %ecx,0x70(%esi)
505695:	7f 18                	jg     0x5056af
505697:	8b 55 c8             	mov    -0x38(%ebp),%edx
50569a:	50                   	push   %eax
50569b:	52                   	push   %edx
50569c:	ff 75 e0             	push   -0x20(%ebp)
50569f:	6a 25                	push   $0x25
5056a1:	56                   	push   %esi
5056a2:	e8 59 0e 00 00       	call   0x506500
5056a7:	83 c4 14             	add    $0x14,%esp
5056aa:	89 45 d0             	mov    %eax,-0x30(%ebp)
5056ad:	eb 31                	jmp    0x5056e0
5056af:	8b 55 e0             	mov    -0x20(%ebp),%edx
5056b2:	8d 41 01             	lea    0x1(%ecx),%eax
5056b5:	89 46 6c             	mov    %eax,0x6c(%esi)
5056b8:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5056bb:	8b 46 68             	mov    0x68(%esi),%eax
5056be:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5056c2:	8b 55 c8             	mov    -0x38(%ebp),%edx
5056c5:	c7 04 88 25 00 00 00 	movl   $0x25,(%eax,%ecx,4)
5056cc:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5056d0:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5056d7:	00
5056d8:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5056df:	00
5056e0:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5056e3:	39 4e 70             	cmp    %ecx,0x70(%esi)
5056e6:	7f 17                	jg     0x5056ff
5056e8:	6a 00                	push   $0x0
5056ea:	6a 00                	push   $0x0
5056ec:	ff 75 cc             	push   -0x34(%ebp)
5056ef:	68 80 00 00 00       	push   $0x80
5056f4:	56                   	push   %esi
5056f5:	e8 06 0e 00 00       	call   0x506500
5056fa:	83 c4 14             	add    $0x14,%esp
5056fd:	eb 32                	jmp    0x505731
5056ff:	8b 55 cc             	mov    -0x34(%ebp),%edx
505702:	8d 41 01             	lea    0x1(%ecx),%eax
505705:	89 46 6c             	mov    %eax,0x6c(%esi)
505708:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50570b:	8b 46 68             	mov    0x68(%esi),%eax
50570e:	c7 04 88 80 00 00 00 	movl   $0x80,(%eax,%ecx,4)
505715:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
505719:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
505720:	00
505721:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
505728:	00
505729:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505730:	00
505731:	8b 45 d4             	mov    -0x2c(%ebp),%eax
505734:	8b 4e 6c             	mov    0x6c(%esi),%ecx
505737:	85 c0                	test   %eax,%eax
505739:	74 49                	je     0x505784
50573b:	8b 00                	mov    (%eax),%eax
50573d:	40                   	inc    %eax
50573e:	89 45 dc             	mov    %eax,-0x24(%ebp)
505741:	39 4e 70             	cmp    %ecx,0x70(%esi)
505744:	7f 14                	jg     0x50575a
505746:	ff 75 d8             	push   -0x28(%ebp)
505749:	50                   	push   %eax
50574a:	ff 75 e0             	push   -0x20(%ebp)
50574d:	6a 59                	push   $0x59
50574f:	56                   	push   %esi
505750:	e8 ab 0d 00 00       	call   0x506500
505755:	83 c4 14             	add    $0x14,%esp
505758:	eb 75                	jmp    0x5057cf
50575a:	8b 55 e0             	mov    -0x20(%ebp),%edx
50575d:	8d 41 01             	lea    0x1(%ecx),%eax
505760:	89 46 6c             	mov    %eax,0x6c(%esi)
505763:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
505766:	8b 46 68             	mov    0x68(%esi),%eax
505769:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
50576d:	8b 55 dc             	mov    -0x24(%ebp),%edx
505770:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
505774:	8b 55 d8             	mov    -0x28(%ebp),%edx
505777:	c7 04 88 59 00 00 00 	movl   $0x59,(%eax,%ecx,4)
50577e:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
505782:	eb 43                	jmp    0x5057c7
505784:	39 4e 70             	cmp    %ecx,0x70(%esi)
505787:	7f 15                	jg     0x50579e
505789:	6a 00                	push   $0x0
50578b:	ff 75 d8             	push   -0x28(%ebp)
50578e:	ff 75 e0             	push   -0x20(%ebp)
505791:	6a 7e                	push   $0x7e
505793:	56                   	push   %esi
505794:	e8 67 0d 00 00       	call   0x506500
505799:	83 c4 14             	add    $0x14,%esp
50579c:	eb 31                	jmp    0x5057cf
50579e:	8b 55 e0             	mov    -0x20(%ebp),%edx
5057a1:	8d 41 01             	lea    0x1(%ecx),%eax
5057a4:	89 46 6c             	mov    %eax,0x6c(%esi)
5057a7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5057aa:	8b 46 68             	mov    0x68(%esi),%eax
5057ad:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5057b1:	8b 55 d8             	mov    -0x28(%ebp),%edx
5057b4:	c7 04 88 7e 00 00 00 	movl   $0x7e,(%eax,%ecx,4)
5057bb:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5057bf:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5057c6:	00
5057c7:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5057ce:	00
5057cf:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5057d2:	8b 55 e0             	mov    -0x20(%ebp),%edx
5057d5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5057d8:	7f 12                	jg     0x5057ec
5057da:	6a 00                	push   $0x0
5057dc:	6a 00                	push   $0x0
5057de:	52                   	push   %edx
5057df:	6a 7a                	push   $0x7a
5057e1:	56                   	push   %esi
5057e2:	e8 19 0d 00 00       	call   0x506500
5057e7:	83 c4 14             	add    $0x14,%esp
5057ea:	eb 32                	jmp    0x50581e
5057ec:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
5057ef:	8d 41 01             	lea    0x1(%ecx),%eax
5057f2:	89 46 6c             	mov    %eax,0x6c(%esi)
5057f5:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5057f8:	8b 46 68             	mov    0x68(%esi),%eax
5057fb:	c7 04 88 7a 00 00 00 	movl   $0x7a,(%eax,%ecx,4)
505802:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
505806:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
50580d:	00
50580e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
505815:	00
505816:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50581d:	00
50581e:	ff 4b 38             	decl   0x38(%ebx)
505821:	8b 45 bc             	mov    -0x44(%ebp),%eax
505824:	8b 53 38             	mov    0x38(%ebx),%edx
505827:	89 55 dc             	mov    %edx,-0x24(%ebp)
50582a:	85 c0                	test   %eax,%eax
50582c:	7e 4d                	jle    0x50587b
50582e:	8b 4e 6c             	mov    0x6c(%esi),%ecx
505831:	39 4e 70             	cmp    %ecx,0x70(%esi)
505834:	7f 14                	jg     0x50584a
505836:	6a 01                	push   $0x1
505838:	52                   	push   %edx
505839:	50                   	push   %eax
50583a:	6a 30                	push   $0x30
50583c:	56                   	push   %esi
50583d:	e8 be 0c 00 00       	call   0x506500
505842:	8b 55 dc             	mov    -0x24(%ebp),%edx
505845:	83 c4 14             	add    $0x14,%esp
505848:	eb 31                	jmp    0x50587b
50584a:	8b 5d bc             	mov    -0x44(%ebp),%ebx
50584d:	8d 41 01             	lea    0x1(%ecx),%eax
505850:	89 46 6c             	mov    %eax,0x6c(%esi)
505853:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
505856:	8b 46 68             	mov    0x68(%esi),%eax
505859:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
50585d:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
505860:	c7 04 88 30 00 00 00 	movl   $0x30,(%eax,%ecx,4)