406110:	8d 85 bc fb ff ff    	lea    -0x444(%ebp),%eax
406116:	68 04 01 00 00       	push   $0x104
40611b:	50                   	push   %eax
40611c:	e8 6f 22 01 00       	call   0x418390
406121:	8d 8d b4 f9 ff ff    	lea    -0x64c(%ebp),%ecx
406127:	51                   	push   %ecx
406128:	8d 95 bc fb ff ff    	lea    -0x444(%ebp),%edx
40612e:	52                   	push   %edx
40612f:	e8 cc 28 01 00       	call   0x418a00
406134:	8d 85 bc fb ff ff    	lea    -0x444(%ebp),%eax
40613a:	50                   	push   %eax
40613b:	68 21 69 99 19       	push   $0x19996921
406140:	e8 2b c1 00 00       	call   0x412270
406145:	83 c4 18             	add    $0x18,%esp
406148:	85 c0                	test   %eax,%eax
40614a:	0f 84 00 02 00 00    	je     0x406350
406150:	8b 45 14             	mov    0x14(%ebp),%eax
406153:	83 f8 1d             	cmp    $0x1d,%eax
406156:	0f 85 df 01 00 00    	jne    0x40633b
40615c:	33 db                	xor    %ebx,%ebx
40615e:	68 28 03 00 00       	push   $0x328
406163:	8d 8d c4 fc ff ff    	lea    -0x33c(%ebp),%ecx
406169:	53                   	push   %ebx
40616a:	51                   	push   %ecx
40616b:	89 9d c0 fc ff ff    	mov    %ebx,-0x340(%ebp)
406171:	e8 6a 22 01 00       	call   0x4183e0
406176:	8b 95 98 f9 ff ff    	mov    -0x668(%ebp),%edx
40617c:	8d 45 a8             	lea    -0x58(%ebp),%eax
40617f:	50                   	push   %eax
406180:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
406183:	51                   	push   %ecx
406184:	89 55 a8             	mov    %edx,-0x58(%ebp)
406187:	68 38 04 00 00       	push   $0x438
40618c:	8d 55 b4             	lea    -0x4c(%ebp),%edx
40618f:	52                   	push   %edx
406190:	56                   	push   %esi
406191:	c7 85 c4 fc ff ff 07 	movl   $0x10007,-0x33c(%ebp)
406198:	00 01 00
40619b:	c7 45 d4 18 00 00 00 	movl   $0x18,-0x2c(%ebp)
4061a2:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4061a5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4061a8:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4061ab:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4061ae:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4061b1:	c7 45 90 38 04 00 00 	movl   $0x438,-0x70(%ebp)
4061b8:	e8 b3 03 01 00       	call   0x416570
4061bd:	83 c4 20             	add    $0x20,%esp
4061c0:	89 45 9c             	mov    %eax,-0x64(%ebp)
4061c3:	3b c3                	cmp    %ebx,%eax
4061c5:	0f 8c 89 01 00 00    	jl     0x406354
4061cb:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
4061ce:	74 75                	je     0x406245
4061d0:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4061d3:	53                   	push   %ebx
4061d4:	6a 04                	push   $0x4
4061d6:	8d 85 c0 fc ff ff    	lea    -0x340(%ebp),%eax
4061dc:	50                   	push   %eax
4061dd:	6a 1a                	push   $0x1a
4061df:	51                   	push   %ecx
4061e0:	56                   	push   %esi
4061e1:	e8 7a 05 01 00       	call   0x416760
4061e6:	83 c4 18             	add    $0x18,%esp
4061e9:	39 9d c0 fc ff ff    	cmp    %ebx,-0x340(%ebp)
4061ef:	75 54                	jne    0x406245
4061f1:	8b 57 10             	mov    0x10(%edi),%edx
4061f4:	6a 06                	push   $0x6
4061f6:	52                   	push   %edx
4061f7:	57                   	push   %edi
4061f8:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4061fb:	50                   	push   %eax
4061fc:	56                   	push   %esi
4061fd:	e8 ee 39 00 00       	call   0x409bf0
406202:	8b 4f 1c             	mov    0x1c(%edi),%ecx
406205:	83 c4 14             	add    $0x14,%esp
406208:	89 45 98             	mov    %eax,-0x68(%ebp)
40620b:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
40620e:	3b c3                	cmp    %ebx,%eax
406210:	0f 84 3e 01 00 00    	je     0x406354
406216:	3b cb                	cmp    %ebx,%ecx
406218:	0f 84 36 01 00 00    	je     0x406354
40621e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406221:	51                   	push   %ecx
406222:	8b 4d 10             	mov    0x10(%ebp),%ecx
406225:	8d 95 90 f9 ff ff    	lea    -0x670(%ebp),%edx
40622b:	52                   	push   %edx
40622c:	8d 85 c0 fc ff ff    	lea    -0x340(%ebp),%eax
406232:	50                   	push   %eax
406233:	51                   	push   %ecx
406234:	57                   	push   %edi
406235:	56                   	push   %esi
406236:	e8 c5 fc ff ff       	call   0x405f00
40623b:	83 c4 18             	add    $0x18,%esp
40623e:	8b d8                	mov    %eax,%ebx
406240:	e9 0b 01 00 00       	jmp    0x406350
406245:	8d 55 b8             	lea    -0x48(%ebp),%edx
406248:	52                   	push   %edx
406249:	8d 45 ec             	lea    -0x14(%ebp),%eax
40624c:	50                   	push   %eax
40624d:	e8 0e f8 ff ff       	call   0x405a60
406252:	8b 4d c0             	mov    -0x40(%ebp),%ecx
406255:	51                   	push   %ecx
406256:	8d 55 b0             	lea    -0x50(%ebp),%edx
406259:	52                   	push   %edx
40625a:	56                   	push   %esi
40625b:	e8 b0 6a 00 00       	call   0x40cd10
406260:	83 c4 14             	add    $0x14,%esp
406263:	85 c0                	test   %eax,%eax
406265:	75 12                	jne    0x406279
406267:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40626a:	50                   	push   %eax
40626b:	56                   	push   %esi
40626c:	e8 7f 0a 01 00       	call   0x416cf0
406271:	83 c4 08             	add    $0x8,%esp
406274:	e9 db 00 00 00       	jmp    0x406354
406279:	e8 32 1a 01 00       	call   0x417cb0
40627e:	bb 02 00 00 00       	mov    $0x2,%ebx
406283:	2b 5e 04             	sub    0x4(%esi),%ebx
406286:	8d 95 c4 fc ff ff    	lea    -0x33c(%ebp),%edx
40628c:	03 d8                	add    %eax,%ebx
40628e:	8b 47 10             	mov    0x10(%edi),%eax
406291:	03 c3                	add    %ebx,%eax
406293:	89 45 fc             	mov    %eax,-0x4(%ebp)
406296:	8b 45 b0             	mov    -0x50(%ebp),%eax
406299:	52                   	push   %edx
40629a:	50                   	push   %eax
40629b:	56                   	push   %esi
40629c:	e8 4f 03 01 00       	call   0x4165f0
4062a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4062a4:	c6 00 68             	movb   $0x68,(%eax)
4062a7:	8b 8d 7c fd ff ff    	mov    -0x284(%ebp),%ecx
4062ad:	89 48 01             	mov    %ecx,0x1(%eax)
4062b0:	8b 57 10             	mov    0x10(%edi),%edx
4062b3:	6a 02                	push   $0x2
4062b5:	52                   	push   %edx
4062b6:	57                   	push   %edi
4062b7:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4062ba:	50                   	push   %eax
4062bb:	56                   	push   %esi
4062bc:	e8 2f 39 00 00       	call   0x409bf0
4062c1:	83 c4 20             	add    $0x20,%esp
4062c4:	85 c0                	test   %eax,%eax
4062c6:	75 07                	jne    0x4062cf
4062c8:	33 db                	xor    %ebx,%ebx
4062ca:	e9 85 00 00 00       	jmp    0x406354
4062cf:	2b 07                	sub    (%edi),%eax
4062d1:	8b 55 b0             	mov    -0x50(%ebp),%edx
4062d4:	8d 8d c4 fc ff ff    	lea    -0x33c(%ebp),%ecx
4062da:	51                   	push   %ecx
4062db:	52                   	push   %edx
4062dc:	03 d8                	add    %eax,%ebx
4062de:	56                   	push   %esi
4062df:	89 45 94             	mov    %eax,-0x6c(%ebp)
4062e2:	89 9d 7c fd ff ff    	mov    %ebx,-0x284(%ebp)
4062e8:	e8 33 03 01 00       	call   0x416620
4062ed:	8b 85 7c fd ff ff    	mov    -0x284(%ebp),%eax
4062f3:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4062f6:	6a 00                	push   $0x0
4062f8:	6a 00                	push   $0x0
4062fa:	6a 00                	push   $0x0
4062fc:	83 c0 05             	add    $0x5,%eax
4062ff:	50                   	push   %eax
406300:	51                   	push   %ecx
406301:	56                   	push   %esi
406302:	e8 a9 03 01 00       	call   0x4166b0
406307:	8b 55 b0             	mov    -0x50(%ebp),%edx
40630a:	6a 00                	push   $0x0
40630c:	52                   	push   %edx
40630d:	56                   	push   %esi
40630e:	89 45 9c             	mov    %eax,-0x64(%ebp)
406311:	e8 6a 03 01 00       	call   0x416680
406316:	8b 45 b0             	mov    -0x50(%ebp),%eax
406319:	50                   	push   %eax
40631a:	56                   	push   %esi
40631b:	e8 d0 09 01 00       	call   0x416cf0
406320:	8b 55 10             	mov    0x10(%ebp),%edx
406323:	6a 32                	push   $0x32
406325:	8d 8d c0 fc ff ff    	lea    -0x340(%ebp),%ecx
40632b:	51                   	push   %ecx
40632c:	52                   	push   %edx
40632d:	57                   	push   %edi
40632e:	56                   	push   %esi
40632f:	e8 9c f9 ff ff       	call   0x405cd0
406334:	83 c4 4c             	add    $0x4c,%esp
406337:	8b d8                	mov    %eax,%ebx
406339:	eb 15                	jmp    0x406350
40633b:	83 f8 1e             	cmp    $0x1e,%eax
40633e:	75 10                	jne    0x406350
406340:	8d 85 90 f9 ff ff    	lea    -0x670(%ebp),%eax
406346:	50                   	push   %eax
406347:	56                   	push   %esi
406348:	e8 83 d5 ff ff       	call   0x4038d0
40634d:	83 c4 08             	add    $0x8,%esp
406350:	85 db                	test   %ebx,%ebx
406352:	75 1b                	jne    0x40636f
406354:	8d 8d 90 f9 ff ff    	lea    -0x670(%ebp),%ecx
40635a:	51                   	push   %ecx
40635b:	8d 55 ec             	lea    -0x14(%ebp),%edx
40635e:	52                   	push   %edx
40635f:	e8 bc f6 ff ff       	call   0x405a20
406364:	83 c4 08             	add    $0x8,%esp
406367:	85 c0                	test   %eax,%eax
406369:	0f 85 a1 fd ff ff    	jne    0x406110
40636f:	8d 45 ec             	lea    -0x14(%ebp),%eax
406372:	50                   	push   %eax
406373:	56                   	push   %esi
406374:	e8 27 f7 ff ff       	call   0x405aa0
406379:	83 c4 08             	add    $0x8,%esp
40637c:	5f                   	pop    %edi
40637d:	5e                   	pop    %esi
40637e:	8b c3                	mov    %ebx,%eax
406380:	5b                   	pop    %ebx
406381:	8b e5                	mov    %ebp,%esp
406383:	5d                   	pop    %ebp
406384:	c3                   	ret
406385:	4f                   	dec    %edi
406386:	79 06                	jns    0x40638e
406388:	f1                   	int1
406389:	6c                   	insb   (%dx),%es:(%edi)
40638a:	78 4a                	js     0x4063d6
40638c:	9d                   	popf
40638d:	3d c6 5e 55 8b       	cmp    $0x8b555ec6,%eax
406392:	ec                   	in     (%dx),%al
406393:	53                   	push   %ebx
406394:	8b 5d 10             	mov    0x10(%ebp),%ebx
406397:	56                   	push   %esi
406398:	8b 75 14             	mov    0x14(%ebp),%esi
40639b:	57                   	push   %edi
40639c:	8b 7d 08             	mov    0x8(%ebp),%edi
40639f:	6a 1d                	push   $0x1d
4063a1:	56                   	push   %esi
4063a2:	53                   	push   %ebx
4063a3:	57                   	push   %edi
4063a4:	e8 27 fd ff ff       	call   0x4060d0
4063a9:	83 c4 10             	add    $0x10,%esp
4063ac:	85 c0                	test   %eax,%eax
4063ae:	75 20                	jne    0x4063d0
4063b0:	6a 1d                	push   $0x1d
4063b2:	56                   	push   %esi
4063b3:	53                   	push   %ebx
4063b4:	57                   	push   %edi
4063b5:	e8 16 fd ff ff       	call   0x4060d0
4063ba:	83 c4 10             	add    $0x10,%esp
4063bd:	85 c0                	test   %eax,%eax
4063bf:	75 0f                	jne    0x4063d0
4063c1:	56                   	push   %esi
4063c2:	50                   	push   %eax
4063c3:	8b 45 0c             	mov    0xc(%ebp),%eax
4063c6:	50                   	push   %eax
4063c7:	57                   	push   %edi
4063c8:	e8 63 6a 00 00       	call   0x40ce30
4063cd:	83 c4 10             	add    $0x10,%esp
4063d0:	5f                   	pop    %edi
4063d1:	5e                   	pop    %esi
4063d2:	5b                   	pop    %ebx
4063d3:	5d                   	pop    %ebp
4063d4:	c3                   	ret
4063d5:	b1 55                	mov    $0x55,%cl
4063d7:	be fb 8d e9 cc       	mov    $0xcce98dfb,%esi
4063dc:	ad                   	lods   %ds:(%esi),%eax
4063dd:	1f                   	pop    %ds
4063de:	7a 82                	jp     0x406362
4063e0:	55                   	push   %ebp
4063e1:	8b ec                	mov    %esp,%ebp
4063e3:	83 ec 0c             	sub    $0xc,%esp
4063e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4063e9:	53                   	push   %ebx
4063ea:	56                   	push   %esi
4063eb:	57                   	push   %edi
4063ec:	8b 7d 0c             	mov    0xc(%ebp),%edi
4063ef:	8b 87 40 02 00 00    	mov    0x240(%edi),%eax
4063f5:	6a 04                	push   $0x4
4063f7:	68 00 30 00 00       	push   $0x3000
4063fc:	50                   	push   %eax
4063fd:	6a 00                	push   $0x0
4063ff:	51                   	push   %ecx
406400:	e8 bb 1e 01 00       	call   0x4182c0
406405:	8b 5d 10             	mov    0x10(%ebp),%ebx
406408:	89 03                	mov    %eax,(%ebx)
40640a:	8b 97 40 02 00 00    	mov    0x240(%edi),%edx
406410:	8b 4f 10             	mov    0x10(%edi),%ecx
406413:	52                   	push   %edx
406414:	51                   	push   %ecx
406415:	50                   	push   %eax
406416:	e8 45 1f 01 00       	call   0x418360
40641b:	8b 03                	mov    (%ebx),%eax
40641d:	03 07                	add    (%edi),%eax
40641f:	8b 33                	mov    (%ebx),%esi
406421:	89 43 04             	mov    %eax,0x4(%ebx)
406424:	40                   	inc    %eax
406425:	83 c4 20             	add    $0x20,%esp
406428:	89 43 08             	mov    %eax,0x8(%ebx)
40642b:	89 75 fc             	mov    %esi,-0x4(%ebp)
40642e:	e8 d8 36 01 00       	call   0x419b0b
406433:	8b 55 08             	mov    0x8(%ebp),%edx
406436:	8b ce                	mov    %esi,%ecx
406438:	2b 4a 04             	sub    0x4(%edx),%ecx
40643b:	8d 44 08 03          	lea    0x3(%eax,%ecx,1),%eax
40643f:	89 43 0c             	mov    %eax,0xc(%ebx)
406442:	8b 8f 40 02 00 00    	mov    0x240(%edi),%ecx
406448:	83 e9 0c             	sub    $0xc,%ecx
40644b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40644e:	bf 00 00 00 00       	mov    $0x0,%edi
406453:	0f 84 ab 01 00 00    	je     0x406604
406459:	b3 90                	mov    $0x90,%bl
40645b:	eb 03                	jmp    0x406460
40645d:	8d 49 00             	lea    0x0(%ecx),%ecx
406460:	80 3c 3e 40          	cmpb   $0x40,(%esi,%edi,1)
406464:	8d 44 3e 01          	lea    0x1(%esi,%edi,1),%eax
406468:	89 45 f4             	mov    %eax,-0xc(%ebp)
40646b:	75 4e                	jne    0x4064bb
40646d:	81 38 90 90 90 48    	cmpl   $0x48909090,(%eax)
406473:	75 46                	jne    0x4064bb
406475:	8d 44 3e 05          	lea    0x5(%esi,%edi,1),%eax
406479:	33 f6                	xor    %esi,%esi
40647b:	eb 03                	jmp    0x406480
40647d:	8d 49 00             	lea    0x0(%ecx),%ecx
406480:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
406483:	75 12                	jne    0x406497
406485:	38 5c 30 01          	cmp    %bl,0x1(%eax,%esi,1)
406489:	75 0c                	jne    0x406497
40648b:	38 5c 30 02          	cmp    %bl,0x2(%eax,%esi,1)
40648f:	75 06                	jne    0x406497
406491:	38 5c 30 03          	cmp    %bl,0x3(%eax,%esi,1)
406495:	74 05                	je     0x40649c
406497:	46                   	inc    %esi
406498:	3b f1                	cmp    %ecx,%esi
40649a:	72 e4                	jb     0x406480
40649c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40649f:	81 c1 a4 07 00 00    	add    $0x7a4,%ecx
4064a5:	51                   	push   %ecx
4064a6:	56                   	push   %esi
4064a7:	50                   	push   %eax
4064a8:	e8 73 1e 00 00       	call   0x408320
4064ad:	8b 45 f4             	mov    -0xc(%ebp),%eax
4064b0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4064b3:	83 c4 0c             	add    $0xc,%esp
4064b6:	03 fe                	add    %esi,%edi
4064b8:	8b 75 fc             	mov    -0x4(%ebp),%esi
4064bb:	80 3c 3e 41          	cmpb   $0x41,(%esi,%edi,1)
4064bf:	75 4a                	jne    0x40650b
4064c1:	81 38 90 90 90 49    	cmpl   $0x49909090,(%eax)
4064c7:	75 42                	jne    0x40650b
4064c9:	8d 44 3e 05          	lea    0x5(%esi,%edi,1),%eax
4064cd:	33 f6                	xor    %esi,%esi
4064cf:	90                   	nop
4064d0:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
4064d3:	75 12                	jne    0x4064e7
4064d5:	38 5c 30 01          	cmp    %bl,0x1(%eax,%esi,1)
4064d9:	75 0c                	jne    0x4064e7
4064db:	38 5c 30 02          	cmp    %bl,0x2(%eax,%esi,1)