45437b:	57                   	push   %edi
45437c:	56                   	push   %esi
45437d:	e8 92 29 02 00       	call   0x476d14
454382:	83 c4 10             	add    $0x10,%esp
454385:	8b f0                	mov    %eax,%esi
454387:	89 75 e0             	mov    %esi,-0x20(%ebp)
45438a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
454391:	e8 0b 00 00 00       	call   0x4543a1
454396:	8b c6                	mov    %esi,%eax
454398:	e8 09 c6 fe ff       	call   0x4409a6
45439d:	c3                   	ret
45439e:	8b 75 e0             	mov    -0x20(%ebp),%esi
4543a1:	85 f6                	test   %esi,%esi
4543a3:	75 09                	jne    0x4543ae
4543a5:	ff 75 e4             	push   -0x1c(%ebp)
4543a8:	e8 2c 20 02 00       	call   0x4763d9
4543ad:	59                   	pop    %ecx
4543ae:	ff 75 e4             	push   -0x1c(%ebp)
4543b1:	e8 07 fe ff ff       	call   0x4541bd
4543b6:	59                   	pop    %ecx
4543b7:	c3                   	ret
4543b8:	6a 10                	push   $0x10
4543ba:	68 58 49 4b 00       	push   $0x4b4958
4543bf:	e8 9c c5 fe ff       	call   0x440960
4543c4:	33 c0                	xor    %eax,%eax
4543c6:	8b 75 08             	mov    0x8(%ebp),%esi
4543c9:	85 f6                	test   %esi,%esi
4543cb:	0f 95 c0             	setne  %al
4543ce:	85 c0                	test   %eax,%eax
4543d0:	75 14                	jne    0x4543e6
4543d2:	e8 58 8a ff ff       	call   0x44ce2f
4543d7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4543dd:	e8 f4 88 ff ff       	call   0x44ccd6
4543e2:	33 c0                	xor    %eax,%eax
4543e4:	eb 73                	jmp    0x454459
4543e6:	33 c0                	xor    %eax,%eax
4543e8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4543eb:	85 ff                	test   %edi,%edi
4543ed:	0f 95 c0             	setne  %al
4543f0:	85 c0                	test   %eax,%eax
4543f2:	74 de                	je     0x4543d2
4543f4:	33 c0                	xor    %eax,%eax
4543f6:	33 db                	xor    %ebx,%ebx
4543f8:	66 39 1f             	cmp    %bx,(%edi)
4543fb:	0f 95 c0             	setne  %al
4543fe:	85 c0                	test   %eax,%eax
454400:	74 d0                	je     0x4543d2
454402:	66 39 1e             	cmp    %bx,(%esi)
454405:	75 0d                	jne    0x454414
454407:	e8 23 8a ff ff       	call   0x44ce2f
45440c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
454412:	eb ce                	jmp    0x4543e2
454414:	8d 45 e4             	lea    -0x1c(%ebp),%eax
454417:	50                   	push   %eax
454418:	e8 5d 1f 02 00       	call   0x47637a
45441d:	59                   	pop    %ecx
45441e:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
454421:	75 0d                	jne    0x454430
454423:	e8 07 8a ff ff       	call   0x44ce2f
454428:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
45442e:	eb b2                	jmp    0x4543e2
454430:	89 5d e0             	mov    %ebx,-0x20(%ebp)
454433:	89 5d fc             	mov    %ebx,-0x4(%ebp)
454436:	ff 75 e4             	push   -0x1c(%ebp)
454439:	ff 75 10             	push   0x10(%ebp)
45443c:	57                   	push   %edi
45443d:	56                   	push   %esi
45443e:	e8 dc 28 02 00       	call   0x476d1f
454443:	83 c4 10             	add    $0x10,%esp
454446:	8b f0                	mov    %eax,%esi
454448:	89 75 e0             	mov    %esi,-0x20(%ebp)
45444b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
454452:	e8 0b 00 00 00       	call   0x454462
454457:	8b c6                	mov    %esi,%eax
454459:	e8 48 c5 fe ff       	call   0x4409a6
45445e:	c3                   	ret
45445f:	8b 75 e0             	mov    -0x20(%ebp),%esi
454462:	85 f6                	test   %esi,%esi
454464:	75 09                	jne    0x45446f
454466:	ff 75 e4             	push   -0x1c(%ebp)
454469:	e8 6b 1f 02 00       	call   0x4763d9
45446e:	59                   	pop    %ecx
45446f:	ff 75 e4             	push   -0x1c(%ebp)
454472:	e8 46 fd ff ff       	call   0x4541bd
454477:	59                   	pop    %ecx
454478:	c3                   	ret
454479:	8b ff                	mov    %edi,%edi
45447b:	55                   	push   %ebp
45447c:	8b ec                	mov    %esp,%ebp
45447e:	8b 45 14             	mov    0x14(%ebp),%eax
454481:	ff 30                	push   (%eax)
454483:	8b 45 10             	mov    0x10(%ebp),%eax
454486:	ff 30                	push   (%eax)
454488:	8b 45 0c             	mov    0xc(%ebp),%eax
45448b:	ff 30                	push   (%eax)
45448d:	8b 45 08             	mov    0x8(%ebp),%eax
454490:	ff 30                	push   (%eax)
454492:	e8 7d 28 02 00       	call   0x476d14
454497:	83 c4 10             	add    $0x10,%esp
45449a:	5d                   	pop    %ebp
45449b:	c3                   	ret
45449c:	8b ff                	mov    %edi,%edi
45449e:	55                   	push   %ebp
45449f:	8b ec                	mov    %esp,%ebp
4544a1:	8b 45 14             	mov    0x14(%ebp),%eax
4544a4:	ff 30                	push   (%eax)
4544a6:	8b 45 10             	mov    0x10(%ebp),%eax
4544a9:	ff 30                	push   (%eax)
4544ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4544ae:	ff 30                	push   (%eax)
4544b0:	8b 45 08             	mov    0x8(%ebp),%eax
4544b3:	ff 30                	push   (%eax)
4544b5:	e8 65 28 02 00       	call   0x476d1f
4544ba:	83 c4 10             	add    $0x10,%esp
4544bd:	5d                   	pop    %ebp
4544be:	c3                   	ret
4544bf:	8b 01                	mov    (%ecx),%eax
4544c1:	c3                   	ret
4544c2:	ff 31                	push   (%ecx)
4544c4:	e8 f4 fc ff ff       	call   0x4541bd
4544c9:	59                   	pop    %ecx
4544ca:	c3                   	ret
4544cb:	33 c0                	xor    %eax,%eax
4544cd:	39 01                	cmp    %eax,(%ecx)
4544cf:	0f 95 c0             	setne  %al
4544d2:	c3                   	ret
4544d3:	8b ff                	mov    %edi,%edi
4544d5:	55                   	push   %ebp
4544d6:	8b ec                	mov    %esp,%ebp
4544d8:	5d                   	pop    %ebp
4544d9:	e9 19 fe ff ff       	jmp    0x4542f7
4544de:	8b ff                	mov    %edi,%edi
4544e0:	55                   	push   %ebp
4544e1:	8b ec                	mov    %esp,%ebp
4544e3:	6a 40                	push   $0x40
4544e5:	ff 75 0c             	push   0xc(%ebp)
4544e8:	ff 75 08             	push   0x8(%ebp)
4544eb:	e8 c8 fe ff ff       	call   0x4543b8
4544f0:	83 c4 0c             	add    $0xc,%esp
4544f3:	5d                   	pop    %ebp
4544f4:	c3                   	ret
4544f5:	8b ff                	mov    %edi,%edi
4544f7:	55                   	push   %ebp
4544f8:	8b ec                	mov    %esp,%ebp
4544fa:	56                   	push   %esi
4544fb:	8b 75 08             	mov    0x8(%ebp),%esi
4544fe:	85 f6                	test   %esi,%esi
454500:	75 11                	jne    0x454513
454502:	e8 28 89 ff ff       	call   0x44ce2f
454507:	6a 16                	push   $0x16
454509:	5e                   	pop    %esi
45450a:	89 30                	mov    %esi,(%eax)
45450c:	e8 c5 87 ff ff       	call   0x44ccd6
454511:	eb 24                	jmp    0x454537
454513:	68 80 00 00 00       	push   $0x80
454518:	ff 75 10             	push   0x10(%ebp)
45451b:	ff 75 0c             	push   0xc(%ebp)
45451e:	e8 95 fe ff ff       	call   0x4543b8
454523:	83 c4 0c             	add    $0xc,%esp
454526:	89 06                	mov    %eax,(%esi)
454528:	85 c0                	test   %eax,%eax
45452a:	75 09                	jne    0x454535
45452c:	e8 fe 88 ff ff       	call   0x44ce2f
454531:	8b 30                	mov    (%eax),%esi
454533:	eb 02                	jmp    0x454537
454535:	33 f6                	xor    %esi,%esi
454537:	8b c6                	mov    %esi,%eax
454539:	5e                   	pop    %esi
45453a:	5d                   	pop    %ebp
45453b:	c3                   	ret
45453c:	8b ff                	mov    %edi,%edi
45453e:	55                   	push   %ebp
45453f:	8b ec                	mov    %esp,%ebp
454541:	5d                   	pop    %ebp
454542:	e9 71 fe ff ff       	jmp    0x4543b8
454547:	8b ff                	mov    %edi,%edi
454549:	55                   	push   %ebp
45454a:	8b ec                	mov    %esp,%ebp
45454c:	6a 40                	push   $0x40
45454e:	ff 75 0c             	push   0xc(%ebp)
454551:	ff 75 08             	push   0x8(%ebp)
454554:	e8 9e fd ff ff       	call   0x4542f7
454559:	83 c4 0c             	add    $0xc,%esp
45455c:	5d                   	pop    %ebp
45455d:	c3                   	ret
45455e:	8b ff                	mov    %edi,%edi
454560:	55                   	push   %ebp
454561:	8b ec                	mov    %esp,%ebp
454563:	56                   	push   %esi
454564:	8b 75 08             	mov    0x8(%ebp),%esi
454567:	85 f6                	test   %esi,%esi
454569:	75 11                	jne    0x45457c
45456b:	e8 bf 88 ff ff       	call   0x44ce2f
454570:	6a 16                	push   $0x16
454572:	5e                   	pop    %esi
454573:	89 30                	mov    %esi,(%eax)
454575:	e8 5c 87 ff ff       	call   0x44ccd6
45457a:	eb 24                	jmp    0x4545a0
45457c:	68 80 00 00 00       	push   $0x80
454581:	ff 75 10             	push   0x10(%ebp)
454584:	ff 75 0c             	push   0xc(%ebp)
454587:	e8 6b fd ff ff       	call   0x4542f7
45458c:	83 c4 0c             	add    $0xc,%esp
45458f:	89 06                	mov    %eax,(%esi)
454591:	85 c0                	test   %eax,%eax
454593:	75 09                	jne    0x45459e
454595:	e8 95 88 ff ff       	call   0x44ce2f
45459a:	8b 30                	mov    (%eax),%esi
45459c:	eb 02                	jmp    0x4545a0
45459e:	33 f6                	xor    %esi,%esi
4545a0:	8b c6                	mov    %esi,%eax
4545a2:	5e                   	pop    %esi
4545a3:	5d                   	pop    %ebp
4545a4:	c3                   	ret
4545a5:	8b ff                	mov    %edi,%edi
4545a7:	55                   	push   %ebp
4545a8:	8b ec                	mov    %esp,%ebp
4545aa:	56                   	push   %esi
4545ab:	ff 75 18             	push   0x18(%ebp)
4545ae:	8b f1                	mov    %ecx,%esi
4545b0:	ff 75 14             	push   0x14(%ebp)
4545b3:	ff 75 10             	push   0x10(%ebp)
4545b6:	ff 75 0c             	push   0xc(%ebp)
4545b9:	ff 75 08             	push   0x8(%ebp)
4545bc:	e8 4f 00 00 00       	call   0x454610
4545c1:	8b c6                	mov    %esi,%eax
4545c3:	5e                   	pop    %esi
4545c4:	5d                   	pop    %ebp
4545c5:	c2 14 00             	ret    $0x14
4545c8:	8b ff                	mov    %edi,%edi
4545ca:	55                   	push   %ebp
4545cb:	8b ec                	mov    %esp,%ebp
4545cd:	56                   	push   %esi
4545ce:	ff 75 18             	push   0x18(%ebp)
4545d1:	8b f1                	mov    %ecx,%esi
4545d3:	ff 75 14             	push   0x14(%ebp)
4545d6:	ff 75 10             	push   0x10(%ebp)
4545d9:	ff 75 0c             	push   0xc(%ebp)
4545dc:	ff 75 08             	push   0x8(%ebp)
4545df:	e8 2c 00 00 00       	call   0x454610
4545e4:	8b 46 10             	mov    0x10(%esi),%eax
4545e7:	83 a6 58 04 00 00 00 	andl   $0x0,0x458(%esi)
4545ee:	83 a6 5c 04 00 00 00 	andl   $0x0,0x45c(%esi)
4545f5:	83 8e a4 0a 00 00 ff 	orl    $0xffffffff,0xaa4(%esi)
4545fc:	83 8e a8 0a 00 00 ff 	orl    $0xffffffff,0xaa8(%esi)
454603:	89 86 60 04 00 00    	mov    %eax,0x460(%esi)
454609:	8b c6                	mov    %esi,%eax
45460b:	5e                   	pop    %esi
45460c:	5d                   	pop    %ebp
45460d:	c2 14 00             	ret    $0x14
454610:	8b ff                	mov    %edi,%edi
454612:	55                   	push   %ebp
454613:	8b ec                	mov    %esp,%ebp
454615:	8b 45 18             	mov    0x18(%ebp),%eax
454618:	56                   	push   %esi
454619:	8b f1                	mov    %ecx,%esi
45461b:	ff 30                	push   (%eax)
45461d:	8b 45 14             	mov    0x14(%ebp),%eax
454620:	ff 30                	push   (%eax)
454622:	8b 45 10             	mov    0x10(%ebp),%eax
454625:	ff 30                	push   (%eax)
454627:	8b 45 0c             	mov    0xc(%ebp),%eax
45462a:	ff 70 04             	push   0x4(%eax)
45462d:	ff 30                	push   (%eax)
45462f:	ff 75 08             	push   0x8(%ebp)
454632:	e8 7f 4c 00 00       	call   0x4592b6
454637:	83 a6 50 04 00 00 00 	andl   $0x0,0x450(%esi)
45463e:	8b c6                	mov    %esi,%eax
454640:	5e                   	pop    %esi
454641:	5d                   	pop    %ebp
454642:	c2 14 00             	ret    $0x14
454645:	8b ff                	mov    %edi,%edi
454647:	55                   	push   %ebp
454648:	8b ec                	mov    %esp,%ebp
45464a:	56                   	push   %esi
45464b:	ff 75 18             	push   0x18(%ebp)
45464e:	8b f1                	mov    %ecx,%esi
454650:	ff 75 14             	push   0x14(%ebp)
454653:	ff 75 10             	push   0x10(%ebp)
454656:	ff 75 0c             	push   0xc(%ebp)
454659:	ff 75 08             	push   0x8(%ebp)
45465c:	e8 4f 00 00 00       	call   0x4546b0
454661:	8b c6                	mov    %esi,%eax
454663:	5e                   	pop    %esi
454664:	5d                   	pop    %ebp
454665:	c2 14 00             	ret    $0x14
454668:	8b ff                	mov    %edi,%edi
45466a:	55                   	push   %ebp
45466b:	8b ec                	mov    %esp,%ebp
45466d:	56                   	push   %esi
45466e:	ff 75 18             	push   0x18(%ebp)
454671:	8b f1                	mov    %ecx,%esi
454673:	ff 75 14             	push   0x14(%ebp)
454676:	ff 75 10             	push   0x10(%ebp)
454679:	ff 75 0c             	push   0xc(%ebp)
45467c:	ff 75 08             	push   0x8(%ebp)
45467f:	e8 2c 00 00 00       	call   0x4546b0
454684:	8b 46 10             	mov    0x10(%esi),%eax
454687:	83 a6 58 04 00 00 00 	andl   $0x0,0x458(%esi)
45468e:	83 a6 5c 04 00 00 00 	andl   $0x0,0x45c(%esi)
454695:	83 8e a4 0a 00 00 ff 	orl    $0xffffffff,0xaa4(%esi)
45469c:	83 8e a8 0a 00 00 ff 	orl    $0xffffffff,0xaa8(%esi)
4546a3:	89 86 60 04 00 00    	mov    %eax,0x460(%esi)
4546a9:	8b c6                	mov    %esi,%eax
4546ab:	5e                   	pop    %esi
4546ac:	5d                   	pop    %ebp
4546ad:	c2 14 00             	ret    $0x14
4546b0:	8b ff                	mov    %edi,%edi
4546b2:	55                   	push   %ebp
4546b3:	8b ec                	mov    %esp,%ebp
4546b5:	8b 45 18             	mov    0x18(%ebp),%eax
4546b8:	56                   	push   %esi
4546b9:	8b f1                	mov    %ecx,%esi
4546bb:	ff 30                	push   (%eax)
4546bd:	8b 45 14             	mov    0x14(%ebp),%eax
4546c0:	ff 30                	push   (%eax)
4546c2:	8b 45 10             	mov    0x10(%ebp),%eax
4546c5:	ff 30                	push   (%eax)
4546c7:	8b 45 0c             	mov    0xc(%ebp),%eax
4546ca:	ff 70 04             	push   0x4(%eax)
4546cd:	ff 30                	push   (%eax)
4546cf:	ff 75 08             	push   0x8(%ebp)
4546d2:	e8 57 4c 00 00       	call   0x45932e
4546d7:	83 a6 50 04 00 00 00 	andl   $0x0,0x450(%esi)
4546de:	8b c6                	mov    %esi,%eax
4546e0:	5e                   	pop    %esi
4546e1:	5d                   	pop    %ebp
4546e2:	c2 14 00             	ret    $0x14
4546e5:	8b ff                	mov    %edi,%edi
4546e7:	55                   	push   %ebp
4546e8:	8b ec                	mov    %esp,%ebp
4546ea:	56                   	push   %esi
4546eb:	ff 75 18             	push   0x18(%ebp)
4546ee:	8b f1                	mov    %ecx,%esi
4546f0:	ff 75 14             	push   0x14(%ebp)
4546f3:	ff 75 10             	push   0x10(%ebp)
4546f6:	ff 75 0c             	push   0xc(%ebp)
4546f9:	ff 75 08             	push   0x8(%ebp)
4546fc:	e8 4f 00 00 00       	call   0x454750
454701:	8b c6                	mov    %esi,%eax
454703:	5e                   	pop    %esi
454704:	5d                   	pop    %ebp
454705:	c2 14 00             	ret    $0x14
454708:	8b ff                	mov    %edi,%edi
45470a:	55                   	push   %ebp
45470b:	8b ec                	mov    %esp,%ebp
45470d:	56                   	push   %esi
45470e:	ff 75 18             	push   0x18(%ebp)
454711:	8b f1                	mov    %ecx,%esi
454713:	ff 75 14             	push   0x14(%ebp)