408c78:	ff 24 95 80 8c 40 00 	jmp    *0x408c80(,%edx,4)
408c7f:	90                   	nop
408c80:	90                   	nop
408c81:	8c 40 00             	mov    %es,0x0(%eax)
408c84:	98                   	cwtl
408c85:	8c 40 00             	mov    %es,0x0(%eax)
408c88:	a8 8c                	test   $0x8c,%al
408c8a:	40                   	inc    %eax
408c8b:	00 bc 8c 40 00 8b 44 	add    %bh,0x448b0040(%esp,%ecx,4)
408c92:	24 0c                	and    $0xc,%al
408c94:	5e                   	pop    %esi
408c95:	5f                   	pop    %edi
408c96:	c3                   	ret
408c97:	90                   	nop
408c98:	8a 46 03             	mov    0x3(%esi),%al
408c9b:	88 47 03             	mov    %al,0x3(%edi)
408c9e:	8b 44 24 0c          	mov    0xc(%esp),%eax
408ca2:	5e                   	pop    %esi
408ca3:	5f                   	pop    %edi
408ca4:	c3                   	ret
408ca5:	8d 49 00             	lea    0x0(%ecx),%ecx
408ca8:	8a 46 03             	mov    0x3(%esi),%al
408cab:	88 47 03             	mov    %al,0x3(%edi)
408cae:	8a 46 02             	mov    0x2(%esi),%al
408cb1:	88 47 02             	mov    %al,0x2(%edi)
408cb4:	8b 44 24 0c          	mov    0xc(%esp),%eax
408cb8:	5e                   	pop    %esi
408cb9:	5f                   	pop    %edi
408cba:	c3                   	ret
408cbb:	90                   	nop
408cbc:	8a 46 03             	mov    0x3(%esi),%al
408cbf:	88 47 03             	mov    %al,0x3(%edi)
408cc2:	8a 46 02             	mov    0x2(%esi),%al
408cc5:	88 47 02             	mov    %al,0x2(%edi)
408cc8:	8a 46 01             	mov    0x1(%esi),%al
408ccb:	88 47 01             	mov    %al,0x1(%edi)
408cce:	8b 44 24 0c          	mov    0xc(%esp),%eax
408cd2:	5e                   	pop    %esi
408cd3:	5f                   	pop    %edi
408cd4:	c3                   	ret
408cd5:	f7 c7 0f 00 00 00    	test   $0xf,%edi
408cdb:	74 0f                	je     0x408cec
408cdd:	49                   	dec    %ecx
408cde:	4e                   	dec    %esi
408cdf:	4f                   	dec    %edi
408ce0:	8a 06                	mov    (%esi),%al
408ce2:	88 07                	mov    %al,(%edi)
408ce4:	f7 c7 0f 00 00 00    	test   $0xf,%edi
408cea:	75 f1                	jne    0x408cdd
408cec:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
408cf2:	72 68                	jb     0x408d5c
408cf4:	81 ee 80 00 00 00    	sub    $0x80,%esi
408cfa:	81 ef 80 00 00 00    	sub    $0x80,%edi
408d00:	f3 0f 6f 06          	movdqu (%esi),%xmm0
408d04:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
408d09:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
408d0e:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
408d13:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
408d18:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
408d1d:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
408d22:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
408d27:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408d2b:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
408d30:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
408d35:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
408d3a:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
408d3f:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
408d44:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
408d49:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
408d4e:	81 e9 80 00 00 00    	sub    $0x80,%ecx
408d54:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
408d5a:	75 90                	jne    0x408cec
408d5c:	83 f9 20             	cmp    $0x20,%ecx
408d5f:	72 23                	jb     0x408d84
408d61:	83 ee 20             	sub    $0x20,%esi
408d64:	83 ef 20             	sub    $0x20,%edi
408d67:	f3 0f 6f 06          	movdqu (%esi),%xmm0
408d6b:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
408d70:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408d74:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
408d79:	83 e9 20             	sub    $0x20,%ecx
408d7c:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
408d82:	75 dd                	jne    0x408d61
408d84:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
408d8a:	74 15                	je     0x408da1
408d8c:	83 ef 04             	sub    $0x4,%edi
408d8f:	83 ee 04             	sub    $0x4,%esi
408d92:	8b 06                	mov    (%esi),%eax
408d94:	89 07                	mov    %eax,(%edi)
408d96:	83 e9 04             	sub    $0x4,%ecx
408d99:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
408d9f:	75 eb                	jne    0x408d8c
408da1:	85 c9                	test   %ecx,%ecx
408da3:	74 0f                	je     0x408db4
408da5:	83 ef 01             	sub    $0x1,%edi
408da8:	83 ee 01             	sub    $0x1,%esi
408dab:	8a 06                	mov    (%esi),%al
408dad:	88 07                	mov    %al,(%edi)
408daf:	83 e9 01             	sub    $0x1,%ecx
408db2:	75 f1                	jne    0x408da5
408db4:	8b 44 24 0c          	mov    0xc(%esp),%eax
408db8:	5e                   	pop    %esi
408db9:	5f                   	pop    %edi
408dba:	c3                   	ret
408dbb:	eb 03                	jmp    0x408dc0
408dbd:	cc                   	int3
408dbe:	cc                   	int3
408dbf:	cc                   	int3
408dc0:	8b c6                	mov    %esi,%eax
408dc2:	83 e0 0f             	and    $0xf,%eax
408dc5:	85 c0                	test   %eax,%eax
408dc7:	0f 85 e3 00 00 00    	jne    0x408eb0
408dcd:	8b d1                	mov    %ecx,%edx
408dcf:	83 e1 7f             	and    $0x7f,%ecx
408dd2:	c1 ea 07             	shr    $0x7,%edx
408dd5:	74 66                	je     0x408e3d
408dd7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408dde:	8b ff                	mov    %edi,%edi
408de0:	66 0f 6f 06          	movdqa (%esi),%xmm0
408de4:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
408de9:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
408dee:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
408df3:	66 0f 7f 07          	movdqa %xmm0,(%edi)
408df7:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
408dfc:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
408e01:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
408e06:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
408e0b:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
408e10:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
408e15:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
408e1a:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
408e1f:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
408e24:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
408e29:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
408e2e:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
408e34:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
408e3a:	4a                   	dec    %edx
408e3b:	75 a3                	jne    0x408de0
408e3d:	85 c9                	test   %ecx,%ecx
408e3f:	74 5f                	je     0x408ea0
408e41:	8b d1                	mov    %ecx,%edx
408e43:	c1 ea 05             	shr    $0x5,%edx
408e46:	85 d2                	test   %edx,%edx
408e48:	74 21                	je     0x408e6b
408e4a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
408e50:	f3 0f 6f 06          	movdqu (%esi),%xmm0
408e54:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
408e59:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408e5d:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
408e62:	8d 76 20             	lea    0x20(%esi),%esi
408e65:	8d 7f 20             	lea    0x20(%edi),%edi
408e68:	4a                   	dec    %edx
408e69:	75 e5                	jne    0x408e50
408e6b:	83 e1 1f             	and    $0x1f,%ecx
408e6e:	74 30                	je     0x408ea0
408e70:	8b c1                	mov    %ecx,%eax
408e72:	c1 e9 02             	shr    $0x2,%ecx
408e75:	74 0f                	je     0x408e86
408e77:	8b 16                	mov    (%esi),%edx
408e79:	89 17                	mov    %edx,(%edi)
408e7b:	83 c7 04             	add    $0x4,%edi
408e7e:	83 c6 04             	add    $0x4,%esi
408e81:	83 e9 01             	sub    $0x1,%ecx
408e84:	75 f1                	jne    0x408e77
408e86:	8b c8                	mov    %eax,%ecx
408e88:	83 e1 03             	and    $0x3,%ecx
408e8b:	74 13                	je     0x408ea0
408e8d:	8a 06                	mov    (%esi),%al
408e8f:	88 07                	mov    %al,(%edi)
408e91:	46                   	inc    %esi
408e92:	47                   	inc    %edi
408e93:	49                   	dec    %ecx
408e94:	75 f7                	jne    0x408e8d
408e96:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408e9d:	8d 49 00             	lea    0x0(%ecx),%ecx
408ea0:	8b 44 24 0c          	mov    0xc(%esp),%eax
408ea4:	5e                   	pop    %esi
408ea5:	5f                   	pop    %edi
408ea6:	c3                   	ret
408ea7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408eae:	8b ff                	mov    %edi,%edi
408eb0:	ba 10 00 00 00       	mov    $0x10,%edx
408eb5:	2b d0                	sub    %eax,%edx
408eb7:	2b ca                	sub    %edx,%ecx
408eb9:	51                   	push   %ecx
408eba:	8b c2                	mov    %edx,%eax
408ebc:	8b c8                	mov    %eax,%ecx
408ebe:	83 e1 03             	and    $0x3,%ecx
408ec1:	74 09                	je     0x408ecc
408ec3:	8a 16                	mov    (%esi),%dl
408ec5:	88 17                	mov    %dl,(%edi)
408ec7:	46                   	inc    %esi
408ec8:	47                   	inc    %edi
408ec9:	49                   	dec    %ecx
408eca:	75 f7                	jne    0x408ec3
408ecc:	c1 e8 02             	shr    $0x2,%eax
408ecf:	74 0d                	je     0x408ede
408ed1:	8b 16                	mov    (%esi),%edx
408ed3:	89 17                	mov    %edx,(%edi)
408ed5:	8d 76 04             	lea    0x4(%esi),%esi
408ed8:	8d 7f 04             	lea    0x4(%edi),%edi
408edb:	48                   	dec    %eax
408edc:	75 f3                	jne    0x408ed1
408ede:	59                   	pop    %ecx
408edf:	e9 e9 fe ff ff       	jmp    0x408dcd
408ee4:	cc                   	int3
408ee5:	cc                   	int3
408ee6:	cc                   	int3
408ee7:	cc                   	int3
408ee8:	cc                   	int3
408ee9:	cc                   	int3
408eea:	cc                   	int3
408eeb:	cc                   	int3
408eec:	cc                   	int3
408eed:	cc                   	int3
408eee:	cc                   	int3
408eef:	cc                   	int3
408ef0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
408ef4:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
408ef9:	8b d7                	mov    %edi,%edx
408efb:	8b 7c 24 04          	mov    0x4(%esp),%edi
408eff:	85 c9                	test   %ecx,%ecx
408f01:	0f 84 3c 01 00 00    	je     0x409043
408f07:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
408f0d:	83 f9 20             	cmp    $0x20,%ecx
408f10:	0f 86 df 00 00 00    	jbe    0x408ff5
408f16:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
408f1c:	0f 82 8b 00 00 00    	jb     0x408fad
408f22:	0f ba 25 68 45 43 00 	btl    $0x1,0x434568
408f29:	01
408f2a:	73 09                	jae    0x408f35
408f2c:	f3 aa                	rep stos %al,%es:(%edi)
408f2e:	8b 44 24 04          	mov    0x4(%esp),%eax
408f32:	8b fa                	mov    %edx,%edi
408f34:	c3                   	ret
408f35:	0f ba 25 30 30 43 00 	btl    $0x1,0x433030
408f3c:	01
408f3d:	0f 83 b2 00 00 00    	jae    0x408ff5
408f43:	66 0f 6e c0          	movd   %eax,%xmm0
408f47:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
408f4c:	03 cf                	add    %edi,%ecx
408f4e:	0f 11 07             	movups %xmm0,(%edi)
408f51:	83 c7 10             	add    $0x10,%edi
408f54:	83 e7 f0             	and    $0xfffffff0,%edi
408f57:	2b cf                	sub    %edi,%ecx
408f59:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
408f5f:	76 4c                	jbe    0x408fad
408f61:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408f68:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408f6f:	90                   	nop
408f70:	66 0f 7f 07          	movdqa %xmm0,(%edi)
408f74:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408f79:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
408f7e:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
408f83:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
408f88:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
408f8d:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
408f92:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
408f97:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
408f9d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
408fa3:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
408fa9:	75 c5                	jne    0x408f70
408fab:	eb 13                	jmp    0x408fc0
408fad:	0f ba 25 30 30 43 00 	btl    $0x1,0x433030
408fb4:	01
408fb5:	73 3e                	jae    0x408ff5
408fb7:	66 0f 6e c0          	movd   %eax,%xmm0
408fbb:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
408fc0:	83 f9 20             	cmp    $0x20,%ecx
408fc3:	72 1c                	jb     0x408fe1
408fc5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408fc9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
408fce:	83 c7 20             	add    $0x20,%edi
408fd1:	83 e9 20             	sub    $0x20,%ecx
408fd4:	83 f9 20             	cmp    $0x20,%ecx
408fd7:	73 ec                	jae    0x408fc5
408fd9:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
408fdf:	74 62                	je     0x409043
408fe1:	8d 7c 0f e0          	lea    -0x20(%edi,%ecx,1),%edi
408fe5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408fe9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
408fee:	8b 44 24 04          	mov    0x4(%esp),%eax
408ff2:	8b fa                	mov    %edx,%edi
408ff4:	c3                   	ret
408ff5:	f7 c1 03 00 00 00    	test   $0x3,%ecx
408ffb:	74 0e                	je     0x40900b
408ffd:	88 07                	mov    %al,(%edi)
408fff:	47                   	inc    %edi
409000:	83 e9 01             	sub    $0x1,%ecx
409003:	f7 c1 03 00 00 00    	test   $0x3,%ecx
409009:	75 f2                	jne    0x408ffd
40900b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
409011:	74 08                	je     0x40901b
409013:	89 07                	mov    %eax,(%edi)
409015:	83 c7 04             	add    $0x4,%edi
409018:	83 e9 04             	sub    $0x4,%ecx
40901b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
409021:	74 20                	je     0x409043
409023:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40902a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
409030:	89 07                	mov    %eax,(%edi)
409032:	89 47 04             	mov    %eax,0x4(%edi)
409035:	83 c7 08             	add    $0x8,%edi
409038:	83 e9 08             	sub    $0x8,%ecx
40903b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
409041:	75 ed                	jne    0x409030
409043:	8b 44 24 04          	mov    0x4(%esp),%eax
409047:	8b fa                	mov    %edx,%edi
409049:	c3                   	ret
40904a:	e8 ed 11 00 00       	call   0x40a23c
40904f:	8b c8                	mov    %eax,%ecx
409051:	33 c0                	xor    %eax,%eax
409053:	85 c9                	test   %ecx,%ecx
409055:	74 06                	je     0x40905d
409057:	39 41 18             	cmp    %eax,0x18(%ecx)
40905a:	0f 9f c0             	setg   %al
40905d:	c3                   	ret
40905e:	cc                   	int3
40905f:	cc                   	int3
409060:	55                   	push   %ebp
409061:	8b ec                	mov    %esp,%ebp
409063:	53                   	push   %ebx
409064:	8b 5d 10             	mov    0x10(%ebp),%ebx
409067:	8b c3                	mov    %ebx,%eax
409069:	56                   	push   %esi
40906a:	83 e8 00             	sub    $0x0,%eax
40906d:	0f 84 71 0e 00 00    	je     0x409ee4
409073:	83 e8 01             	sub    $0x1,%eax
409076:	0f 84 5a 0e 00 00    	je     0x409ed6
40907c:	83 e8 01             	sub    $0x1,%eax
40907f:	0f 84 37 0e 00 00    	je     0x409ebc
409085:	83 e8 01             	sub    $0x1,%eax
409088:	0f 84 02 0e 00 00    	je     0x409e90
40908e:	8b 55 0c             	mov    0xc(%ebp),%edx
409091:	83 e8 01             	sub    $0x1,%eax
409094:	0f 84 a3 0d 00 00    	je     0x409e3d
40909a:	8b 75 08             	mov    0x8(%ebp),%esi
40909d:	57                   	push   %edi
40909e:	83 fb 20             	cmp    $0x20,%ebx
4090a1:	0f 82 f7 02 00 00    	jb     0x40939e
4090a7:	8b 06                	mov    (%esi),%eax
4090a9:	3b 02                	cmp    (%edx),%eax
4090ab:	74 54                	je     0x409101
4090ad:	0f b6 f8             	movzbl %al,%edi
4090b0:	0f b6 02             	movzbl (%edx),%eax
4090b3:	2b f8                	sub    %eax,%edi
4090b5:	75 18                	jne    0x4090cf
4090b7:	0f b6 7e 01          	movzbl 0x1(%esi),%edi
4090bb:	0f b6 42 01          	movzbl 0x1(%edx),%eax
4090bf:	2b f8                	sub    %eax,%edi