409e01:	88 07                	mov    %al,(%edi)
409e03:	49                   	dec    %ecx
409e04:	83 c6 01             	add    $0x1,%esi
409e07:	83 c7 01             	add    $0x1,%edi
409e0a:	f7 c7 03 00 00 00    	test   $0x3,%edi
409e10:	75 ed                	jne    0x409dff
409e12:	8b d1                	mov    %ecx,%edx
409e14:	83 f9 20             	cmp    $0x20,%ecx
409e17:	0f 82 ae 02 00 00    	jb     0x40a0cb
409e1d:	c1 e9 02             	shr    $0x2,%ecx
409e20:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
409e22:	83 e2 03             	and    $0x3,%edx
409e25:	ff 24 95 34 9e 40 00 	jmp    *0x409e34(,%edx,4)
409e2c:	ff 24 8d 44 9e 40 00 	jmp    *0x409e44(,%ecx,4)
409e33:	90                   	nop
409e34:	44                   	inc    %esp
409e35:	9e                   	sahf
409e36:	40                   	inc    %eax
409e37:	00 4c 9e 40          	add    %cl,0x40(%esi,%ebx,4)
409e3b:	00 58 9e             	add    %bl,-0x62(%eax)
409e3e:	40                   	inc    %eax
409e3f:	00 6c 9e 40          	add    %ch,0x40(%esi,%ebx,4)
409e43:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
409e49:	5f                   	pop    %edi
409e4a:	c3                   	ret
409e4b:	90                   	nop
409e4c:	8a 06                	mov    (%esi),%al
409e4e:	88 07                	mov    %al,(%edi)
409e50:	8b 44 24 0c          	mov    0xc(%esp),%eax
409e54:	5e                   	pop    %esi
409e55:	5f                   	pop    %edi
409e56:	c3                   	ret
409e57:	90                   	nop
409e58:	8a 06                	mov    (%esi),%al
409e5a:	88 07                	mov    %al,(%edi)
409e5c:	8a 46 01             	mov    0x1(%esi),%al
409e5f:	88 47 01             	mov    %al,0x1(%edi)
409e62:	8b 44 24 0c          	mov    0xc(%esp),%eax
409e66:	5e                   	pop    %esi
409e67:	5f                   	pop    %edi
409e68:	c3                   	ret
409e69:	8d 49 00             	lea    0x0(%ecx),%ecx
409e6c:	8a 06                	mov    (%esi),%al
409e6e:	88 07                	mov    %al,(%edi)
409e70:	8a 46 01             	mov    0x1(%esi),%al
409e73:	88 47 01             	mov    %al,0x1(%edi)
409e76:	8a 46 02             	mov    0x2(%esi),%al
409e79:	88 47 02             	mov    %al,0x2(%edi)
409e7c:	8b 44 24 0c          	mov    0xc(%esp),%eax
409e80:	5e                   	pop    %esi
409e81:	5f                   	pop    %edi
409e82:	c3                   	ret
409e83:	90                   	nop
409e84:	8d 34 0e             	lea    (%esi,%ecx,1),%esi
409e87:	8d 3c 0f             	lea    (%edi,%ecx,1),%edi
409e8a:	83 f9 20             	cmp    $0x20,%ecx
409e8d:	0f 82 51 01 00 00    	jb     0x409fe4
409e93:	0f ba 25 10 60 42 00 	btl    $0x1,0x426010
409e9a:	01
409e9b:	0f 82 94 00 00 00    	jb     0x409f35
409ea1:	f7 c7 03 00 00 00    	test   $0x3,%edi
409ea7:	74 14                	je     0x409ebd
409ea9:	8b d7                	mov    %edi,%edx
409eab:	83 e2 03             	and    $0x3,%edx
409eae:	2b ca                	sub    %edx,%ecx
409eb0:	8a 46 ff             	mov    -0x1(%esi),%al
409eb3:	88 47 ff             	mov    %al,-0x1(%edi)
409eb6:	4e                   	dec    %esi
409eb7:	4f                   	dec    %edi
409eb8:	83 ea 01             	sub    $0x1,%edx
409ebb:	75 f3                	jne    0x409eb0
409ebd:	83 f9 20             	cmp    $0x20,%ecx
409ec0:	0f 82 1e 01 00 00    	jb     0x409fe4
409ec6:	8b d1                	mov    %ecx,%edx
409ec8:	c1 e9 02             	shr    $0x2,%ecx
409ecb:	83 e2 03             	and    $0x3,%edx
409ece:	83 ee 04             	sub    $0x4,%esi
409ed1:	83 ef 04             	sub    $0x4,%edi
409ed4:	fd                   	std
409ed5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
409ed7:	fc                   	cld
409ed8:	ff 24 95 e0 9e 40 00 	jmp    *0x409ee0(,%edx,4)
409edf:	90                   	nop
409ee0:	f0 9e                	lock sahf
409ee2:	40                   	inc    %eax
409ee3:	00 f8                	add    %bh,%al
409ee5:	9e                   	sahf
409ee6:	40                   	inc    %eax
409ee7:	00 08                	add    %cl,(%eax)
409ee9:	9f                   	lahf
409eea:	40                   	inc    %eax
409eeb:	00 1c 9f             	add    %bl,(%edi,%ebx,4)
409eee:	40                   	inc    %eax
409eef:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
409ef5:	5f                   	pop    %edi
409ef6:	c3                   	ret
409ef7:	90                   	nop
409ef8:	8a 46 03             	mov    0x3(%esi),%al
409efb:	88 47 03             	mov    %al,0x3(%edi)
409efe:	8b 44 24 0c          	mov    0xc(%esp),%eax
409f02:	5e                   	pop    %esi
409f03:	5f                   	pop    %edi
409f04:	c3                   	ret
409f05:	8d 49 00             	lea    0x0(%ecx),%ecx
409f08:	8a 46 03             	mov    0x3(%esi),%al
409f0b:	88 47 03             	mov    %al,0x3(%edi)
409f0e:	8a 46 02             	mov    0x2(%esi),%al
409f11:	88 47 02             	mov    %al,0x2(%edi)
409f14:	8b 44 24 0c          	mov    0xc(%esp),%eax
409f18:	5e                   	pop    %esi
409f19:	5f                   	pop    %edi
409f1a:	c3                   	ret
409f1b:	90                   	nop
409f1c:	8a 46 03             	mov    0x3(%esi),%al
409f1f:	88 47 03             	mov    %al,0x3(%edi)
409f22:	8a 46 02             	mov    0x2(%esi),%al
409f25:	88 47 02             	mov    %al,0x2(%edi)
409f28:	8a 46 01             	mov    0x1(%esi),%al
409f2b:	88 47 01             	mov    %al,0x1(%edi)
409f2e:	8b 44 24 0c          	mov    0xc(%esp),%eax
409f32:	5e                   	pop    %esi
409f33:	5f                   	pop    %edi
409f34:	c3                   	ret
409f35:	f7 c7 0f 00 00 00    	test   $0xf,%edi
409f3b:	74 0f                	je     0x409f4c
409f3d:	49                   	dec    %ecx
409f3e:	4e                   	dec    %esi
409f3f:	4f                   	dec    %edi
409f40:	8a 06                	mov    (%esi),%al
409f42:	88 07                	mov    %al,(%edi)
409f44:	f7 c7 0f 00 00 00    	test   $0xf,%edi
409f4a:	75 f1                	jne    0x409f3d
409f4c:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
409f52:	72 68                	jb     0x409fbc
409f54:	81 ee 80 00 00 00    	sub    $0x80,%esi
409f5a:	81 ef 80 00 00 00    	sub    $0x80,%edi
409f60:	f3 0f 6f 06          	movdqu (%esi),%xmm0
409f64:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
409f69:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
409f6e:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
409f73:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
409f78:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
409f7d:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
409f82:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
409f87:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
409f8b:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
409f90:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
409f95:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
409f9a:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
409f9f:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
409fa4:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
409fa9:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
409fae:	81 e9 80 00 00 00    	sub    $0x80,%ecx
409fb4:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
409fba:	75 90                	jne    0x409f4c
409fbc:	83 f9 20             	cmp    $0x20,%ecx
409fbf:	72 23                	jb     0x409fe4
409fc1:	83 ee 20             	sub    $0x20,%esi
409fc4:	83 ef 20             	sub    $0x20,%edi
409fc7:	f3 0f 6f 06          	movdqu (%esi),%xmm0
409fcb:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
409fd0:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
409fd4:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
409fd9:	83 e9 20             	sub    $0x20,%ecx
409fdc:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
409fe2:	75 dd                	jne    0x409fc1
409fe4:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
409fea:	74 15                	je     0x40a001
409fec:	83 ef 04             	sub    $0x4,%edi
409fef:	83 ee 04             	sub    $0x4,%esi
409ff2:	8b 06                	mov    (%esi),%eax
409ff4:	89 07                	mov    %eax,(%edi)
409ff6:	83 e9 04             	sub    $0x4,%ecx
409ff9:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
409fff:	75 eb                	jne    0x409fec
40a001:	85 c9                	test   %ecx,%ecx
40a003:	74 0f                	je     0x40a014
40a005:	83 ef 01             	sub    $0x1,%edi
40a008:	83 ee 01             	sub    $0x1,%esi
40a00b:	8a 06                	mov    (%esi),%al
40a00d:	88 07                	mov    %al,(%edi)
40a00f:	83 e9 01             	sub    $0x1,%ecx
40a012:	75 f1                	jne    0x40a005
40a014:	8b 44 24 0c          	mov    0xc(%esp),%eax
40a018:	5e                   	pop    %esi
40a019:	5f                   	pop    %edi
40a01a:	c3                   	ret
40a01b:	eb 03                	jmp    0x40a020
40a01d:	cc                   	int3
40a01e:	cc                   	int3
40a01f:	cc                   	int3
40a020:	8b c6                	mov    %esi,%eax
40a022:	83 e0 0f             	and    $0xf,%eax
40a025:	85 c0                	test   %eax,%eax
40a027:	0f 85 e3 00 00 00    	jne    0x40a110
40a02d:	8b d1                	mov    %ecx,%edx
40a02f:	83 e1 7f             	and    $0x7f,%ecx
40a032:	c1 ea 07             	shr    $0x7,%edx
40a035:	74 66                	je     0x40a09d
40a037:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40a03e:	8b ff                	mov    %edi,%edi
40a040:	66 0f 6f 06          	movdqa (%esi),%xmm0
40a044:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
40a049:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
40a04e:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
40a053:	66 0f 7f 07          	movdqa %xmm0,(%edi)
40a057:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
40a05c:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
40a061:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
40a066:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
40a06b:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
40a070:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
40a075:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
40a07a:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
40a07f:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
40a084:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
40a089:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
40a08e:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
40a094:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40a09a:	4a                   	dec    %edx
40a09b:	75 a3                	jne    0x40a040
40a09d:	85 c9                	test   %ecx,%ecx
40a09f:	74 5f                	je     0x40a100
40a0a1:	8b d1                	mov    %ecx,%edx
40a0a3:	c1 ea 05             	shr    $0x5,%edx
40a0a6:	85 d2                	test   %edx,%edx
40a0a8:	74 21                	je     0x40a0cb
40a0aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40a0b0:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40a0b4:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
40a0b9:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40a0bd:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
40a0c2:	8d 76 20             	lea    0x20(%esi),%esi
40a0c5:	8d 7f 20             	lea    0x20(%edi),%edi
40a0c8:	4a                   	dec    %edx
40a0c9:	75 e5                	jne    0x40a0b0
40a0cb:	83 e1 1f             	and    $0x1f,%ecx
40a0ce:	74 30                	je     0x40a100
40a0d0:	8b c1                	mov    %ecx,%eax
40a0d2:	c1 e9 02             	shr    $0x2,%ecx
40a0d5:	74 0f                	je     0x40a0e6
40a0d7:	8b 16                	mov    (%esi),%edx
40a0d9:	89 17                	mov    %edx,(%edi)
40a0db:	83 c7 04             	add    $0x4,%edi
40a0de:	83 c6 04             	add    $0x4,%esi
40a0e1:	83 e9 01             	sub    $0x1,%ecx
40a0e4:	75 f1                	jne    0x40a0d7
40a0e6:	8b c8                	mov    %eax,%ecx
40a0e8:	83 e1 03             	and    $0x3,%ecx
40a0eb:	74 13                	je     0x40a100
40a0ed:	8a 06                	mov    (%esi),%al
40a0ef:	88 07                	mov    %al,(%edi)
40a0f1:	46                   	inc    %esi
40a0f2:	47                   	inc    %edi
40a0f3:	49                   	dec    %ecx
40a0f4:	75 f7                	jne    0x40a0ed
40a0f6:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40a0fd:	8d 49 00             	lea    0x0(%ecx),%ecx
40a100:	8b 44 24 0c          	mov    0xc(%esp),%eax
40a104:	5e                   	pop    %esi
40a105:	5f                   	pop    %edi
40a106:	c3                   	ret
40a107:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40a10e:	8b ff                	mov    %edi,%edi
40a110:	ba 10 00 00 00       	mov    $0x10,%edx
40a115:	2b d0                	sub    %eax,%edx
40a117:	2b ca                	sub    %edx,%ecx
40a119:	51                   	push   %ecx
40a11a:	8b c2                	mov    %edx,%eax
40a11c:	8b c8                	mov    %eax,%ecx
40a11e:	83 e1 03             	and    $0x3,%ecx
40a121:	74 09                	je     0x40a12c
40a123:	8a 16                	mov    (%esi),%dl
40a125:	88 17                	mov    %dl,(%edi)
40a127:	46                   	inc    %esi
40a128:	47                   	inc    %edi
40a129:	49                   	dec    %ecx
40a12a:	75 f7                	jne    0x40a123
40a12c:	c1 e8 02             	shr    $0x2,%eax
40a12f:	74 0d                	je     0x40a13e
40a131:	8b 16                	mov    (%esi),%edx
40a133:	89 17                	mov    %edx,(%edi)
40a135:	8d 76 04             	lea    0x4(%esi),%esi
40a138:	8d 7f 04             	lea    0x4(%edi),%edi
40a13b:	48                   	dec    %eax
40a13c:	75 f3                	jne    0x40a131
40a13e:	59                   	pop    %ecx
40a13f:	e9 e9 fe ff ff       	jmp    0x40a02d
40a144:	6a 10                	push   $0x10
40a146:	68 b0 3d 42 00       	push   $0x423db0
40a14b:	e8 80 e8 ff ff       	call   0x4089d0
40a150:	33 db                	xor    %ebx,%ebx
40a152:	8b 45 10             	mov    0x10(%ebp),%eax
40a155:	8b 48 04             	mov    0x4(%eax),%ecx
40a158:	85 c9                	test   %ecx,%ecx
40a15a:	0f 84 0a 01 00 00    	je     0x40a26a
40a160:	38 59 08             	cmp    %bl,0x8(%ecx)
40a163:	0f 84 01 01 00 00    	je     0x40a26a
40a169:	8b 50 08             	mov    0x8(%eax),%edx
40a16c:	85 d2                	test   %edx,%edx
40a16e:	75 08                	jne    0x40a178
40a170:	39 18                	cmp    %ebx,(%eax)
40a172:	0f 8d f2 00 00 00    	jge    0x40a26a
40a178:	8b 08                	mov    (%eax),%ecx
40a17a:	8b 75 0c             	mov    0xc(%ebp),%esi
40a17d:	85 c9                	test   %ecx,%ecx
40a17f:	78 05                	js     0x40a186
40a181:	83 c6 0c             	add    $0xc,%esi
40a184:	03 f2                	add    %edx,%esi
40a186:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40a189:	8b 7d 14             	mov    0x14(%ebp),%edi
40a18c:	84 c9                	test   %cl,%cl
40a18e:	79 20                	jns    0x40a1b0
40a190:	f6 07 10             	testb  $0x10,(%edi)
40a193:	74 1b                	je     0x40a1b0
40a195:	a1 8c 6c 42 00       	mov    0x426c8c,%eax
40a19a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40a19d:	85 c0                	test   %eax,%eax
40a19f:	74 0f                	je     0x40a1b0
40a1a1:	8b c8                	mov    %eax,%ecx
40a1a3:	ff 15 50 c2 41 00    	call   *0x41c250
40a1a9:	ff 55 e4             	call   *-0x1c(%ebp)
40a1ac:	8b c8                	mov    %eax,%ecx
40a1ae:	eb 0b                	jmp    0x40a1bb
40a1b0:	8b 45 08             	mov    0x8(%ebp),%eax
40a1b3:	f6 c1 08             	test   $0x8,%cl
40a1b6:	74 1c                	je     0x40a1d4
40a1b8:	8b 48 18             	mov    0x18(%eax),%ecx
40a1bb:	85 c9                	test   %ecx,%ecx
40a1bd:	0f 84 b9 00 00 00    	je     0x40a27c
40a1c3:	85 f6                	test   %esi,%esi
40a1c5:	0f 84 b1 00 00 00    	je     0x40a27c
40a1cb:	89 0e                	mov    %ecx,(%esi)
40a1cd:	8d 47 08             	lea    0x8(%edi),%eax
40a1d0:	50                   	push   %eax
40a1d1:	51                   	push   %ecx
40a1d2:	eb 37                	jmp    0x40a20b
40a1d4:	f6 07 01             	testb  $0x1,(%edi)
40a1d7:	74 3d                	je     0x40a216
40a1d9:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
40a1dd:	0f 84 99 00 00 00    	je     0x40a27c
40a1e3:	85 f6                	test   %esi,%esi
40a1e5:	0f 84 91 00 00 00    	je     0x40a27c
40a1eb:	ff 77 14             	push   0x14(%edi)
40a1ee:	ff 70 18             	push   0x18(%eax)
40a1f1:	56                   	push   %esi
40a1f2:	e8 d9 f9 ff ff       	call   0x409bd0
40a1f7:	83 c4 0c             	add    $0xc,%esp
40a1fa:	83 7f 14 04          	cmpl   $0x4,0x14(%edi)
40a1fe:	75 56                	jne    0x40a256