454529:	4e                   	dec    %esi
45452a:	74 0b                	je     0x454537
45452c:	6a 00                	push   $0x0
45452e:	68 ef be ad de       	push   $0xdeadbeef
454533:	6a 04                	push   $0x4
454535:	eb b6                	jmp    0x4544ed
454537:	ff 75 08             	push   0x8(%ebp)
45453a:	8d 47 58             	lea    0x58(%edi),%eax
45453d:	50                   	push   %eax
45453e:	e8 0b 09 00 00       	call   0x454e4e
454543:	0f b6 c0             	movzbl %al,%eax
454546:	50                   	push   %eax
454547:	8d 45 84             	lea    -0x7c(%ebp),%eax
45454a:	50                   	push   %eax
45454b:	8b cf                	mov    %edi,%ecx
45454d:	e8 72 00 00 00       	call   0x4545c4
454552:	eb 1e                	jmp    0x454572
454554:	ff 75 08             	push   0x8(%ebp)
454557:	8d 87 8c 00 00 00    	lea    0x8c(%edi),%eax
45455d:	50                   	push   %eax
45455e:	e8 eb 08 00 00       	call   0x454e4e
454563:	0f b6 c0             	movzbl %al,%eax
454566:	50                   	push   %eax
454567:	8d 45 84             	lea    -0x7c(%ebp),%eax
45456a:	50                   	push   %eax
45456b:	8b cf                	mov    %edi,%ecx
45456d:	e8 aa fd ff ff       	call   0x45431c
454572:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
454575:	8a d8                	mov    %al,%bl
454577:	e8 31 fc ff ff       	call   0x4541ad
45457c:	5f                   	pop    %edi
45457d:	5e                   	pop    %esi
45457e:	8a c3                	mov    %bl,%al
454580:	5b                   	pop    %ebx
454581:	c9                   	leave
454582:	c2 04 00             	ret    $0x4
454585:	55                   	push   %ebp
454586:	8b ec                	mov    %esp,%ebp
454588:	83 ec 0c             	sub    $0xc,%esp
45458b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
45458f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
454593:	8d 45 f8             	lea    -0x8(%ebp),%eax
454596:	50                   	push   %eax
454597:	8d 45 f4             	lea    -0xc(%ebp),%eax
45459a:	50                   	push   %eax
45459b:	8d 45 fc             	lea    -0x4(%ebp),%eax
45459e:	50                   	push   %eax
45459f:	68 13 00 00 20       	push   $0x20000013
4545a4:	ff 75 08             	push   0x8(%ebp)
4545a7:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
4545ae:	ff 15 78 d7 48 00    	call   *0x48d778
4545b4:	85 c0                	test   %eax,%eax
4545b6:	74 05                	je     0x4545bd
4545b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4545bb:	eb 03                	jmp    0x4545c0
4545bd:	83 c8 ff             	or     $0xffffffff,%eax
4545c0:	c9                   	leave
4545c1:	c2 04 00             	ret    $0x4
4545c4:	55                   	push   %ebp
4545c5:	8b ec                	mov    %esp,%ebp
4545c7:	83 ec 24             	sub    $0x24,%esp
4545ca:	53                   	push   %ebx
4545cb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4545ce:	56                   	push   %esi
4545cf:	83 7b 74 04          	cmpl   $0x4,0x74(%ebx)
4545d3:	57                   	push   %edi
4545d4:	8b f9                	mov    %ecx,%edi
4545d6:	8b 77 54             	mov    0x54(%edi),%esi
4545d9:	89 75 fc             	mov    %esi,-0x4(%ebp)
4545dc:	75 09                	jne    0x4545e7
4545de:	81 ce 00 00 80 00    	or     $0x800000,%esi
4545e4:	89 75 fc             	mov    %esi,-0x4(%ebp)
4545e7:	0f b7 43 78          	movzwl 0x78(%ebx),%eax
4545eb:	6a 00                	push   $0x0
4545ed:	6a 00                	push   $0x0
4545ef:	ff 73 70             	push   0x70(%ebx)
4545f2:	ff 73 30             	push   0x30(%ebx)
4545f5:	ff 73 20             	push   0x20(%ebx)
4545f8:	50                   	push   %eax
4545f9:	ff 73 10             	push   0x10(%ebx)
4545fc:	ff 77 04             	push   0x4(%edi)
4545ff:	ff 15 94 d7 48 00    	call   *0x48d794
454605:	89 07                	mov    %eax,(%edi)
454607:	85 c0                	test   %eax,%eax
454609:	75 14                	jne    0x45461f
45460b:	50                   	push   %eax
45460c:	68 ef be ad de       	push   $0xdeadbeef
454611:	6a 0b                	push   $0xb
454613:	8b cf                	mov    %edi,%ecx
454615:	e8 38 0a 00 00       	call   0x455052
45461a:	e9 ef 00 00 00       	jmp    0x45470e
45461f:	33 c9                	xor    %ecx,%ecx
454621:	51                   	push   %ecx
454622:	56                   	push   %esi
454623:	51                   	push   %ecx
454624:	51                   	push   %ecx
454625:	51                   	push   %ecx
454626:	ff 73 60             	push   0x60(%ebx)
454629:	51                   	push   %ecx
45462a:	50                   	push   %eax
45462b:	ff 15 80 d7 48 00    	call   *0x48d780
454631:	8b f0                	mov    %eax,%esi
454633:	85 f6                	test   %esi,%esi
454635:	75 0d                	jne    0x454644
454637:	50                   	push   %eax
454638:	68 ef be ad de       	push   $0xdeadbeef
45463d:	6a 0c                	push   $0xc
45463f:	e9 b4 00 00 00       	jmp    0x4546f8
454644:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
454648:	74 09                	je     0x454653
45464a:	53                   	push   %ebx
45464b:	56                   	push   %esi
45464c:	8b cf                	mov    %edi,%ecx
45464e:	e8 59 0a 00 00       	call   0x4550ac
454653:	f7 45 fc 00 10 00 00 	testl  $0x1000,-0x4(%ebp)
45465a:	74 2c                	je     0x454688
45465c:	6a 04                	push   $0x4
45465e:	5b                   	pop    %ebx
45465f:	8d 45 08             	lea    0x8(%ebp),%eax
454662:	50                   	push   %eax
454663:	8d 45 0c             	lea    0xc(%ebp),%eax
454666:	50                   	push   %eax
454667:	6a 1f                	push   $0x1f
454669:	56                   	push   %esi
45466a:	89 5d 08             	mov    %ebx,0x8(%ebp)
45466d:	ff 15 7c d7 48 00    	call   *0x48d77c
454673:	81 4d 0c 00 01 00 00 	orl    $0x100,0xc(%ebp)
45467a:	53                   	push   %ebx
45467b:	8d 45 0c             	lea    0xc(%ebp),%eax
45467e:	50                   	push   %eax
45467f:	6a 1f                	push   $0x1f
454681:	56                   	push   %esi
454682:	ff 15 70 d7 48 00    	call   *0x48d770
454688:	33 db                	xor    %ebx,%ebx
45468a:	53                   	push   %ebx
45468b:	53                   	push   %ebx
45468c:	53                   	push   %ebx
45468d:	53                   	push   %ebx
45468e:	56                   	push   %esi
45468f:	ff 15 84 d7 48 00    	call   *0x48d784
454695:	85 c0                	test   %eax,%eax
454697:	74 57                	je     0x4546f0
454699:	56                   	push   %esi
45469a:	e8 e6 fe ff ff       	call   0x454585
45469f:	3d c8 00 00 00       	cmp    $0xc8,%eax
4546a4:	75 4a                	jne    0x4546f0
4546a6:	8d 45 0c             	lea    0xc(%ebp),%eax
4546a9:	50                   	push   %eax
4546aa:	8d 45 08             	lea    0x8(%ebp),%eax
4546ad:	50                   	push   %eax
4546ae:	8d 45 dc             	lea    -0x24(%ebp),%eax
4546b1:	50                   	push   %eax
4546b2:	6a 05                	push   $0x5
4546b4:	56                   	push   %esi
4546b5:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4546b8:	c7 45 08 20 00 00 00 	movl   $0x20,0x8(%ebp)
4546bf:	ff 15 78 d7 48 00    	call   *0x48d778
4546c5:	33 c0                	xor    %eax,%eax
4546c7:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
4546cb:	8d 45 dc             	lea    -0x24(%ebp),%eax
4546ce:	50                   	push   %eax
4546cf:	e8 56 cf fc ff       	call   0x42162a
4546d4:	59                   	pop    %ecx
4546d5:	89 47 10             	mov    %eax,0x10(%edi)
4546d8:	89 57 14             	mov    %edx,0x14(%edi)
4546db:	8b cf                	mov    %edi,%ecx
4546dd:	38 5d 10             	cmp    %bl,0x10(%ebp)
4546e0:	74 08                	je     0x4546ea
4546e2:	56                   	push   %esi
4546e3:	e8 cd 07 00 00       	call   0x454eb5
4546e8:	eb 15                	jmp    0x4546ff
4546ea:	6a 01                	push   $0x1
4546ec:	53                   	push   %ebx
4546ed:	53                   	push   %ebx
4546ee:	eb 0a                	jmp    0x4546fa
4546f0:	53                   	push   %ebx
4546f1:	68 ef be ad de       	push   $0xdeadbeef
4546f6:	6a 0d                	push   $0xd
4546f8:	8b cf                	mov    %edi,%ecx
4546fa:	e8 53 09 00 00       	call   0x455052
4546ff:	8a d8                	mov    %al,%bl
454701:	85 f6                	test   %esi,%esi
454703:	74 07                	je     0x45470c
454705:	56                   	push   %esi
454706:	ff 15 68 d7 48 00    	call   *0x48d768
45470c:	8a c3                	mov    %bl,%al
45470e:	5f                   	pop    %edi
45470f:	5e                   	pop    %esi
454710:	5b                   	pop    %ebx
454711:	c9                   	leave
454712:	c2 0c 00             	ret    $0xc
454715:	55                   	push   %ebp
454716:	8b ec                	mov    %esp,%ebp
454718:	8b 55 08             	mov    0x8(%ebp),%edx
45471b:	83 c1 10             	add    $0x10,%ecx
45471e:	e8 db 09 00 00       	call   0x4550fe
454723:	33 c0                	xor    %eax,%eax
454725:	5d                   	pop    %ebp
454726:	c2 08 00             	ret    $0x8
454729:	55                   	push   %ebp
45472a:	8b ec                	mov    %esp,%ebp
45472c:	53                   	push   %ebx
45472d:	56                   	push   %esi
45472e:	57                   	push   %edi
45472f:	8d 79 78             	lea    0x78(%ecx),%edi
454732:	8b 4d 0c             	mov    0xc(%ebp),%ecx
454735:	57                   	push   %edi
454736:	e8 2d 24 fb ff       	call   0x406b68
45473b:	8b 5d 08             	mov    0x8(%ebp),%ebx
45473e:	6a 29                	push   $0x29
454740:	8b 43 04             	mov    0x4(%ebx),%eax
454743:	8b 30                	mov    (%eax),%esi
454745:	8b ce                	mov    %esi,%ecx
454747:	e8 a0 d4 fa ff       	call   0x401bec
45474c:	84 c0                	test   %al,%al
45474e:	75 28                	jne    0x454778
454750:	8b ce                	mov    %esi,%ecx
454752:	e8 15 4c fb ff       	call   0x40936c
454757:	8b 46 08             	mov    0x8(%esi),%eax
45475a:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
45475e:	74 18                	je     0x454778
454760:	8b 43 04             	mov    0x4(%ebx),%eax
454763:	8b 30                	mov    (%eax),%esi
454765:	8b ce                	mov    %esi,%ecx
454767:	e8 00 4c fb ff       	call   0x40936c
45476c:	ff 76 08             	push   0x8(%esi)
45476f:	8b cf                	mov    %edi,%ecx
454771:	e8 77 27 fb ff       	call   0x406eed
454776:	eb 0c                	jmp    0x454784
454778:	68 f0 db 49 00       	push   $0x49dbf0
45477d:	8b cf                	mov    %edi,%ecx
45477f:	e8 df 22 fb ff       	call   0x406a63
454784:	5f                   	pop    %edi
454785:	5e                   	pop    %esi
454786:	33 c0                	xor    %eax,%eax
454788:	5b                   	pop    %ebx
454789:	5d                   	pop    %ebp
45478a:	c2 08 00             	ret    $0x8
45478d:	55                   	push   %ebp
45478e:	8b ec                	mov    %esp,%ebp
454790:	51                   	push   %ecx
454791:	51                   	push   %ecx
454792:	8b 45 08             	mov    0x8(%ebp),%eax
454795:	53                   	push   %ebx
454796:	8b 40 04             	mov    0x4(%eax),%eax
454799:	56                   	push   %esi
45479a:	57                   	push   %edi
45479b:	8b f9                	mov    %ecx,%edi
45479d:	8b 08                	mov    (%eax),%ecx
45479f:	e8 e2 8a fb ff       	call   0x40d286
4547a4:	8b 77 04             	mov    0x4(%edi),%esi
4547a7:	8b d8                	mov    %eax,%ebx
4547a9:	89 75 08             	mov    %esi,0x8(%ebp)
4547ac:	51                   	push   %ecx
4547ad:	8b c4                	mov    %esp,%eax
4547af:	8d 4d 08             	lea    0x8(%ebp),%ecx
4547b2:	83 20 00             	andl   $0x0,(%eax)
4547b5:	e8 5c e1 fa ff       	call   0x402916
4547ba:	84 c0                	test   %al,%al
4547bc:	74 36                	je     0x4547f4
4547be:	8b 06                	mov    (%esi),%eax
4547c0:	39 98 d8 00 00 00    	cmp    %ebx,0xd8(%eax)
4547c6:	75 1b                	jne    0x4547e3
4547c8:	8d 45 08             	lea    0x8(%ebp),%eax
4547cb:	50                   	push   %eax
4547cc:	8d 4f 04             	lea    0x4(%edi),%ecx
4547cf:	e8 f3 0c 00 00       	call   0x4554c7
4547d4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4547d7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4547db:	ff 75 fc             	push   -0x4(%ebp)
4547de:	e8 37 94 fc ff       	call   0x41dc1a
4547e3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4547e6:	50                   	push   %eax
4547e7:	8d 4d 08             	lea    0x8(%ebp),%ecx
4547ea:	e8 8f 81 ff ff       	call   0x44c97e
4547ef:	8b 75 08             	mov    0x8(%ebp),%esi
4547f2:	eb b8                	jmp    0x4547ac
4547f4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4547f7:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
4547fb:	ff 75 08             	push   0x8(%ebp)
4547fe:	e8 17 94 fc ff       	call   0x41dc1a
454803:	5f                   	pop    %edi
454804:	5e                   	pop    %esi
454805:	33 c0                	xor    %eax,%eax
454807:	5b                   	pop    %ebx
454808:	c9                   	leave
454809:	c2 08 00             	ret    $0x8
45480c:	55                   	push   %ebp
45480d:	8b ec                	mov    %esp,%ebp
45480f:	83 e4 f8             	and    $0xfffffff8,%esp
454812:	81 ec ec 00 00 00    	sub    $0xec,%esp
454818:	53                   	push   %ebx
454819:	8b 5d 08             	mov    0x8(%ebp),%ebx
45481c:	56                   	push   %esi
45481d:	33 c0                	xor    %eax,%eax
45481f:	83 7b 08 02          	cmpl   $0x2,0x8(%ebx)
454823:	57                   	push   %edi
454824:	89 4c 24 10          	mov    %ecx,0x10(%esp)
454828:	76 13                	jbe    0x45483d
45482a:	8b 43 04             	mov    0x4(%ebx),%eax
45482d:	8b 48 08             	mov    0x8(%eax),%ecx
454830:	e8 51 8a fb ff       	call   0x40d286
454835:	89 44 24 0c          	mov    %eax,0xc(%esp)
454839:	33 c0                	xor    %eax,%eax
45483b:	eb 04                	jmp    0x454841
45483d:	89 44 24 0c          	mov    %eax,0xc(%esp)
454841:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
454845:	76 0b                	jbe    0x454852
454847:	8b 4b 04             	mov    0x4(%ebx),%ecx
45484a:	8b 49 0c             	mov    0xc(%ecx),%ecx
45484d:	e8 d4 94 fc ff       	call   0x41dd26
454852:	88 44 24 14          	mov    %al,0x14(%esp)
454856:	8b 43 04             	mov    0x4(%ebx),%eax
454859:	8b 70 04             	mov    0x4(%eax),%esi
45485c:	8b ce                	mov    %esi,%ecx
45485e:	e8 09 4b fb ff       	call   0x40936c
454863:	8b 46 08             	mov    0x8(%esi),%eax
454866:	8b 38                	mov    (%eax),%edi
454868:	8b 43 04             	mov    0x4(%ebx),%eax
45486b:	8b 30                	mov    (%eax),%esi
45486d:	8b ce                	mov    %esi,%ecx
45486f:	e8 f8 4a fb ff       	call   0x40936c
454874:	8b 46 08             	mov    0x8(%esi),%eax
454877:	8b 5c 24 10          	mov    0x10(%esp),%ebx
45487b:	8b 30                	mov    (%eax),%esi
45487d:	8d 43 04             	lea    0x4(%ebx),%eax
454880:	83 ec 78             	sub    $0x78,%esp
454883:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
45488a:	8d 43 10             	lea    0x10(%ebx),%eax
45488d:	8b cc                	mov    %esp,%ecx
45488f:	50                   	push   %eax
454890:	e8 bc f7 ff ff       	call   0x454051
454895:	ff b4 24 8c 00 00 00 	push   0x8c(%esp)
45489c:	8d 8c 24 94 00 00 00 	lea    0x94(%esp),%ecx
4548a3:	ff b4 24 88 00 00 00 	push   0x88(%esp)
4548aa:	57                   	push   %edi
4548ab:	56                   	push   %esi
4548ac:	e8 bf f6 ff ff       	call   0x453f70
4548b1:	50                   	push   %eax
4548b2:	8d 4b 04             	lea    0x4(%ebx),%ecx
4548b5:	e8 29 0b 00 00       	call   0x4553e3
4548ba:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4548be:	e8 b5 f8 ff ff       	call   0x454178
4548c3:	8b 73 08             	mov    0x8(%ebx),%esi
4548c6:	6a 01                	push   $0x1
4548c8:	8b 0e                	mov    (%esi),%ecx
4548ca:	e8 bd 09 00 00       	call   0x45528c
4548cf:	8b 06                	mov    (%esi),%eax
4548d1:	33 ff                	xor    %edi,%edi
4548d3:	57                   	push   %edi