413d61:	72 6f                	jb     0x413dd2
413d63:	40                   	inc    %eax
413d64:	6f                   	outsl  %ds:(%esi),(%dx)
413d65:	70 65                	jo     0x413dcc
413d67:	6e                   	outsb  %ds:(%esi),(%dx)
413d68:	73 73                	jae    0x413ddd
413d6a:	6c                   	insb   (%dx),%es:(%edi)
413d6b:	2e 6f                	outsl  %cs:(%esi),(%dx)
413d6d:	72 67                	jb     0x413dd6
413d6f:	3e 00 cc             	ds add %cl,%ah
413d72:	cc                   	int3
413d73:	cc                   	int3
413d74:	cc                   	int3
413d75:	cc                   	int3
413d76:	cc                   	int3
413d77:	cc                   	int3
413d78:	cc                   	int3
413d79:	cc                   	int3
413d7a:	cc                   	int3
413d7b:	cc                   	int3
413d7c:	cc                   	int3
413d7d:	cc                   	int3
413d7e:	cc                   	int3
413d7f:	cc                   	int3
413d80:	55                   	push   %ebp
413d81:	53                   	push   %ebx
413d82:	56                   	push   %esi
413d83:	57                   	push   %edi
413d84:	8b 7c 24 14          	mov    0x14(%esp),%edi
413d88:	8b 54 24 18          	mov    0x18(%esp),%edx
413d8c:	8b 74 24 1c          	mov    0x1c(%esp),%esi
413d90:	8b 6c 24 20          	mov    0x20(%esp),%ebp
413d94:	31 c0                	xor    %eax,%eax
413d96:	31 db                	xor    %ebx,%ebx
413d98:	83 fa 00             	cmp    $0x0,%edx
413d9b:	0f 84 f6 02 00 00    	je     0x414097
413da1:	8a 07                	mov    (%edi),%al
413da3:	8a 5f 04             	mov    0x4(%edi),%bl
413da6:	83 c7 08             	add    $0x8,%edi
413da9:	8d 0c 16             	lea    (%esi,%edx,1),%ecx
413dac:	29 f5                	sub    %esi,%ebp
413dae:	89 4c 24 18          	mov    %ecx,0x18(%esp)
413db2:	fe c0                	inc    %al
413db4:	83 bf 00 01 00 00 ff 	cmpl   $0xffffffff,0x100(%edi)
413dbb:	0f 84 9f 02 00 00    	je     0x414060
413dc1:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413dc4:	83 e2 fc             	and    $0xfffffffc,%edx
413dc7:	0f 84 53 02 00 00    	je     0x414020
413dcd:	89 6c 24 20          	mov    %ebp,0x20(%esp)
413dd1:	f7 c2 f8 ff ff ff    	test   $0xfffffff8,%edx
413dd7:	0f 84 93 01 00 00    	je     0x413f70
413ddd:	8d 2d a0 73 71 00    	lea    0x7173a0,%ebp
413de3:	0f ba 65 00 1a       	btl    $0x1a,0x0(%ebp)
413de8:	0f 83 82 01 00 00    	jae    0x413f70
413dee:	8b 6c 24 20          	mov    0x20(%esp),%ebp
413df2:	83 e2 f8             	and    $0xfffffff8,%edx
413df5:	8d 54 16 f8          	lea    -0x8(%esi,%edx,1),%edx
413df9:	89 57 fc             	mov    %edx,-0x4(%edi)
413dfc:	00 cb                	add    %cl,%bl
413dfe:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413e01:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413e04:	89 14 87             	mov    %edx,(%edi,%eax,4)
413e07:	40                   	inc    %eax
413e08:	01 ca                	add    %ecx,%edx
413e0a:	0f b6 c0             	movzbl %al,%eax
413e0d:	0f b6 d2             	movzbl %dl,%edx
413e10:	0f 6f 06             	movq   (%esi),%mm0
413e13:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413e16:	0f 6e 14 97          	movd   (%edi,%edx,4),%mm2
413e1a:	e9 2b 00 00 00       	jmp    0x413e4a
413e1f:	90                   	nop
413e20:	00 cb                	add    %cl,%bl
413e22:	0f 73 f1 38          	psllq  $0x38,%mm1
413e26:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413e29:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413e2c:	89 14 87             	mov    %edx,(%edi,%eax,4)
413e2f:	40                   	inc    %eax
413e30:	01 ca                	add    %ecx,%edx
413e32:	0f b6 c0             	movzbl %al,%eax
413e35:	0f b6 d2             	movzbl %dl,%edx
413e38:	0f ef d1             	pxor   %mm1,%mm2
413e3b:	0f 6f 06             	movq   (%esi),%mm0
413e3e:	0f 7f 54 35 f8       	movq   %mm2,-0x8(%ebp,%esi,1)
413e43:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413e46:	0f 6e 14 97          	movd   (%edi,%edx,4),%mm2
413e4a:	00 cb                	add    %cl,%bl
413e4c:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413e4f:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413e52:	89 14 87             	mov    %edx,(%edi,%eax,4)
413e55:	40                   	inc    %eax
413e56:	01 ca                	add    %ecx,%edx
413e58:	0f b6 c0             	movzbl %al,%eax
413e5b:	0f b6 d2             	movzbl %dl,%edx
413e5e:	0f ef d0             	pxor   %mm0,%mm2
413e61:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413e64:	0f 6e 0c 97          	movd   (%edi,%edx,4),%mm1
413e68:	00 cb                	add    %cl,%bl
413e6a:	0f 73 f1 08          	psllq  $0x8,%mm1
413e6e:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413e71:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413e74:	89 14 87             	mov    %edx,(%edi,%eax,4)
413e77:	40                   	inc    %eax
413e78:	01 ca                	add    %ecx,%edx
413e7a:	0f b6 c0             	movzbl %al,%eax
413e7d:	0f b6 d2             	movzbl %dl,%edx
413e80:	0f ef d1             	pxor   %mm1,%mm2
413e83:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413e86:	0f 6e 0c 97          	movd   (%edi,%edx,4),%mm1
413e8a:	00 cb                	add    %cl,%bl
413e8c:	0f 73 f1 10          	psllq  $0x10,%mm1
413e90:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413e93:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413e96:	89 14 87             	mov    %edx,(%edi,%eax,4)
413e99:	40                   	inc    %eax
413e9a:	01 ca                	add    %ecx,%edx
413e9c:	0f b6 c0             	movzbl %al,%eax
413e9f:	0f b6 d2             	movzbl %dl,%edx
413ea2:	0f ef d1             	pxor   %mm1,%mm2
413ea5:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413ea8:	0f 6e 0c 97          	movd   (%edi,%edx,4),%mm1
413eac:	00 cb                	add    %cl,%bl
413eae:	0f 73 f1 18          	psllq  $0x18,%mm1
413eb2:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413eb5:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413eb8:	89 14 87             	mov    %edx,(%edi,%eax,4)
413ebb:	40                   	inc    %eax
413ebc:	01 ca                	add    %ecx,%edx
413ebe:	0f b6 c0             	movzbl %al,%eax
413ec1:	0f b6 d2             	movzbl %dl,%edx
413ec4:	0f ef d1             	pxor   %mm1,%mm2
413ec7:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413eca:	0f 6e 0c 97          	movd   (%edi,%edx,4),%mm1
413ece:	00 cb                	add    %cl,%bl
413ed0:	0f 73 f1 20          	psllq  $0x20,%mm1
413ed4:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413ed7:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413eda:	89 14 87             	mov    %edx,(%edi,%eax,4)
413edd:	40                   	inc    %eax
413ede:	01 ca                	add    %ecx,%edx
413ee0:	0f b6 c0             	movzbl %al,%eax
413ee3:	0f b6 d2             	movzbl %dl,%edx
413ee6:	0f ef d1             	pxor   %mm1,%mm2
413ee9:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413eec:	0f 6e 0c 97          	movd   (%edi,%edx,4),%mm1
413ef0:	00 cb                	add    %cl,%bl
413ef2:	0f 73 f1 28          	psllq  $0x28,%mm1
413ef6:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413ef9:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413efc:	89 14 87             	mov    %edx,(%edi,%eax,4)
413eff:	40                   	inc    %eax
413f00:	01 ca                	add    %ecx,%edx
413f02:	0f b6 c0             	movzbl %al,%eax
413f05:	0f b6 d2             	movzbl %dl,%edx
413f08:	0f ef d1             	pxor   %mm1,%mm2
413f0b:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413f0e:	0f 6e 0c 97          	movd   (%edi,%edx,4),%mm1
413f12:	00 cb                	add    %cl,%bl
413f14:	0f 73 f1 30          	psllq  $0x30,%mm1
413f18:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413f1b:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413f1e:	89 14 87             	mov    %edx,(%edi,%eax,4)
413f21:	40                   	inc    %eax
413f22:	01 ca                	add    %ecx,%edx
413f24:	0f b6 c0             	movzbl %al,%eax
413f27:	0f b6 d2             	movzbl %dl,%edx
413f2a:	0f ef d1             	pxor   %mm1,%mm2
413f2d:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413f30:	0f 6e 0c 97          	movd   (%edi,%edx,4),%mm1
413f34:	89 da                	mov    %ebx,%edx
413f36:	31 db                	xor    %ebx,%ebx
413f38:	88 d3                	mov    %dl,%bl
413f3a:	3b 77 fc             	cmp    -0x4(%edi),%esi
413f3d:	8d 76 08             	lea    0x8(%esi),%esi
413f40:	0f 82 da fe ff ff    	jb     0x413e20
413f46:	0f 73 f1 38          	psllq  $0x38,%mm1
413f4a:	0f ef d1             	pxor   %mm1,%mm2
413f4d:	0f 7f 54 35 f8       	movq   %mm2,-0x8(%ebp,%esi,1)
413f52:	0f 77                	emms
413f54:	3b 74 24 18          	cmp    0x18(%esp),%esi
413f58:	0f 84 31 01 00 00    	je     0x41408f
413f5e:	e9 bd 00 00 00       	jmp    0x414020
413f63:	90                   	nop
413f64:	90                   	nop
413f65:	90                   	nop
413f66:	90                   	nop
413f67:	90                   	nop
413f68:	90                   	nop
413f69:	90                   	nop
413f6a:	90                   	nop
413f6b:	90                   	nop
413f6c:	90                   	nop
413f6d:	90                   	nop
413f6e:	90                   	nop
413f6f:	90                   	nop
413f70:	8d 54 16 fc          	lea    -0x4(%esi,%edx,1),%edx
413f74:	89 54 24 1c          	mov    %edx,0x1c(%esp)
413f78:	00 cb                	add    %cl,%bl
413f7a:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413f7d:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413f80:	89 14 87             	mov    %edx,(%edi,%eax,4)
413f83:	01 ca                	add    %ecx,%edx
413f85:	fe c0                	inc    %al
413f87:	81 e2 ff 00 00 00    	and    $0xff,%edx
413f8d:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413f90:	8b 2c 97             	mov    (%edi,%edx,4),%ebp
413f93:	00 cb                	add    %cl,%bl
413f95:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413f98:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413f9b:	89 14 87             	mov    %edx,(%edi,%eax,4)
413f9e:	01 ca                	add    %ecx,%edx
413fa0:	fe c0                	inc    %al
413fa2:	81 e2 ff 00 00 00    	and    $0xff,%edx
413fa8:	c1 cd 08             	ror    $0x8,%ebp
413fab:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413fae:	0b 2c 97             	or     (%edi,%edx,4),%ebp
413fb1:	00 cb                	add    %cl,%bl
413fb3:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413fb6:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413fb9:	89 14 87             	mov    %edx,(%edi,%eax,4)
413fbc:	01 ca                	add    %ecx,%edx
413fbe:	fe c0                	inc    %al
413fc0:	81 e2 ff 00 00 00    	and    $0xff,%edx
413fc6:	c1 cd 08             	ror    $0x8,%ebp
413fc9:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
413fcc:	0b 2c 97             	or     (%edi,%edx,4),%ebp
413fcf:	00 cb                	add    %cl,%bl
413fd1:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
413fd4:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
413fd7:	89 14 87             	mov    %edx,(%edi,%eax,4)
413fda:	01 ca                	add    %ecx,%edx
413fdc:	fe c0                	inc    %al
413fde:	81 e2 ff 00 00 00    	and    $0xff,%edx
413fe4:	c1 cd 08             	ror    $0x8,%ebp
413fe7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
413feb:	0b 2c 97             	or     (%edi,%edx,4),%ebp
413fee:	c1 cd 08             	ror    $0x8,%ebp
413ff1:	33 2e                	xor    (%esi),%ebp
413ff3:	3b 74 24 1c          	cmp    0x1c(%esp),%esi
413ff7:	89 2c 31             	mov    %ebp,(%ecx,%esi,1)
413ffa:	8d 76 04             	lea    0x4(%esi),%esi
413ffd:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
414000:	0f 82 72 ff ff ff    	jb     0x413f78
414006:	3b 74 24 18          	cmp    0x18(%esp),%esi
41400a:	0f 84 7f 00 00 00    	je     0x41408f
414010:	8b 6c 24 20          	mov    0x20(%esp),%ebp
414014:	90                   	nop
414015:	90                   	nop
414016:	90                   	nop
414017:	90                   	nop
414018:	90                   	nop
414019:	90                   	nop
41401a:	90                   	nop
41401b:	90                   	nop
41401c:	90                   	nop
41401d:	90                   	nop
41401e:	90                   	nop
41401f:	90                   	nop
414020:	00 cb                	add    %cl,%bl
414022:	8b 14 9f             	mov    (%edi,%ebx,4),%edx
414025:	89 0c 9f             	mov    %ecx,(%edi,%ebx,4)
414028:	89 14 87             	mov    %edx,(%edi,%eax,4)
41402b:	01 ca                	add    %ecx,%edx
41402d:	fe c0                	inc    %al
41402f:	81 e2 ff 00 00 00    	and    $0xff,%edx
414035:	8b 14 97             	mov    (%edi,%edx,4),%edx
414038:	32 16                	xor    (%esi),%dl
41403a:	8d 76 01             	lea    0x1(%esi),%esi
41403d:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
414040:	3b 74 24 18          	cmp    0x18(%esp),%esi
414044:	88 54 35 ff          	mov    %dl,-0x1(%ebp,%esi,1)
414048:	0f 82 d2 ff ff ff    	jb     0x414020
41404e:	e9 3c 00 00 00       	jmp    0x41408f
414053:	90                   	nop
414054:	90                   	nop
414055:	90                   	nop
414056:	90                   	nop
414057:	90                   	nop
414058:	90                   	nop
414059:	90                   	nop
41405a:	90                   	nop
41405b:	90                   	nop
41405c:	90                   	nop
41405d:	90                   	nop
41405e:	90                   	nop
41405f:	90                   	nop
414060:	0f b6 0c 07          	movzbl (%edi,%eax,1),%ecx
414064:	00 cb                	add    %cl,%bl
414066:	0f b6 14 1f          	movzbl (%edi,%ebx,1),%edx
41406a:	88 0c 1f             	mov    %cl,(%edi,%ebx,1)
41406d:	88 14 07             	mov    %dl,(%edi,%eax,1)
414070:	00 ca                	add    %cl,%dl
414072:	0f b6 14 17          	movzbl (%edi,%edx,1),%edx
414076:	04 01                	add    $0x1,%al
414078:	32 16                	xor    (%esi),%dl
41407a:	8d 76 01             	lea    0x1(%esi),%esi
41407d:	0f b6 0c 07          	movzbl (%edi,%eax,1),%ecx
414081:	3b 74 24 18          	cmp    0x18(%esp),%esi
414085:	88 54 35 ff          	mov    %dl,-0x1(%ebp,%esi,1)
414089:	0f 82 d5 ff ff ff    	jb     0x414064
41408f:	fe c8                	dec    %al
414091:	89 5f fc             	mov    %ebx,-0x4(%edi)
414094:	88 47 f8             	mov    %al,-0x8(%edi)
414097:	5f                   	pop    %edi
414098:	5e                   	pop    %esi
414099:	5b                   	pop    %ebx
41409a:	5d                   	pop    %ebp
41409b:	c3                   	ret
41409c:	90                   	nop
41409d:	90                   	nop
41409e:	90                   	nop
41409f:	90                   	nop
4140a0:	55                   	push   %ebp
4140a1:	53                   	push   %ebx
4140a2:	56                   	push   %esi
4140a3:	57                   	push   %edi
4140a4:	8b 7c 24 14          	mov    0x14(%esp),%edi
4140a8:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4140ac:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4140b0:	8d 15 a0 73 71 00    	lea    0x7173a0,%edx
4140b6:	8d 7f 08             	lea    0x8(%edi),%edi
4140b9:	8d 34 2e             	lea    (%esi,%ebp,1),%esi
4140bc:	f7 dd                	neg    %ebp
4140be:	31 c0                	xor    %eax,%eax
4140c0:	89 6f fc             	mov    %ebp,-0x4(%edi)
4140c3:	0f ba 22 14          	btl    $0x14,(%edx)
4140c7:	0f 82 43 00 00 00    	jb     0x414110
4140cd:	90                   	nop
4140ce:	90                   	nop
4140cf:	90                   	nop
4140d0:	89 04 87             	mov    %eax,(%edi,%eax,4)
4140d3:	04 01                	add    $0x1,%al
4140d5:	0f 83 f5 ff ff ff    	jae    0x4140d0
4140db:	31 c9                	xor    %ecx,%ecx
4140dd:	31 d2                	xor    %edx,%edx
4140df:	90                   	nop
4140e0:	8b 04 8f             	mov    (%edi,%ecx,4),%eax
4140e3:	02 14 2e             	add    (%esi,%ebp,1),%dl
4140e6:	00 c2                	add    %al,%dl
4140e8:	83 c5 01             	add    $0x1,%ebp
4140eb:	8b 1c 97             	mov    (%edi,%edx,4),%ebx
4140ee:	0f 85 03 00 00 00    	jne    0x4140f7
4140f4:	8b 6f fc             	mov    -0x4(%edi),%ebp
4140f7:	89 04 97             	mov    %eax,(%edi,%edx,4)
4140fa:	89 1c 8f             	mov    %ebx,(%edi,%ecx,4)
4140fd:	80 c1 01             	add    $0x1,%cl
414100:	0f 83 da ff ff ff    	jae    0x4140e0
414106:	e9 55 00 00 00       	jmp    0x414160
41410b:	90                   	nop
41410c:	90                   	nop
41410d:	90                   	nop