454398:	55                   	push   %ebp
454399:	8b ec                	mov    %esp,%ebp
45439b:	53                   	push   %ebx
45439c:	56                   	push   %esi
45439d:	8b 45 08             	mov    0x8(%ebp),%eax
4543a0:	8b 40 fc             	mov    -0x4(%eax),%eax
4543a3:	e8 cc 04 00 00       	call   0x454874
4543a8:	8b d8                	mov    %eax,%ebx
4543aa:	4b                   	dec    %ebx
4543ab:	85 db                	test   %ebx,%ebx
4543ad:	7c 21                	jl     0x4543d0
4543af:	43                   	inc    %ebx
4543b0:	33 f6                	xor    %esi,%esi
4543b2:	8b 45 08             	mov    0x8(%ebp),%eax
4543b5:	8b 40 fc             	mov    -0x4(%eax),%eax
4543b8:	8b d6                	mov    %esi,%edx
4543ba:	e8 01 05 00 00       	call   0x4548c0
4543bf:	80 b8 2b 02 00 00 02 	cmpb   $0x2,0x22b(%eax)
4543c6:	75 04                	jne    0x4543cc
4543c8:	b0 01                	mov    $0x1,%al
4543ca:	eb 06                	jmp    0x4543d2
4543cc:	46                   	inc    %esi
4543cd:	4b                   	dec    %ebx
4543ce:	75 e2                	jne    0x4543b2
4543d0:	33 c0                	xor    %eax,%eax
4543d2:	5e                   	pop    %esi
4543d3:	5b                   	pop    %ebx
4543d4:	5d                   	pop    %ebp
4543d5:	c3                   	ret
4543d6:	8b c0                	mov    %eax,%eax
4543d8:	55                   	push   %ebp
4543d9:	8b ec                	mov    %esp,%ebp
4543db:	83 c4 8c             	add    $0xffffff8c,%esp
4543de:	89 55 f8             	mov    %edx,-0x8(%ebp)
4543e1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4543e4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4543e7:	8b 00                	mov    (%eax),%eax
4543e9:	83 e8 0f             	sub    $0xf,%eax
4543ec:	0f 84 04 01 00 00    	je     0x4544f6
4543f2:	83 e8 05             	sub    $0x5,%eax
4543f5:	74 35                	je     0x45442c
4543f7:	83 e8 2b             	sub    $0x2b,%eax
4543fa:	0f 84 af 00 00 00    	je     0x4544af
454400:	83 e8 45             	sub    $0x45,%eax
454403:	0f 85 a4 01 00 00    	jne    0x4545ad
454409:	55                   	push   %ebp
45440a:	e8 3d ff ff ff       	call   0x45434c
45440f:	59                   	pop    %ecx
454410:	8b 45 f8             	mov    -0x8(%ebp),%eax
454413:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
454417:	0f 85 97 01 00 00    	jne    0x4545b4
45441d:	8b 45 f8             	mov    -0x8(%ebp),%eax
454420:	c7 40 0c ff ff ff ff 	movl   $0xffffffff,0xc(%eax)
454427:	e9 88 01 00 00       	jmp    0x4545b4
45442c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45442f:	8b 80 70 01 00 00    	mov    0x170(%eax),%eax
454435:	e8 de 8e fc ff       	call   0x41d318
45443a:	50                   	push   %eax
45443b:	8d 55 94             	lea    -0x6c(%ebp),%edx
45443e:	8b 45 fc             	mov    -0x4(%ebp),%eax
454441:	8b 08                	mov    (%eax),%ecx
454443:	ff 51 44             	call   *0x44(%ecx)
454446:	8d 45 94             	lea    -0x6c(%ebp),%eax
454449:	50                   	push   %eax
45444a:	8b 45 f8             	mov    -0x8(%ebp),%eax
45444d:	8b 40 04             	mov    0x4(%eax),%eax
454450:	50                   	push   %eax
454451:	e8 fa 20 fb ff       	call   0x406550
454456:	8b 45 fc             	mov    -0x4(%ebp),%eax
454459:	80 b8 2f 02 00 00 02 	cmpb   $0x2,0x22f(%eax)
454460:	75 3e                	jne    0x4544a0
454462:	8b 45 fc             	mov    -0x4(%ebp),%eax
454465:	83 b8 54 02 00 00 00 	cmpl   $0x0,0x254(%eax)
45446c:	74 32                	je     0x4544a0
45446e:	8d 45 a4             	lea    -0x5c(%ebp),%eax
454471:	50                   	push   %eax
454472:	8b 45 fc             	mov    -0x4(%ebp),%eax
454475:	8b 80 54 02 00 00    	mov    0x254(%eax),%eax
45447b:	50                   	push   %eax
45447c:	e8 07 21 fb ff       	call   0x406588
454481:	8b 45 fc             	mov    -0x4(%ebp),%eax
454484:	8b 80 70 01 00 00    	mov    0x170(%eax),%eax
45448a:	e8 89 8e fc ff       	call   0x41d318
45448f:	50                   	push   %eax
454490:	8d 45 a4             	lea    -0x5c(%ebp),%eax
454493:	50                   	push   %eax
454494:	8b 45 f8             	mov    -0x8(%ebp),%eax
454497:	8b 40 04             	mov    0x4(%eax),%eax
45449a:	50                   	push   %eax
45449b:	e8 b0 20 fb ff       	call   0x406550
4544a0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4544a3:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
4544aa:	e9 05 01 00 00       	jmp    0x4545b4
4544af:	55                   	push   %ebp
4544b0:	e8 97 fe ff ff       	call   0x45434c
4544b5:	59                   	pop    %ecx
4544b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4544b9:	80 b8 2f 02 00 00 02 	cmpb   $0x2,0x22f(%eax)
4544c0:	0f 85 ee 00 00 00    	jne    0x4545b4
4544c6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4544c9:	e8 a6 03 00 00       	call   0x454874
4544ce:	85 c0                	test   %eax,%eax
4544d0:	74 0f                	je     0x4544e1
4544d2:	55                   	push   %ebp
4544d3:	e8 c0 fe ff ff       	call   0x454398
4544d8:	59                   	pop    %ecx
4544d9:	84 c0                	test   %al,%al
4544db:	74 04                	je     0x4544e1
4544dd:	33 d2                	xor    %edx,%edx
4544df:	eb 02                	jmp    0x4544e3
4544e1:	b2 01                	mov    $0x1,%dl
4544e3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4544e6:	8b 80 54 02 00 00    	mov    0x254(%eax),%eax
4544ec:	e8 c7 d1 ff ff       	call   0x4516b8
4544f1:	e9 be 00 00 00       	jmp    0x4545b4
4544f6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4544f9:	8b 40 04             	mov    0x4(%eax),%eax
4544fc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4544ff:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
454503:	75 19                	jne    0x45451e
454505:	8d 45 b4             	lea    -0x4c(%ebp),%eax
454508:	50                   	push   %eax
454509:	8b 45 fc             	mov    -0x4(%ebp),%eax
45450c:	8b 80 54 02 00 00    	mov    0x254(%eax),%eax
454512:	50                   	push   %eax
454513:	e8 20 1f fb ff       	call   0x406438
454518:	8b 55 f8             	mov    -0x8(%ebp),%edx
45451b:	89 42 04             	mov    %eax,0x4(%edx)
45451e:	33 c0                	xor    %eax,%eax
454520:	55                   	push   %ebp
454521:	68 a6 45 45 00       	push   $0x4545a6
454526:	64 ff 30             	push   %fs:(%eax)
454529:	64 89 20             	mov    %esp,%fs:(%eax)
45452c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
454530:	75 42                	jne    0x454574
454532:	8d 45 a4             	lea    -0x5c(%ebp),%eax
454535:	50                   	push   %eax
454536:	8b 45 fc             	mov    -0x4(%ebp),%eax
454539:	8b 80 54 02 00 00    	mov    0x254(%eax),%eax
45453f:	50                   	push   %eax
454540:	e8 7b 21 fb ff       	call   0x4066c0
454545:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
454548:	8d 55 a4             	lea    -0x5c(%ebp),%edx
45454b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45454e:	e8 71 62 fe ff       	call   0x43a7c4
454553:	8b 45 8c             	mov    -0x74(%ebp),%eax
454556:	89 45 a4             	mov    %eax,-0x5c(%ebp)
454559:	8b 45 90             	mov    -0x70(%ebp),%eax
45455c:	89 45 a8             	mov    %eax,-0x58(%ebp)
45455f:	8b 4d a8             	mov    -0x58(%ebp),%ecx
454562:	f7 d9                	neg    %ecx
454564:	8b 55 a4             	mov    -0x5c(%ebp),%edx
454567:	f7 da                	neg    %edx
454569:	8b 45 f8             	mov    -0x8(%ebp),%eax
45456c:	8b 40 04             	mov    0x4(%eax),%eax
45456f:	e8 48 50 fe ff       	call   0x4395bc
454574:	8b 55 f8             	mov    -0x8(%ebp),%edx
454577:	8b 45 fc             	mov    -0x4(%ebp),%eax
45457a:	e8 91 ab fe ff       	call   0x43f110
45457f:	33 c0                	xor    %eax,%eax
454581:	5a                   	pop    %edx
454582:	59                   	pop    %ecx
454583:	59                   	pop    %ecx
454584:	64 89 10             	mov    %edx,%fs:(%eax)
454587:	68 b4 45 45 00       	push   $0x4545b4
45458c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
454590:	75 13                	jne    0x4545a5
454592:	8d 45 b4             	lea    -0x4c(%ebp),%eax
454595:	50                   	push   %eax
454596:	8b 45 fc             	mov    -0x4(%ebp),%eax
454599:	8b 80 54 02 00 00    	mov    0x254(%eax),%eax
45459f:	50                   	push   %eax
4545a0:	e8 8b 1f fb ff       	call   0x406530
4545a5:	c3                   	ret
4545a6:	e9 15 f4 fa ff       	jmp    0x4039c0
4545ab:	eb df                	jmp    0x45458c
4545ad:	55                   	push   %ebp
4545ae:	e8 99 fd ff ff       	call   0x45434c
4545b3:	59                   	pop    %ecx
4545b4:	8b e5                	mov    %ebp,%esp
4545b6:	5d                   	pop    %ebp
4545b7:	c3                   	ret
4545b8:	53                   	push   %ebx
4545b9:	56                   	push   %esi
4545ba:	57                   	push   %edi
4545bb:	83 c4 f0             	add    $0xfffffff0,%esp
4545be:	8b f1                	mov    %ecx,%esi
4545c0:	8b d8                	mov    %eax,%ebx
4545c2:	8b ce                	mov    %esi,%ecx
4545c4:	8b c3                	mov    %ebx,%eax
4545c6:	e8 b5 e2 ff ff       	call   0x452880
4545cb:	8b 83 54 02 00 00    	mov    0x254(%ebx),%eax
4545d1:	85 c0                	test   %eax,%eax
4545d3:	74 47                	je     0x45461c
4545d5:	6a 14                	push   $0x14
4545d7:	8b 4e 0c             	mov    0xc(%esi),%ecx
4545da:	8b 7e 04             	mov    0x4(%esi),%edi
4545dd:	2b cf                	sub    %edi,%ecx
4545df:	51                   	push   %ecx
4545e0:	8b 4e 08             	mov    0x8(%esi),%ecx
4545e3:	8b 16                	mov    (%esi),%edx
4545e5:	2b ca                	sub    %edx,%ecx
4545e7:	51                   	push   %ecx
4545e8:	57                   	push   %edi
4545e9:	52                   	push   %edx
4545ea:	6a 01                	push   $0x1
4545ec:	50                   	push   %eax
4545ed:	e8 ae 22 fb ff       	call   0x4068a0
4545f2:	80 bb 2f 02 00 00 02 	cmpb   $0x2,0x22f(%ebx)
4545f9:	75 21                	jne    0x45461c
4545fb:	54                   	push   %esp
4545fc:	8b 83 54 02 00 00    	mov    0x254(%ebx),%eax
454602:	50                   	push   %eax
454603:	e8 80 1f fb ff       	call   0x406588
454608:	85 c0                	test   %eax,%eax
45460a:	74 10                	je     0x45461c
45460c:	6a ff                	push   $0xffffffff
45460e:	6a 00                	push   $0x0
454610:	8b 83 54 02 00 00    	mov    0x254(%ebx),%eax
454616:	50                   	push   %eax
454617:	e8 e4 20 fb ff       	call   0x406700
45461c:	83 c4 10             	add    $0x10,%esp
45461f:	5f                   	pop    %edi
454620:	5e                   	pop    %esi
454621:	5b                   	pop    %ebx
454622:	c3                   	ret
454623:	90                   	nop
454624:	53                   	push   %ebx
454625:	56                   	push   %esi
454626:	57                   	push   %edi
454627:	51                   	push   %ecx
454628:	8b d8                	mov    %eax,%ebx
45462a:	8b c3                	mov    %ebx,%eax
45462c:	e8 eb e8 ff ff       	call   0x452f1c
454631:	8b c3                	mov    %ebx,%eax
454633:	e8 28 d1 fe ff       	call   0x441760
454638:	84 c0                	test   %al,%al
45463a:	74 3d                	je     0x454679
45463c:	6a ec                	push   $0xffffffec
45463e:	8b c3                	mov    %ebx,%eax
454640:	e8 17 ce fe ff       	call   0x44145c
454645:	50                   	push   %eax
454646:	e8 65 20 fb ff       	call   0x4066b0
45464b:	25 ff ef ff ff       	and    $0xffffefff,%eax
454650:	25 ff df ff ff       	and    $0xffffdfff,%eax
454655:	25 ff bf ff ff       	and    $0xffffbfff,%eax
45465a:	89 04 24             	mov    %eax,(%esp)
45465d:	8b d4                	mov    %esp,%edx
45465f:	8b c3                	mov    %ebx,%eax
454661:	e8 1a 9c fe ff       	call   0x43e280
454666:	8b 04 24             	mov    (%esp),%eax
454669:	50                   	push   %eax
45466a:	6a ec                	push   $0xffffffec
45466c:	8b c3                	mov    %ebx,%eax
45466e:	e8 e9 cd fe ff       	call   0x44145c
454673:	50                   	push   %eax
454674:	e8 17 22 fb ff       	call   0x406890
454679:	8b c3                	mov    %ebx,%eax
45467b:	e8 e8 56 fc ff       	call   0x419d68
454680:	8b f8                	mov    %eax,%edi
454682:	4f                   	dec    %edi
454683:	85 ff                	test   %edi,%edi
454685:	7c 2d                	jl     0x4546b4
454687:	47                   	inc    %edi
454688:	33 f6                	xor    %esi,%esi
45468a:	8b d6                	mov    %esi,%edx
45468c:	8b c3                	mov    %ebx,%eax
45468e:	e8 a9 56 fc ff       	call   0x419d3c
454693:	8b 15 68 9a 44 00    	mov    0x449a68,%edx
454699:	e8 5a ed fa ff       	call   0x4033f8
45469e:	84 c0                	test   %al,%al
4546a0:	74 0e                	je     0x4546b0
4546a2:	8b d6                	mov    %esi,%edx
4546a4:	8b c3                	mov    %ebx,%eax
4546a6:	e8 91 56 fc ff       	call   0x419d3c
4546ab:	e8 cc a4 ff ff       	call   0x44eb7c
4546b0:	46                   	inc    %esi
4546b1:	4f                   	dec    %edi
4546b2:	75 d6                	jne    0x45468a
4546b4:	5a                   	pop    %edx
4546b5:	5f                   	pop    %edi
4546b6:	5e                   	pop    %esi
4546b7:	5b                   	pop    %ebx
4546b8:	c3                   	ret
4546b9:	8d 40 00             	lea    0x0(%eax),%eax
4546bc:	55                   	push   %ebp
4546bd:	8b ec                	mov    %esp,%ebp
4546bf:	51                   	push   %ecx
4546c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4546c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4546c6:	80 b8 44 02 00 00 00 	cmpb   $0x0,0x244(%eax)
4546cd:	75 71                	jne    0x454740
4546cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4546d2:	c6 80 44 02 00 00 01 	movb   $0x1,0x244(%eax)
4546d9:	33 d2                	xor    %edx,%edx
4546db:	55                   	push   %ebp
4546dc:	68 39 47 45 00       	push   $0x454739
4546e1:	64 ff 32             	push   %fs:(%edx)
4546e4:	64 89 22             	mov    %esp,%fs:(%edx)
4546e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4546ea:	80 78 60 00          	cmpb   $0x0,0x60(%eax)
4546ee:	74 31                	je     0x454721
4546f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4546f3:	8b 40 30             	mov    0x30(%eax),%eax
4546f6:	85 c0                	test   %eax,%eax
4546f8:	75 12                	jne    0x45470c
4546fa:	a1 b8 9b 46 00       	mov    0x469bb8,%eax
4546ff:	8a 50 34             	mov    0x34(%eax),%dl
454702:	8b 45 fc             	mov    -0x4(%ebp),%eax
454705:	8b 08                	mov    (%eax),%ecx
454707:	ff 51 70             	call   *0x70(%ecx)
45470a:	eb 0b                	jmp    0x454717
45470c:	8a 50 5f             	mov    0x5f(%eax),%dl
45470f:	8b 45 fc             	mov    -0x4(%ebp),%eax
454712:	8b 08                	mov    (%eax),%ecx
454714:	ff 51 70             	call   *0x70(%ecx)
454717:	b2 01                	mov    $0x1,%dl
454719:	8b 45 fc             	mov    -0x4(%ebp),%eax
45471c:	8b 08                	mov    (%eax),%ecx
45471e:	ff 51 6c             	call   *0x6c(%ecx)
454721:	33 c0                	xor    %eax,%eax
454723:	5a                   	pop    %edx
454724:	59                   	pop    %ecx
454725:	59                   	pop    %ecx
454726:	64 89 10             	mov    %edx,%fs:(%eax)
454729:	68 40 47 45 00       	push   $0x454740
45472e:	8b 45 fc             	mov    -0x4(%ebp),%eax
454731:	c6 80 44 02 00 00 00 	movb   $0x0,0x244(%eax)
454738:	c3                   	ret
454739:	e9 82 f2 fa ff       	jmp    0x4039c0
45473e:	eb ee                	jmp    0x45472e
454740:	59                   	pop    %ecx
454741:	5d                   	pop    %ebp
454742:	c3                   	ret
454743:	90                   	nop
454744:	53                   	push   %ebx
454745:	51                   	push   %ecx
454746:	88 14 24             	mov    %dl,(%esp)
454749:	8b d8                	mov    %eax,%ebx
45474b:	8a 04 24             	mov    (%esp),%al
45474e:	3a 83 28 02 00 00    	cmp    0x228(%ebx),%al
454754:	74 16                	je     0x45476c
454756:	8a 04 24             	mov    (%esp),%al
454759:	88 83 28 02 00 00    	mov    %al,0x228(%ebx)
45475f:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
454763:	75 07                	jne    0x45476c
454765:	8b c3                	mov    %ebx,%eax
454767:	e8 90 a2 fe ff       	call   0x43e9fc
45476c:	5a                   	pop    %edx
45476d:	5b                   	pop    %ebx