411d8e:	83 ec 34             	sub    $0x34,%esp
411d91:	a1 68 b2 42 00       	mov    0x42b268,%eax
411d96:	33 c5                	xor    %ebp,%eax
411d98:	89 45 fc             	mov    %eax,-0x4(%ebp)
411d9b:	8b 45 10             	mov    0x10(%ebp),%eax
411d9e:	8b 4d 18             	mov    0x18(%ebp),%ecx
411da1:	89 45 d8             	mov    %eax,-0x28(%ebp)
411da4:	8b 45 14             	mov    0x14(%ebp),%eax
411da7:	53                   	push   %ebx
411da8:	89 45 d0             	mov    %eax,-0x30(%ebp)
411dab:	8b 00                	mov    (%eax),%eax
411dad:	56                   	push   %esi
411dae:	89 45 dc             	mov    %eax,-0x24(%ebp)
411db1:	8b 45 08             	mov    0x8(%ebp),%eax
411db4:	57                   	push   %edi
411db5:	33 ff                	xor    %edi,%edi
411db7:	89 4d cc             	mov    %ecx,-0x34(%ebp)
411dba:	89 7d e0             	mov    %edi,-0x20(%ebp)
411dbd:	89 7d d4             	mov    %edi,-0x2c(%ebp)
411dc0:	3b 45 0c             	cmp    0xc(%ebp),%eax
411dc3:	0f 84 5f 01 00 00    	je     0x411f28
411dc9:	8b 35 bc a0 41 00    	mov    0x41a0bc,%esi
411dcf:	8d 4d e8             	lea    -0x18(%ebp),%ecx
411dd2:	51                   	push   %ecx
411dd3:	50                   	push   %eax
411dd4:	ff d6                	call   *%esi
411dd6:	8b 1d 80 a0 41 00    	mov    0x41a080,%ebx
411ddc:	85 c0                	test   %eax,%eax
411dde:	74 5e                	je     0x411e3e
411de0:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
411de4:	75 58                	jne    0x411e3e
411de6:	8d 45 e8             	lea    -0x18(%ebp),%eax
411de9:	50                   	push   %eax
411dea:	ff 75 0c             	push   0xc(%ebp)
411ded:	ff d6                	call   *%esi
411def:	85 c0                	test   %eax,%eax
411df1:	74 4b                	je     0x411e3e
411df3:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
411df7:	75 45                	jne    0x411e3e
411df9:	8b 75 dc             	mov    -0x24(%ebp),%esi
411dfc:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
411e03:	83 fe ff             	cmp    $0xffffffff,%esi
411e06:	75 0c                	jne    0x411e14
411e08:	ff 75 d8             	push   -0x28(%ebp)
411e0b:	e8 50 41 ff ff       	call   0x405f60
411e10:	8b f0                	mov    %eax,%esi
411e12:	59                   	pop    %ecx
411e13:	46                   	inc    %esi
411e14:	3b f7                	cmp    %edi,%esi
411e16:	7e 5b                	jle    0x411e73
411e18:	81 fe f0 ff ff 7f    	cmp    $0x7ffffff0,%esi
411e1e:	77 53                	ja     0x411e73
411e20:	8d 44 36 08          	lea    0x8(%esi,%esi,1),%eax
411e24:	3d 00 04 00 00       	cmp    $0x400,%eax
411e29:	77 2f                	ja     0x411e5a
411e2b:	e8 10 01 00 00       	call   0x411f40
411e30:	8b c4                	mov    %esp,%eax
411e32:	3b c7                	cmp    %edi,%eax
411e34:	74 38                	je     0x411e6e
411e36:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
411e3c:	eb 2d                	jmp    0x411e6b
411e3e:	57                   	push   %edi
411e3f:	57                   	push   %edi
411e40:	ff 75 dc             	push   -0x24(%ebp)
411e43:	ff 75 d8             	push   -0x28(%ebp)
411e46:	6a 01                	push   $0x1
411e48:	ff 75 08             	push   0x8(%ebp)
411e4b:	ff d3                	call   *%ebx
411e4d:	8b f0                	mov    %eax,%esi
411e4f:	3b f7                	cmp    %edi,%esi
411e51:	75 c3                	jne    0x411e16
411e53:	33 c0                	xor    %eax,%eax
411e55:	e9 d1 00 00 00       	jmp    0x411f2b
411e5a:	50                   	push   %eax
411e5b:	e8 0e 78 ff ff       	call   0x40966e
411e60:	59                   	pop    %ecx
411e61:	3b c7                	cmp    %edi,%eax
411e63:	74 09                	je     0x411e6e
411e65:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
411e6b:	83 c0 08             	add    $0x8,%eax
411e6e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411e71:	eb 03                	jmp    0x411e76
411e73:	89 7d e4             	mov    %edi,-0x1c(%ebp)
411e76:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
411e79:	74 d8                	je     0x411e53
411e7b:	8d 04 36             	lea    (%esi,%esi,1),%eax
411e7e:	50                   	push   %eax
411e7f:	57                   	push   %edi
411e80:	ff 75 e4             	push   -0x1c(%ebp)
411e83:	e8 78 88 ff ff       	call   0x40a700
411e88:	83 c4 0c             	add    $0xc,%esp
411e8b:	56                   	push   %esi
411e8c:	ff 75 e4             	push   -0x1c(%ebp)
411e8f:	ff 75 dc             	push   -0x24(%ebp)
411e92:	ff 75 d8             	push   -0x28(%ebp)
411e95:	6a 01                	push   $0x1
411e97:	ff 75 08             	push   0x8(%ebp)
411e9a:	ff d3                	call   *%ebx
411e9c:	85 c0                	test   %eax,%eax
411e9e:	74 7f                	je     0x411f1f
411ea0:	8b 5d cc             	mov    -0x34(%ebp),%ebx
411ea3:	3b df                	cmp    %edi,%ebx
411ea5:	74 1d                	je     0x411ec4
411ea7:	57                   	push   %edi
411ea8:	57                   	push   %edi
411ea9:	ff 75 1c             	push   0x1c(%ebp)
411eac:	53                   	push   %ebx
411ead:	56                   	push   %esi
411eae:	ff 75 e4             	push   -0x1c(%ebp)
411eb1:	57                   	push   %edi
411eb2:	ff 75 0c             	push   0xc(%ebp)
411eb5:	ff 15 70 a0 41 00    	call   *0x41a070
411ebb:	85 c0                	test   %eax,%eax
411ebd:	74 60                	je     0x411f1f
411ebf:	89 5d e0             	mov    %ebx,-0x20(%ebp)
411ec2:	eb 5b                	jmp    0x411f1f
411ec4:	8b 1d 70 a0 41 00    	mov    0x41a070,%ebx
411eca:	39 7d d4             	cmp    %edi,-0x2c(%ebp)
411ecd:	75 14                	jne    0x411ee3
411ecf:	57                   	push   %edi
411ed0:	57                   	push   %edi
411ed1:	57                   	push   %edi
411ed2:	57                   	push   %edi
411ed3:	56                   	push   %esi
411ed4:	ff 75 e4             	push   -0x1c(%ebp)
411ed7:	57                   	push   %edi
411ed8:	ff 75 0c             	push   0xc(%ebp)
411edb:	ff d3                	call   *%ebx
411edd:	8b f0                	mov    %eax,%esi
411edf:	3b f7                	cmp    %edi,%esi
411ee1:	74 3c                	je     0x411f1f
411ee3:	56                   	push   %esi
411ee4:	6a 01                	push   $0x1
411ee6:	e8 ba 5c ff ff       	call   0x407ba5
411eeb:	59                   	pop    %ecx
411eec:	59                   	pop    %ecx
411eed:	89 45 e0             	mov    %eax,-0x20(%ebp)
411ef0:	3b c7                	cmp    %edi,%eax
411ef2:	74 2b                	je     0x411f1f
411ef4:	57                   	push   %edi
411ef5:	57                   	push   %edi
411ef6:	56                   	push   %esi
411ef7:	50                   	push   %eax
411ef8:	56                   	push   %esi
411ef9:	ff 75 e4             	push   -0x1c(%ebp)
411efc:	57                   	push   %edi
411efd:	ff 75 0c             	push   0xc(%ebp)
411f00:	ff d3                	call   *%ebx
411f02:	3b c7                	cmp    %edi,%eax
411f04:	75 0e                	jne    0x411f14
411f06:	ff 75 e0             	push   -0x20(%ebp)
411f09:	e8 12 31 ff ff       	call   0x405020
411f0e:	59                   	pop    %ecx
411f0f:	89 7d e0             	mov    %edi,-0x20(%ebp)
411f12:	eb 0b                	jmp    0x411f1f
411f14:	83 7d dc ff          	cmpl   $0xffffffff,-0x24(%ebp)
411f18:	74 05                	je     0x411f1f
411f1a:	8b 4d d0             	mov    -0x30(%ebp),%ecx
411f1d:	89 01                	mov    %eax,(%ecx)
411f1f:	ff 75 e4             	push   -0x1c(%ebp)
411f22:	e8 41 5d ff ff       	call   0x407c68
411f27:	59                   	pop    %ecx
411f28:	8b 45 e0             	mov    -0x20(%ebp),%eax
411f2b:	8d 65 c0             	lea    -0x40(%ebp),%esp
411f2e:	5f                   	pop    %edi
411f2f:	5e                   	pop    %esi
411f30:	5b                   	pop    %ebx
411f31:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411f34:	33 cd                	xor    %ebp,%ecx
411f36:	e8 eb 46 ff ff       	call   0x406626
411f3b:	c9                   	leave
411f3c:	c3                   	ret
411f3d:	cc                   	int3
411f3e:	cc                   	int3
411f3f:	cc                   	int3
411f40:	51                   	push   %ecx
411f41:	8d 4c 24 08          	lea    0x8(%esp),%ecx
411f45:	2b c8                	sub    %eax,%ecx
411f47:	83 e1 0f             	and    $0xf,%ecx
411f4a:	03 c1                	add    %ecx,%eax
411f4c:	1b c9                	sbb    %ecx,%ecx
411f4e:	0b c1                	or     %ecx,%eax
411f50:	59                   	pop    %ecx
411f51:	e9 da 3c 00 00       	jmp    0x415c30
411f56:	51                   	push   %ecx
411f57:	8d 4c 24 08          	lea    0x8(%esp),%ecx
411f5b:	2b c8                	sub    %eax,%ecx
411f5d:	83 e1 07             	and    $0x7,%ecx
411f60:	03 c1                	add    %ecx,%eax
411f62:	1b c9                	sbb    %ecx,%ecx
411f64:	0b c1                	or     %ecx,%eax
411f66:	59                   	pop    %ecx
411f67:	e9 c4 3c 00 00       	jmp    0x415c30
411f6c:	8b ff                	mov    %edi,%edi
411f6e:	55                   	push   %ebp
411f6f:	8b ec                	mov    %esp,%ebp
411f71:	83 ec 18             	sub    $0x18,%esp
411f74:	53                   	push   %ebx
411f75:	ff 75 10             	push   0x10(%ebp)
411f78:	8d 4d e8             	lea    -0x18(%ebp),%ecx
411f7b:	e8 e4 58 ff ff       	call   0x407864
411f80:	8b 5d 08             	mov    0x8(%ebp),%ebx
411f83:	8d 43 01             	lea    0x1(%ebx),%eax
411f86:	3d 00 01 00 00       	cmp    $0x100,%eax
411f8b:	77 0f                	ja     0x411f9c
411f8d:	8b 45 e8             	mov    -0x18(%ebp),%eax
411f90:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
411f96:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
411f9a:	eb 75                	jmp    0x412011
411f9c:	89 5d 08             	mov    %ebx,0x8(%ebp)
411f9f:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
411fa3:	8d 45 e8             	lea    -0x18(%ebp),%eax
411fa6:	50                   	push   %eax
411fa7:	8b 45 08             	mov    0x8(%ebp),%eax
411faa:	25 ff 00 00 00       	and    $0xff,%eax
411faf:	50                   	push   %eax
411fb0:	e8 f3 0d 00 00       	call   0x412da8
411fb5:	59                   	pop    %ecx
411fb6:	59                   	pop    %ecx
411fb7:	85 c0                	test   %eax,%eax
411fb9:	74 12                	je     0x411fcd
411fbb:	8a 45 08             	mov    0x8(%ebp),%al
411fbe:	6a 02                	push   $0x2
411fc0:	88 45 f8             	mov    %al,-0x8(%ebp)
411fc3:	88 5d f9             	mov    %bl,-0x7(%ebp)
411fc6:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
411fca:	59                   	pop    %ecx
411fcb:	eb 0a                	jmp    0x411fd7
411fcd:	33 c9                	xor    %ecx,%ecx
411fcf:	88 5d f8             	mov    %bl,-0x8(%ebp)
411fd2:	c6 45 f9 00          	movb   $0x0,-0x7(%ebp)
411fd6:	41                   	inc    %ecx
411fd7:	8b 45 e8             	mov    -0x18(%ebp),%eax
411fda:	6a 01                	push   $0x1
411fdc:	ff 70 14             	push   0x14(%eax)
411fdf:	ff 70 04             	push   0x4(%eax)
411fe2:	8d 45 fc             	lea    -0x4(%ebp),%eax
411fe5:	50                   	push   %eax
411fe6:	51                   	push   %ecx
411fe7:	8d 45 f8             	lea    -0x8(%ebp),%eax
411fea:	50                   	push   %eax
411feb:	8d 45 e8             	lea    -0x18(%ebp),%eax
411fee:	6a 01                	push   $0x1
411ff0:	50                   	push   %eax
411ff1:	e8 57 b4 ff ff       	call   0x40d44d
411ff6:	83 c4 20             	add    $0x20,%esp
411ff9:	85 c0                	test   %eax,%eax
411ffb:	75 10                	jne    0x41200d
411ffd:	38 45 f4             	cmp    %al,-0xc(%ebp)
412000:	74 07                	je     0x412009
412002:	8b 45 f0             	mov    -0x10(%ebp),%eax
412005:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
412009:	33 c0                	xor    %eax,%eax
41200b:	eb 14                	jmp    0x412021
41200d:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
412011:	23 45 0c             	and    0xc(%ebp),%eax
412014:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
412018:	74 07                	je     0x412021
41201a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41201d:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
412021:	5b                   	pop    %ebx
412022:	c9                   	leave
412023:	c3                   	ret
412024:	55                   	push   %ebp
412025:	8b ec                	mov    %esp,%ebp
412027:	83 ec 08             	sub    $0x8,%esp
41202a:	89 7d fc             	mov    %edi,-0x4(%ebp)
41202d:	89 75 f8             	mov    %esi,-0x8(%ebp)
412030:	8b 75 0c             	mov    0xc(%ebp),%esi
412033:	8b 7d 08             	mov    0x8(%ebp),%edi
412036:	8b 4d 10             	mov    0x10(%ebp),%ecx
412039:	c1 e9 07             	shr    $0x7,%ecx
41203c:	eb 06                	jmp    0x412044
41203e:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
412044:	66 0f 6f 06          	movdqa (%esi),%xmm0
412048:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
41204d:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
412052:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
412057:	66 0f 7f 07          	movdqa %xmm0,(%edi)
41205b:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
412060:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
412065:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
41206a:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
41206f:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
412074:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
412079:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
41207e:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
412083:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
412088:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
41208d:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
412092:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
412098:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
41209e:	49                   	dec    %ecx
41209f:	75 a3                	jne    0x412044
4120a1:	8b 75 f8             	mov    -0x8(%ebp),%esi
4120a4:	8b 7d fc             	mov    -0x4(%ebp),%edi
4120a7:	8b e5                	mov    %ebp,%esp
4120a9:	5d                   	pop    %ebp
4120aa:	c3                   	ret
4120ab:	55                   	push   %ebp
4120ac:	8b ec                	mov    %esp,%ebp
4120ae:	83 ec 1c             	sub    $0x1c,%esp
4120b1:	89 7d f4             	mov    %edi,-0xc(%ebp)
4120b4:	89 75 f8             	mov    %esi,-0x8(%ebp)
4120b7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4120ba:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4120bd:	8b c3                	mov    %ebx,%eax
4120bf:	99                   	cltd
4120c0:	8b c8                	mov    %eax,%ecx
4120c2:	8b 45 08             	mov    0x8(%ebp),%eax
4120c5:	33 ca                	xor    %edx,%ecx
4120c7:	2b ca                	sub    %edx,%ecx
4120c9:	83 e1 0f             	and    $0xf,%ecx
4120cc:	33 ca                	xor    %edx,%ecx
4120ce:	2b ca                	sub    %edx,%ecx
4120d0:	99                   	cltd
4120d1:	8b f8                	mov    %eax,%edi
4120d3:	33 fa                	xor    %edx,%edi
4120d5:	2b fa                	sub    %edx,%edi
4120d7:	83 e7 0f             	and    $0xf,%edi
4120da:	33 fa                	xor    %edx,%edi
4120dc:	2b fa                	sub    %edx,%edi
4120de:	8b d1                	mov    %ecx,%edx
4120e0:	0b d7                	or     %edi,%edx
4120e2:	75 4a                	jne    0x41212e
4120e4:	8b 75 10             	mov    0x10(%ebp),%esi
4120e7:	8b ce                	mov    %esi,%ecx
4120e9:	83 e1 7f             	and    $0x7f,%ecx
4120ec:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4120ef:	3b f1                	cmp    %ecx,%esi
4120f1:	74 13                	je     0x412106
4120f3:	2b f1                	sub    %ecx,%esi
4120f5:	56                   	push   %esi
4120f6:	53                   	push   %ebx
4120f7:	50                   	push   %eax
4120f8:	e8 27 ff ff ff       	call   0x412024
4120fd:	83 c4 0c             	add    $0xc,%esp
412100:	8b 45 08             	mov    0x8(%ebp),%eax
412103:	8b 4d e8             	mov    -0x18(%ebp),%ecx
412106:	85 c9                	test   %ecx,%ecx
412108:	74 77                	je     0x412181
41210a:	8b 5d 10             	mov    0x10(%ebp),%ebx
41210d:	8b 55 0c             	mov    0xc(%ebp),%edx
412110:	03 d3                	add    %ebx,%edx
412112:	2b d1                	sub    %ecx,%edx
412114:	89 55 ec             	mov    %edx,-0x14(%ebp)
412117:	03 d8                	add    %eax,%ebx
412119:	2b d9                	sub    %ecx,%ebx
41211b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41211e:	8b 75 ec             	mov    -0x14(%ebp),%esi