455393:	3b 46 18             	cmp    0x18(%esi),%eax
455396:	75 05                	jne    0x45539d
455398:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
45539b:	74 04                	je     0x4553a1
45539d:	32 db                	xor    %bl,%bl
45539f:	eb 02                	jmp    0x4553a3
4553a1:	b3 01                	mov    $0x1,%bl
4553a3:	8b 46 2c             	mov    0x2c(%esi),%eax
4553a6:	8b ca                	mov    %edx,%ecx
4553a8:	c1 e9 05             	shr    $0x5,%ecx
4553ab:	8b fa                	mov    %edx,%edi
4553ad:	83 e7 1f             	and    $0x1f,%edi
4553b0:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
4553b3:	8b 01                	mov    (%ecx),%eax
4553b5:	84 db                	test   %bl,%bl
4553b7:	74 05                	je     0x4553be
4553b9:	0f ab f8             	bts    %edi,%eax
4553bc:	eb 03                	jmp    0x4553c1
4553be:	0f b3 f8             	btr    %edi,%eax
4553c1:	89 01                	mov    %eax,(%ecx)
4553c3:	42                   	inc    %edx
4553c4:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
4553c8:	3b d0                	cmp    %eax,%edx
4553ca:	72 90                	jb     0x45535c
4553cc:	5f                   	pop    %edi
4553cd:	5b                   	pop    %ebx
4553ce:	eb 39                	jmp    0x455409
4553d0:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
4553d4:	89 4e 24             	mov    %ecx,0x24(%esi)
4553d7:	88 4e 28             	mov    %cl,0x28(%esi)
4553da:	89 4e 10             	mov    %ecx,0x10(%esi)
4553dd:	89 4e 14             	mov    %ecx,0x14(%esi)
4553e0:	89 4e 18             	mov    %ecx,0x18(%esi)
4553e3:	89 4e 1c             	mov    %ecx,0x1c(%esi)
4553e6:	66 85 c0             	test   %ax,%ax
4553e9:	74 1e                	je     0x455409
4553eb:	48                   	dec    %eax
4553ec:	99                   	cltd
4553ed:	83 e2 1f             	and    $0x1f,%edx
4553f0:	03 c2                	add    %edx,%eax
4553f2:	c1 f8 05             	sar    $0x5,%eax
4553f5:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
4553fc:	50                   	push   %eax
4553fd:	51                   	push   %ecx
4553fe:	ff 76 2c             	push   0x2c(%esi)
455401:	e8 33 bc 03 00       	call   0x491039
455406:	83 c4 0c             	add    $0xc,%esp
455409:	5e                   	pop    %esi
45540a:	5d                   	pop    %ebp
45540b:	c2 24 00             	ret    $0x24
45540e:	a1 08 00 4a 00       	mov    0x4a0008,%eax
455413:	0b 05 0c 00 4a 00    	or     0x4a000c,%eax
455419:	74 04                	je     0x45541f
45541b:	33 c0                	xor    %eax,%eax
45541d:	eb 17                	jmp    0x455436
45541f:	b8 08 00 4a 00       	mov    $0x4a0008,%eax
455424:	50                   	push   %eax
455425:	50                   	push   %eax
455426:	68 00 53 45 00       	push   $0x455300
45542b:	68 50 f4 40 00       	push   $0x40f450
455430:	ff 15 24 70 4a 00    	call   *0x4a7024
455436:	c2 08 00             	ret    $0x8
455439:	c7 01 2c 36 40 00    	movl   $0x40362c,(%ecx)
45543f:	e9 8f a9 fc ff       	jmp    0x41fdd3
455444:	cc                   	int3
455445:	cc                   	int3
455446:	cc                   	int3
455447:	cc                   	int3
455448:	cc                   	int3
455449:	cc                   	int3
45544a:	cc                   	int3
45544b:	cc                   	int3
45544c:	cc                   	int3
45544d:	cc                   	int3
45544e:	cc                   	int3
45544f:	cc                   	int3
455450:	8b ff                	mov    %edi,%edi
455452:	55                   	push   %ebp
455453:	8b ec                	mov    %esp,%ebp
455455:	56                   	push   %esi
455456:	8b f1                	mov    %ecx,%esi
455458:	c7 06 2c 36 40 00    	movl   $0x40362c,(%esi)
45545e:	e8 70 a9 fc ff       	call   0x41fdd3
455463:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
455467:	74 08                	je     0x455471
455469:	56                   	push   %esi
45546a:	ff 15 10 74 4a 00    	call   *0x4a7410
455470:	59                   	pop    %ecx
455471:	8b c6                	mov    %esi,%eax
455473:	5e                   	pop    %esi
455474:	5d                   	pop    %ebp
455475:	c2 04 00             	ret    $0x4
455478:	8b ff                	mov    %edi,%edi
45547a:	55                   	push   %ebp
45547b:	8b ec                	mov    %esp,%ebp
45547d:	ff 75 0c             	push   0xc(%ebp)
455480:	33 c0                	xor    %eax,%eax
455482:	50                   	push   %eax
455483:	ff 75 04             	push   0x4(%ebp)
455486:	50                   	push   %eax
455487:	50                   	push   %eax
455488:	68 d8 03 41 00       	push   $0x4103d8
45548d:	e8 0f 34 fc ff       	call   0x4188a1
455492:	5d                   	pop    %ebp
455493:	c2 08 00             	ret    $0x8
455496:	cc                   	int3
455497:	cc                   	int3
455498:	cc                   	int3
455499:	cc                   	int3
45549a:	cc                   	int3
45549b:	cc                   	int3
45549c:	cc                   	int3
45549d:	cc                   	int3
45549e:	cc                   	int3
45549f:	cc                   	int3
4554a0:	a1 e0 7a 4a 00       	mov    0x4a7ae0,%eax
4554a5:	c3                   	ret
4554a6:	cc                   	int3
4554a7:	cc                   	int3
4554a8:	cc                   	int3
4554a9:	cc                   	int3
4554aa:	cc                   	int3
4554ab:	cc                   	int3
4554ac:	cc                   	int3
4554ad:	cc                   	int3
4554ae:	cc                   	int3
4554af:	cc                   	int3
4554b0:	b8 e0 44 40 00       	mov    $0x4044e0,%eax
4554b5:	c3                   	ret
4554b6:	8b ff                	mov    %edi,%edi
4554b8:	55                   	push   %ebp
4554b9:	8b ec                	mov    %esp,%ebp
4554bb:	51                   	push   %ecx
4554bc:	56                   	push   %esi
4554bd:	57                   	push   %edi
4554be:	6a 00                	push   $0x0
4554c0:	68 0c 01 84 00       	push   $0x84010c
4554c5:	8b f9                	mov    %ecx,%edi
4554c7:	6a 00                	push   $0x0
4554c9:	89 7d fc             	mov    %edi,-0x4(%ebp)
4554cc:	ff 15 e4 7a 4a 00    	call   *0x4a7ae4
4554d2:	6a 54                	push   $0x54
4554d4:	8d b7 ac 00 00 00    	lea    0xac(%edi),%esi
4554da:	c7 07 f8 43 40 00    	movl   $0x4043f8,(%edi)
4554e0:	6a 00                	push   $0x0
4554e2:	56                   	push   %esi
4554e3:	c7 87 a8 00 00 00 dc 	movl   $0x4043dc,0xa8(%edi)
4554ea:	43 40 00
4554ed:	e8 47 bb 03 00       	call   0x491039
4554f2:	83 c4 0c             	add    $0xc,%esp
4554f5:	c7 87 c0 00 00 00 0c 	movl   $0x84010c,0xc0(%edi)
4554fc:	01 84 00
4554ff:	8b c7                	mov    %edi,%eax
455501:	c7 06 54 00 00 00    	movl   $0x54,(%esi)
455507:	5f                   	pop    %edi
455508:	5e                   	pop    %esi
455509:	c9                   	leave
45550a:	c2 0c 00             	ret    $0xc
45550d:	cc                   	int3
45550e:	cc                   	int3
45550f:	cc                   	int3
455510:	8b ff                	mov    %edi,%edi
455512:	55                   	push   %ebp
455513:	8b ec                	mov    %esp,%ebp
455515:	56                   	push   %esi
455516:	8b f1                	mov    %ecx,%esi
455518:	ff 15 e0 75 4a 00    	call   *0x4a75e0
45551e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
455522:	74 08                	je     0x45552c
455524:	56                   	push   %esi
455525:	ff 15 10 74 4a 00    	call   *0x4a7410
45552b:	59                   	pop    %ecx
45552c:	8b c6                	mov    %esi,%eax
45552e:	5e                   	pop    %esi
45552f:	5d                   	pop    %ebp
455530:	c2 04 00             	ret    $0x4
455533:	cc                   	int3
455534:	cc                   	int3
455535:	cc                   	int3
455536:	cc                   	int3
455537:	cc                   	int3
455538:	cc                   	int3
455539:	cc                   	int3
45553a:	cc                   	int3
45553b:	cc                   	int3
45553c:	cc                   	int3
45553d:	cc                   	int3
45553e:	cc                   	int3
45553f:	cc                   	int3
455540:	8b ff                	mov    %edi,%edi
455542:	55                   	push   %ebp
455543:	8b ec                	mov    %esp,%ebp
455545:	51                   	push   %ecx
455546:	51                   	push   %ecx
455547:	57                   	push   %edi
455548:	8b f9                	mov    %ecx,%edi
45554a:	ff 15 e8 7a 4a 00    	call   *0x4a7ae8
455550:	8b 57 60             	mov    0x60(%edi),%edx
455553:	89 42 04             	mov    %eax,0x4(%edx)
455556:	ff 15 ec 7a 4a 00    	call   *0x4a7aec
45555c:	8b 4f 60             	mov    0x60(%edi),%ecx
45555f:	8b 41 04             	mov    0x4(%ecx),%eax
455562:	89 87 b0 00 00 00    	mov    %eax,0xb0(%edi)
455568:	8b 41 08             	mov    0x8(%ecx),%eax
45556b:	89 87 b4 00 00 00    	mov    %eax,0xb4(%edi)
455571:	8b 41 0c             	mov    0xc(%ecx),%eax
455574:	89 87 b8 00 00 00    	mov    %eax,0xb8(%edi)
45557a:	8b 41 10             	mov    0x10(%ecx),%eax
45557d:	89 87 bc 00 00 00    	mov    %eax,0xbc(%edi)
455583:	0f b7 41 1c          	movzwl 0x1c(%ecx),%eax
455587:	89 87 d8 00 00 00    	mov    %eax,0xd8(%edi)
45558d:	0f b7 41 1e          	movzwl 0x1e(%ecx),%eax
455591:	89 87 dc 00 00 00    	mov    %eax,0xdc(%edi)
455597:	8b 41 22             	mov    0x22(%ecx),%eax
45559a:	83 8f f8 00 00 00 ff 	orl    $0xffffffff,0xf8(%edi)
4555a1:	f6 87 c0 00 00 00 08 	testb  $0x8,0xc0(%edi)
4555a8:	89 87 e4 00 00 00    	mov    %eax,0xe4(%edi)
4555ae:	0f b7 41 20          	movzwl 0x20(%ecx),%eax
4555b2:	89 87 e0 00 00 00    	mov    %eax,0xe0(%edi)
4555b8:	8d 87 a8 00 00 00    	lea    0xa8(%edi),%eax
4555be:	89 87 ec 00 00 00    	mov    %eax,0xec(%edi)
4555c4:	74 06                	je     0x4555cc
4555c6:	33 c0                	xor    %eax,%eax
4555c8:	33 c9                	xor    %ecx,%ecx
4555ca:	eb 14                	jmp    0x4555e0
4555cc:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
4555d0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4555d3:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
4555d7:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4555da:	89 45 fc             	mov    %eax,-0x4(%ebp)
4555dd:	33 c0                	xor    %eax,%eax
4555df:	40                   	inc    %eax
4555e0:	53                   	push   %ebx
4555e1:	89 8f d4 00 00 00    	mov    %ecx,0xd4(%edi)
4555e7:	89 87 cc 00 00 00    	mov    %eax,0xcc(%edi)
4555ed:	68 d4 0a 41 00       	push   $0x410ad4
4555f2:	89 87 d0 00 00 00    	mov    %eax,0xd0(%edi)
4555f8:	ff 15 98 71 4a 00    	call   *0x4a7198
4555fe:	68 e4 0a 41 00       	push   $0x410ae4
455603:	50                   	push   %eax
455604:	ff 15 80 72 4a 00    	call   *0x4a7280
45560a:	8b d8                	mov    %eax,%ebx
45560c:	85 db                	test   %ebx,%ebx
45560e:	74 26                	je     0x455636
455610:	56                   	push   %esi
455611:	ff 15 f0 7a 4a 00    	call   *0x4a7af0
455617:	8b f0                	mov    %eax,%esi
455619:	8d 8f ac 00 00 00    	lea    0xac(%edi),%ecx
45561f:	51                   	push   %ecx
455620:	8b cb                	mov    %ebx,%ecx
455622:	89 7e 18             	mov    %edi,0x18(%esi)
455625:	ff 15 2c 81 4a 00    	call   *0x4a812c
45562b:	ff d3                	call   *%ebx
45562d:	83 66 18 00          	andl   $0x0,0x18(%esi)
455631:	8b d8                	mov    %eax,%ebx
455633:	5e                   	pop    %esi
455634:	eb 05                	jmp    0x45563b
455636:	bb 01 40 00 80       	mov    $0x80004001,%ebx
45563b:	8b cf                	mov    %edi,%ecx
45563d:	ff 15 f4 7a 4a 00    	call   *0x4a7af4
455643:	f6 87 c0 00 00 00 08 	testb  $0x8,0xc0(%edi)
45564a:	75 3d                	jne    0x455689
45564c:	8b 8f d4 00 00 00    	mov    0xd4(%edi),%ecx
455652:	8b 57 60             	mov    0x60(%edi),%edx
455655:	66 8b 41 04          	mov    0x4(%ecx),%ax
455659:	66 89 42 1a          	mov    %ax,0x1a(%edx)
45565d:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
455663:	8b 4f 60             	mov    0x60(%edi),%ecx
455666:	66 8b 00             	mov    (%eax),%ax
455669:	66 89 41 18          	mov    %ax,0x18(%ecx)
45566d:	8b 4f 60             	mov    0x60(%edi),%ecx
455670:	66 8b 87 d8 00 00 00 	mov    0xd8(%edi),%ax
455677:	66 89 41 1c          	mov    %ax,0x1c(%ecx)
45567b:	8b 4f 60             	mov    0x60(%edi),%ecx
45567e:	66 8b 87 dc 00 00 00 	mov    0xdc(%edi),%ax
455685:	66 89 41 1e          	mov    %ax,0x1e(%ecx)
455689:	8b 4f 60             	mov    0x60(%edi),%ecx
45568c:	85 db                	test   %ebx,%ebx
45568e:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
455694:	6a 02                	push   $0x2
455696:	89 41 08             	mov    %eax,0x8(%ecx)
455699:	8b 4f 60             	mov    0x60(%edi),%ecx
45569c:	8b 87 b8 00 00 00    	mov    0xb8(%edi),%eax
4556a2:	89 41 0c             	mov    %eax,0xc(%ecx)
4556a5:	8b 4f 60             	mov    0x60(%edi),%ecx
4556a8:	8b 87 bc 00 00 00    	mov    0xbc(%edi),%eax
4556ae:	89 41 10             	mov    %eax,0x10(%ecx)
4556b1:	8b 4f 60             	mov    0x60(%edi),%ecx
4556b4:	66 8b 87 e0 00 00 00 	mov    0xe0(%edi),%ax
4556bb:	66 89 41 20          	mov    %ax,0x20(%ecx)
4556bf:	58                   	pop    %eax
4556c0:	5b                   	pop    %ebx
4556c1:	78 0c                	js     0x4556cf
4556c3:	83 bf fc 00 00 00 01 	cmpl   $0x1,0xfc(%edi)
4556ca:	75 03                	jne    0x4556cf
4556cc:	33 c0                	xor    %eax,%eax
4556ce:	40                   	inc    %eax
4556cf:	5f                   	pop    %edi
4556d0:	c9                   	leave
4556d1:	c3                   	ret
4556d2:	cc                   	int3
4556d3:	cc                   	int3
4556d4:	cc                   	int3
4556d5:	cc                   	int3
4556d6:	cc                   	int3
4556d7:	cc                   	int3
4556d8:	cc                   	int3
4556d9:	cc                   	int3
4556da:	cc                   	int3
4556db:	cc                   	int3
4556dc:	cc                   	int3
4556dd:	cc                   	int3
4556de:	cc                   	int3
4556df:	cc                   	int3
4556e0:	8b ff                	mov    %edi,%edi
4556e2:	55                   	push   %ebp
4556e3:	8b ec                	mov    %esp,%ebp
4556e5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4556e8:	8d 89 58 ff ff ff    	lea    -0xa8(%ecx),%ecx
4556ee:	ff 15 d4 78 4a 00    	call   *0x4a78d4
4556f4:	5d                   	pop    %ebp
4556f5:	c2 04 00             	ret    $0x4
4556f8:	cc                   	int3
4556f9:	cc                   	int3
4556fa:	cc                   	int3
4556fb:	cc                   	int3
4556fc:	cc                   	int3
4556fd:	cc                   	int3
4556fe:	cc                   	int3
4556ff:	cc                   	int3
455700:	8b ff                	mov    %edi,%edi
455702:	55                   	push   %ebp
455703:	8b ec                	mov    %esp,%ebp
455705:	8b 4d 08             	mov    0x8(%ebp),%ecx
455708:	8d 89 58 ff ff ff    	lea    -0xa8(%ecx),%ecx
45570e:	ff 15 d8 78 4a 00    	call   *0x4a78d8
455714:	5d                   	pop    %ebp
455715:	c2 04 00             	ret    $0x4
455718:	cc                   	int3
455719:	cc                   	int3
45571a:	cc                   	int3
45571b:	cc                   	int3
45571c:	cc                   	int3
45571d:	cc                   	int3
45571e:	cc                   	int3
45571f:	cc                   	int3
455720:	8b ff                	mov    %edi,%edi
455722:	55                   	push   %ebp
455723:	8b ec                	mov    %esp,%ebp
455725:	ff 75 10             	push   0x10(%ebp)