45bbd9:	c1 ed 02             	shr    $0x2,%ebp
45bbdc:	33 c9                	xor    %ecx,%ecx
45bbde:	89 74 24 20          	mov    %esi,0x20(%esp)
45bbe2:	89 7c 24 18          	mov    %edi,0x18(%esp)
45bbe6:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45bbea:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
45bbee:	85 ed                	test   %ebp,%ebp
45bbf0:	0f 84 28 01 00 00    	je     0x45bd1e
45bbf6:	83 fd 10             	cmp    $0x10,%ebp
45bbf9:	0f 82 d6 00 00 00    	jb     0x45bcd5
45bbff:	8d 43 fc             	lea    -0x4(%ebx),%eax
45bc02:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45bc06:	8d 04 a8             	lea    (%eax,%ebp,4),%eax
45bc09:	3b f8                	cmp    %eax,%edi
45bc0b:	77 0e                	ja     0x45bc1b
45bc0d:	8d 47 fc             	lea    -0x4(%edi),%eax
45bc10:	8d 04 a8             	lea    (%eax,%ebp,4),%eax
45bc13:	3b c3                	cmp    %ebx,%eax
45bc15:	0f 83 ba 00 00 00    	jae    0x45bcd5
45bc1b:	8d 46 fc             	lea    -0x4(%esi),%eax
45bc1e:	8d 04 a8             	lea    (%eax,%ebp,4),%eax
45bc21:	3b f8                	cmp    %eax,%edi
45bc23:	77 0e                	ja     0x45bc33
45bc25:	8d 47 fc             	lea    -0x4(%edi),%eax
45bc28:	8d 04 a8             	lea    (%eax,%ebp,4),%eax
45bc2b:	3b c6                	cmp    %esi,%eax
45bc2d:	0f 83 a2 00 00 00    	jae    0x45bcd5
45bc33:	8b d6                	mov    %esi,%edx
45bc35:	8b c5                	mov    %ebp,%eax
45bc37:	2b d3                	sub    %ebx,%edx
45bc39:	83 e0 f0             	and    $0xfffffff0,%eax
45bc3c:	89 54 24 10          	mov    %edx,0x10(%esp)
45bc40:	8b d7                	mov    %edi,%edx
45bc42:	8b 6c 24 10          	mov    0x10(%esp),%ebp
45bc46:	2b d3                	sub    %ebx,%edx
45bc48:	89 54 24 24          	mov    %edx,0x24(%esp)
45bc4c:	8b d6                	mov    %esi,%edx
45bc4e:	2b d7                	sub    %edi,%edx
45bc50:	89 44 24 2c          	mov    %eax,0x2c(%esp)
45bc54:	8d 43 10             	lea    0x10(%ebx),%eax
45bc57:	89 54 24 28          	mov    %edx,0x28(%esp)
45bc5b:	8b 5c 24 24          	mov    0x24(%esp),%ebx
45bc5f:	8d 57 20             	lea    0x20(%edi),%edx
45bc62:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
45bc66:	8d 40 40             	lea    0x40(%eax),%eax
45bc69:	0f 10 0c 8e          	movups (%esi,%ecx,4),%xmm1
45bc6d:	8d 52 40             	lea    0x40(%edx),%edx
45bc70:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bc74:	0f 10 40 c0          	movups -0x40(%eax),%xmm0
45bc78:	0f 11 4a a0          	movups %xmm1,-0x60(%edx)
45bc7c:	0f 10 4c 28 c0       	movups -0x40(%eax,%ebp,1),%xmm1
45bc81:	8b 6c 24 28          	mov    0x28(%esp),%ebp
45bc85:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bc89:	0f 10 40 d0          	movups -0x30(%eax),%xmm0
45bc8d:	0f 11 4c 03 c0       	movups %xmm1,-0x40(%ebx,%eax,1)
45bc92:	0f 10 4c 2a c0       	movups -0x40(%edx,%ebp,1),%xmm1
45bc97:	8b 6c 24 10          	mov    0x10(%esp),%ebp
45bc9b:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bc9f:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
45bca3:	0f 11 4a c0          	movups %xmm1,-0x40(%edx)
45bca7:	0f 10 4c 8e 30       	movups 0x30(%esi,%ecx,4),%xmm1
45bcac:	83 c1 10             	add    $0x10,%ecx
45bcaf:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bcb3:	0f 11 4a d0          	movups %xmm1,-0x30(%edx)
45bcb7:	3b 4c 24 2c          	cmp    0x2c(%esp),%ecx
45bcbb:	72 a5                	jb     0x45bc62
45bcbd:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
45bcc1:	8b 54 24 38          	mov    0x38(%esp),%edx
45bcc5:	8b 5c 24 34          	mov    0x34(%esp),%ebx
45bcc9:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
45bccd:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45bcd1:	3b cd                	cmp    %ebp,%ecx
45bcd3:	73 49                	jae    0x45bd1e
45bcd5:	8b c6                	mov    %esi,%eax
45bcd7:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
45bcda:	2b c3                	sub    %ebx,%eax
45bcdc:	89 44 24 2c          	mov    %eax,0x2c(%esp)
45bce0:	8b c7                	mov    %edi,%eax
45bce2:	8b 54 24 2c          	mov    0x2c(%esp),%edx
45bce6:	2b c3                	sub    %ebx,%eax
45bce8:	2b 6c 24 10          	sub    0x10(%esp),%ebp
45bcec:	89 44 24 28          	mov    %eax,0x28(%esp)
45bcf0:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45bcf4:	8b 5c 24 28          	mov    0x28(%esp),%ebx
45bcf8:	89 44 24 10          	mov    %eax,0x10(%esp)
45bcfc:	0f 1f 40 00          	nopl   0x0(%eax)
45bd00:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
45bd03:	8d 49 04             	lea    0x4(%ecx),%ecx
45bd06:	33 41 fc             	xor    -0x4(%ecx),%eax
45bd09:	89 44 0b fc          	mov    %eax,-0x4(%ebx,%ecx,1)
45bd0d:	83 ed 01             	sub    $0x1,%ebp
45bd10:	75 ee                	jne    0x45bd00
45bd12:	8b 54 24 38          	mov    0x38(%esp),%edx
45bd16:	8b 5c 24 34          	mov    0x34(%esp),%ebx
45bd1a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45bd1e:	c1 e1 02             	shl    $0x2,%ecx
45bd21:	2b d1                	sub    %ecx,%edx
45bd23:	89 54 24 38          	mov    %edx,0x38(%esp)
45bd27:	0f 84 05 01 00 00    	je     0x45be32
45bd2d:	03 d9                	add    %ecx,%ebx
45bd2f:	03 f9                	add    %ecx,%edi
45bd31:	03 f1                	add    %ecx,%esi
45bd33:	89 5c 24 34          	mov    %ebx,0x34(%esp)
45bd37:	33 c9                	xor    %ecx,%ecx
45bd39:	85 d2                	test   %edx,%edx
45bd3b:	0f 84 f1 00 00 00    	je     0x45be32
45bd41:	83 fa 40             	cmp    $0x40,%edx
45bd44:	0f 82 bb 00 00 00    	jb     0x45be05
45bd4a:	8d 43 ff             	lea    -0x1(%ebx),%eax
45bd4d:	8d 6f ff             	lea    -0x1(%edi),%ebp
45bd50:	03 c2                	add    %edx,%eax
45bd52:	03 ea                	add    %edx,%ebp
45bd54:	3b f8                	cmp    %eax,%edi
45bd56:	77 08                	ja     0x45bd60
45bd58:	3b eb                	cmp    %ebx,%ebp
45bd5a:	0f 83 a5 00 00 00    	jae    0x45be05
45bd60:	8d 46 ff             	lea    -0x1(%esi),%eax
45bd63:	03 c2                	add    %edx,%eax
45bd65:	3b f8                	cmp    %eax,%edi
45bd67:	77 08                	ja     0x45bd71
45bd69:	3b ee                	cmp    %esi,%ebp
45bd6b:	0f 83 94 00 00 00    	jae    0x45be05
45bd71:	8b 6c 24 20          	mov    0x20(%esp),%ebp
45bd75:	8b c2                	mov    %edx,%eax
45bd77:	83 e0 c0             	and    $0xffffffc0,%eax
45bd7a:	8b d5                	mov    %ebp,%edx
45bd7c:	2b 54 24 14          	sub    0x14(%esp),%edx
45bd80:	83 c7 20             	add    $0x20,%edi
45bd83:	89 44 24 28          	mov    %eax,0x28(%esp)
45bd87:	8d 43 10             	lea    0x10(%ebx),%eax
45bd8a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
45bd8e:	2b 5c 24 14          	sub    0x14(%esp),%ebx
45bd92:	2b 6c 24 18          	sub    0x18(%esp),%ebp
45bd96:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
45bd9a:	eb 08                	jmp    0x45bda4
45bd9c:	0f 1f 40 00          	nopl   0x0(%eax)
45bda0:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
45bda4:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
45bda8:	8d 40 40             	lea    0x40(%eax),%eax
45bdab:	0f 10 0c 31          	movups (%ecx,%esi,1),%xmm1
45bdaf:	8d 7f 40             	lea    0x40(%edi),%edi
45bdb2:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bdb6:	0f 10 40 c0          	movups -0x40(%eax),%xmm0
45bdba:	0f 11 4f a0          	movups %xmm1,-0x60(%edi)
45bdbe:	0f 10 4c 02 c0       	movups -0x40(%edx,%eax,1),%xmm1
45bdc3:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bdc7:	0f 10 40 d0          	movups -0x30(%eax),%xmm0
45bdcb:	0f 11 4c 03 c0       	movups %xmm1,-0x40(%ebx,%eax,1)
45bdd0:	0f 10 4c 2f c0       	movups -0x40(%edi,%ebp,1),%xmm1
45bdd5:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bdd9:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
45bddd:	0f 11 4f c0          	movups %xmm1,-0x40(%edi)
45bde1:	0f 10 4c 31 30       	movups 0x30(%ecx,%esi,1),%xmm1
45bde6:	83 c1 40             	add    $0x40,%ecx
45bde9:	8b e9                	mov    %ecx,%ebp
45bdeb:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bdef:	0f 11 4f d0          	movups %xmm1,-0x30(%edi)
45bdf3:	3b 4c 24 28          	cmp    0x28(%esp),%ecx
45bdf7:	72 a7                	jb     0x45bda0
45bdf9:	8b 54 24 38          	mov    0x38(%esp),%edx
45bdfd:	8b 5c 24 34          	mov    0x34(%esp),%ebx
45be01:	3b ea                	cmp    %edx,%ebp
45be03:	73 2d                	jae    0x45be32
45be05:	8b 74 24 18          	mov    0x18(%esp),%esi
45be09:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
45be0c:	8b 5c 24 20          	mov    0x20(%esp),%ebx
45be10:	2b 5c 24 14          	sub    0x14(%esp),%ebx
45be14:	2b 74 24 14          	sub    0x14(%esp),%esi
45be18:	2b d1                	sub    %ecx,%edx
45be1a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
45be20:	8a 0c 03             	mov    (%ebx,%eax,1),%cl
45be23:	8d 40 01             	lea    0x1(%eax),%eax
45be26:	32 48 ff             	xor    -0x1(%eax),%cl
45be29:	88 4c 06 ff          	mov    %cl,-0x1(%esi,%eax,1)
45be2d:	83 ea 01             	sub    $0x1,%edx
45be30:	75 ee                	jne    0x45be20
45be32:	5f                   	pop    %edi
45be33:	5e                   	pop    %esi
45be34:	5d                   	pop    %ebp
45be35:	5b                   	pop    %ebx
45be36:	83 c4 20             	add    $0x20,%esp
45be39:	c3                   	ret
45be3a:	cc                   	int3
45be3b:	cc                   	int3
45be3c:	cc                   	int3
45be3d:	cc                   	int3
45be3e:	cc                   	int3
45be3f:	cc                   	int3
45be40:	83 ec 0c             	sub    $0xc,%esp
45be43:	53                   	push   %ebx
45be44:	55                   	push   %ebp
45be45:	56                   	push   %esi
45be46:	8b 74 24 1c          	mov    0x1c(%esp),%esi
45be4a:	8b c2                	mov    %edx,%eax
45be4c:	8b ee                	mov    %esi,%ebp
45be4e:	89 44 24 0c          	mov    %eax,0xc(%esp)
45be52:	c1 ed 02             	shr    $0x2,%ebp
45be55:	33 db                	xor    %ebx,%ebx
45be57:	57                   	push   %edi
45be58:	33 ff                	xor    %edi,%edi
45be5a:	89 4c 24 18          	mov    %ecx,0x18(%esp)
45be5e:	89 6c 24 14          	mov    %ebp,0x14(%esp)
45be62:	85 ed                	test   %ebp,%ebp
45be64:	0f 84 8e 00 00 00    	je     0x45bef8
45be6a:	8b d1                	mov    %ecx,%edx
45be6c:	2b d0                	sub    %eax,%edx
45be6e:	83 fd 08             	cmp    $0x8,%ebp
45be71:	72 61                	jb     0x45bed4
45be73:	8b dd                	mov    %ebp,%ebx
45be75:	0f 57 db             	xorps  %xmm3,%xmm3
45be78:	83 e3 f8             	and    $0xfffffff8,%ebx
45be7b:	0f 57 d2             	xorps  %xmm2,%xmm2
45be7e:	83 c0 10             	add    $0x10,%eax
45be81:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
45be85:	8d 40 20             	lea    0x20(%eax),%eax
45be88:	0f 10 0c b9          	movups (%ecx,%edi,4),%xmm1
45be8c:	83 c7 08             	add    $0x8,%edi
45be8f:	66 0f ef c8          	pxor   %xmm0,%xmm1
45be93:	66 0f eb d9          	por    %xmm1,%xmm3
45be97:	0f 10 4c 10 e0       	movups -0x20(%eax,%edx,1),%xmm1
45be9c:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
45bea0:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bea4:	66 0f eb d1          	por    %xmm1,%xmm2
45bea8:	3b fb                	cmp    %ebx,%edi
45beaa:	72 d5                	jb     0x45be81
45beac:	8b 44 24 10          	mov    0x10(%esp),%eax
45beb0:	66 0f eb d3          	por    %xmm3,%xmm2
45beb4:	0f 28 c2             	movaps %xmm2,%xmm0
45beb7:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
45bebc:	66 0f eb d0          	por    %xmm0,%xmm2
45bec0:	0f 10 c2             	movups %xmm2,%xmm0
45bec3:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
45bec8:	66 0f eb d0          	por    %xmm0,%xmm2
45becc:	66 0f 7e d3          	movd   %xmm2,%ebx
45bed0:	3b fd                	cmp    %ebp,%edi
45bed2:	73 24                	jae    0x45bef8
45bed4:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
45bed7:	2b ef                	sub    %edi,%ebp
45bed9:	8b 7c 24 14          	mov    0x14(%esp),%edi
45bedd:	0f 1f 00             	nopl   (%eax)
45bee0:	8b 04 11             	mov    (%ecx,%edx,1),%eax
45bee3:	8d 49 04             	lea    0x4(%ecx),%ecx
45bee6:	33 41 fc             	xor    -0x4(%ecx),%eax
45bee9:	0b d8                	or     %eax,%ebx
45beeb:	83 ed 01             	sub    $0x1,%ebp
45beee:	75 f0                	jne    0x45bee0
45bef0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
45bef4:	8b 44 24 10          	mov    0x10(%esp),%eax
45bef8:	c1 e7 02             	shl    $0x2,%edi
45befb:	2b f7                	sub    %edi,%esi
45befd:	75 0d                	jne    0x45bf0c
45beff:	5f                   	pop    %edi
45bf00:	5e                   	pop    %esi
45bf01:	85 db                	test   %ebx,%ebx
45bf03:	5d                   	pop    %ebp
45bf04:	0f 94 c0             	sete   %al
45bf07:	5b                   	pop    %ebx
45bf08:	83 c4 0c             	add    $0xc,%esp
45bf0b:	c3                   	ret
45bf0c:	03 c7                	add    %edi,%eax
45bf0e:	8b d3                	mov    %ebx,%edx
45bf10:	89 44 24 10          	mov    %eax,0x10(%esp)
45bf14:	03 cf                	add    %edi,%ecx
45bf16:	c1 ea 18             	shr    $0x18,%edx
45bf19:	8b c3                	mov    %ebx,%eax
45bf1b:	c1 e8 10             	shr    $0x10,%eax
45bf1e:	33 ff                	xor    %edi,%edi
45bf20:	0a d0                	or     %al,%dl
45bf22:	8b c3                	mov    %ebx,%eax
45bf24:	c1 e8 08             	shr    $0x8,%eax
45bf27:	0a d0                	or     %al,%dl
45bf29:	0a d3                	or     %bl,%dl
45bf2b:	85 f6                	test   %esi,%esi
45bf2d:	0f 84 ad 00 00 00    	je     0x45bfe0
45bf33:	8b 6c 24 10          	mov    0x10(%esp),%ebp
45bf37:	8b d9                	mov    %ecx,%ebx
45bf39:	2b dd                	sub    %ebp,%ebx
45bf3b:	83 fe 20             	cmp    $0x20,%esi
45bf3e:	0f 82 87 00 00 00    	jb     0x45bfcb
45bf44:	8b c6                	mov    %esi,%eax
45bf46:	0f 57 db             	xorps  %xmm3,%xmm3
45bf49:	83 e0 e0             	and    $0xffffffe0,%eax
45bf4c:	0f 57 d2             	xorps  %xmm2,%xmm2
45bf4f:	89 44 24 18          	mov    %eax,0x18(%esp)
45bf53:	8d 45 10             	lea    0x10(%ebp),%eax
45bf56:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
45bf5d:	00 00 00
45bf60:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
45bf64:	8d 40 20             	lea    0x20(%eax),%eax
45bf67:	0f 10 0c 0f          	movups (%edi,%ecx,1),%xmm1
45bf6b:	83 c7 20             	add    $0x20,%edi
45bf6e:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bf72:	66 0f eb d9          	por    %xmm1,%xmm3
45bf76:	0f 10 4c 18 e0       	movups -0x20(%eax,%ebx,1),%xmm1
45bf7b:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
45bf7f:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bf83:	66 0f eb d1          	por    %xmm1,%xmm2
45bf87:	3b 7c 24 18          	cmp    0x18(%esp),%edi
45bf8b:	72 d3                	jb     0x45bf60
45bf8d:	66 0f eb d3          	por    %xmm3,%xmm2
45bf91:	0f 28 c2             	movaps %xmm2,%xmm0
45bf94:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
45bf99:	66 0f eb d0          	por    %xmm0,%xmm2
45bf9d:	0f 10 c2             	movups %xmm2,%xmm0
45bfa0:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
45bfa5:	66 0f eb d0          	por    %xmm0,%xmm2
45bfa9:	0f 10 c2             	movups %xmm2,%xmm0
45bfac:	66 0f 73 d8 02       	psrldq $0x2,%xmm0
45bfb1:	66 0f eb d0          	por    %xmm0,%xmm2
45bfb5:	0f 10 c2             	movups %xmm2,%xmm0
45bfb8:	66 0f 73 d8 01       	psrldq $0x1,%xmm0
45bfbd:	66 0f eb d0          	por    %xmm0,%xmm2
45bfc1:	66 0f 7e d0          	movd   %xmm2,%eax
45bfc5:	0a d0                	or     %al,%dl
45bfc7:	3b fe                	cmp    %esi,%edi
45bfc9:	73 15                	jae    0x45bfe0
45bfcb:	8d 0c 2f             	lea    (%edi,%ebp,1),%ecx
45bfce:	2b f7                	sub    %edi,%esi
45bfd0:	8a 04 19             	mov    (%ecx,%ebx,1),%al
45bfd3:	8d 49 01             	lea    0x1(%ecx),%ecx
45bfd6:	32 41 ff             	xor    -0x1(%ecx),%al
45bfd9:	0a d0                	or     %al,%dl
45bfdb:	83 ee 01             	sub    $0x1,%esi
45bfde:	75 f0                	jne    0x45bfd0
45bfe0:	5f                   	pop    %edi
45bfe1:	5e                   	pop    %esi
45bfe2:	84 d2                	test   %dl,%dl
45bfe4:	5d                   	pop    %ebp
45bfe5:	0f 94 c0             	sete   %al
45bfe8:	5b                   	pop    %ebx
45bfe9:	83 c4 0c             	add    $0xc,%esp
45bfec:	c3                   	ret
45bfed:	cc                   	int3
45bfee:	cc                   	int3
45bfef:	cc                   	int3
45bff0:	83 ec 0c             	sub    $0xc,%esp
45bff3:	56                   	push   %esi
45bff4:	57                   	push   %edi
45bff5:	8b f9                	mov    %ecx,%edi
45bff7:	6a 10                	push   $0x10
45bff9:	57                   	push   %edi
45bffa:	e8 7b 9f 03 00       	call   0x495f7a
45bfff:	83 c4 08             	add    $0x8,%esp
45c002:	85 c0                	test   %eax,%eax
45c004:	75 32                	jne    0x45c038
45c006:	6a 00                	push   $0x0
45c008:	e8 29 98 03 00       	call   0x495836
45c00d:	8b f0                	mov    %eax,%esi
45c00f:	83 c4 04             	add    $0x4,%esp
45c012:	85 f6                	test   %esi,%esi