5003ff:	23 c8                	and    %eax,%ecx
500401:	f7 d9                	neg    %ecx
500403:	23 d9                	and    %ecx,%ebx
500405:	89 5c 24 28          	mov    %ebx,0x28(%esp)
500409:	33 db                	xor    %ebx,%ebx
50040b:	3b ee                	cmp    %esi,%ebp
50040d:	7d 5a                	jge    0x500469
50040f:	8b 6c 24 28          	mov    0x28(%esp),%ebp
500413:	8b 44 24 14          	mov    0x14(%esp),%eax
500417:	0f b6 34 07          	movzbl (%edi,%eax,1),%esi
50041b:	8b c3                	mov    %ebx,%eax
50041d:	8b d6                	mov    %esi,%edx
50041f:	f7 d0                	not    %eax
500421:	83 f2 01             	xor    $0x1,%edx
500424:	4a                   	dec    %edx
500425:	c1 ea 1f             	shr    $0x1f,%edx
500428:	f7 da                	neg    %edx
50042a:	23 c2                	and    %edx,%eax
50042c:	0b da                	or     %edx,%ebx
50042e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
500432:	f7 d0                	not    %eax
500434:	89 44 24 10          	mov    %eax,0x10(%esp)
500438:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
50043c:	8b 44 24 10          	mov    0x10(%esp),%eax
500440:	23 cf                	and    %edi,%ecx
500442:	23 44 24 30          	and    0x30(%esp),%eax
500446:	47                   	inc    %edi
500447:	0b c1                	or     %ecx,%eax
500449:	89 44 24 30          	mov    %eax,0x30(%esp)
50044d:	8d 46 ff             	lea    -0x1(%esi),%eax
500450:	8b 74 24 24          	mov    0x24(%esp),%esi
500454:	c1 e8 1f             	shr    $0x1f,%eax
500457:	f7 d8                	neg    %eax
500459:	0b c3                	or     %ebx,%eax
50045b:	23 e8                	and    %eax,%ebp
50045d:	3b fe                	cmp    %esi,%edi
50045f:	7c b2                	jl     0x500413
500461:	89 6c 24 28          	mov    %ebp,0x28(%esp)
500465:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
500469:	8b 8c 24 d8 00 00 00 	mov    0xd8(%esp),%ecx
500470:	8b c6                	mov    %esi,%eax
500472:	2b 44 24 30          	sub    0x30(%esp),%eax
500476:	8b fe                	mov    %esi,%edi
500478:	48                   	dec    %eax
500479:	2b fd                	sub    %ebp,%edi
50047b:	2b c8                	sub    %eax,%ecx
50047d:	89 44 24 38          	mov    %eax,0x38(%esp)
500481:	33 c8                	xor    %eax,%ecx
500483:	89 7c 24 18          	mov    %edi,0x18(%esp)
500487:	33 84 24 d8 00 00 00 	xor    0xd8(%esp),%eax
50048e:	0b c8                	or     %eax,%ecx
500490:	8b 84 24 d8 00 00 00 	mov    0xd8(%esp),%eax
500497:	33 c8                	xor    %eax,%ecx
500499:	c1 e9 1f             	shr    $0x1f,%ecx
50049c:	49                   	dec    %ecx
50049d:	23 cb                	and    %ebx,%ecx
50049f:	8b 5c 24 28          	mov    0x28(%esp),%ebx
5004a3:	23 d9                	and    %ecx,%ebx
5004a5:	8d 4f ff             	lea    -0x1(%edi),%ecx
5004a8:	8b d1                	mov    %ecx,%edx
5004aa:	89 5c 24 28          	mov    %ebx,0x28(%esp)
5004ae:	2b d0                	sub    %eax,%edx
5004b0:	33 d0                	xor    %eax,%edx
5004b2:	8b c1                	mov    %ecx,%eax
5004b4:	33 84 24 d8 00 00 00 	xor    0xd8(%esp),%eax
5004bb:	0b d0                	or     %eax,%edx
5004bd:	33 d1                	xor    %ecx,%edx
5004bf:	c1 ea 1f             	shr    $0x1f,%edx
5004c2:	f7 da                	neg    %edx
5004c4:	89 54 24 1c          	mov    %edx,0x1c(%esp)
5004c8:	f7 d2                	not    %edx
5004ca:	89 54 24 10          	mov    %edx,0x10(%esp)
5004ce:	8d 57 ff             	lea    -0x1(%edi),%edx
5004d1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5004d5:	bf 01 00 00 00       	mov    $0x1,%edi
5004da:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5004de:	23 c2                	and    %edx,%eax
5004e0:	23 8c 24 d8 00 00 00 	and    0xd8(%esp),%ecx
5004e7:	0b c8                	or     %eax,%ecx
5004e9:	89 54 24 3c          	mov    %edx,0x3c(%esp)
5004ed:	89 4c 24 34          	mov    %ecx,0x34(%esp)
5004f1:	3b d7                	cmp    %edi,%edx
5004f3:	0f 8e 95 00 00 00    	jle    0x50058e
5004f9:	8b 44 24 18          	mov    0x18(%esp),%eax
5004fd:	8d 55 01             	lea    0x1(%ebp),%edx
500500:	2b 44 24 38          	sub    0x38(%esp),%eax
500504:	48                   	dec    %eax
500505:	89 54 24 44          	mov    %edx,0x44(%esp)
500509:	89 44 24 30          	mov    %eax,0x30(%esp)
50050d:	0f 1f 00             	nopl   (%eax)
500510:	23 c7                	and    %edi,%eax
500512:	2b f7                	sub    %edi,%esi
500514:	8d 48 ff             	lea    -0x1(%eax),%ecx
500517:	f7 d0                	not    %eax
500519:	c1 e9 1f             	shr    $0x1f,%ecx
50051c:	c1 e8 1f             	shr    $0x1f,%eax
50051f:	23 c8                	and    %eax,%ecx
500521:	49                   	dec    %ecx
500522:	3b d6                	cmp    %esi,%edx
500524:	7d 4c                	jge    0x500572
500526:	8b 44 24 14          	mov    0x14(%esp),%eax
50052a:	0f b6 c9             	movzbl %cl,%ecx
50052d:	03 c2                	add    %edx,%eax
50052f:	8b e9                	mov    %ecx,%ebp
500531:	89 4c 24 18          	mov    %ecx,0x18(%esp)
500535:	f7 d5                	not    %ebp
500537:	2b f2                	sub    %edx,%esi
500539:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
500540:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
500544:	8d 40 01             	lea    0x1(%eax),%eax
500547:	0f b6 4c 38 ff       	movzbl -0x1(%eax,%edi,1),%ecx
50054c:	89 6c 24 10          	mov    %ebp,0x10(%esp)
500550:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
500554:	8b 54 24 10          	mov    0x10(%esp),%edx
500558:	22 d9                	and    %cl,%bl
50055a:	0f b6 48 ff          	movzbl -0x1(%eax),%ecx
50055e:	22 d1                	and    %cl,%dl
500560:	8b 4c 24 18          	mov    0x18(%esp),%ecx
500564:	0a d3                	or     %bl,%dl
500566:	88 50 ff             	mov    %dl,-0x1(%eax)
500569:	83 ee 01             	sub    $0x1,%esi
50056c:	75 d2                	jne    0x500540
50056e:	8b 54 24 44          	mov    0x44(%esp),%edx
500572:	8b 74 24 24          	mov    0x24(%esp),%esi
500576:	03 ff                	add    %edi,%edi
500578:	8b 44 24 30          	mov    0x30(%esp),%eax
50057c:	3b 7c 24 3c          	cmp    0x3c(%esp),%edi
500580:	7c 8e                	jl     0x500510
500582:	8b 5c 24 28          	mov    0x28(%esp),%ebx
500586:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
50058a:	8b 4c 24 34          	mov    0x34(%esp),%ecx
50058e:	33 f6                	xor    %esi,%esi
500590:	85 c9                	test   %ecx,%ecx
500592:	7e 69                	jle    0x5005fd
500594:	8b 4c 24 38          	mov    0x38(%esp),%ecx
500598:	8b 44 24 14          	mov    0x14(%esp),%eax
50059c:	8b 7c 24 38          	mov    0x38(%esp),%edi
5005a0:	40                   	inc    %eax
5005a1:	c1 e9 1f             	shr    $0x1f,%ecx
5005a4:	f7 df                	neg    %edi
5005a6:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5005aa:	03 e8                	add    %eax,%ebp
5005ac:	0f 1f 40 00          	nopl   0x0(%eax)
5005b0:	8b c7                	mov    %edi,%eax
5005b2:	8d 6d 01             	lea    0x1(%ebp),%ebp
5005b5:	c1 e8 1f             	shr    $0x1f,%eax
5005b8:	47                   	inc    %edi
5005b9:	32 c1                	xor    %cl,%al
5005bb:	0a c1                	or     %cl,%al
5005bd:	f6 d8                	neg    %al
5005bf:	0f b6 c8             	movzbl %al,%ecx
5005c2:	0f b6 c3             	movzbl %bl,%eax
5005c5:	23 c8                	and    %eax,%ecx
5005c7:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
5005cb:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5005cf:	f7 d1                	not    %ecx
5005d1:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5005d5:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5005d9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5005dd:	22 d0                	and    %al,%dl
5005df:	8b 44 24 48          	mov    0x48(%esp),%eax
5005e3:	0f b6 04 30          	movzbl (%eax,%esi,1),%eax
5005e7:	22 c8                	and    %al,%cl
5005e9:	8b 44 24 48          	mov    0x48(%esp),%eax
5005ed:	0a ca                	or     %dl,%cl
5005ef:	88 0c 30             	mov    %cl,(%eax,%esi,1)
5005f2:	46                   	inc    %esi
5005f3:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5005f7:	3b 74 24 34          	cmp    0x34(%esp),%esi
5005fb:	7c b3                	jl     0x5005b0
5005fd:	68 07 01 00 00       	push   $0x107
500602:	68 58 9c 62 00       	push   $0x629c58
500607:	6a 79                	push   $0x79
500609:	68 99 00 00 00       	push   $0x99
50060e:	6a 04                	push   $0x4
500610:	e8 6b 89 fd ff       	call   0x4d8f80
500615:	8b c3                	mov    %ebx,%eax
500617:	83 e0 01             	and    $0x1,%eax
50061a:	50                   	push   %eax
50061b:	e8 40 8b fd ff       	call   0x4d9160
500620:	83 c4 18             	add    $0x18,%esp
500623:	8b 74 24 24          	mov    0x24(%esp),%esi
500627:	8b 7c 24 20          	mov    0x20(%esp),%edi
50062b:	8d 44 24 4c          	lea    0x4c(%esp),%eax
50062f:	6a 40                	push   $0x40
500631:	50                   	push   %eax
500632:	e8 a9 13 f0 ff       	call   0x4019e0
500637:	68 0b 01 00 00       	push   $0x10b
50063c:	68 58 9c 62 00       	push   $0x629c58
500641:	56                   	push   %esi
500642:	ff 74 24 28          	push   0x28(%esp)
500646:	e8 f5 01 fe ff       	call   0x4e0840
50064b:	8b 44 24 58          	mov    0x58(%esp),%eax
50064f:	68 0c 01 00 00       	push   $0x10c
500654:	68 58 9c 62 00       	push   $0x629c58
500659:	50                   	push   %eax
50065a:	57                   	push   %edi
50065b:	e8 e0 01 fe ff       	call   0x4e0840
500660:	89 5c 24 44          	mov    %ebx,0x44(%esp)
500664:	83 c4 28             	add    $0x28,%esp
500667:	f7 d3                	not    %ebx
500669:	89 5c 24 10          	mov    %ebx,0x10(%esp)
50066d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
500671:	23 4c 24 38          	and    0x38(%esp),%ecx
500675:	8b 44 24 10          	mov    0x10(%esp),%eax
500679:	0b c1                	or     %ecx,%eax
50067b:	eb 1e                	jmp    0x50069b
50067d:	68 98 00 00 00       	push   $0x98
500682:	68 58 9c 62 00       	push   $0x629c58
500687:	6a 79                	push   $0x79
500689:	68 99 00 00 00       	push   $0x99
50068e:	6a 04                	push   $0x4
500690:	e8 eb 88 fd ff       	call   0x4d8f80
500695:	83 c4 14             	add    $0x14,%esp
500698:	83 c8 ff             	or     $0xffffffff,%eax
50069b:	8b 8c 24 cc 00 00 00 	mov    0xcc(%esp),%ecx
5006a2:	5f                   	pop    %edi
5006a3:	5e                   	pop    %esi
5006a4:	5d                   	pop    %ebp
5006a5:	5b                   	pop    %ebx
5006a6:	33 cc                	xor    %esp,%ecx
5006a8:	e8 79 13 0d 00       	call   0x5d1a26
5006ad:	81 c4 c0 00 00 00    	add    $0xc0,%esp
5006b3:	c3                   	ret
5006b4:	cc                   	int3
5006b5:	cc                   	int3
5006b6:	cc                   	int3
5006b7:	cc                   	int3
5006b8:	cc                   	int3
5006b9:	cc                   	int3
5006ba:	cc                   	int3
5006bb:	cc                   	int3
5006bc:	cc                   	int3
5006bd:	cc                   	int3
5006be:	cc                   	int3
5006bf:	cc                   	int3
5006c0:	53                   	push   %ebx
5006c1:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
5006c5:	55                   	push   %ebp
5006c6:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5006ca:	8d 43 f5             	lea    -0xb(%ebx),%eax
5006cd:	3b e8                	cmp    %eax,%ebp
5006cf:	7e 1a                	jle    0x5006eb
5006d1:	6a 19                	push   $0x19
5006d3:	68 70 9c 62 00       	push   $0x629c70
5006d8:	6a 6e                	push   $0x6e
5006da:	6a 6e                	push   $0x6e
5006dc:	6a 04                	push   $0x4
5006de:	e8 9d 88 fd ff       	call   0x4d8f80
5006e3:	83 c4 14             	add    $0x14,%esp
5006e6:	33 c0                	xor    %eax,%eax
5006e8:	5d                   	pop    %ebp
5006e9:	5b                   	pop    %ebx
5006ea:	c3                   	ret
5006eb:	56                   	push   %esi
5006ec:	8b 74 24 10          	mov    0x10(%esp),%esi
5006f0:	2b dd                	sub    %ebp,%ebx
5006f2:	57                   	push   %edi
5006f3:	83 eb 0b             	sub    $0xb,%ebx
5006f6:	53                   	push   %ebx
5006f7:	66 c7 06 00 02       	movw   $0x200,(%esi)
5006fc:	83 c6 02             	add    $0x2,%esi
5006ff:	56                   	push   %esi
500700:	e8 4b 0b fe ff       	call   0x4e1250
500705:	83 c4 08             	add    $0x8,%esp
500708:	85 c0                	test   %eax,%eax
50070a:	7e 51                	jle    0x50075d
50070c:	33 ff                	xor    %edi,%edi
50070e:	85 db                	test   %ebx,%ebx
500710:	7e 1f                	jle    0x500731
500712:	80 3e 00             	cmpb   $0x0,(%esi)
500715:	75 14                	jne    0x50072b
500717:	6a 01                	push   $0x1
500719:	56                   	push   %esi
50071a:	e8 31 0b fe ff       	call   0x4e1250
50071f:	83 c4 08             	add    $0x8,%esp
500722:	85 c0                	test   %eax,%eax
500724:	7e 37                	jle    0x50075d
500726:	80 3e 00             	cmpb   $0x0,(%esi)
500729:	74 ec                	je     0x500717
50072b:	47                   	inc    %edi
50072c:	46                   	inc    %esi
50072d:	3b fb                	cmp    %ebx,%edi
50072f:	7c e1                	jl     0x500712
500731:	c7 06 03 03 03 03    	movl   $0x3030303,(%esi)
500737:	c7 46 04 03 03 03 03 	movl   $0x3030303,0x4(%esi)
50073e:	55                   	push   %ebp
50073f:	ff 74 24 20          	push   0x20(%esp)
500743:	c6 46 08 00          	movb   $0x0,0x8(%esi)
500747:	83 c6 09             	add    $0x9,%esi
50074a:	56                   	push   %esi
50074b:	e8 80 26 0d 00       	call   0x5d2dd0
500750:	83 c4 0c             	add    $0xc,%esp
500753:	b8 01 00 00 00       	mov    $0x1,%eax
500758:	5f                   	pop    %edi
500759:	5e                   	pop    %esi
50075a:	5d                   	pop    %ebp
50075b:	5b                   	pop    %ebx
50075c:	c3                   	ret
50075d:	5f                   	pop    %edi
50075e:	5e                   	pop    %esi
50075f:	5d                   	pop    %ebp
500760:	33 c0                	xor    %eax,%eax
500762:	5b                   	pop    %ebx
500763:	c3                   	ret
500764:	cc                   	int3
500765:	cc                   	int3
500766:	cc                   	int3
500767:	cc                   	int3
500768:	cc                   	int3
500769:	cc                   	int3
50076a:	cc                   	int3
50076b:	cc                   	int3
50076c:	cc                   	int3
50076d:	cc                   	int3
50076e:	cc                   	int3
50076f:	cc                   	int3
500770:	b8 24 00 00 00       	mov    $0x24,%eax
500775:	e8 36 10 0d 00       	call   0x5d17b0
50077a:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
50077f:	56                   	push   %esi
500780:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
500787:	00
500788:	0f 8e a2 03 00 00    	jle    0x500b30
50078e:	8b 74 24 38          	mov    0x38(%esp),%esi
500792:	85 f6                	test   %esi,%esi
500794:	0f 8e 96 03 00 00    	jle    0x500b30
50079a:	55                   	push   %ebp
50079b:	8b 6c 24 40          	mov    0x40(%esp),%ebp
50079f:	3b f5                	cmp    %ebp,%esi
5007a1:	0f 8f 6b 03 00 00    	jg     0x500b12
5007a7:	83 fd 0b             	cmp    $0xb,%ebp
5007aa:	0f 8c 62 03 00 00    	jl     0x500b12
5007b0:	53                   	push   %ebx
5007b1:	6a 4e                	push   $0x4e
5007b3:	68 70 9c 62 00       	push   $0x629c70
5007b8:	55                   	push   %ebp
5007b9:	e8 92 ff fd ff       	call   0x4e0750
5007be:	8b d8                	mov    %eax,%ebx
5007c0:	83 c4 0c             	add    $0xc,%esp
5007c3:	85 db                	test   %ebx,%ebx
5007c5:	75 1f                	jne    0x5007e6
5007c7:	6a 50                	push   $0x50
5007c9:	68 70 9c 62 00       	push   $0x629c70
5007ce:	6a 41                	push   $0x41
5007d0:	6a 72                	push   $0x72
5007d2:	6a 04                	push   $0x4
5007d4:	e8 a7 87 fd ff       	call   0x4d8f80
5007d9:	83 c4 14             	add    $0x14,%esp
5007dc:	83 c8 ff             	or     $0xffffffff,%eax