409f30:	8b 81 84 9a 00 00    	mov    0x9a84(%ecx),%eax
409f36:	23 41 48             	and    0x48(%ecx),%eax
409f39:	85 c0                	test   %eax,%eax
409f3b:	74 32                	je     0x409f6f
409f3d:	8b ce                	mov    %esi,%ecx
409f3f:	89 be 9c 01 00 00    	mov    %edi,0x19c(%esi)
409f45:	e8 52 f6 ff ff       	call   0x40959c
409f4a:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
409f50:	85 c9                	test   %ecx,%ecx
409f52:	75 07                	jne    0x409f5b
409f54:	e8 23 f9 ff ff       	call   0x40987c
409f59:	eb 09                	jmp    0x409f64
409f5b:	8b 81 84 9a 00 00    	mov    0x9a84(%ecx),%eax
409f61:	23 41 48             	and    0x48(%ecx),%eax
409f64:	85 c0                	test   %eax,%eax
409f66:	74 07                	je     0x409f6f
409f68:	8b ce                	mov    %esi,%ecx
409f6a:	e8 ad f9 ff ff       	call   0x40991c
409f6f:	89 be e0 02 00 00    	mov    %edi,0x2e0(%esi)
409f75:	5f                   	pop    %edi
409f76:	5e                   	pop    %esi
409f77:	59                   	pop    %ecx
409f78:	c3                   	ret
409f79:	8b ff                	mov    %edi,%edi
409f7b:	55                   	push   %ebp
409f7c:	8b ec                	mov    %esp,%ebp
409f7e:	51                   	push   %ecx
409f7f:	51                   	push   %ecx
409f80:	53                   	push   %ebx
409f81:	56                   	push   %esi
409f82:	57                   	push   %edi
409f83:	be 9c 9c 00 00       	mov    $0x9c9c,%esi
409f88:	56                   	push   %esi
409f89:	e8 84 dd 01 00       	call   0x427d12
409f8e:	8b d8                	mov    %eax,%ebx
409f90:	59                   	pop    %ecx
409f91:	85 db                	test   %ebx,%ebx
409f93:	75 32                	jne    0x409fc7
409f95:	a1 00 b0 42 00       	mov    0x42b000,%eax
409f9a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409f9f:	0f 84 c8 02 00 00    	je     0x40a26d
409fa5:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
409fa9:	0f 84 be 02 00 00    	je     0x40a26d
409faf:	ff 70 14             	push   0x14(%eax)
409fb2:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409fb7:	ff 70 10             	push   0x10(%eax)
409fba:	6a 44                	push   $0x44
409fbc:	59                   	pop    %ecx
409fbd:	e8 ee d3 ff ff       	call   0x4073b0
409fc2:	e9 a6 02 00 00       	jmp    0x40a26d
409fc7:	68 94 9c 00 00       	push   $0x9c94
409fcc:	8d 43 08             	lea    0x8(%ebx),%eax
409fcf:	6a 00                	push   $0x0
409fd1:	50                   	push   %eax
409fd2:	e8 d6 e3 01 00       	call   0x4283ad
409fd7:	8b 7d 08             	mov    0x8(%ebp),%edi
409fda:	8d 53 2c             	lea    0x2c(%ebx),%edx
409fdd:	89 33                	mov    %esi,(%ebx)
409fdf:	83 c4 0c             	add    $0xc,%esp
409fe2:	c7 43 04 00 00 02 00 	movl   $0x20000,0x4(%ebx)
409fe9:	8b 47 04             	mov    0x4(%edi),%eax
409fec:	89 43 08             	mov    %eax,0x8(%ebx)
409fef:	8b 47 08             	mov    0x8(%edi),%eax
409ff2:	89 43 0c             	mov    %eax,0xc(%ebx)
409ff5:	8b 47 0c             	mov    0xc(%edi),%eax
409ff8:	89 43 10             	mov    %eax,0x10(%ebx)
409ffb:	8b 47 10             	mov    0x10(%edi),%eax
409ffe:	89 43 14             	mov    %eax,0x14(%ebx)
40a001:	8b 47 14             	mov    0x14(%edi),%eax
40a004:	89 43 18             	mov    %eax,0x18(%ebx)
40a007:	8b 47 18             	mov    0x18(%edi),%eax
40a00a:	89 43 1c             	mov    %eax,0x1c(%ebx)
40a00d:	8b 47 1c             	mov    0x1c(%edi),%eax
40a010:	89 43 20             	mov    %eax,0x20(%ebx)
40a013:	8b 47 20             	mov    0x20(%edi),%eax
40a016:	89 43 24             	mov    %eax,0x24(%ebx)
40a019:	8b 47 24             	mov    0x24(%edi),%eax
40a01c:	89 43 28             	mov    %eax,0x28(%ebx)
40a01f:	8d 43 38             	lea    0x38(%ebx),%eax
40a022:	8b 4f 28             	mov    0x28(%edi),%ecx
40a025:	50                   	push   %eax
40a026:	8d 43 30             	lea    0x30(%ebx),%eax
40a029:	50                   	push   %eax
40a02a:	e8 94 15 00 00       	call   0x40b5c3
40a02f:	8b 87 44 11 00 00    	mov    0x1144(%edi),%eax
40a035:	ba 00 04 00 00       	mov    $0x400,%edx
40a03a:	89 43 40             	mov    %eax,0x40(%ebx)
40a03d:	8b 47 34             	mov    0x34(%edi),%eax
40a040:	89 43 44             	mov    %eax,0x44(%ebx)
40a043:	8b 47 38             	mov    0x38(%edi),%eax
40a046:	89 43 48             	mov    %eax,0x48(%ebx)
40a049:	8b 47 3c             	mov    0x3c(%edi),%eax
40a04c:	83 a3 70 84 00 00 00 	andl   $0x0,0x8470(%ebx)
40a053:	f6 43 2c 01          	testb  $0x1,0x2c(%ebx)
40a057:	89 43 4c             	mov    %eax,0x4c(%ebx)
40a05a:	8b 47 40             	mov    0x40(%edi),%eax
40a05d:	89 83 94 9c 00 00    	mov    %eax,0x9c94(%ebx)
40a063:	8b 47 44             	mov    0x44(%edi),%eax
40a066:	89 83 98 9c 00 00    	mov    %eax,0x9c98(%ebx)
40a06c:	8d 87 18 14 00 00    	lea    0x1418(%edi),%eax
40a072:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a075:	50                   	push   %eax
40a076:	0f 84 89 00 00 00    	je     0x40a105
40a07c:	8d 8b ac 09 00 00    	lea    0x9ac(%ebx),%ecx
40a082:	e8 ae e9 ff ff       	call   0x408a35
40a087:	8b c8                	mov    %eax,%ecx
40a089:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a08e:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a093:	74 21                	je     0x40a0b6
40a095:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a099:	74 1b                	je     0x40a0b6
40a09b:	51                   	push   %ecx
40a09c:	8d 8f 18 14 00 00    	lea    0x1418(%edi),%ecx
40a0a2:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a0a7:	51                   	push   %ecx
40a0a8:	ff 70 14             	push   0x14(%eax)
40a0ab:	ff 70 10             	push   0x10(%eax)
40a0ae:	6a 45                	push   $0x45
40a0b0:	59                   	pop    %ecx
40a0b1:	e8 00 d9 ff ff       	call   0x4079b6
40a0b6:	8d 87 18 1c 00 00    	lea    0x1c18(%edi),%eax
40a0bc:	50                   	push   %eax
40a0bd:	6a 38                	push   $0x38
40a0bf:	8d 8b 64 05 00 00    	lea    0x564(%ebx),%ecx
40a0c5:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a0c8:	5a                   	pop    %edx
40a0c9:	e8 70 14 00 00       	call   0x40b53e
40a0ce:	8b f0                	mov    %eax,%esi
40a0d0:	85 f6                	test   %esi,%esi
40a0d2:	79 79                	jns    0x40a14d
40a0d4:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a0d9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a0de:	0f 84 7c 01 00 00    	je     0x40a260
40a0e4:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a0e8:	0f 84 72 01 00 00    	je     0x40a260
40a0ee:	56                   	push   %esi
40a0ef:	ff 75 fc             	push   -0x4(%ebp)
40a0f2:	ff 70 14             	push   0x14(%eax)
40a0f5:	ff 70 10             	push   0x10(%eax)
40a0f8:	6a 47                	push   $0x47
40a0fa:	59                   	pop    %ecx
40a0fb:	e8 e0 e9 ff ff       	call   0x408ae0
40a100:	e9 5b 01 00 00       	jmp    0x40a260
40a105:	8d 8b ac 11 00 00    	lea    0x11ac(%ebx),%ecx
40a10b:	e8 25 e9 ff ff       	call   0x408a35
40a110:	8b f0                	mov    %eax,%esi
40a112:	85 f6                	test   %esi,%esi
40a114:	79 a0                	jns    0x40a0b6
40a116:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a11b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a120:	0f 84 3a 01 00 00    	je     0x40a260
40a126:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a12a:	0f 84 30 01 00 00    	je     0x40a260
40a130:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a133:	56                   	push   %esi
40a134:	51                   	push   %ecx
40a135:	ff 70 14             	push   0x14(%eax)
40a138:	ff 70 10             	push   0x10(%eax)
40a13b:	6a 46                	push   $0x46
40a13d:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a142:	59                   	pop    %ecx
40a143:	e8 6e d8 ff ff       	call   0x4079b6
40a148:	e9 13 01 00 00       	jmp    0x40a260
40a14d:	8d b7 10 12 00 00    	lea    0x1210(%edi),%esi
40a153:	b9 82 00 00 00       	mov    $0x82,%ecx
40a158:	8d bb a4 07 00 00    	lea    0x7a4(%ebx),%edi
40a15e:	ba 04 01 00 00       	mov    $0x104,%edx
40a163:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40a165:	8b 7d 08             	mov    0x8(%ebp),%edi
40a168:	8d 8b 58 02 00 00    	lea    0x258(%ebx),%ecx
40a16e:	8d 87 b8 00 00 00    	lea    0xb8(%edi),%eax
40a174:	50                   	push   %eax
40a175:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a178:	e8 b8 e8 ff ff       	call   0x408a35
40a17d:	8b f0                	mov    %eax,%esi
40a17f:	85 f6                	test   %esi,%esi
40a181:	79 28                	jns    0x40a1ab
40a183:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a188:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a18d:	0f 84 cd 00 00 00    	je     0x40a260
40a193:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a197:	0f 84 c3 00 00 00    	je     0x40a260
40a19d:	56                   	push   %esi
40a19e:	ff 75 fc             	push   -0x4(%ebp)
40a1a1:	ff 70 14             	push   0x14(%eax)
40a1a4:	ff 70 10             	push   0x10(%eax)
40a1a7:	6a 48                	push   $0x48
40a1a9:	eb 92                	jmp    0x40a13d
40a1ab:	8d 47 48             	lea    0x48(%edi),%eax
40a1ae:	50                   	push   %eax
40a1af:	6a 38                	push   $0x38
40a1b1:	8d 8b ac 21 00 00    	lea    0x21ac(%ebx),%ecx
40a1b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a1ba:	5a                   	pop    %edx
40a1bb:	e8 75 e8 ff ff       	call   0x408a35
40a1c0:	8b f0                	mov    %eax,%esi
40a1c2:	85 f6                	test   %esi,%esi
40a1c4:	79 2b                	jns    0x40a1f1
40a1c6:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a1cb:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a1d0:	0f 84 8a 00 00 00    	je     0x40a260
40a1d6:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a1da:	0f 84 80 00 00 00    	je     0x40a260
40a1e0:	56                   	push   %esi
40a1e1:	ff 75 fc             	push   -0x4(%ebp)
40a1e4:	ff 70 14             	push   0x14(%eax)
40a1e7:	ff 70 10             	push   0x10(%eax)
40a1ea:	6a 49                	push   $0x49
40a1ec:	e9 4c ff ff ff       	jmp    0x40a13d
40a1f1:	8d 87 c0 02 00 00    	lea    0x2c0(%edi),%eax
40a1f7:	ba 04 01 00 00       	mov    $0x104,%edx
40a1fc:	50                   	push   %eax
40a1fd:	8d 8b 1c 3d 00 00    	lea    0x3d1c(%ebx),%ecx
40a203:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a206:	e8 2a e8 ff ff       	call   0x408a35
40a20b:	8b f0                	mov    %eax,%esi
40a20d:	85 f6                	test   %esi,%esi
40a20f:	79 23                	jns    0x40a234
40a211:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a216:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a21b:	74 43                	je     0x40a260
40a21d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a221:	74 3d                	je     0x40a260
40a223:	56                   	push   %esi
40a224:	ff 75 fc             	push   -0x4(%ebp)
40a227:	ff 70 14             	push   0x14(%eax)
40a22a:	ff 70 10             	push   0x10(%eax)
40a22d:	6a 4a                	push   $0x4a
40a22f:	e9 09 ff ff ff       	jmp    0x40a13d
40a234:	8d 87 58 0d 00 00    	lea    0xd58(%edi),%eax
40a23a:	50                   	push   %eax
40a23b:	6a 38                	push   $0x38
40a23d:	8d 8b cc 32 00 00    	lea    0x32cc(%ebx),%ecx
40a243:	5a                   	pop    %edx
40a244:	e8 ec e7 ff ff       	call   0x408a35
40a249:	8d 87 c8 0d 00 00    	lea    0xdc8(%edi),%eax
40a24f:	50                   	push   %eax
40a250:	6a 38                	push   $0x38
40a252:	8d 8b 3c 33 00 00    	lea    0x333c(%ebx),%ecx
40a258:	5a                   	pop    %edx
40a259:	e8 d7 e7 ff ff       	call   0x408a35
40a25e:	33 f6                	xor    %esi,%esi
40a260:	85 f6                	test   %esi,%esi
40a262:	79 09                	jns    0x40a26d
40a264:	53                   	push   %ebx
40a265:	e8 d1 da 01 00       	call   0x427d3b
40a26a:	59                   	pop    %ecx
40a26b:	33 db                	xor    %ebx,%ebx
40a26d:	5f                   	pop    %edi
40a26e:	5e                   	pop    %esi
40a26f:	8b c3                	mov    %ebx,%eax
40a271:	5b                   	pop    %ebx
40a272:	c9                   	leave
40a273:	c2 04 00             	ret    $0x4
40a276:	8b ff                	mov    %edi,%edi
40a278:	55                   	push   %ebp
40a279:	8b ec                	mov    %esp,%ebp
40a27b:	51                   	push   %ecx
40a27c:	51                   	push   %ecx
40a27d:	53                   	push   %ebx
40a27e:	56                   	push   %esi
40a27f:	57                   	push   %edi
40a280:	be 9c 9c 00 00       	mov    $0x9c9c,%esi
40a285:	56                   	push   %esi
40a286:	e8 87 da 01 00       	call   0x427d12
40a28b:	8b f8                	mov    %eax,%edi
40a28d:	89 7d f8             	mov    %edi,-0x8(%ebp)
40a290:	59                   	pop    %ecx
40a291:	85 ff                	test   %edi,%edi
40a293:	75 32                	jne    0x40a2c7
40a295:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a29a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a29f:	0f 84 c4 02 00 00    	je     0x40a569
40a2a5:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a2a9:	0f 84 ba 02 00 00    	je     0x40a569
40a2af:	ff 70 14             	push   0x14(%eax)
40a2b2:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a2b7:	ff 70 10             	push   0x10(%eax)
40a2ba:	6a 4b                	push   $0x4b
40a2bc:	59                   	pop    %ecx
40a2bd:	e8 ee d0 ff ff       	call   0x4073b0
40a2c2:	e9 a2 02 00 00       	jmp    0x40a569
40a2c7:	68 94 9c 00 00       	push   $0x9c94
40a2cc:	8d 47 08             	lea    0x8(%edi),%eax
40a2cf:	6a 00                	push   $0x0
40a2d1:	50                   	push   %eax
40a2d2:	e8 d6 e0 01 00       	call   0x4283ad
40a2d7:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a2da:	8d 57 2c             	lea    0x2c(%edi),%edx
40a2dd:	89 37                	mov    %esi,(%edi)
40a2df:	83 c4 0c             	add    $0xc,%esp
40a2e2:	c7 47 04 00 00 02 00 	movl   $0x20000,0x4(%edi)
40a2e9:	8b 43 04             	mov    0x4(%ebx),%eax
40a2ec:	89 47 08             	mov    %eax,0x8(%edi)
40a2ef:	8b 43 08             	mov    0x8(%ebx),%eax
40a2f2:	89 47 0c             	mov    %eax,0xc(%edi)
40a2f5:	8b 43 0c             	mov    0xc(%ebx),%eax
40a2f8:	89 47 10             	mov    %eax,0x10(%edi)
40a2fb:	8b 43 10             	mov    0x10(%ebx),%eax
40a2fe:	89 47 14             	mov    %eax,0x14(%edi)
40a301:	8b 43 14             	mov    0x14(%ebx),%eax
40a304:	89 47 18             	mov    %eax,0x18(%edi)
40a307:	8b 43 18             	mov    0x18(%ebx),%eax
40a30a:	89 47 1c             	mov    %eax,0x1c(%edi)
40a30d:	8b 43 1c             	mov    0x1c(%ebx),%eax
40a310:	89 47 20             	mov    %eax,0x20(%edi)
40a313:	8b 43 20             	mov    0x20(%ebx),%eax
40a316:	89 47 24             	mov    %eax,0x24(%edi)
40a319:	8b 43 24             	mov    0x24(%ebx),%eax
40a31c:	89 47 28             	mov    %eax,0x28(%edi)
40a31f:	8d 47 38             	lea    0x38(%edi),%eax
40a322:	8b 4b 28             	mov    0x28(%ebx),%ecx
40a325:	50                   	push   %eax
40a326:	8d 47 30             	lea    0x30(%edi),%eax
40a329:	50                   	push   %eax
40a32a:	e8 94 12 00 00       	call   0x40b5c3
40a32f:	ff 15 48 c2 42 00    	call   *0x42c248
40a335:	0f b7 c0             	movzwl %ax,%eax
40a338:	ba 00 04 00 00       	mov    $0x400,%edx
40a33d:	89 47 40             	mov    %eax,0x40(%edi)
40a340:	8b 43 34             	mov    0x34(%ebx),%eax
40a343:	89 47 44             	mov    %eax,0x44(%edi)
40a346:	8b 43 38             	mov    0x38(%ebx),%eax
40a349:	89 47 48             	mov    %eax,0x48(%edi)
40a34c:	8b 43 3c             	mov    0x3c(%ebx),%eax
40a34f:	83 a7 70 84 00 00 00 	andl   $0x0,0x8470(%edi)
40a356:	f6 47 2c 01          	testb  $0x1,0x2c(%edi)
40a35a:	89 47 4c             	mov    %eax,0x4c(%edi)
40a35d:	8b 43 40             	mov    0x40(%ebx),%eax
40a360:	89 87 94 9c 00 00    	mov    %eax,0x9c94(%edi)
40a366:	8b 43 44             	mov    0x44(%ebx),%eax
40a369:	89 87 98 9c 00 00    	mov    %eax,0x9c98(%edi)
40a36f:	8d 83 a0 09 00 00    	lea    0x9a0(%ebx),%eax
40a375:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a378:	50                   	push   %eax
40a379:	74 3c                	je     0x40a3b7
40a37b:	8d 8f ac 09 00 00    	lea    0x9ac(%edi),%ecx
40a381:	e8 af e6 ff ff       	call   0x408a35
40a386:	8b c8                	mov    %eax,%ecx
40a388:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a38d:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a392:	74 6e                	je     0x40a402
40a394:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a398:	74 68                	je     0x40a402
40a39a:	51                   	push   %ecx
40a39b:	8d 8b a0 09 00 00    	lea    0x9a0(%ebx),%ecx
40a3a1:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a3a6:	51                   	push   %ecx
40a3a7:	ff 70 14             	push   0x14(%eax)
40a3aa:	ff 70 10             	push   0x10(%eax)