40cf6e:	33 c5                	xor    %ebp,%eax
40cf70:	89 45 ec             	mov    %eax,-0x14(%ebp)
40cf73:	53                   	push   %ebx
40cf74:	56                   	push   %esi
40cf75:	57                   	push   %edi
40cf76:	50                   	push   %eax
40cf77:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cf7a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40cf80:	89 65 f0             	mov    %esp,-0x10(%ebp)
40cf83:	8b da                	mov    %edx,%ebx
40cf85:	89 9d 98 fb ff ff    	mov    %ebx,-0x468(%ebp)
40cf8b:	8b c1                	mov    %ecx,%eax
40cf8d:	89 85 88 fb ff ff    	mov    %eax,-0x478(%ebp)
40cf93:	6a 34                	push   $0x34
40cf95:	89 85 70 fb ff ff    	mov    %eax,-0x490(%ebp)
40cf9b:	8d 85 ac fb ff ff    	lea    -0x454(%ebp),%eax
40cfa1:	6a 00                	push   $0x0
40cfa3:	50                   	push   %eax
40cfa4:	e8 b8 10 01 00       	call   0x41e061
40cfa9:	a1 10 5f 40 00       	mov    0x405f10,%eax
40cfae:	33 f6                	xor    %esi,%esi
40cfb0:	89 85 bc fb ff ff    	mov    %eax,-0x444(%ebp)
40cfb6:	83 c4 0c             	add    $0xc,%esp
40cfb9:	a1 14 5f 40 00       	mov    0x405f14,%eax
40cfbe:	89 85 c0 fb ff ff    	mov    %eax,-0x440(%ebp)
40cfc4:	a1 18 5f 40 00       	mov    0x405f18,%eax
40cfc9:	89 85 c4 fb ff ff    	mov    %eax,-0x43c(%ebp)
40cfcf:	a1 1c 5f 40 00       	mov    0x405f1c,%eax
40cfd4:	c7 85 b0 fb ff ff 02 	movl   $0x2,-0x450(%ebp)
40cfdb:	00 00 00
40cfde:	c7 85 b4 fb ff ff 02 	movl   $0x2,-0x44c(%ebp)
40cfe5:	00 00 00
40cfe8:	89 85 c8 fb ff ff    	mov    %eax,-0x438(%ebp)
40cfee:	c7 85 cc fb ff ff 01 	movl   $0x1,-0x434(%ebp)
40cff5:	00 00 00
40cff8:	c7 85 d0 fb ff ff 06 	movl   $0x6,-0x430(%ebp)
40cfff:	00 00 00
40d002:	89 b5 8c fb ff ff    	mov    %esi,-0x474(%ebp)
40d008:	33 ff                	xor    %edi,%edi
40d00a:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d00d:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
40d013:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d017:	8d 8d ec fb ff ff    	lea    -0x414(%ebp),%ecx
40d01d:	89 8d a4 fb ff ff    	mov    %ecx,-0x45c(%ebp)
40d023:	ba 00 04 00 00       	mov    $0x400,%edx
40d028:	89 bd 94 fb ff ff    	mov    %edi,-0x46c(%ebp)
40d02e:	89 bd 9c fb ff ff    	mov    %edi,-0x464(%ebp)
40d034:	89 95 a8 fb ff ff    	mov    %edx,-0x458(%ebp)
40d03a:	a1 f4 8a 43 00       	mov    0x438af4,%eax
40d03f:	90                   	nop
40d040:	83 3d 74 8a 43 00 00 	cmpl   $0x0,0x438a74
40d047:	0f 85 e4 00 00 00    	jne    0x40d131
40d04d:	8b 1b                	mov    (%ebx),%ebx
40d04f:	8d 85 94 fb ff ff    	lea    -0x46c(%ebp),%eax
40d055:	50                   	push   %eax
40d056:	52                   	push   %edx
40d057:	51                   	push   %ecx
40d058:	ff b5 98 fb ff ff    	push   -0x468(%ebp)
40d05e:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
40d061:	8b cb                	mov    %ebx,%ecx
40d063:	ff 15 20 a5 43 00    	call   *0x43a520
40d069:	ff d3                	call   *%ebx
40d06b:	8b d8                	mov    %eax,%ebx
40d06d:	85 db                	test   %ebx,%ebx
40d06f:	0f 84 54 02 00 00    	je     0x40d2c9
40d075:	81 fb 10 12 04 00    	cmp    $0x41210,%ebx
40d07b:	0f 84 8a 01 00 00    	je     0x40d20b
40d081:	81 fb 01 40 00 80    	cmp    $0x80004001,%ebx
40d087:	0f 84 7e 01 00 00    	je     0x40d20b
40d08d:	81 fb 7a 00 07 80    	cmp    $0x8007007a,%ebx
40d093:	75 7d                	jne    0x40d112
40d095:	81 bd a8 fb ff ff 00 	cmpl   $0x400,-0x458(%ebp)
40d09c:	04 00 00
40d09f:	0f 85 0c 01 00 00    	jne    0x40d1b1
40d0a5:	8b 85 94 fb ff ff    	mov    -0x46c(%ebp),%eax
40d0ab:	3d 00 04 00 00       	cmp    $0x400,%eax
40d0b0:	0f 86 dc 00 00 00    	jbe    0x40d192
40d0b6:	3d 00 00 01 00       	cmp    $0x10000,%eax
40d0bb:	0f 83 99 00 00 00    	jae    0x40d15a
40d0c1:	8b 1d 3c 1a 40 00    	mov    0x401a3c,%ebx
40d0c7:	8b cb                	mov    %ebx,%ecx
40d0c9:	50                   	push   %eax
40d0ca:	ff 15 20 a5 43 00    	call   *0x43a520
40d0d0:	ff d3                	call   *%ebx
40d0d2:	8b d8                	mov    %eax,%ebx
40d0d4:	3b de                	cmp    %esi,%ebx
40d0d6:	74 21                	je     0x40d0f9
40d0d8:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
40d0dc:	56                   	push   %esi
40d0dd:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40d0e3:	8b ce                	mov    %esi,%ecx
40d0e5:	ff 15 20 a5 43 00    	call   *0x43a520
40d0eb:	ff d6                	call   *%esi
40d0ed:	8b f3                	mov    %ebx,%esi
40d0ef:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d0f3:	89 b5 8c fb ff ff    	mov    %esi,-0x474(%ebp)
40d0f9:	8b 95 94 fb ff ff    	mov    -0x46c(%ebp),%edx
40d0ff:	8b ce                	mov    %esi,%ecx
40d101:	8b 9d 98 fb ff ff    	mov    -0x468(%ebp),%ebx
40d107:	89 b5 a4 fb ff ff    	mov    %esi,-0x45c(%ebp)
40d10d:	e9 22 ff ff ff       	jmp    0x40d034
40d112:	85 db                	test   %ebx,%ebx
40d114:	0f 88 cf 00 00 00    	js     0x40d1e9
40d11a:	8b 8d a4 fb ff ff    	mov    -0x45c(%ebp),%ecx
40d120:	8b 95 a8 fb ff ff    	mov    -0x458(%ebp),%edx
40d126:	8b 9d 98 fb ff ff    	mov    -0x468(%ebp),%ebx
40d12c:	e9 09 ff ff ff       	jmp    0x40d03a
40d131:	89 85 94 fb ff ff    	mov    %eax,-0x46c(%ebp)
40d137:	3b c2                	cmp    %edx,%eax
40d139:	0f 87 01 ff ff ff    	ja     0x40d040
40d13f:	8b 9d a4 fb ff ff    	mov    -0x45c(%ebp),%ebx
40d145:	50                   	push   %eax
40d146:	ff 35 74 8a 43 00    	push   0x438a74
40d14c:	53                   	push   %ebx
40d14d:	e8 94 dd 00 00       	call   0x41aee6
40d152:	83 c4 0c             	add    $0xc,%esp
40d155:	e9 75 01 00 00       	jmp    0x40d2cf
40d15a:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40d15e:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d164:	8b cf                	mov    %edi,%ecx
40d166:	6a 00                	push   $0x0
40d168:	ff 15 20 a5 43 00    	call   *0x43a520
40d16e:	ff d7                	call   *%edi
40d170:	c7 45 fc 0b 00 00 00 	movl   $0xb,-0x4(%ebp)
40d177:	56                   	push   %esi
40d178:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40d17e:	8b ce                	mov    %esi,%ecx
40d180:	ff 15 20 a5 43 00    	call   *0x43a520
40d186:	ff d6                	call   *%esi
40d188:	b8 12 12 04 80       	mov    $0x80041212,%eax
40d18d:	e9 da 04 00 00       	jmp    0x40d66c
40d192:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40d196:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d19c:	8b cf                	mov    %edi,%ecx
40d19e:	6a 00                	push   $0x0
40d1a0:	ff 15 20 a5 43 00    	call   *0x43a520
40d1a6:	ff d7                	call   *%edi
40d1a8:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
40d1af:	eb 1d                	jmp    0x40d1ce
40d1b1:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40d1b5:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d1bb:	8b cf                	mov    %edi,%ecx
40d1bd:	6a 00                	push   $0x0
40d1bf:	ff 15 20 a5 43 00    	call   *0x43a520
40d1c5:	ff d7                	call   *%edi
40d1c7:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
40d1ce:	56                   	push   %esi
40d1cf:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40d1d5:	8b ce                	mov    %esi,%ecx
40d1d7:	ff 15 20 a5 43 00    	call   *0x43a520
40d1dd:	ff d6                	call   *%esi
40d1df:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40d1e4:	e9 83 04 00 00       	jmp    0x40d66c
40d1e9:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
40d1ed:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d1f3:	8b cf                	mov    %edi,%ecx
40d1f5:	6a 00                	push   $0x0
40d1f7:	ff 15 20 a5 43 00    	call   *0x43a520
40d1fd:	ff d7                	call   *%edi
40d1ff:	c7 45 fc 0e 00 00 00 	movl   $0xe,-0x4(%ebp)
40d206:	e9 4e 04 00 00       	jmp    0x40d659
40d20b:	a1 44 8a 43 00       	mov    0x438a44,%eax
40d210:	85 c0                	test   %eax,%eax
40d212:	75 57                	jne    0x40d26b
40d214:	68 10 91 43 00       	push   $0x439110
40d219:	68 44 8a 43 00       	push   $0x438a44
40d21e:	6a 01                	push   $0x1
40d220:	68 c0 75 40 00       	push   $0x4075c0
40d225:	ff 15 f8 a3 43 00    	call   *0x43a3f8
40d22b:	85 c0                	test   %eax,%eax
40d22d:	75 37                	jne    0x40d266
40d22f:	ff 15 a8 a0 43 00    	call   *0x43a0a8
40d235:	8b d8                	mov    %eax,%ebx
40d237:	85 db                	test   %ebx,%ebx
40d239:	7e 09                	jle    0x40d244
40d23b:	0f b7 db             	movzwl %bx,%ebx
40d23e:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
40d244:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40d248:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d24e:	8b cf                	mov    %edi,%ecx
40d250:	6a 00                	push   $0x0
40d252:	ff 15 20 a5 43 00    	call   *0x43a520
40d258:	ff d7                	call   *%edi
40d25a:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40d261:	e9 f3 03 00 00       	jmp    0x40d659
40d266:	a1 44 8a 43 00       	mov    0x438a44,%eax
40d26b:	8b 0d 10 91 43 00    	mov    0x439110,%ecx
40d271:	3b 8d a8 fb ff ff    	cmp    -0x458(%ebp),%ecx
40d277:	76 38                	jbe    0x40d2b1
40d279:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40d27d:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d283:	8b cf                	mov    %edi,%ecx
40d285:	6a 00                	push   $0x0
40d287:	ff 15 20 a5 43 00    	call   *0x43a520
40d28d:	ff d7                	call   *%edi
40d28f:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
40d296:	56                   	push   %esi
40d297:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40d29d:	8b ce                	mov    %esi,%ecx
40d29f:	ff 15 20 a5 43 00    	call   *0x43a520
40d2a5:	ff d6                	call   *%esi
40d2a7:	b8 7a 00 07 80       	mov    $0x8007007a,%eax
40d2ac:	e9 bb 03 00 00       	jmp    0x40d66c
40d2b1:	8b 9d a4 fb ff ff    	mov    -0x45c(%ebp),%ebx
40d2b7:	51                   	push   %ecx
40d2b8:	50                   	push   %eax
40d2b9:	53                   	push   %ebx
40d2ba:	e8 27 dc 00 00       	call   0x41aee6
40d2bf:	a1 10 91 43 00       	mov    0x439110,%eax
40d2c4:	83 c4 0c             	add    $0xc,%esp
40d2c7:	eb 0d                	jmp    0x40d2d6
40d2c9:	8b 9d a4 fb ff ff    	mov    -0x45c(%ebp),%ebx
40d2cf:	53                   	push   %ebx
40d2d0:	ff 15 c0 a3 43 00    	call   *0x43a3c0
40d2d6:	89 85 9c fb ff ff    	mov    %eax,-0x464(%ebp)
40d2dc:	85 c0                	test   %eax,%eax
40d2de:	0f 84 15 03 00 00    	je     0x40d5f9
40d2e4:	8d 8d 4c fb ff ff    	lea    -0x4b4(%ebp),%ecx
40d2ea:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
40d2ee:	e8 9f f9 ff ff       	call   0x40cc92
40d2f3:	53                   	push   %ebx
40d2f4:	8d 8d 4c fb ff ff    	lea    -0x4b4(%ebp),%ecx
40d2fa:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
40d2fe:	e8 0d fa ff ff       	call   0x40cd10
40d303:	83 bd 68 fb ff ff 00 	cmpl   $0x0,-0x498(%ebp)
40d30a:	0f 84 92 01 00 00    	je     0x40d4a2
40d310:	8b 8d 88 fb ff ff    	mov    -0x478(%ebp),%ecx
40d316:	83 b9 f4 05 00 00 00 	cmpl   $0x0,0x5f4(%ecx)
40d31d:	74 79                	je     0x40d398
40d31f:	68 fc 85 43 00       	push   $0x4385fc
40d324:	6a 02                	push   $0x2
40d326:	68 f4 85 43 00       	push   $0x4385f4
40d32b:	8d 8d 80 fb ff ff    	lea    -0x480(%ebp),%ecx
40d331:	e8 e9 a2 00 00       	call   0x41761f
40d336:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
40d33a:	8d 8d 68 fb ff ff    	lea    -0x498(%ebp),%ecx
40d340:	ff b5 80 fb ff ff    	push   -0x480(%ebp)
40d346:	e8 6b d7 ff ff       	call   0x40aab6
40d34b:	8d 8d 68 fb ff ff    	lea    -0x498(%ebp),%ecx
40d351:	e8 aa d7 ff ff       	call   0x40ab00
40d356:	85 c0                	test   %eax,%eax
40d358:	0f 84 2a 03 00 00    	je     0x40d688
40d35e:	51                   	push   %ecx
40d35f:	ff b5 68 fb ff ff    	push   -0x498(%ebp)
40d365:	51                   	push   %ecx
40d366:	8d 8d 4c fb ff ff    	lea    -0x4b4(%ebp),%ecx
40d36c:	e8 80 f9 ff ff       	call   0x40ccf1
40d371:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
40d375:	8b 85 80 fb ff ff    	mov    -0x480(%ebp),%eax
40d37b:	85 c0                	test   %eax,%eax
40d37d:	74 19                	je     0x40d398
40d37f:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
40d383:	8b 1d 40 1a 40 00    	mov    0x401a40,%ebx
40d389:	8b cb                	mov    %ebx,%ecx
40d38b:	50                   	push   %eax
40d38c:	ff 15 20 a5 43 00    	call   *0x43a520
40d392:	ff d3                	call   *%ebx
40d394:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
40d398:	c7 85 e0 fb ff ff 28 	movl   $0x405328,-0x420(%ebp)
40d39f:	53 40 00
40d3a2:	33 db                	xor    %ebx,%ebx
40d3a4:	c7 85 e4 fb ff ff f0 	movl   $0x4053f0,-0x41c(%ebp)
40d3ab:	53 40 00
40d3ae:	c7 85 e8 fb ff ff a0 	movl   $0x4054a0,-0x418(%ebp)
40d3b5:	54 40 00
40d3b8:	eb 06                	jmp    0x40d3c0
40d3ba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40d3c0:	83 fb 03             	cmp    $0x3,%ebx
40d3c3:	0f 83 d3 00 00 00    	jae    0x40d49c
40d3c9:	c7 85 98 fb ff ff 00 	movl   $0x0,-0x468(%ebp)
40d3d0:	00 00 00
40d3d3:	8d 8d 98 fb ff ff    	lea    -0x468(%ebp),%ecx
40d3d9:	c6 45 fc 13          	movb   $0x13,-0x4(%ebp)
40d3dd:	e8 ab eb 00 00       	call   0x41bf8d
40d3e2:	50                   	push   %eax
40d3e3:	ff b4 9d e0 fb ff ff 	push   -0x420(%ebp,%ebx,4)
40d3ea:	ff 15 fc a3 43 00    	call   *0x43a3fc
40d3f0:	8b 4d 04             	mov    0x4(%ebp),%ecx
40d3f3:	85 c0                	test   %eax,%eax
40d3f5:	0f 84 a4 02 00 00    	je     0x40d69f
40d3fb:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
40d401:	8d 8d 68 fb ff ff    	lea    -0x498(%ebp),%ecx
40d407:	89 85 78 fb ff ff    	mov    %eax,-0x488(%ebp)
40d40d:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
40d413:	50                   	push   %eax
40d414:	8d 85 7c fb ff ff    	lea    -0x484(%ebp),%eax
40d41a:	c6 85 a0 fb ff ff 00 	movb   $0x0,-0x460(%ebp)
40d421:	50                   	push   %eax
40d422:	8d 85 78 fb ff ff    	lea    -0x488(%ebp),%eax
40d428:	c7 85 7c fb ff ff 81 	movl   $0x1f0081,-0x484(%ebp)
40d42f:	00 1f 00
40d432:	50                   	push   %eax
40d433:	83 ec 08             	sub    $0x8,%esp
40d436:	e8 e5 be 00 00       	call   0x419320
40d43b:	6a 00                	push   $0x0
40d43d:	ff b5 68 fb ff ff    	push   -0x498(%ebp)
40d443:	8d 85 4c fb ff ff    	lea    -0x4b4(%ebp),%eax
40d449:	6a 01                	push   $0x1
40d44b:	50                   	push   %eax
40d44c:	ff 15 d4 a3 43 00    	call   *0x43a3d4
40d452:	85 c0                	test   %eax,%eax
40d454:	0f 84 50 02 00 00    	je     0x40d6aa
40d45a:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
40d45e:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
40d464:	85 c0                	test   %eax,%eax
40d466:	74 22                	je     0x40d48a
40d468:	89 85 74 fb ff ff    	mov    %eax,-0x48c(%ebp)
40d46e:	8d 95 74 fb ff ff    	lea    -0x48c(%ebp),%edx
40d474:	a1 30 a1 43 00       	mov    0x43a130,%eax
40d479:	8d 8d 84 fb ff ff    	lea    -0x47c(%ebp),%ecx
40d47f:	89 85 84 fb ff ff    	mov    %eax,-0x47c(%ebp)
40d485:	e8 da e1 00 00       	call   0x41b664
40d48a:	8b b5 8c fb ff ff    	mov    -0x474(%ebp),%esi
40d490:	43                   	inc    %ebx
40d491:	8b bd 90 fb ff ff    	mov    -0x470(%ebp),%edi
40d497:	e9 24 ff ff ff       	jmp    0x40d3c0
40d49c:	8b 9d a4 fb ff ff    	mov    -0x45c(%ebp),%ebx
40d4a2:	6a 00                	push   $0x0
40d4a4:	6a 00                	push   $0x0
40d4a6:	6a 00                	push   $0x0
40d4a8:	8d 85 4c fb ff ff    	lea    -0x4b4(%ebp),%eax
40d4ae:	50                   	push   %eax
40d4af:	ff 15 80 a3 43 00    	call   *0x43a380
40d4b5:	85 c0                	test   %eax,%eax
40d4b7:	0f 84 06 02 00 00    	je     0x40d6c3
40d4bd:	8d 85 9c fb ff ff    	lea    -0x464(%ebp),%eax
40d4c3:	50                   	push   %eax
40d4c4:	ff b5 a8 fb ff ff    	push   -0x458(%ebp)
40d4ca:	8d 8d 4c fb ff ff    	lea    -0x4b4(%ebp),%ecx
40d4d0:	53                   	push   %ebx
40d4d1:	e8 72 f9 ff ff       	call   0x40ce48
40d4d6:	89 85 a8 fb ff ff    	mov    %eax,-0x458(%ebp)
40d4dc:	3d 7a 00 07 80       	cmp    $0x8007007a,%eax
40d4e1:	75 5a                	jne    0x40d53d
40d4e3:	ff b5 9c fb ff ff    	push   -0x464(%ebp)
40d4e9:	8b 1d 3c 1a 40 00    	mov    0x401a3c,%ebx
40d4ef:	8b cb                	mov    %ebx,%ecx
40d4f1:	ff 15 20 a5 43 00    	call   *0x43a520
40d4f7:	ff d3                	call   *%ebx
40d4f9:	8b d8                	mov    %eax,%ebx
40d4fb:	3b df                	cmp    %edi,%ebx
40d4fd:	74 1d                	je     0x40d51c
40d4ff:	c6 45 fc 14          	movb   $0x14,-0x4(%ebp)
40d503:	57                   	push   %edi
40d504:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d50a:	8b cf                	mov    %edi,%ecx
40d50c:	ff 15 20 a5 43 00    	call   *0x43a520
40d512:	ff d7                	call   *%edi
40d514:	8b fb                	mov    %ebx,%edi
40d516:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)