4f57b9:	2b d8                	sub    %eax,%ebx
4f57bb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4f57c0:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4f57c4:	03 ca                	add    %edx,%ecx
4f57c6:	42                   	inc    %edx
4f57c7:	8a 04 39             	mov    (%ecx,%edi,1),%al
4f57ca:	32 01                	xor    (%ecx),%al
4f57cc:	88 04 19             	mov    %al,(%ecx,%ebx,1)
4f57cf:	3b d5                	cmp    %ebp,%edx
4f57d1:	72 ed                	jb     0x4f57c0
4f57d3:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4f57d7:	5f                   	pop    %edi
4f57d8:	83 f9 10             	cmp    $0x10,%ecx
4f57db:	73 16                	jae    0x4f57f3
4f57dd:	b8 10 00 00 00       	mov    $0x10,%eax
4f57e2:	2b c1                	sub    %ecx,%eax
4f57e4:	50                   	push   %eax
4f57e5:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4f57e8:	6a 00                	push   $0x0
4f57ea:	50                   	push   %eax
4f57eb:	e8 80 d4 0d 00       	call   0x5d2c70
4f57f0:	83 c4 0c             	add    $0xc,%esp
4f57f3:	ff 74 24 10          	push   0x10(%esp)
4f57f7:	8d 44 24 40          	lea    0x40(%esp),%eax
4f57fb:	50                   	push   %eax
4f57fc:	56                   	push   %esi
4f57fd:	ff 54 24 20          	call   *0x20(%esp)
4f5801:	8b 44 24 48          	mov    0x48(%esp),%eax
4f5805:	83 c4 0c             	add    $0xc,%esp
4f5808:	31 46 10             	xor    %eax,0x10(%esi)
4f580b:	8b 44 24 40          	mov    0x40(%esp),%eax
4f580f:	31 46 14             	xor    %eax,0x14(%esi)
4f5812:	8b 44 24 44          	mov    0x44(%esp),%eax
4f5816:	31 46 18             	xor    %eax,0x18(%esi)
4f5819:	8b 44 24 48          	mov    0x48(%esp),%eax
4f581d:	31 46 1c             	xor    %eax,0x1c(%esi)
4f5820:	8a 44 24 0f          	mov    0xf(%esp),%al
4f5824:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4f5828:	88 06                	mov    %al,(%esi)
4f582a:	33 c0                	xor    %eax,%eax
4f582c:	5e                   	pop    %esi
4f582d:	5d                   	pop    %ebp
4f582e:	5b                   	pop    %ebx
4f582f:	33 cc                	xor    %esp,%ecx
4f5831:	e8 f0 c1 0d 00       	call   0x5d1a26
4f5836:	83 c4 44             	add    $0x44,%esp
4f5839:	c3                   	ret
4f583a:	cc                   	int3
4f583b:	cc                   	int3
4f583c:	cc                   	int3
4f583d:	cc                   	int3
4f583e:	cc                   	int3
4f583f:	cc                   	int3
4f5840:	b8 44 00 00 00       	mov    $0x44,%eax
4f5845:	e8 66 bf 0d 00       	call   0x5d17b0
4f584a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4f584f:	33 c4                	xor    %esp,%eax
4f5851:	89 44 24 40          	mov    %eax,0x40(%esp)
4f5855:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4f5859:	53                   	push   %ebx
4f585a:	8b 5c 24 54          	mov    0x54(%esp),%ebx
4f585e:	56                   	push   %esi
4f585f:	8b 74 24 50          	mov    0x50(%esp),%esi
4f5863:	89 44 24 0c          	mov    %eax,0xc(%esp)
4f5867:	8b 44 24 60          	mov    0x60(%esp),%eax
4f586b:	89 44 24 18          	mov    %eax,0x18(%esp)
4f586f:	8a 16                	mov    (%esi),%dl
4f5871:	8b 4e 28             	mov    0x28(%esi),%ecx
4f5874:	8b 46 2c             	mov    0x2c(%esi),%eax
4f5877:	89 74 24 1c          	mov    %esi,0x1c(%esp)
4f587b:	89 5c 24 20          	mov    %ebx,0x20(%esp)
4f587f:	88 54 24 0b          	mov    %dl,0xb(%esp)
4f5883:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4f5887:	89 44 24 10          	mov    %eax,0x10(%esp)
4f588b:	57                   	push   %edi
4f588c:	f6 c2 40             	test   $0x40,%dl
4f588f:	75 17                	jne    0x4f58a8
4f5891:	50                   	push   %eax
4f5892:	8d 46 10             	lea    0x10(%esi),%eax
4f5895:	50                   	push   %eax
4f5896:	56                   	push   %esi
4f5897:	ff d1                	call   *%ecx
4f5899:	8a 54 24 1b          	mov    0x1b(%esp),%dl
4f589d:	83 c4 0c             	add    $0xc,%esp
4f58a0:	83 46 20 01          	addl   $0x1,0x20(%esi)
4f58a4:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f58a8:	0f b6 c2             	movzbl %dl,%eax
4f58ab:	33 c9                	xor    %ecx,%ecx
4f58ad:	83 e0 07             	and    $0x7,%eax
4f58b0:	ba 0f 00 00 00       	mov    $0xf,%edx
4f58b5:	2b d0                	sub    %eax,%edx
4f58b7:	88 06                	mov    %al,(%esi)
4f58b9:	89 54 24 38          	mov    %edx,0x38(%esp)
4f58bd:	83 fa 0f             	cmp    $0xf,%edx
4f58c0:	73 13                	jae    0x4f58d5
4f58c2:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4f58c6:	0b c8                	or     %eax,%ecx
4f58c8:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4f58cc:	42                   	inc    %edx
4f58cd:	c1 e1 08             	shl    $0x8,%ecx
4f58d0:	83 fa 0f             	cmp    $0xf,%edx
4f58d3:	72 ed                	jb     0x4f58c2
4f58d5:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4f58d9:	8b 7c 24 60          	mov    0x60(%esp),%edi
4f58dd:	0b c8                	or     %eax,%ecx
4f58df:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4f58e3:	3b cf                	cmp    %edi,%ecx
4f58e5:	74 15                	je     0x4f58fc
4f58e7:	5f                   	pop    %edi
4f58e8:	5e                   	pop    %esi
4f58e9:	83 c8 ff             	or     $0xffffffff,%eax
4f58ec:	5b                   	pop    %ebx
4f58ed:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f58f1:	33 cc                	xor    %esp,%ecx
4f58f3:	e8 2e c1 0d 00       	call   0x5d1a26
4f58f8:	83 c4 44             	add    $0x44,%esp
4f58fb:	c3                   	ret
4f58fc:	8d 47 0f             	lea    0xf(%edi),%eax
4f58ff:	83 c8 08             	or     $0x8,%eax
4f5902:	c1 e8 03             	shr    $0x3,%eax
4f5905:	01 46 20             	add    %eax,0x20(%esi)
4f5908:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f590c:	81 7e 24 00 00 00 20 	cmpl   $0x20000000,0x24(%esi)
4f5913:	72 1f                	jb     0x4f5934
4f5915:	77 06                	ja     0x4f591d
4f5917:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
4f591b:	76 17                	jbe    0x4f5934
4f591d:	5f                   	pop    %edi
4f591e:	5e                   	pop    %esi
4f591f:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4f5924:	5b                   	pop    %ebx
4f5925:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f5929:	33 cc                	xor    %esp,%ecx
4f592b:	e8 f6 c0 0d 00       	call   0x5d1a26
4f5930:	83 c4 44             	add    $0x44,%esp
4f5933:	c3                   	ret
4f5934:	55                   	push   %ebp
4f5935:	8b ef                	mov    %edi,%ebp
4f5937:	8d 46 10             	lea    0x10(%esi),%eax
4f593a:	c1 ed 04             	shr    $0x4,%ebp
4f593d:	85 ed                	test   %ebp,%ebp
4f593f:	74 40                	je     0x4f5981
4f5941:	50                   	push   %eax
4f5942:	56                   	push   %esi
4f5943:	ff 74 24 20          	push   0x20(%esp)
4f5947:	55                   	push   %ebp
4f5948:	53                   	push   %ebx
4f5949:	ff 74 24 28          	push   0x28(%esp)
4f594d:	ff 54 24 38          	call   *0x38(%esp)
4f5951:	c1 e5 04             	shl    $0x4,%ebp
4f5954:	83 c4 18             	add    $0x18,%esp
4f5957:	01 6c 24 14          	add    %ebp,0x14(%esp)
4f595b:	03 dd                	add    %ebp,%ebx
4f595d:	2b fd                	sub    %ebp,%edi
4f595f:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4f5963:	89 7c 24 64          	mov    %edi,0x64(%esp)
4f5967:	0f 84 7e 01 00 00    	je     0x4f5aeb
4f596d:	c1 ed 04             	shr    $0x4,%ebp
4f5970:	55                   	push   %ebp
4f5971:	56                   	push   %esi
4f5972:	e8 e9 02 00 00       	call   0x4f5c60
4f5977:	8d 46 10             	lea    0x10(%esi),%eax
4f597a:	83 c4 08             	add    $0x8,%esp
4f597d:	8b c8                	mov    %eax,%ecx
4f597f:	eb 0a                	jmp    0x4f598b
4f5981:	8b c8                	mov    %eax,%ecx
4f5983:	85 ff                	test   %edi,%edi
4f5985:	0f 84 60 01 00 00    	je     0x4f5aeb
4f598b:	85 ff                	test   %edi,%edi
4f598d:	74 33                	je     0x4f59c2
4f598f:	8b 54 24 14          	mov    0x14(%esp),%edx
4f5993:	8b ef                	mov    %edi,%ebp
4f5995:	8a 02                	mov    (%edx),%al
4f5997:	8d 52 01             	lea    0x1(%edx),%edx
4f599a:	30 01                	xor    %al,(%ecx)
4f599c:	8d 49 01             	lea    0x1(%ecx),%ecx
4f599f:	83 ed 01             	sub    $0x1,%ebp
4f59a2:	75 f1                	jne    0x4f5995
4f59a4:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f59a8:	8d 46 10             	lea    0x10(%esi),%eax
4f59ab:	55                   	push   %ebp
4f59ac:	50                   	push   %eax
4f59ad:	50                   	push   %eax
4f59ae:	ff 54 24 28          	call   *0x28(%esp)
4f59b2:	55                   	push   %ebp
4f59b3:	8d 44 24 50          	lea    0x50(%esp),%eax
4f59b7:	50                   	push   %eax
4f59b8:	56                   	push   %esi
4f59b9:	ff 54 24 34          	call   *0x34(%esp)
4f59bd:	83 c4 18             	add    $0x18,%esp
4f59c0:	eb 21                	jmp    0x4f59e3
4f59c2:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f59c6:	55                   	push   %ebp
4f59c7:	50                   	push   %eax
4f59c8:	50                   	push   %eax
4f59c9:	ff 54 24 28          	call   *0x28(%esp)
4f59cd:	55                   	push   %ebp
4f59ce:	8d 44 24 50          	lea    0x50(%esp),%eax
4f59d2:	50                   	push   %eax
4f59d3:	56                   	push   %esi
4f59d4:	ff 54 24 34          	call   *0x34(%esp)
4f59d8:	83 c4 18             	add    $0x18,%esp
4f59db:	85 ff                	test   %edi,%edi
4f59dd:	0f 84 0c 01 00 00    	je     0x4f5aef
4f59e3:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4f59e7:	33 d2                	xor    %edx,%edx
4f59e9:	83 ff 40             	cmp    $0x40,%edi
4f59ec:	0f 82 de 00 00 00    	jb     0x4f5ad0
4f59f2:	8d 4b ff             	lea    -0x1(%ebx),%ecx
4f59f5:	8d 44 3c 3f          	lea    0x3f(%esp,%edi,1),%eax
4f59f9:	03 cf                	add    %edi,%ecx
4f59fb:	3b d8                	cmp    %eax,%ebx
4f59fd:	77 0c                	ja     0x4f5a0b
4f59ff:	8d 44 24 40          	lea    0x40(%esp),%eax
4f5a03:	3b c8                	cmp    %eax,%ecx
4f5a05:	0f 83 c5 00 00 00    	jae    0x4f5ad0
4f5a0b:	8d 45 ff             	lea    -0x1(%ebp),%eax
4f5a0e:	03 c7                	add    %edi,%eax
4f5a10:	3b d8                	cmp    %eax,%ebx
4f5a12:	77 08                	ja     0x4f5a1c
4f5a14:	3b cd                	cmp    %ebp,%ecx
4f5a16:	0f 83 b4 00 00 00    	jae    0x4f5ad0
4f5a1c:	8b f5                	mov    %ebp,%esi
4f5a1e:	8d 4d 30             	lea    0x30(%ebp),%ecx
4f5a21:	8d 6c 24 40          	lea    0x40(%esp),%ebp
4f5a25:	8b c7                	mov    %edi,%eax
4f5a27:	2b eb                	sub    %ebx,%ebp
4f5a29:	2b f3                	sub    %ebx,%esi
4f5a2b:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
4f5a2f:	83 e0 c0             	and    $0xffffffc0,%eax
4f5a32:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4f5a36:	8d 6c 24 50          	lea    0x50(%esp),%ebp
4f5a3a:	2b eb                	sub    %ebx,%ebp
4f5a3c:	89 44 24 38          	mov    %eax,0x38(%esp)
4f5a40:	89 6c 24 30          	mov    %ebp,0x30(%esp)
4f5a44:	8d 43 10             	lea    0x10(%ebx),%eax
4f5a47:	8d 6c 24 60          	lea    0x60(%esp),%ebp
4f5a4b:	89 74 24 20          	mov    %esi,0x20(%esp)
4f5a4f:	2b eb                	sub    %ebx,%ebp
4f5a51:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4f5a55:	89 6c 24 34          	mov    %ebp,0x34(%esp)
4f5a59:	8b ee                	mov    %esi,%ebp
4f5a5b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4f5a60:	0f 10 41 d0          	movups -0x30(%ecx),%xmm0
4f5a64:	8b 74 24 34          	mov    0x34(%esp),%esi
4f5a68:	8d 49 40             	lea    0x40(%ecx),%ecx
4f5a6b:	0f 10 4c 14 40       	movups 0x40(%esp,%edx,1),%xmm1
4f5a70:	83 c2 40             	add    $0x40,%edx
4f5a73:	8d 40 40             	lea    0x40(%eax),%eax
4f5a76:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5a7a:	0f 10 44 28 c0       	movups -0x40(%eax,%ebp,1),%xmm0
4f5a7f:	0f 11 48 b0          	movups %xmm1,-0x50(%eax)
4f5a83:	0f 10 4c 07 c0       	movups -0x40(%edi,%eax,1),%xmm1
4f5a88:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5a8c:	0f 10 41 b0          	movups -0x50(%ecx),%xmm0
4f5a90:	0f 11 48 c0          	movups %xmm1,-0x40(%eax)
4f5a94:	0f 10 4c 03 c0       	movups -0x40(%ebx,%eax,1),%xmm1
4f5a99:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5a9d:	0f 10 41 c0          	movups -0x40(%ecx),%xmm0
4f5aa1:	0f 11 48 d0          	movups %xmm1,-0x30(%eax)
4f5aa5:	0f 10 4c 06 c0       	movups -0x40(%esi,%eax,1),%xmm1
4f5aaa:	8b 74 24 24          	mov    0x24(%esp),%esi
4f5aae:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5ab2:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
4f5ab6:	3b 54 24 38          	cmp    0x38(%esp),%edx
4f5aba:	72 a4                	jb     0x4f5a60
4f5abc:	8b 7c 24 64          	mov    0x64(%esp),%edi
4f5ac0:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4f5ac4:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4f5ac8:	89 54 24 24          	mov    %edx,0x24(%esp)
4f5acc:	3b d7                	cmp    %edi,%edx
4f5ace:	73 1b                	jae    0x4f5aeb
4f5ad0:	8d 44 24 40          	lea    0x40(%esp),%eax
4f5ad4:	2b e8                	sub    %eax,%ebp
4f5ad6:	2b d8                	sub    %eax,%ebx
4f5ad8:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4f5adc:	03 ca                	add    %edx,%ecx
4f5ade:	42                   	inc    %edx
4f5adf:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4f5ae2:	32 01                	xor    (%ecx),%al
4f5ae4:	88 04 19             	mov    %al,(%ecx,%ebx,1)
4f5ae7:	3b d7                	cmp    %edi,%edx
4f5ae9:	72 ed                	jb     0x4f5ad8
4f5aeb:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f5aef:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4f5af3:	83 f9 10             	cmp    $0x10,%ecx
4f5af6:	73 16                	jae    0x4f5b0e
4f5af8:	b8 10 00 00 00       	mov    $0x10,%eax
4f5afd:	2b c1                	sub    %ecx,%eax
4f5aff:	50                   	push   %eax
4f5b00:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4f5b03:	6a 00                	push   $0x0
4f5b05:	50                   	push   %eax
4f5b06:	e8 65 d1 0d 00       	call   0x5d2c70
4f5b0b:	83 c4 0c             	add    $0xc,%esp
4f5b0e:	55                   	push   %ebp
4f5b0f:	8d 44 24 44          	lea    0x44(%esp),%eax
4f5b13:	50                   	push   %eax
4f5b14:	56                   	push   %esi
4f5b15:	ff 54 24 28          	call   *0x28(%esp)
4f5b19:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4f5b1d:	83 c4 0c             	add    $0xc,%esp
4f5b20:	31 46 10             	xor    %eax,0x10(%esi)
4f5b23:	8b 44 24 44          	mov    0x44(%esp),%eax
4f5b27:	31 46 14             	xor    %eax,0x14(%esi)
4f5b2a:	8b 44 24 48          	mov    0x48(%esp),%eax
4f5b2e:	31 46 18             	xor    %eax,0x18(%esi)
4f5b31:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4f5b35:	31 46 1c             	xor    %eax,0x1c(%esi)
4f5b38:	8a 44 24 13          	mov    0x13(%esp),%al
4f5b3c:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4f5b40:	5d                   	pop    %ebp
4f5b41:	5f                   	pop    %edi
4f5b42:	88 06                	mov    %al,(%esi)
4f5b44:	33 c0                	xor    %eax,%eax
4f5b46:	5e                   	pop    %esi
4f5b47:	5b                   	pop    %ebx
4f5b48:	33 cc                	xor    %esp,%ecx
4f5b4a:	e8 d7 be 0d 00       	call   0x5d1a26
4f5b4f:	83 c4 44             	add    $0x44,%esp
4f5b52:	c3                   	ret
4f5b53:	cc                   	int3
4f5b54:	cc                   	int3
4f5b55:	cc                   	int3
4f5b56:	cc                   	int3
4f5b57:	cc                   	int3
4f5b58:	cc                   	int3
4f5b59:	cc                   	int3
4f5b5a:	cc                   	int3
4f5b5b:	cc                   	int3
4f5b5c:	cc                   	int3
4f5b5d:	cc                   	int3
4f5b5e:	cc                   	int3
4f5b5f:	cc                   	int3
4f5b60:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4f5b64:	0f 57 c0             	xorps  %xmm0,%xmm0
4f5b67:	8b 54 24 04          	mov    0x4(%esp),%edx
4f5b6b:	8a 44 24 0c          	mov    0xc(%esp),%al
4f5b6f:	fe c8                	dec    %al
4f5b71:	8d 49 fe             	lea    -0x2(%ecx),%ecx
4f5b74:	24 07                	and    $0x7,%al
4f5b76:	d1 e9                	shr    $1,%ecx
4f5b78:	80 e1 07             	and    $0x7,%cl
4f5b7b:	0f 11 02             	movups %xmm0,(%edx)
4f5b7e:	c0 e1 03             	shl    $0x3,%cl
4f5b81:	0a c8                	or     %al,%cl
4f5b83:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
4f5b8a:	8b 44 24 14          	mov    0x14(%esp),%eax
4f5b8e:	89 42 28             	mov    %eax,0x28(%edx)
4f5b91:	8b 44 24 10          	mov    0x10(%esp),%eax