53947f:	0f 84 04 ff ff ff    	je     0x539389
539485:	8b 74 24 30          	mov    0x30(%esp),%esi
539489:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
539490:	00
539491:	89 74 24 28          	mov    %esi,0x28(%esp)
539495:	53                   	push   %ebx
539496:	57                   	push   %edi
539497:	55                   	push   %ebp
539498:	e8 a3 51 fd ff       	call   0x50e640
53949d:	83 c4 0c             	add    $0xc,%esp
5394a0:	85 c0                	test   %eax,%eax
5394a2:	0f 84 e1 fe ff ff    	je     0x539389
5394a8:	6a 08                	push   $0x8
5394aa:	ff 77 08             	push   0x8(%edi)
5394ad:	8d 44 24 3c          	lea    0x3c(%esp),%eax
5394b1:	50                   	push   %eax
5394b2:	e8 b9 5f fc ff       	call   0x4ff470
5394b7:	83 c4 0c             	add    $0xc,%esp
5394ba:	85 c0                	test   %eax,%eax
5394bc:	0f 84 e0 00 00 00    	je     0x5395a2
5394c2:	6a 08                	push   $0x8
5394c4:	ff 77 0c             	push   0xc(%edi)
5394c7:	8d 44 24 5c          	lea    0x5c(%esp),%eax
5394cb:	50                   	push   %eax
5394cc:	e8 9f 5f fc ff       	call   0x4ff470
5394d1:	83 c4 0c             	add    $0xc,%esp
5394d4:	85 c0                	test   %eax,%eax
5394d6:	0f 84 c6 00 00 00    	je     0x5395a2
5394dc:	ff 74 24 20          	push   0x20(%esp)
5394e0:	8d 44 24 38          	lea    0x38(%esp),%eax
5394e4:	50                   	push   %eax
5394e5:	56                   	push   %esi
5394e6:	e8 05 9d f0 ff       	call   0x4431f0
5394eb:	83 c4 0c             	add    $0xc,%esp
5394ee:	33 f6                	xor    %esi,%esi
5394f0:	53                   	push   %ebx
5394f1:	57                   	push   %edi
5394f2:	57                   	push   %edi
5394f3:	55                   	push   %ebp
5394f4:	e8 27 4e fd ff       	call   0x50e320
5394f9:	83 c4 10             	add    $0x10,%esp
5394fc:	85 c0                	test   %eax,%eax
5394fe:	0f 84 85 fe ff ff    	je     0x539389
539504:	46                   	inc    %esi
539505:	83 fe 07             	cmp    $0x7,%esi
539508:	7c e6                	jl     0x5394f0
53950a:	8b 44 24 24          	mov    0x24(%esp),%eax
53950e:	8b 74 24 28          	mov    0x28(%esp),%esi
539512:	40                   	inc    %eax
539513:	81 c6 00 10 00 00    	add    $0x1000,%esi
539519:	89 44 24 24          	mov    %eax,0x24(%esp)
53951d:	89 74 24 28          	mov    %esi,0x28(%esp)
539521:	83 f8 25             	cmp    $0x25,%eax
539524:	0f 8c 6b ff ff ff    	jl     0x539495
53952a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53952e:	53                   	push   %ebx
53952f:	ff 74 24 30          	push   0x30(%esp)
539533:	50                   	push   %eax
539534:	50                   	push   %eax
539535:	55                   	push   %ebp
539536:	e8 e5 4b fd ff       	call   0x50e120
53953b:	83 c4 14             	add    $0x14,%esp
53953e:	85 c0                	test   %eax,%eax
539540:	0f 84 43 fe ff ff    	je     0x539389
539546:	8b 74 24 20          	mov    0x20(%esp),%esi
53954a:	46                   	inc    %esi
53954b:	89 74 24 20          	mov    %esi,0x20(%esp)
53954f:	83 fe 40             	cmp    $0x40,%esi
539552:	0f 8c 18 ff ff ff    	jl     0x539470
539558:	8b 44 24 14          	mov    0x14(%esp),%eax
53955c:	be 01 00 00 00       	mov    $0x1,%esi
539561:	8b 4c 24 30          	mov    0x30(%esp),%ecx
539565:	53                   	push   %ebx
539566:	89 48 08             	mov    %ecx,0x8(%eax)
539569:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
53956d:	89 28                	mov    %ebp,(%eax)
53956f:	c7 40 04 07 00 00 00 	movl   $0x7,0x4(%eax)
539576:	89 48 0c             	mov    %ecx,0xc(%eax)
539579:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
539580:	00
539581:	c7 45 60 04 00 00 00 	movl   $0x4,0x60(%ebp)
539588:	89 45 64             	mov    %eax,0x64(%ebp)
53958b:	e8 40 e5 fa ff       	call   0x4e7ad0
539590:	8b 6c 24 14          	mov    0x14(%esp),%ebp
539594:	55                   	push   %ebp
539595:	e8 a6 e5 fa ff       	call   0x4e7b40
53959a:	83 c4 08             	add    $0x8,%esp
53959d:	e9 3c fe ff ff       	jmp    0x5393de
5395a2:	68 83 03 00 00       	push   $0x383
5395a7:	68 34 a2 64 00       	push   $0x64a234
5395ac:	68 92 00 00 00       	push   $0x92
5395b1:	68 f3 00 00 00       	push   $0xf3
5395b6:	6a 10                	push   $0x10
5395b8:	e8 c3 f9 f9 ff       	call   0x4d8f80
5395bd:	83 c4 14             	add    $0x14,%esp
5395c0:	e9 c4 fd ff ff       	jmp    0x539389
5395c5:	cc                   	int3
5395c6:	cc                   	int3
5395c7:	cc                   	int3
5395c8:	cc                   	int3
5395c9:	cc                   	int3
5395ca:	cc                   	int3
5395cb:	cc                   	int3
5395cc:	cc                   	int3
5395cd:	cc                   	int3
5395ce:	cc                   	int3
5395cf:	cc                   	int3
5395d0:	55                   	push   %ebp
5395d1:	8b ec                	mov    %esp,%ebp
5395d3:	83 e4 e0             	and    $0xffffffe0,%esp
5395d6:	b8 38 01 00 00       	mov    $0x138,%eax
5395db:	e8 d0 81 09 00       	call   0x5d17b0
5395e0:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5395e5:	33 c4                	xor    %esp,%eax
5395e7:	89 84 24 34 01 00 00 	mov    %eax,0x134(%esp)
5395ee:	8b 45 1c             	mov    0x1c(%ebp),%eax
5395f1:	0f 57 c0             	xorps  %xmm0,%xmm0
5395f4:	8b 4d 14             	mov    0x14(%ebp),%ecx
5395f7:	89 44 24 24          	mov    %eax,0x24(%esp)
5395fb:	8b 45 18             	mov    0x18(%ebp),%eax
5395fe:	56                   	push   %esi
5395ff:	8b 75 08             	mov    0x8(%ebp),%esi
539602:	89 44 24 2c          	mov    %eax,0x2c(%esp)
539606:	8b 45 0c             	mov    0xc(%ebp),%eax
539609:	89 4c 24 10          	mov    %ecx,0x10(%esp)
53960d:	83 c1 01             	add    $0x1,%ecx
539610:	57                   	push   %edi
539611:	8b 7d 10             	mov    0x10(%ebp),%edi
539614:	89 44 24 3c          	mov    %eax,0x3c(%esp)
539618:	8b 45 20             	mov    0x20(%ebp),%eax
53961b:	89 74 24 24          	mov    %esi,0x24(%esp)
53961f:	89 7c 24 28          	mov    %edi,0x28(%esp)
539623:	89 44 24 0c          	mov    %eax,0xc(%esp)
539627:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
53962e:	00
53962f:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
539636:	00
539637:	0f 29 84 24 00 01 00 	movaps %xmm0,0x100(%esp)
53963e:	00
53963f:	0f 29 84 24 10 01 00 	movaps %xmm0,0x110(%esp)
539646:	00
539647:	c6 84 24 20 01 00 00 	movb   $0x0,0x120(%esp)
53964e:	00
53964f:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
539656:	00
539657:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
53965e:	00
53965f:	89 4c 24 34          	mov    %ecx,0x34(%esp)
539663:	0f 84 c4 05 00 00    	je     0x539c2d
539669:	81 f9 ff ff ff 1f    	cmp    $0x1fffffff,%ecx
53966f:	0f 87 b8 05 00 00    	ja     0x539c2d
539675:	50                   	push   %eax
539676:	e8 95 e7 fa ff       	call   0x4e7e10
53967b:	83 c4 04             	add    $0x4,%esp
53967e:	85 ff                	test   %edi,%edi
539680:	0f 84 c5 04 00 00    	je     0x539b4b
539686:	56                   	push   %esi
539687:	e8 44 ff f9 ff       	call   0x4d95d0
53968c:	83 c4 04             	add    $0x4,%esp
53968f:	89 44 24 20          	mov    %eax,0x20(%esp)
539693:	85 c0                	test   %eax,%eax
539695:	75 64                	jne    0x5396fb
539697:	68 d5 03 00 00       	push   $0x3d5
53969c:	68 34 a2 64 00       	push   $0x64a234
5396a1:	6a 71                	push   $0x71
5396a3:	68 f1 00 00 00       	push   $0xf1
5396a8:	6a 10                	push   $0x10
5396aa:	e8 d1 f8 f9 ff       	call   0x4d8f80
5396af:	83 c4 14             	add    $0x14,%esp
5396b2:	33 f6                	xor    %esi,%esi
5396b4:	ff 74 24 0c          	push   0xc(%esp)
5396b8:	e8 13 e4 fa ff       	call   0x4e7ad0
5396bd:	68 8d 04 00 00       	push   $0x48d
5396c2:	68 34 a2 64 00       	push   $0x64a234
5396c7:	ff 74 24 28          	push   0x28(%esp)
5396cb:	e8 b0 70 fa ff       	call   0x4e0780
5396d0:	68 8e 04 00 00       	push   $0x48e
5396d5:	68 34 a2 64 00       	push   $0x64a234
5396da:	56                   	push   %esi
5396db:	e8 a0 70 fa ff       	call   0x4e0780
5396e0:	8b 44 24 54          	mov    0x54(%esp),%eax
5396e4:	83 c4 1c             	add    $0x1c,%esp
5396e7:	5f                   	pop    %edi
5396e8:	5e                   	pop    %esi
5396e9:	8b 8c 24 34 01 00 00 	mov    0x134(%esp),%ecx
5396f0:	33 cc                	xor    %esp,%ecx
5396f2:	e8 2f 83 09 00       	call   0x5d1a26
5396f7:	8b e5                	mov    %ebp,%esp
5396f9:	5d                   	pop    %ebp
5396fa:	c3                   	ret
5396fb:	8b 46 64             	mov    0x64(%esi),%eax
5396fe:	89 44 24 10          	mov    %eax,0x10(%esp)
539702:	85 c0                	test   %eax,%eax
539704:	0f 84 ab 00 00 00    	je     0x5397b5
53970a:	56                   	push   %esi
53970b:	e8 f0 4f fd ff       	call   0x50e700
539710:	8b f0                	mov    %eax,%esi
539712:	83 c4 04             	add    $0x4,%esp
539715:	85 f6                	test   %esi,%esi
539717:	74 99                	je     0x5396b2
539719:	8b 44 24 10          	mov    0x10(%esp),%eax
53971d:	6a 01                	push   $0x1
53971f:	ff 70 08             	push   0x8(%eax)
539722:	8d 44 24 48          	lea    0x48(%esp),%eax
539726:	50                   	push   %eax
539727:	e8 14 9b f0 ff       	call   0x443240
53972c:	6a 08                	push   $0x8
53972e:	8d 44 24 50          	lea    0x50(%esp),%eax
539732:	50                   	push   %eax
539733:	ff 76 08             	push   0x8(%esi)
539736:	e8 a5 5d fc ff       	call   0x4ff4e0
53973b:	83 c4 18             	add    $0x18,%esp
53973e:	85 c0                	test   %eax,%eax
539740:	0f 84 e8 00 00 00    	je     0x53982e
539746:	6a 08                	push   $0x8
539748:	8d 44 24 64          	lea    0x64(%esp),%eax
53974c:	50                   	push   %eax
53974d:	ff 76 0c             	push   0xc(%esi)
539750:	e8 8b 5d fc ff       	call   0x4ff4e0
539755:	83 c4 0c             	add    $0xc,%esp
539758:	85 c0                	test   %eax,%eax
53975a:	0f 84 ce 00 00 00    	je     0x53982e
539760:	6a 08                	push   $0x8
539762:	68 f8 a0 64 00       	push   $0x64a0f8
539767:	ff 76 10             	push   0x10(%esi)
53976a:	e8 71 5d fc ff       	call   0x4ff4e0
53976f:	83 c4 0c             	add    $0xc,%esp
539772:	85 c0                	test   %eax,%eax
539774:	0f 84 b4 00 00 00    	je     0x53982e
53977a:	ff 74 24 0c          	push   0xc(%esp)
53977e:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
539785:	56                   	push   %esi
539786:	ff 74 24 28          	push   0x28(%esp)
53978a:	ff 74 24 30          	push   0x30(%esp)
53978e:	e8 7d 4a fd ff       	call   0x50e210
539793:	83 c4 10             	add    $0x10,%esp
539796:	85 c0                	test   %eax,%eax
539798:	75 0b                	jne    0x5397a5
53979a:	8b 44 24 10          	mov    0x10(%esp),%eax
53979e:	8b 40 08             	mov    0x8(%eax),%eax
5397a1:	89 44 24 08          	mov    %eax,0x8(%esp)
5397a5:	56                   	push   %esi
5397a6:	e8 05 4c fd ff       	call   0x50e3b0
5397ab:	83 c4 04             	add    $0x4,%esp
5397ae:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
5397b3:	75 1c                	jne    0x5397d1
5397b5:	ff 74 24 20          	push   0x20(%esp)
5397b9:	e8 d2 07 00 00       	call   0x539f90
5397be:	83 c4 04             	add    $0x4,%esp
5397c1:	85 c0                	test   %eax,%eax
5397c3:	0f 84 be 02 00 00    	je     0x539a87
5397c9:	c7 44 24 08 00 d0 41 	movl   $0x41d000,0x8(%esp)
5397d0:	00
5397d1:	57                   	push   %edi
5397d2:	e8 49 06 fa ff       	call   0x4d9e20
5397d7:	83 c4 04             	add    $0x4,%esp
5397da:	3d 00 01 00 00       	cmp    $0x100,%eax
5397df:	7f 0d                	jg     0x5397ee
5397e1:	57                   	push   %edi
5397e2:	e8 f9 04 fa ff       	call   0x4d9ce0
5397e7:	83 c4 04             	add    $0x4,%esp
5397ea:	85 c0                	test   %eax,%eax
5397ec:	74 54                	je     0x539842
5397ee:	ff 74 24 0c          	push   0xc(%esp)
5397f2:	e8 d9 e3 fa ff       	call   0x4e7bd0
5397f7:	8b f0                	mov    %eax,%esi
5397f9:	83 c4 04             	add    $0x4,%esp
5397fc:	85 f6                	test   %esi,%esi
5397fe:	0f 84 ae fe ff ff    	je     0x5396b2
539804:	8b 44 24 24          	mov    0x24(%esp),%eax
539808:	ff 74 24 0c          	push   0xc(%esp)
53980c:	ff 70 08             	push   0x8(%eax)
53980f:	57                   	push   %edi
539810:	56                   	push   %esi
539811:	e8 aa 3f fc ff       	call   0x4fd7c0
539816:	83 c4 10             	add    $0x10,%esp
539819:	85 c0                	test   %eax,%eax
53981b:	75 1f                	jne    0x53983c
53981d:	68 05 04 00 00       	push   $0x405
539822:	68 34 a2 64 00       	push   $0x64a234
539827:	6a 03                	push   $0x3
539829:	e9 75 fe ff ff       	jmp    0x5396a3
53982e:	56                   	push   %esi
53982f:	e8 7c 4b fd ff       	call   0x50e3b0
539834:	83 c4 04             	add    $0x4,%esp
539837:	e9 76 fe ff ff       	jmp    0x5396b2
53983c:	8b fe                	mov    %esi,%edi
53983e:	89 74 24 28          	mov    %esi,0x28(%esp)
539842:	57                   	push   %edi
539843:	33 f6                	xor    %esi,%esi
539845:	e8 86 fd f9 ff       	call   0x4d95d0
53984a:	c1 e0 02             	shl    $0x2,%eax
53984d:	83 c4 04             	add    $0x4,%esp
539850:	85 c0                	test   %eax,%eax
539852:	7e 5c                	jle    0x5398b0
539854:	57                   	push   %edi
539855:	e8 66 68 fb ff       	call   0x4f00c0
53985a:	8b ce                	mov    %esi,%ecx
53985c:	85 c9                	test   %ecx,%ecx
53985e:	79 03                	jns    0x539863
539860:	83 c1 03             	add    $0x3,%ecx
539863:	c1 f9 02             	sar    $0x2,%ecx
539866:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
539869:	8b c1                	mov    %ecx,%eax
53986b:	c1 e8 08             	shr    $0x8,%eax
53986e:	88 84 34 05 01 00 00 	mov    %al,0x105(%esp,%esi,1)
539875:	8b c1                	mov    %ecx,%eax
539877:	88 8c 34 04 01 00 00 	mov    %cl,0x104(%esp,%esi,1)
53987e:	c1 e8 10             	shr    $0x10,%eax
539881:	c1 e9 18             	shr    $0x18,%ecx
539884:	88 84 34 06 01 00 00 	mov    %al,0x106(%esp,%esi,1)
53988b:	88 8c 34 07 01 00 00 	mov    %cl,0x107(%esp,%esi,1)
539892:	83 c6 04             	add    $0x4,%esi
539895:	57                   	push   %edi
539896:	e8 35 fd f9 ff       	call   0x4d95d0
53989b:	c1 e0 02             	shl    $0x2,%eax
53989e:	83 c4 08             	add    $0x8,%esp
5398a1:	3b f0                	cmp    %eax,%esi
5398a3:	7c af                	jl     0x539854
5398a5:	83 fe 21             	cmp    $0x21,%esi
5398a8:	7d 1d                	jge    0x5398c7
5398aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5398b0:	83 fe 21             	cmp    $0x21,%esi
5398b3:	0f 83 a5 03 00 00    	jae    0x539c5e
5398b9:	c6 84 34 00 01 00 00 	movb   $0x0,0x100(%esp,%esi,1)
5398c0:	00
5398c1:	46                   	inc    %esi
5398c2:	83 fe 21             	cmp    $0x21,%esi
5398c5:	7c ec                	jl     0x5398b3
5398c7:	0f b6 94 24 00 01 00 	movzbl 0x100(%esp),%edx
5398ce:	00
5398cf:	b9 ff 00 00 00       	mov    $0xff,%ecx
5398d4:	83 e2 7f             	and    $0x7f,%edx
5398d7:	03 d2                	add    %edx,%edx
5398d9:	8b c2                	mov    %edx,%eax
5398db:	2b ca                	sub    %edx,%ecx
5398dd:	c1 e8 07             	shr    $0x7,%eax
5398e0:	48                   	dec    %eax
5398e1:	8b f0                	mov    %eax,%esi
5398e3:	23 c2                	and    %edx,%eax
5398e5:	f7 d6                	not    %esi
5398e7:	23 ce                	and    %esi,%ecx
5398e9:	83 e6 01             	and    $0x1,%esi
5398ec:	0b c8                	or     %eax,%ecx
5398ee:	8b c1                	mov    %ecx,%eax
5398f0:	83 e1 01             	and    $0x1,%ecx
5398f3:	d1 e8                	shr    $1,%eax
5398f5:	03 c1                	add    %ecx,%eax
5398f7:	8d 34 46             	lea    (%esi,%eax,2),%esi
5398fa:	8b c6                	mov    %esi,%eax