45535d:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
455363:	3b c3                	cmp    %ebx,%eax
455365:	75 2a                	jne    0x455391
455367:	85 f6                	test   %esi,%esi
455369:	78 29                	js     0x455394
45536b:	3b f3                	cmp    %ebx,%esi
45536d:	76 25                	jbe    0x455394
45536f:	eb 5b                	jmp    0x4553cc
455371:	8b 85 28 f5 ff ff    	mov    -0xad8(%ebp),%eax
455377:	0b c1                	or     %ecx,%eax
455379:	74 4d                	je     0x4553c8
45537b:	85 db                	test   %ebx,%ebx
45537d:	74 15                	je     0x455394
45537f:	85 f6                	test   %esi,%esi
455381:	79 04                	jns    0x455387
455383:	88 0f                	mov    %cl,(%edi)
455385:	eb 0d                	jmp    0x455394
455387:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
45538d:	3b c3                	cmp    %ebx,%eax
45538f:	74 4d                	je     0x4553de
455391:	88 0c 07             	mov    %cl,(%edi,%eax,1)
455394:	8d 8d 8c f5 ff ff    	lea    -0xa74(%ebp),%ecx
45539a:	e8 a8 43 00 00       	call   0x459747
45539f:	80 bd 1c f5 ff ff 00 	cmpb   $0x0,-0xae4(%ebp)
4553a6:	5f                   	pop    %edi
4553a7:	74 0d                	je     0x4553b6
4553a9:	8b 8d 10 f5 ff ff    	mov    -0xaf0(%ebp),%ecx
4553af:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4553b6:	8b c6                	mov    %esi,%eax
4553b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4553bb:	5e                   	pop    %esi
4553bc:	33 cd                	xor    %ebp,%ecx
4553be:	5b                   	pop    %ebx
4553bf:	e8 3e a6 fe ff       	call   0x43fa02
4553c4:	8b e5                	mov    %ebp,%esp
4553c6:	5d                   	pop    %ebp
4553c7:	c3                   	ret
4553c8:	85 db                	test   %ebx,%ebx
4553ca:	75 05                	jne    0x4553d1
4553cc:	83 ce ff             	or     $0xffffffff,%esi
4553cf:	eb c3                	jmp    0x455394
4553d1:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
4553d7:	3b c3                	cmp    %ebx,%eax
4553d9:	75 b6                	jne    0x455391
4553db:	6a fe                	push   $0xfffffffe
4553dd:	5e                   	pop    %esi
4553de:	88 4c 1f ff          	mov    %cl,-0x1(%edi,%ebx,1)
4553e2:	eb b0                	jmp    0x455394
4553e4:	8b ff                	mov    %edi,%edi
4553e6:	55                   	push   %ebp
4553e7:	8b ec                	mov    %esp,%ebp
4553e9:	81 ec f0 0a 00 00    	sub    $0xaf0,%esp
4553ef:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4553f4:	33 c5                	xor    %ebp,%eax
4553f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4553f9:	8b 45 10             	mov    0x10(%ebp),%eax
4553fc:	53                   	push   %ebx
4553fd:	8b 5d 14             	mov    0x14(%ebp),%ebx
455400:	56                   	push   %esi
455401:	8b 75 18             	mov    0x18(%ebp),%esi
455404:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
45540a:	85 f6                	test   %esi,%esi
45540c:	75 18                	jne    0x455426
45540e:	e8 1c 7a ff ff       	call   0x44ce2f
455413:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
455419:	e8 b8 78 ff ff       	call   0x44ccd6
45541e:	83 c8 ff             	or     $0xffffffff,%eax
455421:	e9 4a 01 00 00       	jmp    0x455570
455426:	85 db                	test   %ebx,%ebx
455428:	74 04                	je     0x45542e
45542a:	85 c0                	test   %eax,%eax
45542c:	74 e0                	je     0x45540e
45542e:	57                   	push   %edi
45542f:	ff 75 1c             	push   0x1c(%ebp)
455432:	8d 8d 10 f5 ff ff    	lea    -0xaf0(%ebp),%ecx
455438:	e8 cb 9b ff ff       	call   0x44f008
45543d:	8b 4d 08             	mov    0x8(%ebp),%ecx
455440:	8d bd 38 f5 ff ff    	lea    -0xac8(%ebp),%edi
455446:	33 c0                	xor    %eax,%eax
455448:	33 d2                	xor    %edx,%edx
45544a:	ab                   	stos   %eax,%es:(%edi)
45544b:	ab                   	stos   %eax,%es:(%edi)
45544c:	ab                   	stos   %eax,%es:(%edi)
45544d:	ab                   	stos   %eax,%es:(%edi)
45544e:	8b c1                	mov    %ecx,%eax
455450:	8b bd 48 f5 ff ff    	mov    -0xab8(%ebp),%edi
455456:	83 e0 02             	and    $0x2,%eax
455459:	89 85 28 f5 ff ff    	mov    %eax,-0xad8(%ebp)
45545f:	0b c2                	or     %edx,%eax
455461:	89 bd 38 f5 ff ff    	mov    %edi,-0xac8(%ebp)
455467:	89 9d 3c f5 ff ff    	mov    %ebx,-0xac4(%ebp)
45546d:	89 95 40 f5 ff ff    	mov    %edx,-0xac0(%ebp)
455473:	75 0a                	jne    0x45547f
455475:	88 95 44 f5 ff ff    	mov    %dl,-0xabc(%ebp)
45547b:	85 ff                	test   %edi,%edi
45547d:	75 07                	jne    0x455486
45547f:	c6 85 44 f5 ff ff 01 	movb   $0x1,-0xabc(%ebp)
455486:	8d 85 38 f5 ff ff    	lea    -0xac8(%ebp),%eax
45548c:	89 8d 20 f5 ff ff    	mov    %ecx,-0xae0(%ebp)
455492:	89 85 2c f5 ff ff    	mov    %eax,-0xad4(%ebp)
455498:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
45549e:	8b 45 20             	mov    0x20(%ebp),%eax
4554a1:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
4554a7:	8d 85 14 f5 ff ff    	lea    -0xaec(%ebp),%eax
4554ad:	89 85 34 f5 ff ff    	mov    %eax,-0xacc(%ebp)
4554b3:	8b 45 0c             	mov    0xc(%ebp),%eax
4554b6:	89 85 24 f5 ff ff    	mov    %eax,-0xadc(%ebp)
4554bc:	8d 85 48 f5 ff ff    	lea    -0xab8(%ebp),%eax
4554c2:	50                   	push   %eax
4554c3:	8d 85 34 f5 ff ff    	lea    -0xacc(%ebp),%eax
4554c9:	89 b5 30 f5 ff ff    	mov    %esi,-0xad0(%ebp)
4554cf:	50                   	push   %eax
4554d0:	8d 85 30 f5 ff ff    	lea    -0xad0(%ebp),%eax
4554d6:	50                   	push   %eax
4554d7:	8d 85 20 f5 ff ff    	lea    -0xae0(%ebp),%eax
4554dd:	50                   	push   %eax
4554de:	8d 85 2c f5 ff ff    	lea    -0xad4(%ebp),%eax
4554e4:	50                   	push   %eax
4554e5:	e8 be f2 ff ff       	call   0x4547a8
4554ea:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
4554f0:	e8 58 66 00 00       	call   0x45bb4d
4554f5:	8b f0                	mov    %eax,%esi
4554f7:	85 ff                	test   %edi,%edi
4554f9:	74 51                	je     0x45554c
4554fb:	8b 45 08             	mov    0x8(%ebp),%eax
4554fe:	83 e0 01             	and    $0x1,%eax
455501:	83 c8 00             	or     $0x0,%eax
455504:	74 1c                	je     0x455522
455506:	85 db                	test   %ebx,%ebx
455508:	75 04                	jne    0x45550e
45550a:	85 f6                	test   %esi,%esi
45550c:	75 76                	jne    0x455584
45550e:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
455514:	3b c3                	cmp    %ebx,%eax
455516:	75 2e                	jne    0x455546
455518:	85 f6                	test   %esi,%esi
45551a:	78 30                	js     0x45554c
45551c:	3b f3                	cmp    %ebx,%esi
45551e:	76 2c                	jbe    0x45554c
455520:	eb 62                	jmp    0x455584
455522:	8b 85 28 f5 ff ff    	mov    -0xad8(%ebp),%eax
455528:	83 c8 00             	or     $0x0,%eax
45552b:	74 53                	je     0x455580
45552d:	85 db                	test   %ebx,%ebx
45552f:	74 1b                	je     0x45554c
455531:	85 f6                	test   %esi,%esi
455533:	79 07                	jns    0x45553c
455535:	33 c0                	xor    %eax,%eax
455537:	66 89 07             	mov    %ax,(%edi)
45553a:	eb 10                	jmp    0x45554c
45553c:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
455542:	3b c3                	cmp    %ebx,%eax
455544:	74 50                	je     0x455596
455546:	33 c9                	xor    %ecx,%ecx
455548:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
45554c:	8d 8d 8c f5 ff ff    	lea    -0xa74(%ebp),%ecx
455552:	e8 f0 41 00 00       	call   0x459747
455557:	80 bd 1c f5 ff ff 00 	cmpb   $0x0,-0xae4(%ebp)
45555e:	5f                   	pop    %edi
45555f:	74 0d                	je     0x45556e
455561:	8b 8d 10 f5 ff ff    	mov    -0xaf0(%ebp),%ecx
455567:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
45556e:	8b c6                	mov    %esi,%eax
455570:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455573:	5e                   	pop    %esi
455574:	33 cd                	xor    %ebp,%ecx
455576:	5b                   	pop    %ebx
455577:	e8 86 a4 fe ff       	call   0x43fa02
45557c:	8b e5                	mov    %ebp,%esp
45557e:	5d                   	pop    %ebp
45557f:	c3                   	ret
455580:	85 db                	test   %ebx,%ebx
455582:	75 05                	jne    0x455589
455584:	83 ce ff             	or     $0xffffffff,%esi
455587:	eb c3                	jmp    0x45554c
455589:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
45558f:	3b c3                	cmp    %ebx,%eax
455591:	75 b3                	jne    0x455546
455593:	6a fe                	push   $0xfffffffe
455595:	5e                   	pop    %esi
455596:	33 c0                	xor    %eax,%eax
455598:	66 89 44 5f fe       	mov    %ax,-0x2(%edi,%ebx,2)
45559d:	eb ad                	jmp    0x45554c
45559f:	8b ff                	mov    %edi,%edi
4555a1:	55                   	push   %ebp
4555a2:	8b ec                	mov    %esp,%ebp
4555a4:	81 ec 84 04 00 00    	sub    $0x484,%esp
4555aa:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4555af:	33 c5                	xor    %ebp,%eax
4555b1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4555b4:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4555b8:	8b 45 10             	mov    0x10(%ebp),%eax
4555bb:	53                   	push   %ebx
4555bc:	8b 5d 14             	mov    0x14(%ebp),%ebx
4555bf:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
4555c5:	75 18                	jne    0x4555df
4555c7:	e8 63 78 ff ff       	call   0x44ce2f
4555cc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4555d2:	e8 ff 76 ff ff       	call   0x44ccd6
4555d7:	83 c8 ff             	or     $0xffffffff,%eax
4555da:	e9 15 01 00 00       	jmp    0x4556f4
4555df:	85 db                	test   %ebx,%ebx
4555e1:	74 04                	je     0x4555e7
4555e3:	85 c0                	test   %eax,%eax
4555e5:	74 e0                	je     0x4555c7
4555e7:	56                   	push   %esi
4555e8:	57                   	push   %edi
4555e9:	ff 75 1c             	push   0x1c(%ebp)
4555ec:	8d 8d 7c fb ff ff    	lea    -0x484(%ebp),%ecx
4555f2:	e8 11 9a ff ff       	call   0x44f008
4555f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4555fa:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
455600:	33 c0                	xor    %eax,%eax
455602:	33 d2                	xor    %edx,%edx
455604:	ab                   	stos   %eax,%es:(%edi)
455605:	ab                   	stos   %eax,%es:(%edi)
455606:	ab                   	stos   %eax,%es:(%edi)
455607:	ab                   	stos   %eax,%es:(%edi)
455608:	8b c1                	mov    %ecx,%eax
45560a:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
455610:	83 e0 02             	and    $0x2,%eax
455613:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
455619:	0b c2                	or     %edx,%eax
45561b:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
455621:	89 9d 94 fb ff ff    	mov    %ebx,-0x46c(%ebp)
455627:	89 95 98 fb ff ff    	mov    %edx,-0x468(%ebp)
45562d:	75 0a                	jne    0x455639
45562f:	88 95 9c fb ff ff    	mov    %dl,-0x464(%ebp)
455635:	85 ff                	test   %edi,%edi
455637:	75 07                	jne    0x455640
455639:	c6 85 9c fb ff ff 01 	movb   $0x1,-0x464(%ebp)
455640:	ff 75 20             	push   0x20(%ebp)
455643:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
455649:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
45564f:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
455655:	50                   	push   %eax
455656:	ff 75 18             	push   0x18(%ebp)
455659:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
45565f:	ff 75 0c             	push   0xc(%ebp)
455662:	51                   	push   %ecx
455663:	50                   	push   %eax
455664:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
45566a:	e8 83 3c 00 00       	call   0x4592f2
45566f:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
455673:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
455679:	e8 d3 5e 00 00       	call   0x45b551
45567e:	8b f0                	mov    %eax,%esi
455680:	85 ff                	test   %edi,%edi
455682:	74 4b                	je     0x4556cf
455684:	8b 45 08             	mov    0x8(%ebp),%eax
455687:	33 c9                	xor    %ecx,%ecx
455689:	83 e0 01             	and    $0x1,%eax
45568c:	0b c1                	or     %ecx,%eax
45568e:	74 1c                	je     0x4556ac
455690:	85 db                	test   %ebx,%ebx
455692:	75 04                	jne    0x455698
455694:	85 f6                	test   %esi,%esi
455696:	75 6f                	jne    0x455707
455698:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
45569e:	3b c3                	cmp    %ebx,%eax
4556a0:	75 2a                	jne    0x4556cc
4556a2:	85 f6                	test   %esi,%esi
4556a4:	78 29                	js     0x4556cf
4556a6:	3b f3                	cmp    %ebx,%esi
4556a8:	76 25                	jbe    0x4556cf
4556aa:	eb 5b                	jmp    0x455707
4556ac:	8b 85 8c fb ff ff    	mov    -0x474(%ebp),%eax
4556b2:	0b c1                	or     %ecx,%eax
4556b4:	74 4d                	je     0x455703
4556b6:	85 db                	test   %ebx,%ebx
4556b8:	74 15                	je     0x4556cf
4556ba:	85 f6                	test   %esi,%esi
4556bc:	79 04                	jns    0x4556c2
4556be:	88 0f                	mov    %cl,(%edi)
4556c0:	eb 0d                	jmp    0x4556cf
4556c2:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
4556c8:	3b c3                	cmp    %ebx,%eax
4556ca:	74 4d                	je     0x455719
4556cc:	88 0c 07             	mov    %cl,(%edi,%eax,1)
4556cf:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
4556d5:	e8 6d 40 00 00       	call   0x459747
4556da:	80 bd 88 fb ff ff 00 	cmpb   $0x0,-0x478(%ebp)
4556e1:	74 0d                	je     0x4556f0
4556e3:	8b 8d 7c fb ff ff    	mov    -0x484(%ebp),%ecx
4556e9:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4556f0:	5f                   	pop    %edi
4556f1:	8b c6                	mov    %esi,%eax
4556f3:	5e                   	pop    %esi
4556f4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4556f7:	33 cd                	xor    %ebp,%ecx
4556f9:	5b                   	pop    %ebx
4556fa:	e8 03 a3 fe ff       	call   0x43fa02
4556ff:	8b e5                	mov    %ebp,%esp
455701:	5d                   	pop    %ebp
455702:	c3                   	ret
455703:	85 db                	test   %ebx,%ebx
455705:	75 05                	jne    0x45570c
455707:	83 ce ff             	or     $0xffffffff,%esi
45570a:	eb c3                	jmp    0x4556cf
45570c:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
455712:	3b c3                	cmp    %ebx,%eax
455714:	75 b6                	jne    0x4556cc
455716:	6a fe                	push   $0xfffffffe
455718:	5e                   	pop    %esi
455719:	88 4c 1f ff          	mov    %cl,-0x1(%edi,%ebx,1)
45571d:	eb b0                	jmp    0x4556cf
45571f:	8b ff                	mov    %edi,%edi
455721:	55                   	push   %ebp
455722:	8b ec                	mov    %esp,%ebp
455724:	81 ec 84 04 00 00    	sub    $0x484,%esp
45572a:	a1 94 80 4b 00       	mov    0x4b8094,%eax
45572f:	33 c5                	xor    %ebp,%eax
455731:	89 45 fc             	mov    %eax,-0x4(%ebp)
455734:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
455738:	8b 45 10             	mov    0x10(%ebp),%eax
45573b:	53                   	push   %ebx
45573c:	8b 5d 14             	mov    0x14(%ebp),%ebx
45573f:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
455745:	75 18                	jne    0x45575f
455747:	e8 e3 76 ff ff       	call   0x44ce2f
45574c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
455752:	e8 7f 75 ff ff       	call   0x44ccd6
455757:	83 c8 ff             	or     $0xffffffff,%eax
45575a:	e9 1b 01 00 00       	jmp    0x45587a
45575f:	85 db                	test   %ebx,%ebx
455761:	74 04                	je     0x455767
455763:	85 c0                	test   %eax,%eax
455765:	74 e0                	je     0x455747
455767:	56                   	push   %esi
455768:	57                   	push   %edi
455769:	ff 75 1c             	push   0x1c(%ebp)
45576c:	8d 8d 7c fb ff ff    	lea    -0x484(%ebp),%ecx
455772:	e8 91 98 ff ff       	call   0x44f008
455777:	8b 4d 08             	mov    0x8(%ebp),%ecx
45577a:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
455780:	33 c0                	xor    %eax,%eax
455782:	33 d2                	xor    %edx,%edx
455784:	ab                   	stos   %eax,%es:(%edi)
455785:	ab                   	stos   %eax,%es:(%edi)
455786:	ab                   	stos   %eax,%es:(%edi)
455787:	ab                   	stos   %eax,%es:(%edi)
455788:	8b c1                	mov    %ecx,%eax
45578a:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
455790:	83 e0 02             	and    $0x2,%eax
455793:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
455799:	0b c2                	or     %edx,%eax
45579b:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
4557a1:	89 9d 94 fb ff ff    	mov    %ebx,-0x46c(%ebp)
4557a7:	89 95 98 fb ff ff    	mov    %edx,-0x468(%ebp)
4557ad:	75 0a                	jne    0x4557b9