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
5398fc:	d1 e8                	shr    $1,%eax
5398fe:	50                   	push   %eax
5398ff:	ff 74 24 0c          	push   0xc(%esp)
539903:	8d 44 24 48          	lea    0x48(%esp),%eax
539907:	50                   	push   %eax
539908:	e8 33 99 f0 ff       	call   0x443240
53990d:	8d 44 24 6c          	lea    0x6c(%esp),%eax
539911:	50                   	push   %eax
539912:	8d 84 24 90 00 00 00 	lea    0x90(%esp),%eax
539919:	50                   	push   %eax
53991a:	e8 81 8a f0 ff       	call   0x4423a0
53991f:	83 e6 01             	and    $0x1,%esi
539922:	8d 84 24 94 00 00 00 	lea    0x94(%esp),%eax
539929:	56                   	push   %esi
53992a:	50                   	push   %eax
53992b:	8d 44 24 7c          	lea    0x7c(%esp),%eax
53992f:	50                   	push   %eax
539930:	e8 cb 05 00 00       	call   0x539f00
539935:	8b 4c 24 60          	mov    0x60(%esp),%ecx
539939:	83 c4 20             	add    $0x20,%esp
53993c:	0b 4c 24 44          	or     0x44(%esp),%ecx
539940:	0b 4c 24 48          	or     0x48(%esp),%ecx
539944:	0b 4c 24 4c          	or     0x4c(%esp),%ecx
539948:	0b 4c 24 50          	or     0x50(%esp),%ecx
53994c:	0b 4c 24 54          	or     0x54(%esp),%ecx
539950:	0b 4c 24 58          	or     0x58(%esp),%ecx
539954:	0b 4c 24 5c          	or     0x5c(%esp),%ecx
539958:	0b 4c 24 60          	or     0x60(%esp),%ecx
53995c:	0b 4c 24 64          	or     0x64(%esp),%ecx
539960:	0b 4c 24 68          	or     0x68(%esp),%ecx
539964:	0b 4c 24 6c          	or     0x6c(%esp),%ecx
539968:	0b 4c 24 70          	or     0x70(%esp),%ecx
53996c:	0b 4c 24 74          	or     0x74(%esp),%ecx
539970:	0b 4c 24 78          	or     0x78(%esp),%ecx
539974:	0b 4c 24 7c          	or     0x7c(%esp),%ecx
539978:	8b c1                	mov    %ecx,%eax
53997a:	f7 d8                	neg    %eax
53997c:	0b c1                	or     %ecx,%eax
53997e:	f7 d0                	not    %eax
539980:	c1 e8 1f             	shr    $0x1f,%eax
539983:	48                   	dec    %eax
539984:	66 0f 6e c0          	movd   %eax,%xmm0
539988:	33 c0                	xor    %eax,%eax
53998a:	66 0f 70 c8 00       	pshufd $0x0,%xmm0,%xmm1
53998f:	90                   	nop
539990:	0f 10 80 f8 a0 64 00 	movups 0x64a0f8(%eax),%xmm0
539997:	66 0f db c1          	pand   %xmm1,%xmm0
53999b:	0f 11 84 04 80 00 00 	movups %xmm0,0x80(%esp,%eax,1)
5399a2:	00
5399a3:	83 c0 10             	add    $0x10,%eax
5399a6:	83 f8 20             	cmp    $0x20,%eax
5399a9:	7c e5                	jl     0x539990
5399ab:	8b 44 24 08          	mov    0x8(%esp),%eax
5399af:	bf 06 00 00 00       	mov    $0x6,%edi
5399b4:	05 00 10 00 00       	add    $0x1000,%eax
5399b9:	c7 44 24 10 24 00 00 	movl   $0x24,0x10(%esp)
5399c0:	00
5399c1:	89 44 24 08          	mov    %eax,0x8(%esp)
5399c5:	8b c7                	mov    %edi,%eax
5399c7:	8b cf                	mov    %edi,%ecx
5399c9:	c1 e8 03             	shr    $0x3,%eax
5399cc:	83 e1 07             	and    $0x7,%ecx
5399cf:	83 c7 07             	add    $0x7,%edi
5399d2:	0f b6 94 04 01 01 00 	movzbl 0x101(%esp,%eax,1),%edx
5399d9:	00
5399da:	0f b6 84 04 00 01 00 	movzbl 0x100(%esp,%eax,1),%eax
5399e1:	00
5399e2:	c1 e2 08             	shl    $0x8,%edx
5399e5:	0b d0                	or     %eax,%edx
5399e7:	d3 ea                	shr    %cl,%edx
5399e9:	b9 ff 00 00 00       	mov    $0xff,%ecx
5399ee:	0f b6 d2             	movzbl %dl,%edx
5399f1:	8b c2                	mov    %edx,%eax
5399f3:	2b ca                	sub    %edx,%ecx
5399f5:	c1 e8 07             	shr    $0x7,%eax
5399f8:	48                   	dec    %eax
5399f9:	8b f0                	mov    %eax,%esi
5399fb:	23 c2                	and    %edx,%eax
5399fd:	f7 d6                	not    %esi
5399ff:	23 ce                	and    %esi,%ecx
539a01:	83 e6 01             	and    $0x1,%esi
539a04:	0b c8                	or     %eax,%ecx
539a06:	8b c1                	mov    %ecx,%eax
539a08:	83 e1 01             	and    $0x1,%ecx
539a0b:	d1 e8                	shr    $1,%eax
539a0d:	03 c1                	add    %ecx,%eax
539a0f:	8d 34 46             	lea    (%esi,%eax,2),%esi
539a12:	8b c6                	mov    %esi,%eax
539a14:	d1 e8                	shr    $1,%eax
539a16:	50                   	push   %eax
539a17:	ff 74 24 0c          	push   0xc(%esp)
539a1b:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
539a22:	50                   	push   %eax
539a23:	e8 18 98 f0 ff       	call   0x443240
539a28:	8d 84 24 cc 00 00 00 	lea    0xcc(%esp),%eax
539a2f:	50                   	push   %eax
539a30:	8d 84 24 f0 00 00 00 	lea    0xf0(%esp),%eax
539a37:	50                   	push   %eax
539a38:	e8 63 89 f0 ff       	call   0x4423a0
539a3d:	83 e6 01             	and    $0x1,%esi
539a40:	8d 84 24 f4 00 00 00 	lea    0xf4(%esp),%eax
539a47:	56                   	push   %esi
539a48:	50                   	push   %eax
539a49:	8d 84 24 dc 00 00 00 	lea    0xdc(%esp),%eax
539a50:	50                   	push   %eax
539a51:	e8 aa 04 00 00       	call   0x539f00
539a56:	8d 84 24 c0 00 00 00 	lea    0xc0(%esp),%eax
539a5d:	50                   	push   %eax
539a5e:	8d 44 24 64          	lea    0x64(%esp),%eax
539a62:	50                   	push   %eax
539a63:	50                   	push   %eax
539a64:	e8 97 a4 f0 ff       	call   0x443f00
539a69:	81 44 24 34 00 10 00 	addl   $0x1000,0x34(%esp)
539a70:	00
539a71:	83 c4 2c             	add    $0x2c,%esp
539a74:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
539a79:	0f 85 46 ff ff ff    	jne    0x5399c5
539a7f:	8b 7c 24 28          	mov    0x28(%esp),%edi
539a83:	33 c0                	xor    %eax,%eax
539a85:	eb 09                	jmp    0x539a90
539a87:	b8 01 00 00 00       	mov    $0x1,%eax
539a8c:	89 44 24 18          	mov    %eax,0x18(%esp)
539a90:	85 c0                	test   %eax,%eax
539a92:	0f 84 bb 00 00 00    	je     0x539b53
539a98:	8b 44 24 14          	mov    0x14(%esp),%eax
539a9c:	68 5f 04 00 00       	push   $0x45f
539aa1:	68 34 a2 64 00       	push   $0x64a234
539aa6:	8d 34 85 00 00 00 00 	lea    0x0(,%eax,4),%esi
539aad:	8d 46 04             	lea    0x4(%esi),%eax
539ab0:	50                   	push   %eax
539ab1:	e8 9a 6c fa ff       	call   0x4e0750
539ab6:	83 c4 0c             	add    $0xc,%esp
539ab9:	89 44 24 08          	mov    %eax,0x8(%esp)
539abd:	85 c0                	test   %eax,%eax
539abf:	75 24                	jne    0x539ae5
539ac1:	68 61 04 00 00       	push   $0x461
539ac6:	68 34 a2 64 00       	push   $0x64a234
539acb:	6a 41                	push   $0x41
539acd:	68 f1 00 00 00       	push   $0xf1
539ad2:	6a 10                	push   $0x10
539ad4:	e8 a7 f4 f9 ff       	call   0x4d8f80
539ad9:	8b 74 24 1c          	mov    0x1c(%esp),%esi
539add:	83 c4 14             	add    $0x14,%esp
539ae0:	e9 cf fb ff ff       	jmp    0x5396b4
539ae5:	68 65 04 00 00       	push   $0x465
539aea:	8d 46 04             	lea    0x4(%esi),%eax
539aed:	68 34 a2 64 00       	push   $0x64a234
539af2:	50                   	push   %eax
539af3:	e8 58 6c fa ff       	call   0x4e0750
539af8:	83 c4 0c             	add    $0xc,%esp
539afb:	89 44 24 1c          	mov    %eax,0x1c(%esp)
539aff:	85 c0                	test   %eax,%eax
539b01:	75 07                	jne    0x539b0a
539b03:	68 67 04 00 00       	push   $0x467
539b08:	eb bc                	jmp    0x539ac6
539b0a:	56                   	push   %esi
539b0b:	ff 74 24 30          	push   0x30(%esp)
539b0f:	8b 74 24 10          	mov    0x10(%esp),%esi
539b13:	56                   	push   %esi
539b14:	e8 b7 92 09 00       	call   0x5d2dd0
539b19:	8b 4c 24 20          	mov    0x20(%esp),%ecx
539b1d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
539b21:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
539b28:	50                   	push   %eax
539b29:	89 3c 30             	mov    %edi,(%eax,%esi,1)
539b2c:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
539b30:	52                   	push   %edx
539b31:	57                   	push   %edi
539b32:	e8 99 92 09 00       	call   0x5d2dd0
539b37:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
539b3b:	83 c4 18             	add    $0x18,%esp
539b3e:	8b 44 24 20          	mov    0x20(%esp),%eax
539b42:	8b d7                	mov    %edi,%edx
539b44:	89 04 8f             	mov    %eax,(%edi,%ecx,4)
539b47:	8b c6                	mov    %esi,%eax