5003bb:	74 14                	je     0x5003d1
5003bd:	8a 46 13             	mov    0x13(%esi),%al
5003c0:	3c 08                	cmp    $0x8,%al
5003c2:	73 0d                	jae    0x5003d1
5003c4:	0f b6 c0             	movzbl %al,%eax
5003c7:	89 8c 86 94 00 00 00 	mov    %ecx,0x94(%esi,%eax,4)
5003ce:	fe 46 13             	incb   0x13(%esi)
5003d1:	85 ff                	test   %edi,%edi
5003d3:	74 0a                	je     0x5003df
5003d5:	57                   	push   %edi
5003d6:	53                   	push   %ebx
5003d7:	e8 d4 63 02 00       	call   0x5267b0
5003dc:	83 c4 08             	add    $0x8,%esp
5003df:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5003e2:	5f                   	pop    %edi
5003e3:	5e                   	pop    %esi
5003e4:	33 cd                	xor    %ebp,%ecx
5003e6:	5b                   	pop    %ebx
5003e7:	e8 ee 10 0e 00       	call   0x5e14da
5003ec:	8b e5                	mov    %ebp,%esp
5003ee:	5d                   	pop    %ebp
5003ef:	c3                   	ret
5003f0:	55                   	push   %ebp
5003f1:	8b ec                	mov    %esp,%ebp
5003f3:	51                   	push   %ecx
5003f4:	8b 45 08             	mov    0x8(%ebp),%eax
5003f7:	53                   	push   %ebx
5003f8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5003fb:	56                   	push   %esi
5003fc:	57                   	push   %edi
5003fd:	8b 78 08             	mov    0x8(%eax),%edi
500400:	8b 0b                	mov    (%ebx),%ecx
500402:	89 4d fc             	mov    %ecx,-0x4(%ebp)
500405:	8b 4d 10             	mov    0x10(%ebp),%ecx
500408:	83 f9 03             	cmp    $0x3,%ecx
50040b:	0f 87 80 01 00 00    	ja     0x500591
500411:	ff 24 8d a8 05 50 00 	jmp    *0x5005a8(,%ecx,4)
500418:	ff 48 38             	decl   0x38(%eax)
50041b:	8b 75 14             	mov    0x14(%ebp),%esi
50041e:	8b 48 38             	mov    0x38(%eax),%ecx
500421:	56                   	push   %esi
500422:	ff 73 04             	push   0x4(%ebx)
500425:	89 4d 0c             	mov    %ecx,0xc(%ebp)
500428:	50                   	push   %eax
500429:	e8 a2 37 02 00       	call   0x523bd0
50042e:	8b 45 fc             	mov    -0x4(%ebp),%eax
500431:	83 c4 0c             	add    $0xc,%esp
500434:	83 f8 01             	cmp    $0x1,%eax
500437:	7e 67                	jle    0x5004a0
500439:	83 c3 18             	add    $0x18,%ebx
50043c:	48                   	dec    %eax
50043d:	89 45 14             	mov    %eax,0x14(%ebp)
500440:	8b 4f 6c             	mov    0x6c(%edi),%ecx
500443:	39 4f 70             	cmp    %ecx,0x70(%edi)
500446:	7f 13                	jg     0x50045b
500448:	6a 00                	push   $0x0
50044a:	ff 75 0c             	push   0xc(%ebp)
50044d:	56                   	push   %esi
50044e:	6a 33                	push   $0x33
500450:	57                   	push   %edi
500451:	e8 aa 60 00 00       	call   0x506500
500456:	83 c4 14             	add    $0x14,%esp
500459:	eb 2e                	jmp    0x500489
50045b:	8b 55 0c             	mov    0xc(%ebp),%edx
50045e:	8d 41 01             	lea    0x1(%ecx),%eax
500461:	89 47 6c             	mov    %eax,0x6c(%edi)
500464:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
500467:	8b 47 68             	mov    0x68(%edi),%eax
50046a:	c7 04 88 33 00 00 00 	movl   $0x33,(%eax,%ecx,4)
500471:	89 74 88 04          	mov    %esi,0x4(%eax,%ecx,4)
500475:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
500479:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
500480:	00
500481:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
500488:	00
500489:	56                   	push   %esi
50048a:	ff 33                	push   (%ebx)
50048c:	ff 75 08             	push   0x8(%ebp)
50048f:	e8 3c 37 02 00       	call   0x523bd0
500494:	83 c4 0c             	add    $0xc,%esp
500497:	83 c3 14             	add    $0x14,%ebx
50049a:	83 6d 14 01          	subl   $0x1,0x14(%ebp)
50049e:	75 a0                	jne    0x500440
5004a0:	8b 07                	mov    (%edi),%eax
5004a2:	8b 57 6c             	mov    0x6c(%edi),%edx
5004a5:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5004a9:	74 07                	je     0x5004b2
5004ab:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5004b0:	eb 0c                	jmp    0x5004be
5004b2:	8b 47 68             	mov    0x68(%edi),%eax
5004b5:	8d 4a ff             	lea    -0x1(%edx),%ecx
5004b8:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5004bb:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5004be:	80 38 4d             	cmpb   $0x4d,(%eax)
5004c1:	75 14                	jne    0x5004d7
5004c3:	85 d2                	test   %edx,%edx
5004c5:	7e 10                	jle    0x5004d7
5004c7:	8b 47 68             	mov    0x68(%edi),%eax
5004ca:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5004cd:	ba 01 00 00 00       	mov    $0x1,%edx
5004d2:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
5004d7:	8b 47 0c             	mov    0xc(%edi),%eax
5004da:	8b 55 0c             	mov    0xc(%ebp),%edx
5004dd:	f7 d2                	not    %edx
5004df:	8b 48 3c             	mov    0x3c(%eax),%ecx
5004e2:	03 48 38             	add    0x38(%eax),%ecx
5004e5:	79 14                	jns    0x5004fb
5004e7:	52                   	push   %edx
5004e8:	57                   	push   %edi
5004e9:	50                   	push   %eax
5004ea:	e8 b1 32 01 00       	call   0x5137a0
5004ef:	83 c4 0c             	add    $0xc,%esp
5004f2:	8b c6                	mov    %esi,%eax
5004f4:	5f                   	pop    %edi
5004f5:	5e                   	pop    %esi
5004f6:	5b                   	pop    %ebx
5004f7:	8b e5                	mov    %ebp,%esp
5004f9:	5d                   	pop    %ebp
5004fa:	c3                   	ret
5004fb:	8b 48 40             	mov    0x40(%eax),%ecx
5004fe:	8b 47 6c             	mov    0x6c(%edi),%eax
500501:	5f                   	pop    %edi
500502:	89 04 91             	mov    %eax,(%ecx,%edx,4)
500505:	8b c6                	mov    %esi,%eax
500507:	5e                   	pop    %esi
500508:	5b                   	pop    %ebx
500509:	8b e5                	mov    %ebp,%esp
50050b:	5d                   	pop    %ebp
50050c:	c3                   	ret
50050d:	8b 75 14             	mov    0x14(%ebp),%esi
500510:	56                   	push   %esi
500511:	6a ff                	push   $0xffffffff
500513:	ff 73 18             	push   0x18(%ebx)
500516:	ff 73 04             	push   0x4(%ebx)
500519:	6a 00                	push   $0x0
50051b:	e8 b0 5f 02 00       	call   0x5264d0
500520:	83 c4 10             	add    $0x10,%esp
500523:	50                   	push   %eax
500524:	6a 45                	push   $0x45
500526:	57                   	push   %edi
500527:	e8 b4 15 04 00       	call   0x541ae0
50052c:	83 c4 10             	add    $0x10,%esp
50052f:	8b c6                	mov    %esi,%eax
500531:	5f                   	pop    %edi
500532:	5e                   	pop    %esi
500533:	5b                   	pop    %ebx
500534:	8b e5                	mov    %ebp,%esp
500536:	5d                   	pop    %ebp
500537:	c3                   	ret
500538:	8b 75 14             	mov    0x14(%ebp),%esi
50053b:	56                   	push   %esi
50053c:	6a ff                	push   $0xffffffff
50053e:	ff 73 18             	push   0x18(%ebx)
500541:	ff 73 04             	push   0x4(%ebx)
500544:	50                   	push   %eax
500545:	e8 d6 6c 02 00       	call   0x527220
50054a:	eb d4                	jmp    0x500520
50054c:	8b 43 18             	mov    0x18(%ebx),%eax
50054f:	8b 75 14             	mov    0x14(%ebp),%esi
500552:	56                   	push   %esi
500553:	80 38 a4             	cmpb   $0xa4,(%eax)
500556:	75 23                	jne    0x50057b
500558:	ff 70 1c             	push   0x1c(%eax)
50055b:	ff 73 04             	push   0x4(%ebx)
50055e:	e8 3d 6d 02 00       	call   0x5272a0
500563:	83 c4 08             	add    $0x8,%esp
500566:	50                   	push   %eax
500567:	6a 45                	push   $0x45
500569:	57                   	push   %edi
50056a:	e8 71 15 04 00       	call   0x541ae0
50056f:	83 c4 10             	add    $0x10,%esp
500572:	8b c6                	mov    %esi,%eax
500574:	5f                   	pop    %edi
500575:	5e                   	pop    %esi
500576:	5b                   	pop    %ebx
500577:	8b e5                	mov    %ebp,%esp
500579:	5d                   	pop    %ebp
50057a:	c3                   	ret
50057b:	6a 00                	push   $0x0
50057d:	6a 48                	push   $0x48
50057f:	57                   	push   %edi
500580:	e8 5b 15 04 00       	call   0x541ae0
500585:	83 c4 10             	add    $0x10,%esp
500588:	8b c6                	mov    %esi,%eax
50058a:	5f                   	pop    %edi
50058b:	5e                   	pop    %esi
50058c:	5b                   	pop    %ebx
50058d:	8b e5                	mov    %ebp,%esp
50058f:	5d                   	pop    %ebp
500590:	c3                   	ret
500591:	ff 75 14             	push   0x14(%ebp)
500594:	ff 73 04             	push   0x4(%ebx)
500597:	50                   	push   %eax
500598:	e8 b3 4c 02 00       	call   0x525250
50059d:	83 c4 0c             	add    $0xc,%esp
5005a0:	5f                   	pop    %edi
5005a1:	5e                   	pop    %esi
5005a2:	5b                   	pop    %ebx
5005a3:	8b e5                	mov    %ebp,%esp
5005a5:	5d                   	pop    %ebp
5005a6:	c3                   	ret
5005a7:	90                   	nop
5005a8:	18 04 50             	sbb    %al,(%eax,%edx,2)
5005ab:	00 4c 05 50          	add    %cl,0x50(%ebp,%eax,1)
5005af:	00 38                	add    %bh,(%eax)
5005b1:	05 50 00 0d 05       	add    $0x50d0050,%eax
5005b6:	50                   	push   %eax
5005b7:	00 cc                	add    %cl,%ah
5005b9:	cc                   	int3
5005ba:	cc                   	int3
5005bb:	cc                   	int3
5005bc:	cc                   	int3
5005bd:	cc                   	int3
5005be:	cc                   	int3
5005bf:	cc                   	int3
5005c0:	55                   	push   %ebp
5005c1:	8b ec                	mov    %esp,%ebp
5005c3:	51                   	push   %ecx
5005c4:	56                   	push   %esi
5005c5:	8b 75 0c             	mov    0xc(%ebp),%esi
5005c8:	8a 06                	mov    (%esi),%al
5005ca:	3c ad                	cmp    $0xad,%al
5005cc:	75 03                	jne    0x5005d1
5005ce:	8a 46 02             	mov    0x2(%esi),%al
5005d1:	3c ae                	cmp    $0xae,%al
5005d3:	75 05                	jne    0x5005da
5005d5:	8b 46 14             	mov    0x14(%esi),%eax
5005d8:	eb 0a                	jmp    0x5005e4
5005da:	3c 88                	cmp    $0x88,%al
5005dc:	75 75                	jne    0x500653
5005de:	8b 46 14             	mov    0x14(%esi),%eax
5005e1:	8b 40 1c             	mov    0x1c(%eax),%eax
5005e4:	8b 08                	mov    (%eax),%ecx
5005e6:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5005e9:	83 f9 01             	cmp    $0x1,%ecx
5005ec:	74 65                	je     0x500653
5005ee:	8b 45 10             	mov    0x10(%ebp),%eax
5005f1:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5005f7:	80 3e 88             	cmpb   $0x88,(%esi)
5005fa:	75 11                	jne    0x50060d
5005fc:	56                   	push   %esi
5005fd:	ff 75 08             	push   0x8(%ebp)
500600:	e8 2b e9 01 00       	call   0x51ef30
500605:	83 c4 08             	add    $0x8,%esp
500608:	5e                   	pop    %esi
500609:	8b e5                	mov    %ebp,%esp
50060b:	5d                   	pop    %ebp
50060c:	c3                   	ret
50060d:	53                   	push   %ebx
50060e:	8b 5d 08             	mov    0x8(%ebp),%ebx
500611:	57                   	push   %edi
500612:	33 ff                	xor    %edi,%edi
500614:	8b 43 2c             	mov    0x2c(%ebx),%eax
500617:	8d 50 01             	lea    0x1(%eax),%edx
50061a:	03 c1                	add    %ecx,%eax
50061c:	89 55 fc             	mov    %edx,-0x4(%ebp)
50061f:	89 43 2c             	mov    %eax,0x2c(%ebx)
500622:	85 c9                	test   %ecx,%ecx
500624:	7e 24                	jle    0x50064a
500626:	33 db                	xor    %ebx,%ebx
500628:	8d 04 17             	lea    (%edi,%edx,1),%eax
50062b:	50                   	push   %eax
50062c:	8b 46 14             	mov    0x14(%esi),%eax
50062f:	ff 74 18 04          	push   0x4(%eax,%ebx,1)
500633:	ff 75 08             	push   0x8(%ebp)
500636:	e8 b5 38 02 00       	call   0x523ef0
50063b:	8b 55 fc             	mov    -0x4(%ebp),%edx
50063e:	8d 5b 14             	lea    0x14(%ebx),%ebx
500641:	47                   	inc    %edi
500642:	83 c4 0c             	add    $0xc,%esp
500645:	3b 7d 0c             	cmp    0xc(%ebp),%edi
500648:	7c de                	jl     0x500628
50064a:	5f                   	pop    %edi
50064b:	5b                   	pop    %ebx
50064c:	8b c2                	mov    %edx,%eax
50064e:	5e                   	pop    %esi
50064f:	8b e5                	mov    %ebp,%esp
500651:	5d                   	pop    %ebp
500652:	c3                   	ret
500653:	ff 75 10             	push   0x10(%ebp)
500656:	56                   	push   %esi
500657:	ff 75 08             	push   0x8(%ebp)
50065a:	e8 71 5b 02 00       	call   0x5261d0
50065f:	83 c4 0c             	add    $0xc,%esp
500662:	5e                   	pop    %esi
500663:	8b e5                	mov    %ebp,%esp
500665:	5d                   	pop    %ebp
500666:	c3                   	ret
500667:	cc                   	int3
500668:	cc                   	int3
500669:	cc                   	int3
50066a:	cc                   	int3
50066b:	cc                   	int3
50066c:	cc                   	int3
50066d:	cc                   	int3
50066e:	cc                   	int3
50066f:	cc                   	int3
500670:	55                   	push   %ebp
500671:	8b ec                	mov    %esp,%ebp
500673:	8b 45 0c             	mov    0xc(%ebp),%eax
500676:	80 38 a4             	cmpb   $0xa4,(%eax)
500679:	75 1f                	jne    0x50069a
50067b:	0f b7 40 20          	movzwl 0x20(%eax),%eax
50067f:	66 85 c0             	test   %ax,%ax
500682:	78 16                	js     0x50069a
500684:	8b 55 08             	mov    0x8(%ebp),%edx
500687:	98                   	cwtl
500688:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
50068b:	8b 42 18             	mov    0x18(%edx),%eax
50068e:	8b 40 04             	mov    0x4(%eax),%eax
500691:	66 8b 44 88 10       	mov    0x10(%eax,%ecx,4),%ax
500696:	66 09 42 14          	or     %ax,0x14(%edx)
50069a:	33 c0                	xor    %eax,%eax
50069c:	5d                   	pop    %ebp
50069d:	c3                   	ret
50069e:	cc                   	int3
50069f:	cc                   	int3
5006a0:	55                   	push   %ebp
5006a1:	8b ec                	mov    %esp,%ebp
5006a3:	53                   	push   %ebx
5006a4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5006a7:	8b 43 0c             	mov    0xc(%ebx),%eax
5006aa:	80 38 ae             	cmpb   $0xae,(%eax)
5006ad:	74 2b                	je     0x5006da
5006af:	8b 4b 10             	mov    0x10(%ebx),%ecx
5006b2:	80 39 ae             	cmpb   $0xae,(%ecx)
5006b5:	74 23                	je     0x5006da
5006b7:	56                   	push   %esi
5006b8:	51                   	push   %ecx
5006b9:	50                   	push   %eax
5006ba:	ff 75 08             	push   0x8(%ebp)
5006bd:	e8 ee 9b 01 00       	call   0x51a2b0
5006c2:	ff 73 0c             	push   0xc(%ebx)
5006c5:	8b f0                	mov    %eax,%esi
5006c7:	ff 73 10             	push   0x10(%ebx)
5006ca:	ff 75 08             	push   0x8(%ebp)
5006cd:	e8 de 9b 01 00       	call   0x51a2b0
5006d2:	83 c4 18             	add    $0x18,%esp
5006d5:	3b f0                	cmp    %eax,%esi
5006d7:	5e                   	pop    %esi
5006d8:	74 07                	je     0x5006e1
5006da:	81 73 04 00 02 00 00 	xorl   $0x200,0x4(%ebx)
5006e1:	8b 43 0c             	mov    0xc(%ebx),%eax
5006e4:	8b 4b 10             	mov    0x10(%ebx),%ecx
5006e7:	89 43 10             	mov    %eax,0x10(%ebx)
5006ea:	8a 03                	mov    (%ebx),%al
5006ec:	89 4b 0c             	mov    %ecx,0xc(%ebx)
5006ef:	3c 36                	cmp    $0x36,%al
5006f1:	72 08                	jb     0x5006fb
5006f3:	2c 36                	sub    $0x36,%al