40c046:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40c04d:	c7 45 e8 13 01 00 00 	movl   $0x113,-0x18(%ebp)
40c054:	e8 77 62 00 00       	call   0x4122d0
40c059:	8b f8                	mov    %eax,%edi
40c05b:	83 c4 20             	add    $0x20,%esp
40c05e:	85 ff                	test   %edi,%edi
40c060:	74 19                	je     0x40c07b
40c062:	6a 64                	push   $0x64
40c064:	ff d7                	call   *%edi
40c066:	8d 55 e4             	lea    -0x1c(%ebp),%edx
40c069:	52                   	push   %edx
40c06a:	56                   	push   %esi
40c06b:	e8 20 78 ff ff       	call   0x403890
40c070:	56                   	push   %esi
40c071:	e8 aa 69 ff ff       	call   0x402a20
40c076:	83 c4 0c             	add    $0xc,%esp
40c079:	eb e7                	jmp    0x40c062
40c07b:	5f                   	pop    %edi
40c07c:	5e                   	pop    %esi
40c07d:	8b e5                	mov    %ebp,%esp
40c07f:	5d                   	pop    %ebp
40c080:	c3                   	ret
40c081:	2b 24 89             	sub    (%ecx,%ecx,4),%esp
40c084:	1a 18                	sbb    (%eax),%bl
40c086:	3e d7                	xlat   %ds:(%ebx)
40c088:	a0 7a 77 50 06       	mov    0x650777a,%al
40c08d:	0f a3 49 55          	bt     %ecx,0x55(%ecx)
40c091:	8b ec                	mov    %esp,%ebp
40c093:	81 ec 08 02 00 00    	sub    $0x208,%esp
40c099:	56                   	push   %esi
40c09a:	57                   	push   %edi
40c09b:	33 c0                	xor    %eax,%eax
40c09d:	68 06 02 00 00       	push   $0x206
40c0a2:	50                   	push   %eax
40c0a3:	8d 8d fa fd ff ff    	lea    -0x206(%ebp),%ecx
40c0a9:	51                   	push   %ecx
40c0aa:	66 89 85 f8 fd ff ff 	mov    %ax,-0x208(%ebp)
40c0b1:	e8 2a c3 00 00       	call   0x4183e0
40c0b6:	83 c4 0c             	add    $0xc,%esp
40c0b9:	e8 4d da 00 00       	call   0x419b0b
40c0be:	8b f0                	mov    %eax,%esi
40c0c0:	8b 7e 03             	mov    0x3(%esi),%edi
40c0c3:	85 ff                	test   %edi,%edi
40c0c5:	0f 84 dc 00 00 00    	je     0x40c1a7
40c0cb:	81 ff 88 88 88 88    	cmp    $0x88888888,%edi
40c0d1:	0f 84 d0 00 00 00    	je     0x40c1a7
40c0d7:	83 bf 08 20 00 00 00 	cmpl   $0x0,0x2008(%edi)
40c0de:	0f 84 ce 00 00 00    	je     0x40c1b2
40c0e4:	e8 27 b8 00 00       	call   0x417910
40c0e9:	3b 87 48 20 00 00    	cmp    0x2048(%edi),%eax
40c0ef:	0f 84 bd 00 00 00    	je     0x40c1b2
40c0f5:	8b 56 03             	mov    0x3(%esi),%edx
40c0f8:	8b 75 08             	mov    0x8(%ebp),%esi
40c0fb:	6a 10                	push   $0x10
40c0fd:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40c103:	50                   	push   %eax
40c104:	56                   	push   %esi
40c105:	89 96 d8 07 00 00    	mov    %edx,0x7d8(%esi)
40c10b:	e8 d0 c8 ff ff       	call   0x4089e0
40c110:	6a 01                	push   $0x1
40c112:	8d 95 f8 fd ff ff    	lea    -0x208(%ebp),%edx
40c118:	52                   	push   %edx
40c119:	8d be 30 14 01 00    	lea    0x11430(%esi),%edi
40c11f:	33 c9                	xor    %ecx,%ecx
40c121:	57                   	push   %edi
40c122:	56                   	push   %esi
40c123:	66 89 8d 08 fe ff ff 	mov    %cx,-0x1f8(%ebp)
40c12a:	e8 21 ca ff ff       	call   0x408b50
40c12f:	57                   	push   %edi
40c130:	e8 1b c5 00 00       	call   0x418650
40c135:	83 c4 20             	add    $0x20,%esp
40c138:	83 f8 0c             	cmp    $0xc,%eax
40c13b:	72 6a                	jb     0x40c1a7
40c13d:	6a 44                	push   $0x44
40c13f:	56                   	push   %esi
40c140:	c7 86 a8 20 01 00 01 	movl   $0x1,0x120a8(%esi)
40c147:	00 00 00
40c14a:	8d be 8c 0c 00 00    	lea    0xc8c(%esi),%edi
40c150:	e8 bb 60 00 00       	call   0x412210
40c155:	50                   	push   %eax
40c156:	8b 86 9c 0c 00 00    	mov    0xc9c(%esi),%eax
40c15c:	6a 00                	push   $0x0
40c15e:	6a 00                	push   $0x0
40c160:	50                   	push   %eax
40c161:	57                   	push   %edi
40c162:	e8 69 61 00 00       	call   0x4122d0
40c167:	83 c4 1c             	add    $0x1c,%esp
40c16a:	89 86 b0 0c 00 00    	mov    %eax,0xcb0(%esi)
40c170:	85 c0                	test   %eax,%eax
40c172:	74 33                	je     0x40c1a7
40c174:	8b 8e 98 0b 00 00    	mov    0xb98(%esi),%ecx
40c17a:	68 4f 08 75 b9       	push   $0xb975084f
40c17f:	6a 00                	push   $0x0
40c181:	6a 00                	push   $0x0
40c183:	51                   	push   %ecx
40c184:	57                   	push   %edi
40c185:	e8 46 61 00 00       	call   0x4122d0
40c18a:	8b f8                	mov    %eax,%edi
40c18c:	83 c4 14             	add    $0x14,%esp
40c18f:	85 ff                	test   %edi,%edi
40c191:	74 14                	je     0x40c1a7
40c193:	6a 00                	push   $0x0
40c195:	6a 00                	push   $0x0
40c197:	56                   	push   %esi
40c198:	e8 1b f6 00 00       	call   0x41b7b8
40c19d:	83 c0 02             	add    $0x2,%eax
40c1a0:	50                   	push   %eax
40c1a1:	6a 00                	push   $0x0
40c1a3:	6a 00                	push   $0x0
40c1a5:	ff d7                	call   *%edi
40c1a7:	5f                   	pop    %edi
40c1a8:	b8 01 00 00 00       	mov    $0x1,%eax
40c1ad:	5e                   	pop    %esi
40c1ae:	8b e5                	mov    %ebp,%esp
40c1b0:	5d                   	pop    %ebp
40c1b1:	c3                   	ret
40c1b2:	5f                   	pop    %edi
40c1b3:	33 c0                	xor    %eax,%eax
40c1b5:	5e                   	pop    %esi
40c1b6:	8b e5                	mov    %ebp,%esp
40c1b8:	5d                   	pop    %ebp
40c1b9:	c3                   	ret
40c1ba:	e3 60                	jecxz  0x40c21c
40c1bc:	3b 27                	cmp    (%edi),%esp
40c1be:	96                   	xchg   %eax,%esi
40c1bf:	a0 55 8b ec 81       	mov    0x81ec8b55,%al
40c1c4:	ec                   	in     (%dx),%al
40c1c5:	08 02                	or     %al,(%edx)
40c1c7:	00 00                	add    %al,(%eax)
40c1c9:	56                   	push   %esi
40c1ca:	8b 75 08             	mov    0x8(%ebp),%esi
40c1cd:	57                   	push   %edi
40c1ce:	8b be d8 07 00 00    	mov    0x7d8(%esi),%edi
40c1d4:	85 ff                	test   %edi,%edi
40c1d6:	0f 84 29 01 00 00    	je     0x40c305
40c1dc:	83 bf 80 68 00 00 00 	cmpl   $0x0,0x6880(%edi)
40c1e3:	0f 84 1c 01 00 00    	je     0x40c305
40c1e9:	8b 86 24 0a 00 00    	mov    0xa24(%esi),%eax
40c1ef:	53                   	push   %ebx
40c1f0:	50                   	push   %eax
40c1f1:	56                   	push   %esi
40c1f2:	e8 f9 aa 00 00       	call   0x416cf0
40c1f7:	33 c9                	xor    %ecx,%ecx
40c1f9:	68 06 02 00 00       	push   $0x206
40c1fe:	51                   	push   %ecx
40c1ff:	8d 95 fa fd ff ff    	lea    -0x206(%ebp),%edx
40c205:	52                   	push   %edx
40c206:	c7 86 24 0a 00 00 00 	movl   $0x0,0xa24(%esi)
40c20d:	00 00 00
40c210:	66 89 8d f8 fd ff ff 	mov    %cx,-0x208(%ebp)
40c217:	e8 c4 c1 00 00       	call   0x4183e0
40c21c:	8b 86 54 0b 00 00    	mov    0xb54(%esi),%eax
40c222:	6a 01                	push   $0x1
40c224:	50                   	push   %eax
40c225:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c228:	51                   	push   %ecx
40c229:	56                   	push   %esi
40c22a:	e8 51 e6 ff ff       	call   0x40a880
40c22f:	6a 00                	push   $0x0
40c231:	6a 03                	push   $0x3
40c233:	8d 95 f8 fd ff ff    	lea    -0x208(%ebp),%edx
40c239:	52                   	push   %edx
40c23a:	56                   	push   %esi
40c23b:	e8 30 c5 ff ff       	call   0x408770
40c240:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40c246:	50                   	push   %eax
40c247:	e8 04 c4 00 00       	call   0x418650
40c24c:	b9 5c 00 00 00       	mov    $0x5c,%ecx
40c251:	6a 00                	push   $0x0
40c253:	8d 97 c8 6b 00 00    	lea    0x6bc8(%edi),%edx
40c259:	66 89 8c 45 f8 fd ff 	mov    %cx,-0x208(%ebp,%eax,2)
40c260:	ff
40c261:	52                   	push   %edx
40c262:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40c268:	50                   	push   %eax
40c269:	e8 52 c5 00 00       	call   0x4187c0
40c26e:	8d 8d f8 fd ff ff    	lea    -0x208(%ebp),%ecx
40c274:	83 c4 44             	add    $0x44,%esp
40c277:	51                   	push   %ecx
40c278:	e8 d3 c3 00 00       	call   0x418650
40c27d:	ba 5c 00 00 00       	mov    $0x5c,%edx
40c282:	66 89 94 45 f8 fd ff 	mov    %dx,-0x208(%ebp,%eax,2)
40c289:	ff
40c28a:	6a 00                	push   $0x0
40c28c:	8d 87 88 69 00 00    	lea    0x6988(%edi),%eax
40c292:	50                   	push   %eax
40c293:	8d 8d f8 fd ff ff    	lea    -0x208(%ebp),%ecx
40c299:	51                   	push   %ecx
40c29a:	e8 21 c5 00 00       	call   0x4187c0
40c29f:	8d 9f 08 69 00 00    	lea    0x6908(%edi),%ebx
40c2a5:	68 04 01 00 00       	push   $0x104
40c2aa:	53                   	push   %ebx
40c2ab:	e8 e0 c0 00 00       	call   0x418390
40c2b0:	6a 00                	push   $0x0
40c2b2:	6a 03                	push   $0x3
40c2b4:	53                   	push   %ebx
40c2b5:	56                   	push   %esi
40c2b6:	e8 b5 c4 ff ff       	call   0x408770
40c2bb:	8d 95 f8 fd ff ff    	lea    -0x208(%ebp),%edx
40c2c1:	52                   	push   %edx
40c2c2:	8d 9f c8 69 00 00    	lea    0x69c8(%edi),%ebx
40c2c8:	e8 83 c3 00 00       	call   0x418650
40c2cd:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
40c2d1:	50                   	push   %eax
40c2d2:	8d 8d f8 fd ff ff    	lea    -0x208(%ebp),%ecx
40c2d8:	51                   	push   %ecx
40c2d9:	53                   	push   %ebx
40c2da:	e8 81 c0 00 00       	call   0x418360
40c2df:	53                   	push   %ebx
40c2e0:	e8 6b c3 00 00       	call   0x418650
40c2e5:	8d 54 00 02          	lea    0x2(%eax,%eax,1),%edx
40c2e9:	52                   	push   %edx
40c2ea:	8d 86 28 0a 00 00    	lea    0xa28(%esi),%eax
40c2f0:	53                   	push   %ebx
40c2f1:	50                   	push   %eax
40c2f2:	e8 69 c0 00 00       	call   0x418360
40c2f7:	83 c4 48             	add    $0x48,%esp
40c2fa:	c7 87 80 68 00 00 00 	movl   $0x0,0x6880(%edi)
40c301:	00 00 00
40c304:	5b                   	pop    %ebx
40c305:	8b 86 54 0b 00 00    	mov    0xb54(%esi),%eax
40c30b:	85 c0                	test   %eax,%eax
40c30d:	74 45                	je     0x40c354
40c30f:	83 be f0 09 00 00 00 	cmpl   $0x0,0x9f0(%esi)
40c316:	74 3c                	je     0x40c354
40c318:	66 83 38 00          	cmpw   $0x0,(%eax)
40c31c:	74 36                	je     0x40c354
40c31e:	6a 00                	push   $0x0
40c320:	50                   	push   %eax
40c321:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c324:	51                   	push   %ecx
40c325:	56                   	push   %esi
40c326:	e8 55 e5 ff ff       	call   0x40a880
40c32b:	83 c4 10             	add    $0x10,%esp
40c32e:	85 c0                	test   %eax,%eax
40c330:	75 22                	jne    0x40c354
40c332:	8b 86 50 0b 00 00    	mov    0xb50(%esi),%eax
40c338:	83 f8 08             	cmp    $0x8,%eax
40c33b:	73 17                	jae    0x40c354
40c33d:	8d 96 28 0a 00 00    	lea    0xa28(%esi),%edx
40c343:	52                   	push   %edx
40c344:	40                   	inc    %eax
40c345:	56                   	push   %esi
40c346:	89 86 50 0b 00 00    	mov    %eax,0xb50(%esi)
40c34c:	e8 af e7 ff ff       	call   0x40ab00
40c351:	83 c4 08             	add    $0x8,%esp
40c354:	83 be 24 0a 00 00 00 	cmpl   $0x0,0xa24(%esi)
40c35b:	75 1a                	jne    0x40c377
40c35d:	6a 00                	push   $0x0
40c35f:	6a 16                	push   $0x16
40c361:	8d 86 28 0a 00 00    	lea    0xa28(%esi),%eax
40c367:	50                   	push   %eax
40c368:	56                   	push   %esi
40c369:	e8 62 5b 00 00       	call   0x411ed0
40c36e:	83 c4 10             	add    $0x10,%esp
40c371:	89 86 24 0a 00 00    	mov    %eax,0xa24(%esi)
40c377:	5f                   	pop    %edi
40c378:	5e                   	pop    %esi
40c379:	8b e5                	mov    %ebp,%esp
40c37b:	5d                   	pop    %ebp
40c37c:	c3                   	ret
40c37d:	b0 68                	mov    $0x68,%al
40c37f:	37                   	aaa
40c380:	55                   	push   %ebp
40c381:	8b ec                	mov    %esp,%ebp
40c383:	81 ec 28 02 00 00    	sub    $0x228,%esp
40c389:	53                   	push   %ebx
40c38a:	56                   	push   %esi
40c38b:	57                   	push   %edi
40c38c:	33 c0                	xor    %eax,%eax
40c38e:	68 06 02 00 00       	push   $0x206
40c393:	50                   	push   %eax
40c394:	8d 8d da fd ff ff    	lea    -0x226(%ebp),%ecx
40c39a:	51                   	push   %ecx
40c39b:	33 db                	xor    %ebx,%ebx
40c39d:	66 89 85 d8 fd ff ff 	mov    %ax,-0x228(%ebp)
40c3a4:	e8 37 c0 00 00       	call   0x4183e0
40c3a9:	8b 75 08             	mov    0x8(%ebp),%esi
40c3ac:	33 c0                	xor    %eax,%eax
40c3ae:	89 45 ee             	mov    %eax,-0x12(%ebp)
40c3b1:	89 45 f2             	mov    %eax,-0xe(%ebp)
40c3b4:	89 45 f6             	mov    %eax,-0xa(%ebp)
40c3b7:	89 45 fa             	mov    %eax,-0x6(%ebp)
40c3ba:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
40c3be:	8d 86 f0 08 00 00    	lea    0x8f0(%esi),%eax
40c3c4:	33 d2                	xor    %edx,%edx
40c3c6:	50                   	push   %eax
40c3c7:	c7 45 e0 30 00 30 00 	movl   $0x300030,-0x20(%ebp)
40c3ce:	c7 45 e4 2e 00 69 00 	movl   $0x69002e,-0x1c(%ebp)
40c3d5:	c7 45 e8 6e 00 69 00 	movl   $0x69006e,-0x18(%ebp)
40c3dc:	66 89 55 ec          	mov    %dx,-0x14(%ebp)
40c3e0:	e8 6b c2 00 00       	call   0x418650
40c3e5:	8b f8                	mov    %eax,%edi
40c3e7:	8d 04 3f             	lea    (%edi,%edi,1),%eax
40c3ea:	50                   	push   %eax
40c3eb:	8d 86 f0 08 00 00    	lea    0x8f0(%esi),%eax
40c3f1:	50                   	push   %eax
40c3f2:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
40c3f8:	51                   	push   %ecx
40c3f9:	e8 62 bf 00 00       	call   0x418360
40c3fe:	83 c4 1c             	add    $0x1c,%esp
40c401:	8d bc 7d d0 fd ff ff 	lea    -0x230(%ebp,%edi,2),%edi
40c408:	6a 0e                	push   $0xe
40c40a:	8d 55 e0             	lea    -0x20(%ebp),%edx
40c40d:	52                   	push   %edx
40c40e:	57                   	push   %edi
40c40f:	43                   	inc    %ebx
40c410:	e8 4b bf 00 00       	call   0x418360
40c415:	6a 00                	push   $0x0
40c417:	6a 15                	push   $0x15
40c419:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
40c41f:	50                   	push   %eax
40c420:	56                   	push   %esi
40c421:	e8 aa 5a 00 00       	call   0x411ed0
40c426:	83 c4 1c             	add    $0x1c,%esp
40c429:	85 c0                	test   %eax,%eax
40c42b:	74 26                	je     0x40c453
40c42d:	66 83 7d e2 39       	cmpw   $0x39,-0x1e(%ebp)
40c432:	75 0f                	jne    0x40c443
40c434:	66 ff 45 e0          	incw   -0x20(%ebp)
40c438:	b9 30 00 00 00       	mov    $0x30,%ecx
40c43d:	66 89 4d e2          	mov    %cx,-0x1e(%ebp)
40c441:	eb 04                	jmp    0x40c447
40c443:	66 ff 45 e2          	incw   -0x1e(%ebp)
40c447:	83 fb 3c             	cmp    $0x3c,%ebx
40c44a:	72 bc                	jb     0x40c408
40c44c:	5f                   	pop    %edi
40c44d:	5e                   	pop    %esi
40c44e:	5b                   	pop    %ebx
40c44f:	8b e5                	mov    %ebp,%esp
40c451:	5d                   	pop    %ebp
40c452:	c3                   	ret
40c453:	8b 45 0c             	mov    0xc(%ebp),%eax
40c456:	3d 40 1f 00 00       	cmp    $0x1f40,%eax
40c45b:	76 05                	jbe    0x40c462
40c45d:	b8 40 1f 00 00       	mov    $0x1f40,%eax
40c462:	6a 00                	push   $0x0
40c464:	6a 01                	push   $0x1
40c466:	8d be f0 08 00 00    	lea    0x8f0(%esi),%edi
40c46c:	57                   	push   %edi
40c46d:	56                   	push   %esi
40c46e:	89 86 e4 07 00 00    	mov    %eax,0x7e4(%esi)
40c474:	e8 57 5a 00 00       	call   0x411ed0
40c479:	83 c4 10             	add    $0x10,%esp
40c47c:	89 86 e0 07 00 00    	mov    %eax,0x7e0(%esi)
40c482:	85 c0                	test   %eax,%eax
40c484:	74 47                	je     0x40c4cd
40c486:	6a 00                	push   $0x0
40c488:	6a 10                	push   $0x10
40c48a:	57                   	push   %edi