556aad:	8b 45 18             	mov    0x18(%ebp),%eax
556ab0:	41                   	inc    %ecx
556ab1:	03 c9                	add    %ecx,%ecx
556ab3:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
556ab6:	8b 0a                	mov    (%edx),%ecx
556ab8:	8b 45 14             	mov    0x14(%ebp),%eax
556abb:	03 c9                	add    %ecx,%ecx
556abd:	89 44 ca 0c          	mov    %eax,0xc(%edx,%ecx,8)
556ac1:	8b 02                	mov    (%edx),%eax
556ac3:	03 c0                	add    %eax,%eax
556ac5:	89 7c c2 08          	mov    %edi,0x8(%edx,%eax,8)
556ac9:	8b 02                	mov    (%edx),%eax
556acb:	03 c0                	add    %eax,%eax
556acd:	5f                   	pop    %edi
556ace:	5e                   	pop    %esi
556acf:	5b                   	pop    %ebx
556ad0:	c7 44 c2 14 00 00 00 	movl   $0x0,0x14(%edx,%eax,8)
556ad7:	00
556ad8:	8b c2                	mov    %edx,%eax
556ada:	ff 02                	incl   (%edx)
556adc:	8b e5                	mov    %ebp,%esp
556ade:	5d                   	pop    %ebp
556adf:	c3                   	ret
556ae0:	55                   	push   %ebp
556ae1:	8b ec                	mov    %esp,%ebp
556ae3:	8b 45 0c             	mov    0xc(%ebp),%eax
556ae6:	85 c0                	test   %eax,%eax
556ae8:	74 62                	je     0x556b4c
556aea:	53                   	push   %ebx
556aeb:	33 db                	xor    %ebx,%ebx
556aed:	57                   	push   %edi
556aee:	8b 7d 08             	mov    0x8(%ebp),%edi
556af1:	39 18                	cmp    %ebx,(%eax)
556af3:	7e 4b                	jle    0x556b40
556af5:	56                   	push   %esi
556af6:	8d 70 10             	lea    0x10(%eax),%esi
556af9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
556b00:	8b 46 fc             	mov    -0x4(%esi),%eax
556b03:	85 c0                	test   %eax,%eax
556b05:	74 0a                	je     0x556b11
556b07:	50                   	push   %eax
556b08:	57                   	push   %edi
556b09:	e8 f2 a4 fa ff       	call   0x501000
556b0e:	83 c4 08             	add    $0x8,%esp
556b11:	8b 06                	mov    (%esi),%eax
556b13:	85 c0                	test   %eax,%eax
556b15:	74 0c                	je     0x556b23
556b17:	6a 01                	push   $0x1
556b19:	50                   	push   %eax
556b1a:	57                   	push   %edi
556b1b:	e8 d0 22 fa ff       	call   0x4f8df0
556b20:	83 c4 0c             	add    $0xc,%esp
556b23:	8b 46 f8             	mov    -0x8(%esi),%eax
556b26:	85 c0                	test   %eax,%eax
556b28:	74 0a                	je     0x556b34
556b2a:	50                   	push   %eax
556b2b:	57                   	push   %edi
556b2c:	e8 3f a8 fc ff       	call   0x521370
556b31:	83 c4 08             	add    $0x8,%esp
556b34:	8b 45 0c             	mov    0xc(%ebp),%eax
556b37:	43                   	inc    %ebx
556b38:	83 c6 10             	add    $0x10,%esi
556b3b:	3b 18                	cmp    (%eax),%ebx
556b3d:	7c c1                	jl     0x556b00
556b3f:	5e                   	pop    %esi
556b40:	50                   	push   %eax
556b41:	57                   	push   %edi
556b42:	e8 29 a8 fc ff       	call   0x521370
556b47:	83 c4 08             	add    $0x8,%esp
556b4a:	5f                   	pop    %edi
556b4b:	5b                   	pop    %ebx
556b4c:	5d                   	pop    %ebp
556b4d:	c3                   	ret
556b4e:	cc                   	int3
556b4f:	cc                   	int3
556b50:	55                   	push   %ebp
556b51:	8b ec                	mov    %esp,%ebp
556b53:	8b 45 08             	mov    0x8(%ebp),%eax
556b56:	33 c9                	xor    %ecx,%ecx
556b58:	8b 40 20             	mov    0x20(%eax),%eax
556b5b:	25 01 00 00 10       	and    $0x10000001,%eax
556b60:	83 f8 01             	cmp    $0x1,%eax
556b63:	75 06                	jne    0x556b6b
556b65:	85 c9                	test   %ecx,%ecx
556b67:	75 02                	jne    0x556b6b
556b69:	5d                   	pop    %ebp
556b6a:	c3                   	ret
556b6b:	33 c0                	xor    %eax,%eax
556b6d:	5d                   	pop    %ebp
556b6e:	c3                   	ret
556b6f:	cc                   	int3
556b70:	55                   	push   %ebp
556b71:	8b ec                	mov    %esp,%ebp
556b73:	83 ec 08             	sub    $0x8,%esp
556b76:	57                   	push   %edi
556b77:	33 ff                	xor    %edi,%edi
556b79:	39 3d e0 18 72 00    	cmp    %edi,0x7218e0
556b7f:	74 26                	je     0x556ba7
556b81:	68 fc c4 6b 00       	push   $0x6bc4fc
556b86:	68 c4 6e 02 00       	push   $0x26ec4
556b8b:	68 a8 c4 6b 00       	push   $0x6bc4a8
556b90:	68 78 c4 6b 00       	push   $0x6bc478
556b95:	6a 15                	push   $0x15
556b97:	e8 44 94 f8 ff       	call   0x4dffe0
556b9c:	83 c4 14             	add    $0x14,%esp
556b9f:	8d 47 15             	lea    0x15(%edi),%eax
556ba2:	5f                   	pop    %edi
556ba3:	8b e5                	mov    %ebp,%esp
556ba5:	5d                   	pop    %ebp
556ba6:	c3                   	ret
556ba7:	8b 45 08             	mov    0x8(%ebp),%eax
556baa:	48                   	dec    %eax
556bab:	83 f8 1a             	cmp    $0x1a,%eax
556bae:	0f 87 7a 02 00 00    	ja     0x556e2e
556bb4:	ff 24 85 3c 6e 55 00 	jmp    *0x556e3c(,%eax,4)
556bbb:	66 89 3d 14 18 72 00 	mov    %di,0x721814
556bc2:	8b c7                	mov    %edi,%eax
556bc4:	5f                   	pop    %edi
556bc5:	8b e5                	mov    %ebp,%esp
556bc7:	5d                   	pop    %ebp
556bc8:	c3                   	ret
556bc9:	8b c7                	mov    %edi,%eax
556bcb:	66 c7 05 14 18 72 00 	movw   $0x1,0x721814
556bd2:	01 00
556bd4:	5f                   	pop    %edi
556bd5:	8b e5                	mov    %ebp,%esp
556bd7:	5d                   	pop    %ebp
556bd8:	c3                   	ret
556bd9:	8b c7                	mov    %edi,%eax
556bdb:	66 c7 05 14 18 72 00 	movw   $0x101,0x721814
556be2:	01 01
556be4:	5f                   	pop    %edi
556be5:	8b e5                	mov    %ebp,%esp
556be7:	5d                   	pop    %ebp
556be8:	c3                   	ret
556be9:	8b 45 0c             	mov    0xc(%ebp),%eax
556bec:	0f 10 00             	movups (%eax),%xmm0
556bef:	0f 11 05 50 18 72 00 	movups %xmm0,0x721850
556bf6:	0f 10 40 10          	movups 0x10(%eax),%xmm0
556bfa:	0f 11 05 60 18 72 00 	movups %xmm0,0x721860
556c01:	8b 40 20             	mov    0x20(%eax),%eax
556c04:	a3 70 18 72 00       	mov    %eax,0x721870
556c09:	8b c7                	mov    %edi,%eax
556c0b:	5f                   	pop    %edi
556c0c:	8b e5                	mov    %ebp,%esp
556c0e:	5d                   	pop    %ebp
556c0f:	c3                   	ret
556c10:	0f 10 05 50 18 72 00 	movups 0x721850,%xmm0
556c17:	8b 4d 0c             	mov    0xc(%ebp),%ecx
556c1a:	0f 11 01             	movups %xmm0,(%ecx)
556c1d:	0f 10 05 60 18 72 00 	movups 0x721860,%xmm0
556c24:	0f 11 41 10          	movups %xmm0,0x10(%ecx)
556c28:	a1 70 18 72 00       	mov    0x721870,%eax
556c2d:	89 41 20             	mov    %eax,0x20(%ecx)
556c30:	8b c7                	mov    %edi,%eax
556c32:	5f                   	pop    %edi
556c33:	8b e5                	mov    %ebp,%esp
556c35:	5d                   	pop    %ebp
556c36:	c3                   	ret
556c37:	8b 45 0c             	mov    0xc(%ebp),%eax
556c3a:	0f 10 00             	movups (%eax),%xmm0
556c3d:	0f 11 05 30 18 72 00 	movups %xmm0,0x721830
556c44:	0f 10 40 10          	movups 0x10(%eax),%xmm0
556c48:	8b c7                	mov    %edi,%eax
556c4a:	5f                   	pop    %edi
556c4b:	0f 11 05 40 18 72 00 	movups %xmm0,0x721840
556c52:	8b e5                	mov    %ebp,%esp
556c54:	5d                   	pop    %ebp
556c55:	c3                   	ret
556c56:	39 3d 30 18 72 00    	cmp    %edi,0x721830
556c5c:	75 0f                	jne    0x556c6d
556c5e:	68 e0 27 6b 00       	push   $0x6b27e0
556c63:	6a 04                	push   $0x4
556c65:	e8 06 ff ff ff       	call   0x556b70
556c6a:	83 c4 08             	add    $0x8,%esp
556c6d:	8b 45 0c             	mov    0xc(%ebp),%eax
556c70:	0f 10 05 30 18 72 00 	movups 0x721830,%xmm0
556c77:	0f 11 00             	movups %xmm0,(%eax)
556c7a:	0f 10 05 40 18 72 00 	movups 0x721840,%xmm0
556c81:	0f 11 40 10          	movups %xmm0,0x10(%eax)
556c85:	8b c7                	mov    %edi,%eax
556c87:	5f                   	pop    %edi
556c88:	8b e5                	mov    %ebp,%esp
556c8a:	5d                   	pop    %ebp
556c8b:	c3                   	ret
556c8c:	8b 45 0c             	mov    0xc(%ebp),%eax
556c8f:	a3 10 18 72 00       	mov    %eax,0x721810
556c94:	8b c7                	mov    %edi,%eax
556c96:	5f                   	pop    %edi
556c97:	8b e5                	mov    %ebp,%esp
556c99:	5d                   	pop    %ebp
556c9a:	c3                   	ret
556c9b:	8a 45 0c             	mov    0xc(%ebp),%al
556c9e:	a2 18 18 72 00       	mov    %al,0x721818
556ca3:	8b c7                	mov    %edi,%eax
556ca5:	5f                   	pop    %edi
556ca6:	8b e5                	mov    %ebp,%esp
556ca8:	5d                   	pop    %ebp
556ca9:	c3                   	ret
556caa:	8b 45 0c             	mov    0xc(%ebp),%eax
556cad:	a3 c8 18 72 00       	mov    %eax,0x7218c8
556cb2:	8b 45 10             	mov    0x10(%ebp),%eax
556cb5:	a3 cc 18 72 00       	mov    %eax,0x7218cc
556cba:	8b 45 14             	mov    0x14(%ebp),%eax
556cbd:	a3 d0 18 72 00       	mov    %eax,0x7218d0
556cc2:	8b c7                	mov    %edi,%eax
556cc4:	5f                   	pop    %edi
556cc5:	8b e5                	mov    %ebp,%esp
556cc7:	5d                   	pop    %ebp
556cc8:	c3                   	ret
556cc9:	8b 45 0c             	mov    0xc(%ebp),%eax
556ccc:	c7 00 a0 00 00 00    	movl   $0xa0,(%eax)
556cd2:	8b c7                	mov    %edi,%eax
556cd4:	5f                   	pop    %edi
556cd5:	8b e5                	mov    %ebp,%esp
556cd7:	5d                   	pop    %ebp
556cd8:	c3                   	ret
556cd9:	8b 45 0c             	mov    0xc(%ebp),%eax
556cdc:	0f 10 00             	movups (%eax),%xmm0
556cdf:	0f 11 05 74 18 72 00 	movups %xmm0,0x721874
556ce6:	0f 10 40 10          	movups 0x10(%eax),%xmm0
556cea:	0f 11 05 84 18 72 00 	movups %xmm0,0x721884
556cf1:	0f 10 40 20          	movups 0x20(%eax),%xmm0
556cf5:	0f 11 05 94 18 72 00 	movups %xmm0,0x721894
556cfc:	8b 40 30             	mov    0x30(%eax),%eax
556cff:	a3 a4 18 72 00       	mov    %eax,0x7218a4
556d04:	8b c7                	mov    %edi,%eax
556d06:	5f                   	pop    %edi
556d07:	8b e5                	mov    %ebp,%esp
556d09:	5d                   	pop    %ebp
556d0a:	c3                   	ret
556d0b:	39 3d 7c 18 72 00    	cmp    %edi,0x72187c
556d11:	75 0f                	jne    0x556d22
556d13:	68 3c 26 6b 00       	push   $0x6b263c
556d18:	6a 12                	push   $0x12
556d1a:	e8 51 fe ff ff       	call   0x556b70
556d1f:	83 c4 08             	add    $0x8,%esp
556d22:	0f 10 05 74 18 72 00 	movups 0x721874,%xmm0
556d29:	8b 4d 0c             	mov    0xc(%ebp),%ecx
556d2c:	0f 11 01             	movups %xmm0,(%ecx)
556d2f:	0f 10 05 84 18 72 00 	movups 0x721884,%xmm0
556d36:	0f 11 41 10          	movups %xmm0,0x10(%ecx)
556d3a:	0f 10 05 94 18 72 00 	movups 0x721894,%xmm0
556d41:	0f 11 41 20          	movups %xmm0,0x20(%ecx)
556d45:	a1 a4 18 72 00       	mov    0x7218a4,%eax
556d4a:	89 41 30             	mov    %eax,0x30(%ecx)
556d4d:	8b c7                	mov    %edi,%eax
556d4f:	5f                   	pop    %edi
556d50:	8b e5                	mov    %ebp,%esp
556d52:	5d                   	pop    %ebp
556d53:	c3                   	ret
556d54:	8b 45 0c             	mov    0xc(%ebp),%eax
556d57:	a3 24 18 72 00       	mov    %eax,0x721824
556d5c:	8b 45 10             	mov    0x10(%ebp),%eax
556d5f:	a3 28 18 72 00       	mov    %eax,0x721828
556d64:	8b c7                	mov    %edi,%eax
556d66:	5f                   	pop    %edi
556d67:	8b e5                	mov    %ebp,%esp
556d69:	5d                   	pop    %ebp
556d6a:	c3                   	ret
556d6b:	8b 45 0c             	mov    0xc(%ebp),%eax
556d6e:	a3 fc 18 72 00       	mov    %eax,0x7218fc
556d73:	8b 45 10             	mov    0x10(%ebp),%eax
556d76:	a3 00 19 72 00       	mov    %eax,0x721900
556d7b:	8b c7                	mov    %edi,%eax
556d7d:	5f                   	pop    %edi
556d7e:	8b e5                	mov    %ebp,%esp
556d80:	5d                   	pop    %ebp
556d81:	c3                   	ret
556d82:	8a 45 0c             	mov    0xc(%ebp),%al
556d85:	a2 16 18 72 00       	mov    %al,0x721816
556d8a:	8b c7                	mov    %edi,%eax
556d8c:	5f                   	pop    %edi
556d8d:	8b e5                	mov    %ebp,%esp
556d8f:	5d                   	pop    %ebp
556d90:	c3                   	ret
556d91:	8a 45 0c             	mov    0xc(%ebp),%al
556d94:	a2 17 18 72 00       	mov    %al,0x721817
556d99:	8b c7                	mov    %edi,%eax
556d9b:	5f                   	pop    %edi
556d9c:	8b e5                	mov    %ebp,%esp
556d9e:	5d                   	pop    %ebp
556d9f:	c3                   	ret
556da0:	8b 4d 18             	mov    0x18(%ebp),%ecx
556da3:	8b 55 0c             	mov    0xc(%ebp),%edx
556da6:	8b 45 14             	mov    0x14(%ebp),%eax
556da9:	56                   	push   %esi
556daa:	8b 75 10             	mov    0x10(%ebp),%esi
556dad:	85 c9                	test   %ecx,%ecx
556daf:	7c 13                	jl     0x556dc4
556db1:	7f 11                	jg     0x556dc4
556db3:	85 c0                	test   %eax,%eax
556db5:	72 0d                	jb     0x556dc4
556db7:	85 c9                	test   %ecx,%ecx
556db9:	7c 10                	jl     0x556dcb
556dbb:	7f 07                	jg     0x556dc4
556dbd:	3d 00 00 ff 7f       	cmp    $0x7fff0000,%eax
556dc2:	76 07                	jbe    0x556dcb
556dc4:	b8 00 00 ff 7f       	mov    $0x7fff0000,%eax
556dc9:	33 c9                	xor    %ecx,%ecx
556dcb:	85 f6                	test   %esi,%esi
556dcd:	7f 14                	jg     0x556de3
556dcf:	7c 04                	jl     0x556dd5
556dd1:	85 d2                	test   %edx,%edx
556dd3:	73 0e                	jae    0x556de3
556dd5:	0f 57 c0             	xorps  %xmm0,%xmm0
556dd8:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
556ddd:	8b 75 fc             	mov    -0x4(%ebp),%esi
556de0:	8b 55 f8             	mov    -0x8(%ebp),%edx
556de3:	3b f1                	cmp    %ecx,%esi
556de5:	7c 0a                	jl     0x556df1
556de7:	7f 04                	jg     0x556ded
556de9:	3b d0                	cmp    %eax,%edx
556deb:	76 04                	jbe    0x556df1
556ded:	8b d0                	mov    %eax,%edx
556def:	8b f1                	mov    %ecx,%esi
556df1:	89 35 bc 18 72 00    	mov    %esi,0x7218bc
556df7:	a3 c0 18 72 00       	mov    %eax,0x7218c0
556dfc:	8b c7                	mov    %edi,%eax
556dfe:	5e                   	pop    %esi
556dff:	89 0d c4 18 72 00    	mov    %ecx,0x7218c4
556e05:	89 15 b8 18 72 00    	mov    %edx,0x7218b8
556e0b:	5f                   	pop    %edi
556e0c:	8b e5                	mov    %ebp,%esp
556e0e:	5d                   	pop    %ebp
556e0f:	c3                   	ret
556e10:	8b 45 0c             	mov    0xc(%ebp),%eax
556e13:	a3 dc 18 72 00       	mov    %eax,0x7218dc
556e18:	8b c7                	mov    %edi,%eax
556e1a:	5f                   	pop    %edi
556e1b:	8b e5                	mov    %ebp,%esp
556e1d:	5d                   	pop    %ebp
556e1e:	c3                   	ret
556e1f:	8b 45 0c             	mov    0xc(%ebp),%eax
556e22:	a3 2c 18 72 00       	mov    %eax,0x72182c
556e27:	8b c7                	mov    %edi,%eax
556e29:	5f                   	pop    %edi
556e2a:	8b e5                	mov    %ebp,%esp
556e2c:	5d                   	pop    %ebp
556e2d:	c3                   	ret
556e2e:	bf 01 00 00 00       	mov    $0x1,%edi
556e33:	8b c7                	mov    %edi,%eax
556e35:	5f                   	pop    %edi
556e36:	8b e5                	mov    %ebp,%esp
556e38:	5d                   	pop    %ebp
556e39:	c3                   	ret
556e3a:	66 90                	xchg   %ax,%ax
556e3c:	bb 6b 55 00 c9       	mov    $0xc900556b,%ebx
556e41:	6b 55 00 d9          	imul   $0xffffffd9,0x0(%ebp),%edx
556e45:	6b 55 00 37          	imul   $0x37,0x0(%ebp),%edx