633cef:	8d 45 ec             	lea    -0x14(%ebp),%eax
633cf2:	33 db                	xor    %ebx,%ebx
633cf4:	50                   	push   %eax
633cf5:	53                   	push   %ebx
633cf6:	e8 9f ff ff ff       	call   0x633c9a
633cfb:	59                   	pop    %ecx
633cfc:	59                   	pop    %ecx
633cfd:	84 c0                	test   %al,%al
633cff:	0f 84 56 01 00 00    	je     0x633e5b
633d05:	8d 45 dc             	lea    -0x24(%ebp),%eax
633d08:	50                   	push   %eax
633d09:	6a 01                	push   $0x1
633d0b:	e8 8a ff ff ff       	call   0x633c9a
633d10:	59                   	pop    %ecx
633d11:	59                   	pop    %ecx
633d12:	84 c0                	test   %al,%al
633d14:	0f 84 41 01 00 00    	je     0x633e5b
633d1a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
633d1d:	8b c1                	mov    %ecx,%eax
633d1f:	c1 e8 17             	shr    $0x17,%eax
633d22:	24 01                	and    $0x1,%al
633d24:	a2 b7 15 73 00       	mov    %al,0x7315b7
633d29:	f7 c1 00 00 00 04    	test   $0x4000000,%ecx
633d2f:	74 0f                	je     0x633d40
633d31:	e8 34 01 00 00       	call   0x633e6a
633d36:	8b 4d e8             	mov    -0x18(%ebp),%ecx
633d39:	a2 b5 15 73 00       	mov    %al,0x7315b5
633d3e:	eb 05                	jmp    0x633d45
633d40:	a0 b5 15 73 00       	mov    0x7315b5,%al
633d45:	84 c0                	test   %al,%al
633d47:	74 10                	je     0x633d59
633d49:	f7 45 e4 00 02 00 00 	testl  $0x200,-0x1c(%ebp)
633d50:	c6 05 b1 15 73 00 01 	movb   $0x1,0x7315b1
633d57:	75 06                	jne    0x633d5f
633d59:	88 1d b1 15 73 00    	mov    %bl,0x7315b1
633d5f:	ba 00 00 00 02       	mov    $0x2000000,%edx
633d64:	84 c0                	test   %al,%al
633d66:	74 0c                	je     0x633d74
633d68:	c6 05 b2 15 73 00 01 	movb   $0x1,0x7315b2
633d6f:	85 55 e4             	test   %edx,-0x1c(%ebp)
633d72:	75 06                	jne    0x633d7a
633d74:	88 1d b2 15 73 00    	mov    %bl,0x7315b2
633d7a:	84 c0                	test   %al,%al
633d7c:	74 0d                	je     0x633d8b
633d7e:	f6 45 e4 02          	testb  $0x2,-0x1c(%ebp)
633d82:	c6 05 b3 15 73 00 01 	movb   $0x1,0x7315b3
633d89:	75 06                	jne    0x633d91
633d8b:	88 1d b3 15 73 00    	mov    %bl,0x7315b3
633d91:	85 ca                	test   %ecx,%edx
633d93:	74 09                	je     0x633d9e
633d95:	c6 05 b6 15 73 00 01 	movb   $0x1,0x7315b6
633d9c:	eb 33                	jmp    0x633dd1
633d9e:	8d 45 cc             	lea    -0x34(%ebp),%eax
633da1:	50                   	push   %eax
633da2:	68 00 00 00 80       	push   $0x80000000
633da7:	e8 ee fe ff ff       	call   0x633c9a
633dac:	59                   	pop    %ecx
633dad:	59                   	pop    %ecx
633dae:	b9 01 00 00 80       	mov    $0x80000001,%ecx
633db3:	39 4d cc             	cmp    %ecx,-0x34(%ebp)
633db6:	72 19                	jb     0x633dd1
633db8:	8d 45 cc             	lea    -0x34(%ebp),%eax
633dbb:	50                   	push   %eax
633dbc:	51                   	push   %ecx
633dbd:	e8 d8 fe ff ff       	call   0x633c9a
633dc2:	8b 45 d8             	mov    -0x28(%ebp),%eax
633dc5:	c1 e8 16             	shr    $0x16,%eax
633dc8:	59                   	pop    %ecx
633dc9:	24 01                	and    $0x1,%al
633dcb:	59                   	pop    %ecx
633dcc:	a2 b6 15 73 00       	mov    %al,0x7315b6
633dd1:	8b 45 f8             	mov    -0x8(%ebp),%eax
633dd4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
633dd7:	6a 0c                	push   $0xc
633dd9:	89 45 f4             	mov    %eax,-0xc(%ebp)
633ddc:	8d 45 f0             	lea    -0x10(%ebp),%eax
633ddf:	68 78 de 6d 00       	push   $0x6dde78
633de4:	50                   	push   %eax
633de5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
633de8:	e8 ee 0e fb ff       	call   0x5e4cdb
633ded:	83 c4 0c             	add    $0xc,%esp
633df0:	85 c0                	test   %eax,%eax
633df2:	75 21                	jne    0x633e15
633df4:	8b 45 dc             	mov    -0x24(%ebp),%eax
633df7:	b9 00 0f 00 00       	mov    $0xf00,%ecx
633dfc:	23 c1                	and    %ecx,%eax
633dfe:	3b c1                	cmp    %ecx,%eax
633e00:	8b 45 e0             	mov    -0x20(%ebp),%eax
633e03:	0f 94 05 b4 15 73 00 	sete   0x7315b4
633e0a:	c1 e8 08             	shr    $0x8,%eax
633e0d:	0f b6 c0             	movzbl %al,%eax
633e10:	c1 e0 03             	shl    $0x3,%eax
633e13:	eb 32                	jmp    0x633e47
633e15:	6a 0c                	push   $0xc
633e17:	8d 45 f0             	lea    -0x10(%ebp),%eax
633e1a:	68 88 de 6d 00       	push   $0x6dde88
633e1f:	50                   	push   %eax
633e20:	e8 b6 0e fb ff       	call   0x5e4cdb
633e25:	83 c4 0c             	add    $0xc,%esp
633e28:	85 c0                	test   %eax,%eax
633e2a:	75 16                	jne    0x633e42
633e2c:	8d 45 ec             	lea    -0x14(%ebp),%eax
633e2f:	50                   	push   %eax
633e30:	68 05 00 00 80       	push   $0x80000005
633e35:	e8 60 fe ff ff       	call   0x633c9a
633e3a:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
633e3e:	59                   	pop    %ecx
633e3f:	59                   	pop    %ecx
633e40:	eb 05                	jmp    0x633e47
633e42:	a1 b0 93 72 00       	mov    0x7293b0,%eax
633e47:	6a 20                	push   $0x20
633e49:	85 c0                	test   %eax,%eax
633e4b:	c6 05 b0 15 73 00 01 	movb   $0x1,0x7315b0
633e52:	59                   	pop    %ecx
633e53:	0f 44 c1             	cmove  %ecx,%eax
633e56:	a3 b0 93 72 00       	mov    %eax,0x7293b0
633e5b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
633e5e:	33 cd                	xor    %ebp,%ecx
633e60:	5b                   	pop    %ebx
633e61:	e8 74 d6 fa ff       	call   0x5e14da
633e66:	8b e5                	mov    %ebp,%esp
633e68:	5d                   	pop    %ebp
633e69:	c3                   	ret
633e6a:	6a 08                	push   $0x8
633e6c:	68 50 48 70 00       	push   $0x704850
633e71:	e8 9a e6 fa ff       	call   0x5e2510
633e76:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
633e7a:	66 0f eb c0          	por    %xmm0,%xmm0
633e7e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
633e85:	b0 01                	mov    $0x1,%al
633e87:	eb 10                	jmp    0x633e99
633e89:	33 c0                	xor    %eax,%eax
633e8b:	40                   	inc    %eax
633e8c:	c3                   	ret
633e8d:	8b 65 e8             	mov    -0x18(%ebp),%esp
633e90:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
633e97:	32 c0                	xor    %al,%al
633e99:	e8 b8 e6 fa ff       	call   0x5e2556
633e9e:	c3                   	ret
633e9f:	55                   	push   %ebp
633ea0:	8b ec                	mov    %esp,%ebp
633ea2:	8b 01                	mov    (%ecx),%eax
633ea4:	8b 51 04             	mov    0x4(%ecx),%edx
633ea7:	85 c0                	test   %eax,%eax
633ea9:	74 04                	je     0x633eaf
633eab:	8b 00                	mov    (%eax),%eax
633ead:	eb 02                	jmp    0x633eb1
633eaf:	33 c0                	xor    %eax,%eax
633eb1:	33 45 08             	xor    0x8(%ebp),%eax
633eb4:	89 02                	mov    %eax,(%edx)
633eb6:	83 41 04 04          	addl   $0x4,0x4(%ecx)
633eba:	8b 01                	mov    (%ecx),%eax
633ebc:	85 c0                	test   %eax,%eax
633ebe:	74 05                	je     0x633ec5
633ec0:	83 c0 04             	add    $0x4,%eax
633ec3:	89 01                	mov    %eax,(%ecx)
633ec5:	8b c1                	mov    %ecx,%eax
633ec7:	5d                   	pop    %ebp
633ec8:	c2 04 00             	ret    $0x4
633ecb:	53                   	push   %ebx
633ecc:	8b dc                	mov    %esp,%ebx
633ece:	51                   	push   %ecx
633ecf:	51                   	push   %ecx
633ed0:	83 e4 f0             	and    $0xfffffff0,%esp
633ed3:	83 c4 04             	add    $0x4,%esp
633ed6:	55                   	push   %ebp
633ed7:	8b 6b 04             	mov    0x4(%ebx),%ebp
633eda:	89 6c 24 04          	mov    %ebp,0x4(%esp)
633ede:	8b ec                	mov    %esp,%ebp
633ee0:	83 ec 68             	sub    $0x68,%esp
633ee3:	8b 43 28             	mov    0x28(%ebx),%eax
633ee6:	a8 03                	test   $0x3,%al
633ee8:	56                   	push   %esi
633ee9:	8b 73 1c             	mov    0x1c(%ebx),%esi
633eec:	57                   	push   %edi
633eed:	6a 10                	push   $0x10
633eef:	59                   	pop    %ecx
633ef0:	6a 00                	push   $0x0
633ef2:	5a                   	pop    %edx
633ef3:	0f 45 ca             	cmovne %edx,%ecx
633ef6:	8b fe                	mov    %esi,%edi
633ef8:	8b 53 18             	mov    0x18(%ebx),%edx
633efb:	f7 df                	neg    %edi
633efd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
633f00:	8b c8                	mov    %eax,%ecx
633f02:	1b ff                	sbb    %edi,%edi
633f04:	c1 e1 03             	shl    $0x3,%ecx
633f07:	f7 d1                	not    %ecx
633f09:	83 e7 10             	and    $0x10,%edi
633f0c:	83 e1 10             	and    $0x10,%ecx
633f0f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
633f12:	a8 08                	test   $0x8,%al
633f14:	74 25                	je     0x633f3b
633f16:	8b 43 20             	mov    0x20(%ebx),%eax
633f19:	83 c2 f0             	add    $0xfffffff0,%edx
633f1c:	8b 4b 24             	mov    0x24(%ebx),%ecx
633f1f:	83 c0 f0             	add    $0xfffffff0,%eax
633f22:	f7 5d f4             	negl   -0xc(%ebp)
633f25:	03 c1                	add    %ecx,%eax
633f27:	83 c6 f0             	add    $0xfffffff0,%esi
633f2a:	89 45 f8             	mov    %eax,-0x8(%ebp)
633f2d:	8b 43 28             	mov    0x28(%ebx),%eax
633f30:	03 d1                	add    %ecx,%edx
633f32:	03 f1                	add    %ecx,%esi
633f34:	f7 df                	neg    %edi
633f36:	f7 5d f0             	negl   -0x10(%ebp)
633f39:	eb 09                	jmp    0x633f44
633f3b:	8b 4b 20             	mov    0x20(%ebx),%ecx
633f3e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
633f41:	8b 4b 24             	mov    0x24(%ebx),%ecx
633f44:	89 55 fc             	mov    %edx,-0x4(%ebp)
633f47:	a8 10                	test   $0x10,%al
633f49:	0f 84 45 01 00 00    	je     0x634094
633f4f:	83 f9 40             	cmp    $0x40,%ecx
633f52:	0f 82 3c 01 00 00    	jb     0x634094
633f58:	89 45 ec             	mov    %eax,-0x14(%ebp)
633f5b:	83 e0 04             	and    $0x4,%eax
633f5e:	83 65 ec 01          	andl   $0x1,-0x14(%ebp)
633f62:	c1 e9 06             	shr    $0x6,%ecx
633f65:	89 45 e8             	mov    %eax,-0x18(%ebp)
633f68:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
633f6b:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
633f6f:	0f 10 22             	movups (%edx),%xmm4
633f72:	0f 29 65 a0          	movaps %xmm4,-0x60(%ebp)
633f76:	74 25                	je     0x633f9d
633f78:	0f 28 05 a0 de 6d 00 	movaps 0x6ddea0,%xmm0
633f7f:	0f 28 c8             	movaps %xmm0,%xmm1
633f82:	0f 28 d0             	movaps %xmm0,%xmm2
633f85:	66 0f fe cc          	paddd  %xmm4,%xmm1
633f89:	0f 28 d8             	movaps %xmm0,%xmm3
633f8c:	66 0f fe d1          	paddd  %xmm1,%xmm2
633f90:	66 0f fe da          	paddd  %xmm2,%xmm3
633f94:	66 0f fe c3          	paddd  %xmm3,%xmm0
633f98:	0f 11 02             	movups %xmm0,(%edx)
633f9b:	eb 1a                	jmp    0x633fb7
633f9d:	8b 45 f4             	mov    -0xc(%ebp),%eax
633fa0:	03 d0                	add    %eax,%edx
633fa2:	0f 10 0a             	movups (%edx),%xmm1
633fa5:	03 d0                	add    %eax,%edx
633fa7:	0f 10 12             	movups (%edx),%xmm2
633faa:	03 d0                	add    %eax,%edx
633fac:	0f 10 1a             	movups (%edx),%xmm3
633faf:	03 d0                	add    %eax,%edx
633fb1:	8b 45 e8             	mov    -0x18(%ebp),%eax
633fb4:	89 55 fc             	mov    %edx,-0x4(%ebp)
633fb7:	0f 29 5d b0          	movaps %xmm3,-0x50(%ebp)
633fbb:	0f 29 55 c0          	movaps %xmm2,-0x40(%ebp)
633fbf:	0f 29 4d d0          	movaps %xmm1,-0x30(%ebp)
633fc3:	85 c0                	test   %eax,%eax
633fc5:	74 34                	je     0x633ffb
633fc7:	0f 10 06             	movups (%esi),%xmm0
633fca:	03 f7                	add    %edi,%esi
633fcc:	66 0f ef c4          	pxor   %xmm4,%xmm0
633fd0:	0f 29 45 a0          	movaps %xmm0,-0x60(%ebp)
633fd4:	0f 10 06             	movups (%esi),%xmm0
633fd7:	03 f7                	add    %edi,%esi
633fd9:	66 0f ef c1          	pxor   %xmm1,%xmm0
633fdd:	0f 29 45 d0          	movaps %xmm0,-0x30(%ebp)
633fe1:	0f 10 06             	movups (%esi),%xmm0
633fe4:	03 f7                	add    %edi,%esi
633fe6:	66 0f ef c2          	pxor   %xmm2,%xmm0
633fea:	0f 29 45 c0          	movaps %xmm0,-0x40(%ebp)
633fee:	0f 10 06             	movups (%esi),%xmm0
633ff1:	03 f7                	add    %edi,%esi
633ff3:	66 0f ef c3          	pxor   %xmm3,%xmm0
633ff7:	0f 29 45 b0          	movaps %xmm0,-0x50(%ebp)
633ffb:	ff 73 14             	push   0x14(%ebx)
633ffe:	8d 45 b0             	lea    -0x50(%ebp),%eax
634001:	ff 73 10             	push   0x10(%ebx)
634004:	50                   	push   %eax
634005:	8d 45 c0             	lea    -0x40(%ebp),%eax
634008:	50                   	push   %eax
634009:	8d 45 d0             	lea    -0x30(%ebp),%eax
63400c:	50                   	push   %eax
63400d:	8d 45 a0             	lea    -0x60(%ebp),%eax
634010:	50                   	push   %eax
634011:	ff 53 0c             	call   *0xc(%ebx)
634014:	83 c4 18             	add    $0x18,%esp
634017:	85 f6                	test   %esi,%esi
634019:	74 30                	je     0x63404b
63401b:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
63401f:	75 2a                	jne    0x63404b
634021:	0f 10 06             	movups (%esi),%xmm0
634024:	03 f7                	add    %edi,%esi
634026:	66 0f ef 45 a0       	pxor   -0x60(%ebp),%xmm0
63402b:	0f 10 0e             	movups (%esi),%xmm1
63402e:	03 f7                	add    %edi,%esi
634030:	66 0f ef 4d d0       	pxor   -0x30(%ebp),%xmm1
634035:	0f 10 16             	movups (%esi),%xmm2
634038:	03 f7                	add    %edi,%esi
63403a:	66 0f ef 55 c0       	pxor   -0x40(%ebp),%xmm2
63403f:	0f 10 1e             	movups (%esi),%xmm3
634042:	03 f7                	add    %edi,%esi
634044:	66 0f ef 5d b0       	pxor   -0x50(%ebp),%xmm3
634049:	eb 10                	jmp    0x63405b
63404b:	0f 28 45 a0          	movaps -0x60(%ebp),%xmm0
63404f:	0f 28 4d d0          	movaps -0x30(%ebp),%xmm1
634053:	0f 28 55 c0          	movaps -0x40(%ebp),%xmm2
634057:	0f 28 5d b0          	movaps -0x50(%ebp),%xmm3
63405b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
63405e:	8b 45 f0             	mov    -0x10(%ebp),%eax
634061:	8b 55 fc             	mov    -0x4(%ebp),%edx
634064:	0f 11 01             	movups %xmm0,(%ecx)
634067:	03 c8                	add    %eax,%ecx
634069:	0f 11 09             	movups %xmm1,(%ecx)
63406c:	03 c8                	add    %eax,%ecx
63406e:	0f 11 11             	movups %xmm2,(%ecx)
634071:	03 c8                	add    %eax,%ecx
634073:	0f 11 19             	movups %xmm3,(%ecx)
634076:	03 c8                	add    %eax,%ecx
634078:	8b 45 e8             	mov    -0x18(%ebp),%eax
63407b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
63407e:	8b 4b 24             	mov    0x24(%ebx),%ecx
634081:	83 e9 40             	sub    $0x40,%ecx
634084:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
634088:	89 4b 24             	mov    %ecx,0x24(%ebx)
63408b:	0f 85 da fe ff ff    	jne    0x633f6b
634091:	8b 43 28             	mov    0x28(%ebx),%eax
634094:	83 f9 10             	cmp    $0x10,%ecx
634097:	0f 82 88 00 00 00    	jb     0x634125
63409d:	8b d0                	mov    %eax,%edx
63409f:	83 e0 04             	and    $0x4,%eax
6340a2:	83 e2 01             	and    $0x1,%edx
6340a5:	89 43 28             	mov    %eax,0x28(%ebx)
6340a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
6340ab:	89 55 e8             	mov    %edx,-0x18(%ebp)
6340ae:	8b d1                	mov    %ecx,%edx
6340b0:	c1 ea 04             	shr    $0x4,%edx
6340b3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
6340b6:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
6340ba:	0f 10 08             	movups (%eax),%xmm1
6340bd:	0f 29 4d a0          	movaps %xmm1,-0x60(%ebp)
6340c1:	74 0b                	je     0x6340ce
6340c3:	0f 10 06             	movups (%esi),%xmm0
6340c6:	66 0f ef c1          	pxor   %xmm1,%xmm0
6340ca:	0f 29 45 a0          	movaps %xmm0,-0x60(%ebp)
6340ce:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
6340d2:	74 03                	je     0x6340d7
6340d4:	fe 40 0f             	incb   0xf(%eax)
6340d7:	ff 73 14             	push   0x14(%ebx)
6340da:	8d 45 a0             	lea    -0x60(%ebp),%eax
6340dd:	ff 73 10             	push   0x10(%ebx)
6340e0:	50                   	push   %eax
6340e1:	ff 53 08             	call   *0x8(%ebx)
6340e4:	83 c4 0c             	add    $0xc,%esp
6340e7:	85 f6                	test   %esi,%esi
6340e9:	74 10                	je     0x6340fb
6340eb:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
6340ef:	75 0a                	jne    0x6340fb
6340f1:	0f 10 06             	movups (%esi),%xmm0