404d6a:	89 55 d8             	mov    %edx,-0x28(%ebp)
404d6d:	0f b6 90 a4 a4 42 00 	movzbl 0x42a4a4(%eax),%edx
404d74:	89 75 f0             	mov    %esi,-0x10(%ebp)
404d77:	8b 74 95 80          	mov    -0x80(%ebp,%edx,4),%esi
404d7b:	8b 55 dc             	mov    -0x24(%ebp),%edx
404d7e:	03 f2                	add    %edx,%esi
404d80:	01 75 c8             	add    %esi,-0x38(%ebp)
404d83:	8b 75 c8             	mov    -0x38(%ebp),%esi
404d86:	33 75 f4             	xor    -0xc(%ebp),%esi
404d89:	c1 ce 10             	ror    $0x10,%esi
404d8c:	01 75 e0             	add    %esi,-0x20(%ebp)
404d8f:	33 55 e0             	xor    -0x20(%ebp),%edx
404d92:	c1 ca 0c             	ror    $0xc,%edx
404d95:	03 fa                	add    %edx,%edi
404d97:	01 7d c8             	add    %edi,-0x38(%ebp)
404d9a:	8b 7d c8             	mov    -0x38(%ebp),%edi
404d9d:	33 fe                	xor    %esi,%edi
404d9f:	c1 cf 08             	ror    $0x8,%edi
404da2:	8b f7                	mov    %edi,%esi
404da4:	01 75 e0             	add    %esi,-0x20(%ebp)
404da7:	33 55 e0             	xor    -0x20(%ebp),%edx
404daa:	0f b6 b8 a7 a4 42 00 	movzbl 0x42a4a7(%eax),%edi
404db1:	8b 7c bd 80          	mov    -0x80(%ebp,%edi,4),%edi
404db5:	c1 ca 07             	ror    $0x7,%edx
404db8:	89 55 dc             	mov    %edx,-0x24(%ebp)
404dbb:	0f b6 90 a6 a4 42 00 	movzbl 0x42a4a6(%eax),%edx
404dc2:	8b 54 95 80          	mov    -0x80(%ebp,%edx,4),%edx
404dc6:	03 d1                	add    %ecx,%edx
404dc8:	01 55 cc             	add    %edx,-0x34(%ebp)
404dcb:	8b 55 cc             	mov    -0x34(%ebp),%edx
404dce:	33 55 f8             	xor    -0x8(%ebp),%edx
404dd1:	83 c0 10             	add    $0x10,%eax
404dd4:	c1 ca 10             	ror    $0x10,%edx
404dd7:	01 55 e4             	add    %edx,-0x1c(%ebp)
404dda:	33 4d e4             	xor    -0x1c(%ebp),%ecx
404ddd:	89 75 f4             	mov    %esi,-0xc(%ebp)
404de0:	c1 c9 0c             	ror    $0xc,%ecx
404de3:	03 f9                	add    %ecx,%edi
404de5:	01 7d cc             	add    %edi,-0x34(%ebp)
404de8:	8b 7d cc             	mov    -0x34(%ebp),%edi
404deb:	33 fa                	xor    %edx,%edi
404ded:	c1 cf 08             	ror    $0x8,%edi
404df0:	8b d7                	mov    %edi,%edx
404df2:	01 55 e4             	add    %edx,-0x1c(%ebp)
404df5:	33 4d e4             	xor    -0x1c(%ebp),%ecx
404df8:	89 55 f8             	mov    %edx,-0x8(%ebp)
404dfb:	c1 c9 07             	ror    $0x7,%ecx
404dfe:	89 4d d0             	mov    %ecx,-0x30(%ebp)
404e01:	3d 90 00 00 00       	cmp    $0x90,%eax
404e06:	0f 86 81 fd ff ff    	jbe    0x404b8d
404e0c:	5f                   	pop    %edi
404e0d:	5e                   	pop    %esi
404e0e:	33 c9                	xor    %ecx,%ecx
404e10:	5b                   	pop    %ebx
404e11:	8b 45 08             	mov    0x8(%ebp),%eax
404e14:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
404e1a:	8b 54 0d e0          	mov    -0x20(%ebp,%ecx,1),%edx
404e1e:	03 c1                	add    %ecx,%eax
404e20:	33 10                	xor    (%eax),%edx
404e22:	83 c1 04             	add    $0x4,%ecx
404e25:	33 54 0d bc          	xor    -0x44(%ebp,%ecx,1),%edx
404e29:	89 10                	mov    %edx,(%eax)
404e2b:	83 f9 20             	cmp    $0x20,%ecx
404e2e:	72 e1                	jb     0x404e11
404e30:	c9                   	leave
404e31:	c2 04 00             	ret    $0x4
404e34:	55                   	push   %ebp
404e35:	8b ec                	mov    %esp,%ebp
404e37:	53                   	push   %ebx
404e38:	8b 5d 0c             	mov    0xc(%ebp),%ebx
404e3b:	85 db                	test   %ebx,%ebx
404e3d:	0f 86 ab 00 00 00    	jbe    0x404eee
404e43:	57                   	push   %edi
404e44:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
404e4a:	8b 8e f0 00 00 00    	mov    0xf0(%esi),%ecx
404e50:	bf 80 00 00 00       	mov    $0x80,%edi
404e55:	2b f8                	sub    %eax,%edi
404e57:	03 c8                	add    %eax,%ecx
404e59:	3b df                	cmp    %edi,%ebx
404e5b:	76 70                	jbe    0x404ecd
404e5d:	57                   	push   %edi
404e5e:	ff 75 08             	push   0x8(%ebp)
404e61:	51                   	push   %ecx
404e62:	e8 09 6e 01 00       	call   0x41bc70
404e67:	01 be 00 01 00 00    	add    %edi,0x100(%esi)
404e6d:	8d 86 f8 00 00 00    	lea    0xf8(%esi),%eax
404e73:	8b 08                	mov    (%eax),%ecx
404e75:	83 01 40             	addl   $0x40,(%ecx)
404e78:	8b 00                	mov    (%eax),%eax
404e7a:	83 c4 0c             	add    $0xc,%esp
404e7d:	83 38 40             	cmpl   $0x40,(%eax)
404e80:	1b c9                	sbb    %ecx,%ecx
404e82:	f7 d9                	neg    %ecx
404e84:	01 48 04             	add    %ecx,0x4(%eax)
404e87:	83 3d 40 ea 44 00 02 	cmpl   $0x2,0x44ea40
404e8e:	7c 0e                	jl     0x404e9e
404e90:	ff b6 f0 00 00 00    	push   0xf0(%esi)
404e96:	56                   	push   %esi
404e97:	e8 70 e8 ff ff       	call   0x40370c
404e9c:	eb 0c                	jmp    0x404eaa
404e9e:	8b 86 f0 00 00 00    	mov    0xf0(%esi),%eax
404ea4:	56                   	push   %esi
404ea5:	e8 69 fc ff ff       	call   0x404b13
404eaa:	8b 86 f0 00 00 00    	mov    0xf0(%esi),%eax
404eb0:	6a 40                	push   $0x40
404eb2:	8d 48 40             	lea    0x40(%eax),%ecx
404eb5:	51                   	push   %ecx
404eb6:	50                   	push   %eax
404eb7:	e8 b4 6d 01 00       	call   0x41bc70
404ebc:	83 86 00 01 00 00 c0 	addl   $0xffffffc0,0x100(%esi)
404ec3:	01 7d 08             	add    %edi,0x8(%ebp)
404ec6:	83 c4 0c             	add    $0xc,%esp
404ec9:	2b df                	sub    %edi,%ebx
404ecb:	eb 18                	jmp    0x404ee5
404ecd:	53                   	push   %ebx
404ece:	ff 75 08             	push   0x8(%ebp)
404ed1:	51                   	push   %ecx
404ed2:	e8 99 6d 01 00       	call   0x41bc70
404ed7:	01 9e 00 01 00 00    	add    %ebx,0x100(%esi)
404edd:	01 5d 08             	add    %ebx,0x8(%ebp)
404ee0:	83 c4 0c             	add    $0xc,%esp
404ee3:	33 db                	xor    %ebx,%ebx
404ee5:	85 db                	test   %ebx,%ebx
404ee7:	0f 87 57 ff ff ff    	ja     0x404e44
404eed:	5f                   	pop    %edi
404eee:	5b                   	pop    %ebx
404eef:	5d                   	pop    %ebp
404ef0:	c2 08 00             	ret    $0x8
404ef3:	83 be 00 01 00 00 40 	cmpl   $0x40,0x100(%esi)
404efa:	76 44                	jbe    0x404f40
404efc:	8d 86 f8 00 00 00    	lea    0xf8(%esi),%eax
404f02:	8b 08                	mov    (%eax),%ecx
404f04:	83 01 40             	addl   $0x40,(%ecx)
404f07:	8b 00                	mov    (%eax),%eax
404f09:	83 38 40             	cmpl   $0x40,(%eax)
404f0c:	57                   	push   %edi
404f0d:	1b c9                	sbb    %ecx,%ecx
404f0f:	f7 d9                	neg    %ecx
404f11:	01 48 04             	add    %ecx,0x4(%eax)
404f14:	8d be f0 00 00 00    	lea    0xf0(%esi),%edi
404f1a:	8b 07                	mov    (%edi),%eax
404f1c:	56                   	push   %esi
404f1d:	e8 f1 fb ff ff       	call   0x404b13
404f22:	83 86 00 01 00 00 c0 	addl   $0xffffffc0,0x100(%esi)
404f29:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
404f2f:	8b 3f                	mov    (%edi),%edi
404f31:	50                   	push   %eax
404f32:	8d 47 40             	lea    0x40(%edi),%eax
404f35:	50                   	push   %eax
404f36:	57                   	push   %edi
404f37:	e8 34 6d 01 00       	call   0x41bc70
404f3c:	83 c4 0c             	add    $0xc,%esp
404f3f:	5f                   	pop    %edi
404f40:	8b 8e 00 01 00 00    	mov    0x100(%esi),%ecx
404f46:	8d 86 f8 00 00 00    	lea    0xf8(%esi),%eax
404f4c:	8b 10                	mov    (%eax),%edx
404f4e:	01 0a                	add    %ecx,(%edx)
404f50:	8b 00                	mov    (%eax),%eax
404f52:	39 08                	cmp    %ecx,(%eax)
404f54:	1b c9                	sbb    %ecx,%ecx
404f56:	f7 d9                	neg    %ecx
404f58:	01 48 04             	add    %ecx,0x4(%eax)
404f5b:	80 be 04 01 00 00 00 	cmpb   $0x0,0x104(%esi)
404f62:	74 0a                	je     0x404f6e
404f64:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
404f6a:	83 48 04 ff          	orl    $0xffffffff,0x4(%eax)
404f6e:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
404f74:	83 08 ff             	orl    $0xffffffff,(%eax)
404f77:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
404f7d:	b9 80 00 00 00       	mov    $0x80,%ecx
404f82:	2b c8                	sub    %eax,%ecx
404f84:	51                   	push   %ecx
404f85:	8b 8e f0 00 00 00    	mov    0xf0(%esi),%ecx
404f8b:	03 c8                	add    %eax,%ecx
404f8d:	6a 00                	push   $0x0
404f8f:	51                   	push   %ecx
404f90:	e8 6b 52 01 00       	call   0x41a200
404f95:	8b 86 f0 00 00 00    	mov    0xf0(%esi),%eax
404f9b:	83 c4 0c             	add    $0xc,%esp
404f9e:	56                   	push   %esi
404f9f:	e8 6f fb ff ff       	call   0x404b13
404fa4:	33 c0                	xor    %eax,%eax
404fa6:	8b 8e f4 00 00 00    	mov    0xf4(%esi),%ecx
404fac:	8b 0c 08             	mov    (%eax,%ecx,1),%ecx
404faf:	8b 54 24 04          	mov    0x4(%esp),%edx
404fb3:	89 0c 10             	mov    %ecx,(%eax,%edx,1)
404fb6:	83 c0 04             	add    $0x4,%eax
404fb9:	83 f8 20             	cmp    $0x20,%eax
404fbc:	7c e8                	jl     0x404fa6
404fbe:	c2 04 00             	ret    $0x4
404fc1:	53                   	push   %ebx
404fc2:	56                   	push   %esi
404fc3:	8b 74 24 0c          	mov    0xc(%esp),%esi
404fc7:	57                   	push   %edi
404fc8:	68 00 02 00 00       	push   $0x200
404fcd:	33 ff                	xor    %edi,%edi
404fcf:	8d 86 48 09 00 00    	lea    0x948(%esi),%eax
404fd5:	57                   	push   %edi
404fd6:	50                   	push   %eax
404fd7:	e8 24 52 01 00       	call   0x41a200
404fdc:	83 c4 0c             	add    $0xc,%esp
404fdf:	33 c0                	xor    %eax,%eax
404fe1:	57                   	push   %edi
404fe2:	8d 8e 40 08 00 00    	lea    0x840(%esi),%ecx
404fe8:	40                   	inc    %eax
404fe9:	89 be 48 0b 00 00    	mov    %edi,0xb48(%esi)
404fef:	e8 cb fa ff ff       	call   0x404abf
404ff4:	8b de                	mov    %esi,%ebx
404ff6:	57                   	push   %edi
404ff7:	33 c0                	xor    %eax,%eax
404ff9:	8b cb                	mov    %ebx,%ecx
404ffb:	e8 bf fa ff ff       	call   0x404abf
405000:	47                   	inc    %edi
405001:	81 c3 08 01 00 00    	add    $0x108,%ebx
405007:	83 ff 08             	cmp    $0x8,%edi
40500a:	72 ea                	jb     0x404ff6
40500c:	5f                   	pop    %edi
40500d:	c6 86 44 09 00 00 01 	movb   $0x1,0x944(%esi)
405014:	c6 86 3c 08 00 00 01 	movb   $0x1,0x83c(%esi)
40501b:	5e                   	pop    %esi
40501c:	5b                   	pop    %ebx
40501d:	c2 04 00             	ret    $0x4
405020:	51                   	push   %ecx
405021:	53                   	push   %ebx
405022:	55                   	push   %ebp
405023:	8b d9                	mov    %ecx,%ebx
405025:	8b 6b 08             	mov    0x8(%ebx),%ebp
405028:	8b 43 04             	mov    0x4(%ebx),%eax
40502b:	57                   	push   %edi
40502c:	bf 00 02 00 00       	mov    $0x200,%edi
405031:	89 44 24 0c          	mov    %eax,0xc(%esp)
405035:	3b ef                	cmp    %edi,%ebp
405037:	72 34                	jb     0x40506d
405039:	56                   	push   %esi
40503a:	eb 04                	jmp    0x405040
40503c:	8b 44 24 10          	mov    0x10(%esp),%eax
405040:	83 3d 40 ea 44 00 01 	cmpl   $0x1,0x44ea40
405047:	7c 0f                	jl     0x405058
405049:	81 fd 00 04 00 00    	cmp    $0x400,%ebp
40504f:	72 07                	jb     0x405058
405051:	0f 18 88 00 02 00 00 	prefetcht0 0x200(%eax)
405058:	8b 33                	mov    (%ebx),%esi
40505a:	6a 40                	push   $0x40
40505c:	50                   	push   %eax
40505d:	e8 d2 fd ff ff       	call   0x404e34
405062:	01 7c 24 10          	add    %edi,0x10(%esp)
405066:	2b ef                	sub    %edi,%ebp
405068:	3b ef                	cmp    %edi,%ebp
40506a:	73 d0                	jae    0x40503c
40506c:	5e                   	pop    %esi
40506d:	5f                   	pop    %edi
40506e:	5d                   	pop    %ebp
40506f:	5b                   	pop    %ebx
405070:	59                   	pop    %ecx
405071:	c3                   	ret
405072:	8b 4c 24 04          	mov    0x4(%esp),%ecx
405076:	e8 a5 ff ff ff       	call   0x405020
40507b:	c2 04 00             	ret    $0x4
40507e:	55                   	push   %ebp
40507f:	8b ec                	mov    %esp,%ebp
405081:	83 ec 70             	sub    $0x70,%esp
405084:	53                   	push   %ebx
405085:	8b 5d 08             	mov    0x8(%ebp),%ebx
405088:	56                   	push   %esi
405089:	8b b3 48 0b 00 00    	mov    0xb48(%ebx),%esi
40508f:	57                   	push   %edi
405090:	bf 00 02 00 00       	mov    $0x200,%edi
405095:	2b fe                	sub    %esi,%edi
405097:	89 75 fc             	mov    %esi,-0x4(%ebp)
40509a:	85 f6                	test   %esi,%esi
40509c:	74 51                	je     0x4050ef
40509e:	39 7d 10             	cmp    %edi,0x10(%ebp)
4050a1:	72 4c                	jb     0x4050ef
4050a3:	57                   	push   %edi
4050a4:	ff 75 0c             	push   0xc(%ebp)
4050a7:	8d 84 1e 48 09 00 00 	lea    0x948(%esi,%ebx,1),%eax
4050ae:	50                   	push   %eax
4050af:	e8 bc 6b 01 00       	call   0x41bc70
4050b4:	8d 83 48 09 00 00    	lea    0x948(%ebx),%eax
4050ba:	83 c4 0c             	add    $0xc,%esp
4050bd:	8b f3                	mov    %ebx,%esi
4050bf:	89 45 08             	mov    %eax,0x8(%ebp)
4050c2:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
4050c9:	6a 40                	push   $0x40
4050cb:	ff 75 08             	push   0x8(%ebp)
4050ce:	e8 61 fd ff ff       	call   0x404e34
4050d3:	83 45 08 40          	addl   $0x40,0x8(%ebp)
4050d7:	81 c6 08 01 00 00    	add    $0x108,%esi
4050dd:	ff 4d f0             	decl   -0x10(%ebp)
4050e0:	75 e7                	jne    0x4050c9
4050e2:	01 7d 0c             	add    %edi,0xc(%ebp)
4050e5:	29 7d 10             	sub    %edi,0x10(%ebp)
4050e8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4050ec:	8b 75 fc             	mov    -0x4(%ebp),%esi
4050ef:	81 7d 10 00 10 00 00 	cmpl   $0x1000,0x10(%ebp)
4050f6:	73 09                	jae    0x405101
4050f8:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
4050ff:	eb 1a                	jmp    0x40511b
405101:	8b 83 50 0b 00 00    	mov    0xb50(%ebx),%eax
405107:	89 45 08             	mov    %eax,0x8(%ebp)
40510a:	83 f8 06             	cmp    $0x6,%eax
40510d:	74 05                	je     0x405114
40510f:	83 f8 07             	cmp    $0x7,%eax
405112:	75 07                	jne    0x40511b
405114:	c7 45 08 04 00 00 00 	movl   $0x4,0x8(%ebp)
40511b:	33 c0                	xor    %eax,%eax
40511d:	89 45 f8             	mov    %eax,-0x8(%ebp)
405120:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
405124:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
405128:	76 6a                	jbe    0x405194
40512a:	8b f0                	mov    %eax,%esi
40512c:	69 f6 08 01 00 00    	imul   $0x108,%esi,%esi
405132:	c1 e0 06             	shl    $0x6,%eax
405135:	03 f3                	add    %ebx,%esi
405137:	03 45 0c             	add    0xc(%ebp),%eax
40513a:	8d 7d 90             	lea    -0x70(%ebp),%edi
40513d:	89 45 f4             	mov    %eax,-0xc(%ebp)
405140:	eb 03                	jmp    0x405145
405142:	8b 45 f4             	mov    -0xc(%ebp),%eax
405145:	83 7d f8 08          	cmpl   $0x8,-0x8(%ebp)
405149:	73 46                	jae    0x405191
40514b:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
40514f:	8b 4d 10             	mov    0x10(%ebp),%ecx
405152:	89 4f 08             	mov    %ecx,0x8(%edi)
405155:	89 47 04             	mov    %eax,0x4(%edi)
405158:	89 37                	mov    %esi,(%edi)
40515a:	76 13                	jbe    0x40516f
40515c:	8b 8b 4c 0b 00 00    	mov    0xb4c(%ebx),%ecx
405162:	57                   	push   %edi
405163:	68 72 50 40 00       	push   $0x405072
405168:	e8 d7 bc 00 00       	call   0x410e44
40516d:	eb 07                	jmp    0x405176
40516f:	8b cf                	mov    %edi,%ecx
405171:	e8 aa fe ff ff       	call   0x405020
405176:	ff 45 f8             	incl   -0x8(%ebp)
405179:	83 45 f4 40          	addl   $0x40,-0xc(%ebp)
40517d:	81 c6 08 01 00 00    	add    $0x108,%esi
405183:	ff 45 f0             	incl   -0x10(%ebp)
405186:	8b 45 f0             	mov    -0x10(%ebp),%eax
405189:	83 c7 0c             	add    $0xc,%edi
40518c:	3b 45 08             	cmp    0x8(%ebp),%eax
40518f:	72 b1                	jb     0x405142
405191:	8b 75 fc             	mov    -0x4(%ebp),%esi
405194:	8b 8b 4c 0b 00 00    	mov    0xb4c(%ebx),%ecx
40519a:	85 c9                	test   %ecx,%ecx
40519c:	74 05                	je     0x4051a3
40519e:	e8 9e bb 00 00       	call   0x410d41
4051a3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4051a6:	83 f8 08             	cmp    $0x8,%eax
4051a9:	0f 82 71 ff ff ff    	jb     0x405120