4f2bc4:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4f2bc8:	89 54 24 20          	mov    %edx,0x20(%esp)
4f2bcc:	57                   	push   %edi
4f2bcd:	8b 7c 24 70          	mov    0x70(%esp),%edi
4f2bd1:	85 f6                	test   %esi,%esi
4f2bd3:	0f 84 9c 02 00 00    	je     0x4f2e75
4f2bd9:	3b df                	cmp    %edi,%ebx
4f2bdb:	74 5e                	je     0x4f2c3b
4f2bdd:	83 fe 10             	cmp    $0x10,%esi
4f2be0:	72 4b                	jb     0x4f2c2d
4f2be2:	8b c6                	mov    %esi,%eax
4f2be4:	c1 e8 04             	shr    $0x4,%eax
4f2be7:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2beb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4f2bf0:	51                   	push   %ecx
4f2bf1:	57                   	push   %edi
4f2bf2:	53                   	push   %ebx
4f2bf3:	ff d2                	call   *%edx
4f2bf5:	8b 45 00             	mov    0x0(%ebp),%eax
4f2bf8:	83 c4 0c             	add    $0xc,%esp
4f2bfb:	31 07                	xor    %eax,(%edi)
4f2bfd:	83 ee 10             	sub    $0x10,%esi
4f2c00:	8b 45 04             	mov    0x4(%ebp),%eax
4f2c03:	31 47 04             	xor    %eax,0x4(%edi)
4f2c06:	8b 45 08             	mov    0x8(%ebp),%eax
4f2c09:	31 47 08             	xor    %eax,0x8(%edi)
4f2c0c:	8b 45 0c             	mov    0xc(%ebp),%eax
4f2c0f:	8b eb                	mov    %ebx,%ebp
4f2c11:	31 47 0c             	xor    %eax,0xc(%edi)
4f2c14:	83 c3 10             	add    $0x10,%ebx
4f2c17:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4f2c1b:	83 c7 10             	add    $0x10,%edi
4f2c1e:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
4f2c23:	8b 54 24 24          	mov    0x24(%esp),%edx
4f2c27:	75 c7                	jne    0x4f2bf0
4f2c29:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4f2c2d:	0f 10 45 00          	movups 0x0(%ebp),%xmm0
4f2c31:	8b 6c 24 30          	mov    0x30(%esp),%ebp
4f2c35:	0f 11 45 00          	movups %xmm0,0x0(%ebp)
4f2c39:	eb 7b                	jmp    0x4f2cb6
4f2c3b:	83 fe 10             	cmp    $0x10,%esi
4f2c3e:	0f 82 82 00 00 00    	jb     0x4f2cc6
4f2c44:	8b c6                	mov    %esi,%eax
4f2c46:	c1 e8 04             	shr    $0x4,%eax
4f2c49:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2c4d:	0f 1f 00             	nopl   (%eax)
4f2c50:	51                   	push   %ecx
4f2c51:	8d 44 24 58          	lea    0x58(%esp),%eax
4f2c55:	50                   	push   %eax
4f2c56:	53                   	push   %ebx
4f2c57:	ff d2                	call   *%edx
4f2c59:	8b 0b                	mov    (%ebx),%ecx
4f2c5b:	83 c4 0c             	add    $0xc,%esp
4f2c5e:	8b 45 00             	mov    0x0(%ebp),%eax
4f2c61:	83 ee 10             	sub    $0x10,%esi
4f2c64:	33 44 24 54          	xor    0x54(%esp),%eax
4f2c68:	8b 54 24 24          	mov    0x24(%esp),%edx
4f2c6c:	89 07                	mov    %eax,(%edi)
4f2c6e:	8b 45 04             	mov    0x4(%ebp),%eax
4f2c71:	33 44 24 58          	xor    0x58(%esp),%eax
4f2c75:	89 4d 00             	mov    %ecx,0x0(%ebp)
4f2c78:	8b 4b 04             	mov    0x4(%ebx),%ecx
4f2c7b:	89 47 04             	mov    %eax,0x4(%edi)
4f2c7e:	8b 45 08             	mov    0x8(%ebp),%eax
4f2c81:	33 44 24 5c          	xor    0x5c(%esp),%eax
4f2c85:	89 4d 04             	mov    %ecx,0x4(%ebp)
4f2c88:	8b 4b 08             	mov    0x8(%ebx),%ecx
4f2c8b:	89 47 08             	mov    %eax,0x8(%edi)
4f2c8e:	8b 45 0c             	mov    0xc(%ebp),%eax
4f2c91:	33 44 24 60          	xor    0x60(%esp),%eax
4f2c95:	89 4d 08             	mov    %ecx,0x8(%ebp)
4f2c98:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4f2c9b:	83 c3 10             	add    $0x10,%ebx
4f2c9e:	89 47 0c             	mov    %eax,0xc(%edi)
4f2ca1:	83 c7 10             	add    $0x10,%edi
4f2ca4:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
4f2ca9:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4f2cac:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4f2cb0:	75 9e                	jne    0x4f2c50
4f2cb2:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4f2cb6:	85 f6                	test   %esi,%esi
4f2cb8:	0f 84 b7 01 00 00    	je     0x4f2e75
4f2cbe:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4f2cc2:	8b 54 24 24          	mov    0x24(%esp),%edx
4f2cc6:	8d 45 01             	lea    0x1(%ebp),%eax
4f2cc9:	89 44 24 38          	mov    %eax,0x38(%esp)
4f2ccd:	8d 44 24 54          	lea    0x54(%esp),%eax
4f2cd1:	2b c5                	sub    %ebp,%eax
4f2cd3:	89 44 24 40          	mov    %eax,0x40(%esp)
4f2cd7:	b8 01 00 00 00       	mov    $0x1,%eax
4f2cdc:	2b c5                	sub    %ebp,%eax
4f2cde:	89 44 24 44          	mov    %eax,0x44(%esp)
4f2ce2:	8d 44 24 55          	lea    0x55(%esp),%eax
4f2ce6:	2b c5                	sub    %ebp,%eax
4f2ce8:	89 44 24 48          	mov    %eax,0x48(%esp)
4f2cec:	b8 02 00 00 00       	mov    $0x2,%eax
4f2cf1:	2b c5                	sub    %ebp,%eax
4f2cf3:	89 44 24 4c          	mov    %eax,0x4c(%esp)
4f2cf7:	8d 44 24 56          	lea    0x56(%esp),%eax
4f2cfb:	2b c5                	sub    %ebp,%eax
4f2cfd:	89 44 24 50          	mov    %eax,0x50(%esp)
4f2d01:	8d 44 24 54          	lea    0x54(%esp),%eax
4f2d05:	2b c3                	sub    %ebx,%eax
4f2d07:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2d0b:	8b c7                	mov    %edi,%eax
4f2d0d:	2b c5                	sub    %ebp,%eax
4f2d0f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4f2d13:	8d 45 02             	lea    0x2(%ebp),%eax
4f2d16:	89 44 24 34          	mov    %eax,0x34(%esp)
4f2d1a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4f2d20:	51                   	push   %ecx
4f2d21:	8d 44 24 58          	lea    0x58(%esp),%eax
4f2d25:	50                   	push   %eax
4f2d26:	53                   	push   %ebx
4f2d27:	ff d2                	call   *%edx
4f2d29:	8b 44 24 28          	mov    0x28(%esp),%eax
4f2d2d:	8b d3                	mov    %ebx,%edx
4f2d2f:	03 44 24 40          	add    0x40(%esp),%eax
4f2d33:	83 c4 0c             	add    $0xc,%esp
4f2d36:	33 ed                	xor    %ebp,%ebp
4f2d38:	89 44 24 18          	mov    %eax,0x18(%esp)
4f2d3c:	8b 44 24 38          	mov    0x38(%esp),%eax
4f2d40:	2b d7                	sub    %edi,%edx
4f2d42:	89 54 24 2c          	mov    %edx,0x2c(%esp)
4f2d46:	8b cb                	mov    %ebx,%ecx
4f2d48:	8b d7                	mov    %edi,%edx
4f2d4a:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4f2d4e:	f7 d2                	not    %edx
4f2d50:	89 54 24 3c          	mov    %edx,0x3c(%esp)
4f2d54:	3b ee                	cmp    %esi,%ebp
4f2d56:	0f 83 b1 00 00 00    	jae    0x4f2e0d
4f2d5c:	8a 11                	mov    (%ecx),%dl
4f2d5e:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4f2d62:	8a 0c 19             	mov    (%ecx,%ebx,1),%cl
4f2d65:	32 48 ff             	xor    -0x1(%eax),%cl
4f2d68:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4f2d6c:	88 4b fe             	mov    %cl,-0x2(%ebx)
4f2d6f:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4f2d73:	03 cb                	add    %ebx,%ecx
4f2d75:	88 50 ff             	mov    %dl,-0x1(%eax)
4f2d78:	3b ce                	cmp    %esi,%ecx
4f2d7a:	0f 83 8c 00 00 00    	jae    0x4f2e0c
4f2d80:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4f2d84:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4f2d88:	03 d0                	add    %eax,%edx
4f2d8a:	8a 1c 0a             	mov    (%edx,%ecx,1),%bl
4f2d8d:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f2d91:	8a 0c 01             	mov    (%ecx,%eax,1),%cl
4f2d94:	32 08                	xor    (%eax),%cl
4f2d96:	88 0a                	mov    %cl,(%edx)
4f2d98:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4f2d9c:	03 c8                	add    %eax,%ecx
4f2d9e:	88 18                	mov    %bl,(%eax)
4f2da0:	3b ce                	cmp    %esi,%ecx
4f2da2:	73 63                	jae    0x4f2e07
4f2da4:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4f2da8:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4f2dac:	8a 14 0b             	mov    (%ebx,%ecx,1),%dl
4f2daf:	8b 4c 24 48          	mov    0x48(%esp),%ecx
4f2db3:	8a 0c 01             	mov    (%ecx,%eax,1),%cl
4f2db6:	32 48 01             	xor    0x1(%eax),%cl
4f2db9:	88 0b                	mov    %cl,(%ebx)
4f2dbb:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4f2dbf:	03 c8                	add    %eax,%ecx
4f2dc1:	88 50 01             	mov    %dl,0x1(%eax)
4f2dc4:	3b ce                	cmp    %esi,%ecx
4f2dc6:	73 3a                	jae    0x4f2e02
4f2dc8:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4f2dcc:	83 c5 04             	add    $0x4,%ebp
4f2dcf:	8a 51 03             	mov    0x3(%ecx),%dl
4f2dd2:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4f2dd6:	8a 0c 01             	mov    (%ecx,%eax,1),%cl
4f2dd9:	32 48 02             	xor    0x2(%eax),%cl
4f2ddc:	88 4b 01             	mov    %cl,0x1(%ebx)
4f2ddf:	83 c3 04             	add    $0x4,%ebx
4f2de2:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4f2de6:	88 50 02             	mov    %dl,0x2(%eax)
4f2de9:	83 c1 04             	add    $0x4,%ecx
4f2dec:	83 c0 04             	add    $0x4,%eax
4f2def:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4f2df3:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4f2df7:	83 fd 10             	cmp    $0x10,%ebp
4f2dfa:	0f 82 54 ff ff ff    	jb     0x4f2d54
4f2e00:	eb 0b                	jmp    0x4f2e0d
4f2e02:	83 c5 03             	add    $0x3,%ebp
4f2e05:	eb 06                	jmp    0x4f2e0d
4f2e07:	83 c5 02             	add    $0x2,%ebp
4f2e0a:	eb 01                	jmp    0x4f2e0d
4f2e0c:	45                   	inc    %ebp
4f2e0d:	83 fe 10             	cmp    $0x10,%esi
4f2e10:	76 3c                	jbe    0x4f2e4e
4f2e12:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4f2e16:	83 c7 10             	add    $0x10,%edi
4f2e19:	83 44 24 1c 10       	addl   $0x10,0x1c(%esp)
4f2e1e:	83 c3 10             	add    $0x10,%ebx
4f2e21:	83 6c 24 10 10       	subl   $0x10,0x10(%esp)
4f2e26:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4f2e2a:	8b 54 24 24          	mov    0x24(%esp),%edx
4f2e2e:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4f2e32:	83 ee 10             	sub    $0x10,%esi
4f2e35:	0f 85 e5 fe ff ff    	jne    0x4f2d20
4f2e3b:	5f                   	pop    %edi
4f2e3c:	5e                   	pop    %esi
4f2e3d:	5d                   	pop    %ebp
4f2e3e:	5b                   	pop    %ebx
4f2e3f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4f2e43:	33 cc                	xor    %esp,%ecx
4f2e45:	e8 dc eb 0d 00       	call   0x5d1a26
4f2e4a:	83 c4 58             	add    $0x58,%esp
4f2e4d:	c3                   	ret
4f2e4e:	83 fd 10             	cmp    $0x10,%ebp
4f2e51:	73 22                	jae    0x4f2e75
4f2e53:	8b 44 24 30          	mov    0x30(%esp),%eax
4f2e57:	ba 10 00 00 00       	mov    $0x10,%edx
4f2e5c:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4f2e60:	2b d8                	sub    %eax,%ebx
4f2e62:	2b d5                	sub    %ebp,%edx
4f2e64:	8d 0c 28             	lea    (%eax,%ebp,1),%ecx
4f2e67:	8a 04 0b             	mov    (%ebx,%ecx,1),%al
4f2e6a:	8d 49 01             	lea    0x1(%ecx),%ecx
4f2e6d:	88 41 ff             	mov    %al,-0x1(%ecx)
4f2e70:	83 ea 01             	sub    $0x1,%edx
4f2e73:	75 f2                	jne    0x4f2e67
4f2e75:	8b 4c 24 64          	mov    0x64(%esp),%ecx
4f2e79:	5f                   	pop    %edi
4f2e7a:	5e                   	pop    %esi
4f2e7b:	5d                   	pop    %ebp
4f2e7c:	5b                   	pop    %ebx
4f2e7d:	33 cc                	xor    %esp,%ecx
4f2e7f:	e8 a2 eb 0d 00       	call   0x5d1a26
4f2e84:	83 c4 58             	add    $0x58,%esp
4f2e87:	c3                   	ret
4f2e88:	cc                   	int3
4f2e89:	cc                   	int3
4f2e8a:	cc                   	int3
4f2e8b:	cc                   	int3
4f2e8c:	cc                   	int3
4f2e8d:	cc                   	int3
4f2e8e:	cc                   	int3
4f2e8f:	cc                   	int3
4f2e90:	b8 1c 00 00 00       	mov    $0x1c,%eax
4f2e95:	e8 16 e9 0d 00       	call   0x5d17b0
4f2e9a:	55                   	push   %ebp
4f2e9b:	8b 6c 24 34          	mov    0x34(%esp),%ebp
4f2e9f:	56                   	push   %esi
4f2ea0:	8b 74 24 30          	mov    0x30(%esp),%esi
4f2ea4:	85 f6                	test   %esi,%esi
4f2ea6:	0f 84 9a 01 00 00    	je     0x4f3046
4f2eac:	53                   	push   %ebx
4f2ead:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4f2eb1:	57                   	push   %edi
4f2eb2:	83 fe 10             	cmp    $0x10,%esi
4f2eb5:	72 72                	jb     0x4f2f29
4f2eb7:	8b c6                	mov    %esi,%eax
4f2eb9:	c1 e8 04             	shr    $0x4,%eax
4f2ebc:	89 44 24 38          	mov    %eax,0x38(%esp)
4f2ec0:	8b 44 24 30          	mov    0x30(%esp),%eax
4f2ec4:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2ec8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4f2ecf:	00
4f2ed0:	2b 6c 24 10          	sub    0x10(%esp),%ebp
4f2ed4:	8b fb                	mov    %ebx,%edi
4f2ed6:	2b 7c 24 10          	sub    0x10(%esp),%edi
4f2eda:	ba 04 00 00 00       	mov    $0x4,%edx
4f2edf:	90                   	nop
4f2ee0:	8b 0c 28             	mov    (%eax,%ebp,1),%ecx
4f2ee3:	8d 40 04             	lea    0x4(%eax),%eax
4f2ee6:	33 48 fc             	xor    -0x4(%eax),%ecx
4f2ee9:	89 4c 07 fc          	mov    %ecx,-0x4(%edi,%eax,1)
4f2eed:	83 ea 01             	sub    $0x1,%edx
4f2ef0:	75 ee                	jne    0x4f2ee0
4f2ef2:	ff 74 24 3c          	push   0x3c(%esp)
4f2ef6:	53                   	push   %ebx
4f2ef7:	53                   	push   %ebx
4f2ef8:	ff 54 24 50          	call   *0x50(%esp)
4f2efc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4f2f00:	8b eb                	mov    %ebx,%ebp
4f2f02:	83 ee 10             	sub    $0x10,%esi
4f2f05:	83 c0 10             	add    $0x10,%eax
4f2f08:	83 c4 0c             	add    $0xc,%esp
4f2f0b:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2f0f:	83 c3 10             	add    $0x10,%ebx
4f2f12:	8b ce                	mov    %esi,%ecx
4f2f14:	83 6c 24 38 01       	subl   $0x1,0x38(%esp)
4f2f19:	75 b5                	jne    0x4f2ed0
4f2f1b:	89 4c 24 38          	mov    %ecx,0x38(%esp)
4f2f1f:	85 c9                	test   %ecx,%ecx
4f2f21:	0f 84 12 01 00 00    	je     0x4f3039
4f2f27:	eb 08                	jmp    0x4f2f31
4f2f29:	8b 44 24 30          	mov    0x30(%esp),%eax
4f2f2d:	89 44 24 10          	mov    %eax,0x10(%esp)
4f2f31:	8b f3                	mov    %ebx,%esi
4f2f33:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4f2f37:	29 44 24 14          	sub    %eax,0x14(%esp)
4f2f3b:	8d 48 01             	lea    0x1(%eax),%ecx
4f2f3e:	2b f0                	sub    %eax,%esi
4f2f40:	8d 7b 02             	lea    0x2(%ebx),%edi
4f2f43:	89 74 24 20          	mov    %esi,0x20(%esp)
4f2f47:	33 d2                	xor    %edx,%edx
4f2f49:	be 01 00 00 00       	mov    $0x1,%esi
4f2f4e:	2b f0                	sub    %eax,%esi
4f2f50:	89 74 24 24          	mov    %esi,0x24(%esp)
4f2f54:	be 02 00 00 00       	mov    $0x2,%esi
4f2f59:	2b f0                	sub    %eax,%esi
4f2f5b:	8b c5                	mov    %ebp,%eax
4f2f5d:	2b c3                	sub    %ebx,%eax
4f2f5f:	89 74 24 28          	mov    %esi,0x28(%esp)
4f2f63:	8b 74 24 38          	mov    0x38(%esp),%esi
4f2f67:	89 44 24 18          	mov    %eax,0x18(%esp)
4f2f6b:	8b c3                	mov    %ebx,%eax
4f2f6d:	f7 d0                	not    %eax
4f2f6f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4f2f73:	3b d6                	cmp    %esi,%edx
4f2f75:	73 71                	jae    0x4f2fe8
4f2f77:	8a 41 ff             	mov    -0x1(%ecx),%al
4f2f7a:	32 04 2a             	xor    (%edx,%ebp,1),%al
4f2f7d:	88 47 fe             	mov    %al,-0x2(%edi)
4f2f80:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4f2f84:	03 c7                	add    %edi,%eax
4f2f86:	3b c6                	cmp    %esi,%eax
4f2f88:	73 58                	jae    0x4f2fe2
4f2f8a:	8b 44 24 14          	mov    0x14(%esp),%eax
4f2f8e:	8b 74 24 20          	mov    0x20(%esp),%esi
4f2f92:	8a 04 01             	mov    (%ecx,%eax,1),%al
4f2f95:	32 01                	xor    (%ecx),%al
4f2f97:	88 04 31             	mov    %al,(%ecx,%esi,1)
4f2f9a:	8b 44 24 24          	mov    0x24(%esp),%eax
4f2f9e:	8b 74 24 38          	mov    0x38(%esp),%esi
4f2fa2:	03 c1                	add    %ecx,%eax
4f2fa4:	3b c6                	cmp    %esi,%eax
4f2fa6:	73 35                	jae    0x4f2fdd
4f2fa8:	8b 44 24 18          	mov    0x18(%esp),%eax
4f2fac:	8a 04 38             	mov    (%eax,%edi,1),%al
4f2faf:	32 41 01             	xor    0x1(%ecx),%al
4f2fb2:	88 07                	mov    %al,(%edi)
4f2fb4:	8b 44 24 28          	mov    0x28(%esp),%eax
4f2fb8:	03 c1                	add    %ecx,%eax
4f2fba:	3b c6                	cmp    %esi,%eax
4f2fbc:	73 1a                	jae    0x4f2fd8
4f2fbe:	8a 41 02             	mov    0x2(%ecx),%al
4f2fc1:	83 c1 04             	add    $0x4,%ecx
4f2fc4:	32 44 2a 03          	xor    0x3(%edx,%ebp,1),%al
4f2fc8:	83 c2 04             	add    $0x4,%edx
4f2fcb:	88 47 01             	mov    %al,0x1(%edi)
4f2fce:	83 c7 04             	add    $0x4,%edi
4f2fd1:	83 fa 10             	cmp    $0x10,%edx
4f2fd4:	72 9d                	jb     0x4f2f73
4f2fd6:	eb 30                	jmp    0x4f3008
4f2fd8:	83 c2 03             	add    $0x3,%edx
4f2fdb:	eb 06                	jmp    0x4f2fe3