405313:	eb ca                	jmp    0x4052df
405315:	8b 45 18             	mov    0x18(%ebp),%eax
405318:	88 5d ff             	mov    %bl,-0x1(%ebp)
40531b:	80 fb 2d             	cmp    $0x2d,%bl
40531e:	75 0b                	jne    0x40532b
405320:	83 c8 02             	or     $0x2,%eax
405323:	8a 0e                	mov    (%esi),%cl
405325:	88 4d ff             	mov    %cl,-0x1(%ebp)
405328:	46                   	inc    %esi
405329:	eb 08                	jmp    0x405333
40532b:	80 fb 2b             	cmp    $0x2b,%bl
40532e:	74 f3                	je     0x405323
405330:	8a 4d ff             	mov    -0x1(%ebp),%cl
405333:	8b 7d 14             	mov    0x14(%ebp),%edi
405336:	8b 5d f4             	mov    -0xc(%ebp),%ebx
405339:	89 45 f8             	mov    %eax,-0x8(%ebp)
40533c:	85 ff                	test   %edi,%edi
40533e:	0f 88 43 01 00 00    	js     0x405487
405344:	83 ff 01             	cmp    $0x1,%edi
405347:	0f 84 3a 01 00 00    	je     0x405487
40534d:	83 ff 24             	cmp    $0x24,%edi
405350:	0f 8f 31 01 00 00    	jg     0x405487
405356:	85 ff                	test   %edi,%edi
405358:	75 1d                	jne    0x405377
40535a:	80 f9 30             	cmp    $0x30,%cl
40535d:	74 05                	je     0x405364
40535f:	6a 0a                	push   $0xa
405361:	5f                   	pop    %edi
405362:	eb 30                	jmp    0x405394
405364:	8a 06                	mov    (%esi),%al
405366:	3c 78                	cmp    $0x78,%al
405368:	74 08                	je     0x405372
40536a:	3c 58                	cmp    $0x58,%al
40536c:	74 04                	je     0x405372
40536e:	6a 08                	push   $0x8
405370:	eb ef                	jmp    0x405361
405372:	6a 10                	push   $0x10
405374:	5f                   	pop    %edi
405375:	eb 0a                	jmp    0x405381
405377:	83 ff 10             	cmp    $0x10,%edi
40537a:	75 18                	jne    0x405394
40537c:	80 f9 30             	cmp    $0x30,%cl
40537f:	75 13                	jne    0x405394
405381:	8a 06                	mov    (%esi),%al
405383:	3c 78                	cmp    $0x78,%al
405385:	74 04                	je     0x40538b
405387:	3c 58                	cmp    $0x58,%al
405389:	75 09                	jne    0x405394
40538b:	8a 4e 01             	mov    0x1(%esi),%cl
40538e:	88 4d ff             	mov    %cl,-0x1(%ebp)
405391:	83 c6 02             	add    $0x2,%esi
405394:	83 c8 ff             	or     $0xffffffff,%eax
405397:	33 d2                	xor    %edx,%edx
405399:	f7 f7                	div    %edi
40539b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40539e:	8b 45 dc             	mov    -0x24(%ebp),%eax
4053a1:	89 55 f0             	mov    %edx,-0x10(%ebp)
4053a4:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
4053aa:	8b 55 f8             	mov    -0x8(%ebp),%edx
4053ad:	89 45 ec             	mov    %eax,-0x14(%ebp)
4053b0:	0f b6 c9             	movzbl %cl,%ecx
4053b3:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
4053b7:	8b c8                	mov    %eax,%ecx
4053b9:	83 e1 04             	and    $0x4,%ecx
4053bc:	74 09                	je     0x4053c7
4053be:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
4053c2:	83 e8 30             	sub    $0x30,%eax
4053c5:	eb 1a                	jmp    0x4053e1
4053c7:	25 03 01 00 00       	and    $0x103,%eax
4053cc:	74 44                	je     0x405412
4053ce:	8a 4d ff             	mov    -0x1(%ebp),%cl
4053d1:	8d 41 9f             	lea    -0x61(%ecx),%eax
4053d4:	3c 19                	cmp    $0x19,%al
4053d6:	0f be c1             	movsbl %cl,%eax
4053d9:	77 03                	ja     0x4053de
4053db:	83 e8 20             	sub    $0x20,%eax
4053de:	83 c0 c9             	add    $0xffffffc9,%eax
4053e1:	3b c7                	cmp    %edi,%eax
4053e3:	73 2d                	jae    0x405412
4053e5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4053e8:	83 ca 08             	or     $0x8,%edx
4053eb:	3b d9                	cmp    %ecx,%ebx
4053ed:	72 13                	jb     0x405402
4053ef:	75 05                	jne    0x4053f6
4053f1:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4053f4:	76 0c                	jbe    0x405402
4053f6:	8b 45 10             	mov    0x10(%ebp),%eax
4053f9:	83 ca 04             	or     $0x4,%edx
4053fc:	85 c0                	test   %eax,%eax
4053fe:	74 15                	je     0x405415
405400:	eb 05                	jmp    0x405407
405402:	0f af df             	imul   %edi,%ebx
405405:	03 d8                	add    %eax,%ebx
405407:	8a 0e                	mov    (%esi),%cl
405409:	8b 45 ec             	mov    -0x14(%ebp),%eax
40540c:	88 4d ff             	mov    %cl,-0x1(%ebp)
40540f:	46                   	inc    %esi
405410:	eb 9e                	jmp    0x4053b0
405412:	8b 45 10             	mov    0x10(%ebp),%eax
405415:	4e                   	dec    %esi
405416:	89 55 f8             	mov    %edx,-0x8(%ebp)
405419:	89 55 f8             	mov    %edx,-0x8(%ebp)
40541c:	f6 c2 08             	test   $0x8,%dl
40541f:	75 0b                	jne    0x40542c
405421:	85 c0                	test   %eax,%eax
405423:	74 03                	je     0x405428
405425:	8b 75 0c             	mov    0xc(%ebp),%esi
405428:	33 db                	xor    %ebx,%ebx
40542a:	eb 49                	jmp    0x405475
40542c:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
405431:	f6 c2 04             	test   $0x4,%dl
405434:	75 1c                	jne    0x405452
405436:	f6 c2 01             	test   $0x1,%dl
405439:	75 3a                	jne    0x405475
40543b:	8b c2                	mov    %edx,%eax
40543d:	83 e0 02             	and    $0x2,%eax
405440:	74 08                	je     0x40544a
405442:	81 fb 00 00 00 80    	cmp    $0x80000000,%ebx
405448:	77 08                	ja     0x405452
40544a:	85 c0                	test   %eax,%eax
40544c:	75 27                	jne    0x405475
40544e:	3b df                	cmp    %edi,%ebx
405450:	76 23                	jbe    0x405475
405452:	e8 26 2d 00 00       	call   0x40817d
405457:	8b 55 f8             	mov    -0x8(%ebp),%edx
40545a:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
405460:	f6 c2 01             	test   $0x1,%dl
405463:	74 05                	je     0x40546a
405465:	83 cb ff             	or     $0xffffffff,%ebx
405468:	eb 0b                	jmp    0x405475
40546a:	6a 00                	push   $0x0
40546c:	f6 c2 02             	test   $0x2,%dl
40546f:	5b                   	pop    %ebx
405470:	0f 95 c3             	setne  %bl
405473:	03 df                	add    %edi,%ebx
405475:	8b 45 10             	mov    0x10(%ebp),%eax
405478:	85 c0                	test   %eax,%eax
40547a:	74 02                	je     0x40547e
40547c:	89 30                	mov    %esi,(%eax)
40547e:	f6 c2 02             	test   $0x2,%dl
405481:	74 12                	je     0x405495
405483:	f7 db                	neg    %ebx
405485:	eb 0e                	jmp    0x405495
405487:	8b 45 10             	mov    0x10(%ebp),%eax
40548a:	85 c0                	test   %eax,%eax
40548c:	74 05                	je     0x405493
40548e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
405491:	89 08                	mov    %ecx,(%eax)
405493:	33 db                	xor    %ebx,%ebx
405495:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
405499:	74 07                	je     0x4054a2
40549b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40549e:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4054a2:	5f                   	pop    %edi
4054a3:	5e                   	pop    %esi
4054a4:	8b c3                	mov    %ebx,%eax
4054a6:	5b                   	pop    %ebx
4054a7:	c9                   	leave
4054a8:	c3                   	ret
4054a9:	55                   	push   %ebp
4054aa:	8b ec                	mov    %esp,%ebp
4054ac:	83 3d 74 27 42 00 00 	cmpl   $0x0,0x422774
4054b3:	6a 00                	push   $0x0
4054b5:	ff 75 10             	push   0x10(%ebp)
4054b8:	ff 75 0c             	push   0xc(%ebp)
4054bb:	ff 75 08             	push   0x8(%ebp)
4054be:	75 07                	jne    0x4054c7
4054c0:	68 00 10 42 00       	push   $0x421000
4054c5:	eb 02                	jmp    0x4054c9
4054c7:	6a 00                	push   $0x0
4054c9:	e8 b7 fd ff ff       	call   0x405285
4054ce:	83 c4 14             	add    $0x14,%esp
4054d1:	5d                   	pop    %ebp
4054d2:	c3                   	ret
4054d3:	e9 20 fa ff ff       	jmp    0x404ef8
4054d8:	cc                   	int3
4054d9:	cc                   	int3
4054da:	cc                   	int3
4054db:	cc                   	int3
4054dc:	cc                   	int3
4054dd:	cc                   	int3
4054de:	cc                   	int3
4054df:	cc                   	int3
4054e0:	55                   	push   %ebp
4054e1:	8b ec                	mov    %esp,%ebp
4054e3:	56                   	push   %esi
4054e4:	33 c0                	xor    %eax,%eax
4054e6:	50                   	push   %eax
4054e7:	50                   	push   %eax
4054e8:	50                   	push   %eax
4054e9:	50                   	push   %eax
4054ea:	50                   	push   %eax
4054eb:	50                   	push   %eax
4054ec:	50                   	push   %eax
4054ed:	50                   	push   %eax
4054ee:	8b 55 0c             	mov    0xc(%ebp),%edx
4054f1:	8d 49 00             	lea    0x0(%ecx),%ecx
4054f4:	8a 02                	mov    (%edx),%al
4054f6:	0a c0                	or     %al,%al
4054f8:	74 09                	je     0x405503
4054fa:	83 c2 01             	add    $0x1,%edx
4054fd:	0f ab 04 24          	bts    %eax,(%esp)
405501:	eb f1                	jmp    0x4054f4
405503:	8b 75 08             	mov    0x8(%ebp),%esi
405506:	83 c9 ff             	or     $0xffffffff,%ecx
405509:	8d 49 00             	lea    0x0(%ecx),%ecx
40550c:	83 c1 01             	add    $0x1,%ecx
40550f:	8a 06                	mov    (%esi),%al
405511:	0a c0                	or     %al,%al
405513:	74 09                	je     0x40551e
405515:	83 c6 01             	add    $0x1,%esi
405518:	0f a3 04 24          	bt     %eax,(%esp)
40551c:	73 ee                	jae    0x40550c
40551e:	8b c1                	mov    %ecx,%eax
405520:	83 c4 20             	add    $0x20,%esp
405523:	5e                   	pop    %esi
405524:	c9                   	leave
405525:	c3                   	ret
405526:	6a 14                	push   $0x14
405528:	68 e8 e1 41 00       	push   $0x41e1e8
40552d:	e8 7e 58 00 00       	call   0x40adb0
405532:	6a 01                	push   $0x1
405534:	e8 cf 86 00 00       	call   0x40dc08
405539:	59                   	pop    %ecx
40553a:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40553f:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
405546:	74 04                	je     0x40554c
405548:	33 db                	xor    %ebx,%ebx
40554a:	eb 33                	jmp    0x40557f
40554c:	a1 3c 00 40 00       	mov    0x40003c,%eax
405551:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
405558:	45 00 00
40555b:	75 eb                	jne    0x405548
40555d:	b9 0b 01 00 00       	mov    $0x10b,%ecx
405562:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
405569:	75 dd                	jne    0x405548
40556b:	33 db                	xor    %ebx,%ebx
40556d:	83 b8 74 00 40 00 0e 	cmpl   $0xe,0x400074(%eax)
405574:	76 09                	jbe    0x40557f
405576:	39 98 e8 00 40 00    	cmp    %ebx,0x4000e8(%eax)
40557c:	0f 95 c3             	setne  %bl
40557f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
405582:	e8 05 62 00 00       	call   0x40b78c
405587:	85 c0                	test   %eax,%eax
405589:	75 08                	jne    0x405593
40558b:	6a 1c                	push   $0x1c
40558d:	e8 dc 00 00 00       	call   0x40566e
405592:	59                   	pop    %ecx
405593:	e8 71 6f 00 00       	call   0x40c509
405598:	85 c0                	test   %eax,%eax
40559a:	75 08                	jne    0x4055a4
40559c:	6a 10                	push   $0x10
40559e:	e8 cb 00 00 00       	call   0x40566e
4055a3:	59                   	pop    %ecx
4055a4:	e8 46 87 00 00       	call   0x40dcef
4055a9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4055ad:	e8 5c 80 00 00       	call   0x40d60e
4055b2:	ff 15 80 90 41 00    	call   *0x419080
4055b8:	a3 40 3b 42 00       	mov    %eax,0x423b40
4055bd:	e8 6d 87 00 00       	call   0x40dd2f
4055c2:	a3 48 1c 42 00       	mov    %eax,0x421c48
4055c7:	e8 2e 83 00 00       	call   0x40d8fa
4055cc:	85 c0                	test   %eax,%eax
4055ce:	79 08                	jns    0x4055d8
4055d0:	6a 08                	push   $0x8
4055d2:	e8 f4 54 00 00       	call   0x40aacb
4055d7:	59                   	pop    %ecx
4055d8:	e8 4a 85 00 00       	call   0x40db27
4055dd:	85 c0                	test   %eax,%eax
4055df:	79 08                	jns    0x4055e9
4055e1:	6a 09                	push   $0x9
4055e3:	e8 e3 54 00 00       	call   0x40aacb
4055e8:	59                   	pop    %ecx
4055e9:	6a 01                	push   $0x1
4055eb:	e8 15 55 00 00       	call   0x40ab05
4055f0:	59                   	pop    %ecx
4055f1:	85 c0                	test   %eax,%eax
4055f3:	74 07                	je     0x4055fc
4055f5:	50                   	push   %eax
4055f6:	e8 d0 54 00 00       	call   0x40aacb
4055fb:	59                   	pop    %ecx
4055fc:	a1 e8 20 42 00       	mov    0x4220e8,%eax
405601:	a3 08 21 42 00       	mov    %eax,0x422108
405606:	50                   	push   %eax
405607:	ff 35 e0 20 42 00    	push   0x4220e0
40560d:	ff 35 dc 20 42 00    	push   0x4220dc
405613:	e8 c0 c4 ff ff       	call   0x401ad8
405618:	83 c4 0c             	add    $0xc,%esp
40561b:	8b f0                	mov    %eax,%esi
40561d:	89 75 dc             	mov    %esi,-0x24(%ebp)
405620:	85 db                	test   %ebx,%ebx
405622:	75 06                	jne    0x40562a
405624:	56                   	push   %esi
405625:	e8 33 57 00 00       	call   0x40ad5d
40562a:	e8 c7 54 00 00       	call   0x40aaf6
40562f:	eb 2e                	jmp    0x40565f
405631:	8b 4d ec             	mov    -0x14(%ebp),%ecx
405634:	8b 01                	mov    (%ecx),%eax
405636:	8b 00                	mov    (%eax),%eax
405638:	89 45 e0             	mov    %eax,-0x20(%ebp)
40563b:	51                   	push   %ecx
40563c:	50                   	push   %eax
40563d:	e8 55 7e 00 00       	call   0x40d497
405642:	59                   	pop    %ecx
405643:	59                   	pop    %ecx
405644:	c3                   	ret
405645:	8b 65 e8             	mov    -0x18(%ebp),%esp
405648:	8b 75 e0             	mov    -0x20(%ebp),%esi
40564b:	89 75 dc             	mov    %esi,-0x24(%ebp)
40564e:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
405652:	75 06                	jne    0x40565a
405654:	56                   	push   %esi
405655:	e8 3c 55 00 00       	call   0x40ab96
40565a:	e8 88 54 00 00       	call   0x40aae7
40565f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405666:	8b c6                	mov    %esi,%eax
405668:	e8 88 57 00 00       	call   0x40adf5
40566d:	c3                   	ret
40566e:	55                   	push   %ebp
40566f:	8b ec                	mov    %esp,%ebp
405671:	83 3d 88 28 42 00 02 	cmpl   $0x2,0x422888
405678:	74 05                	je     0x40567f
40567a:	e8 26 59 00 00       	call   0x40afa5
40567f:	ff 75 08             	push   0x8(%ebp)
405682:	e8 7b 59 00 00       	call   0x40b002
405687:	68 ff 00 00 00       	push   $0xff
40568c:	e8 24 54 00 00       	call   0x40aab5
405691:	59                   	pop    %ecx
405692:	59                   	pop    %ecx
405693:	5d                   	pop    %ebp
405694:	c3                   	ret
405695:	e8 bb 85 00 00       	call   0x40dc55
40569a:	e9 87 fe ff ff       	jmp    0x405526
40569f:	cc                   	int3
4056a0:	57                   	push   %edi
4056a1:	56                   	push   %esi
4056a2:	8b 74 24 10          	mov    0x10(%esp),%esi
4056a6:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4056aa:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4056ae:	8b c1                	mov    %ecx,%eax
4056b0:	8b d1                	mov    %ecx,%edx
4056b2:	03 c6                	add    %esi,%eax
4056b4:	3b fe                	cmp    %esi,%edi
4056b6:	76 08                	jbe    0x4056c0
4056b8:	3b f8                	cmp    %eax,%edi
4056ba:	0f 82 68 03 00 00    	jb     0x405a28
4056c0:	0f ba 25 d4 20 42 00 	btl    $0x1,0x4220d4
4056c7:	01
4056c8:	73 07                	jae    0x4056d1
4056ca:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)