40920b:	8d be b8 00 00 00    	lea    0xb8(%esi),%edi
409211:	c7 06 4c 10 40 00    	movl   $0x40104c,(%esi)
409217:	39 1f                	cmp    %ebx,(%edi)
409219:	74 35                	je     0x409250
40921b:	8d 44 24 0c          	lea    0xc(%esp),%eax
40921f:	50                   	push   %eax
409220:	e8 20 61 00 00       	call   0x40f345
409225:	8b 07                	mov    (%edi),%eax
409227:	85 c0                	test   %eax,%eax
409229:	74 09                	je     0x409234
40922b:	83 38 01             	cmpl   $0x1,(%eax)
40922e:	75 04                	jne    0x409234
409230:	b3 01                	mov    $0x1,%bl
409232:	eb 07                	jmp    0x40923b
409234:	8b cf                	mov    %edi,%ecx
409236:	e8 83 60 00 00       	call   0x40f2be
40923b:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
409240:	74 0a                	je     0x40924c
409242:	ff 74 24 0c          	push   0xc(%esp)
409246:	ff 15 f8 30 43 00    	call   *0x4330f8
40924c:	84 db                	test   %bl,%bl
40924e:	74 2a                	je     0x40927a
409250:	8b 4e 18             	mov    0x18(%esi),%ecx
409253:	83 39 01             	cmpl   $0x1,(%ecx)
409256:	75 22                	jne    0x40927a
409258:	8b 41 44             	mov    0x44(%ecx),%eax
40925b:	89 44 24 0c          	mov    %eax,0xc(%esp)
40925f:	85 c0                	test   %eax,%eax
409261:	78 05                	js     0x409268
409263:	b8 3e 02 07 80       	mov    $0x8007023e,%eax
409268:	8d 54 24 0c          	lea    0xc(%esp),%edx
40926c:	52                   	push   %edx
40926d:	50                   	push   %eax
40926e:	e8 7b 60 00 00       	call   0x40f2ee
409273:	8b ce                	mov    %esi,%ecx
409275:	e8 e6 fd ff ff       	call   0x409060
40927a:	8b ce                	mov    %esi,%ecx
40927c:	e8 2f 01 00 00       	call   0x4093b0
409281:	5f                   	pop    %edi
409282:	5e                   	pop    %esi
409283:	5b                   	pop    %ebx
409284:	8b e5                	mov    %ebp,%esp
409286:	5d                   	pop    %ebp
409287:	c3                   	ret
409288:	8b ff                	mov    %edi,%edi
40928a:	55                   	push   %ebp
40928b:	8b ec                	mov    %esp,%ebp
40928d:	83 e4 f8             	and    $0xfffffff8,%esp
409290:	83 ec 4c             	sub    $0x4c,%esp
409293:	a1 64 10 41 00       	mov    0x411064,%eax
409298:	33 c4                	xor    %esp,%eax
40929a:	89 44 24 48          	mov    %eax,0x48(%esp)
40929e:	53                   	push   %ebx
40929f:	56                   	push   %esi
4092a0:	57                   	push   %edi
4092a1:	8d 44 24 0c          	lea    0xc(%esp),%eax
4092a5:	8b f1                	mov    %ecx,%esi
4092a7:	50                   	push   %eax
4092a8:	e8 98 60 00 00       	call   0x40f345
4092ad:	8b 5e 18             	mov    0x18(%esi),%ebx
4092b0:	e8 9c fb ff ff       	call   0x408e51
4092b5:	83 38 05             	cmpl   $0x5,(%eax)
4092b8:	76 20                	jbe    0x4092da
4092ba:	68 00 20 00 00       	push   $0x2000
4092bf:	6a 00                	push   $0x0
4092c1:	8b c8                	mov    %eax,%ecx
4092c3:	e8 df 92 ff ff       	call   0x4025a7
4092c8:	84 c0                	test   %al,%al
4092ca:	74 0e                	je     0x4092da
4092cc:	8d 43 08             	lea    0x8(%ebx),%eax
4092cf:	50                   	push   %eax
4092d0:	6a 03                	push   $0x3
4092d2:	ff 15 1c 30 43 00    	call   *0x43301c
4092d8:	eb 09                	jmp    0x4092e3
4092da:	33 c0                	xor    %eax,%eax
4092dc:	8d 7b 08             	lea    0x8(%ebx),%edi
4092df:	ab                   	stos   %eax,%es:(%edi)
4092e0:	ab                   	stos   %eax,%es:(%edi)
4092e1:	ab                   	stos   %eax,%es:(%edi)
4092e2:	ab                   	stos   %eax,%es:(%edi)
4092e3:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4092e8:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
4092ee:	74 0a                	je     0x4092fa
4092f0:	ff 74 24 0c          	push   0xc(%esp)
4092f4:	ff 15 f8 30 43 00    	call   *0x4330f8
4092fa:	e8 52 fb ff ff       	call   0x408e51
4092ff:	8b f8                	mov    %eax,%edi
409301:	33 db                	xor    %ebx,%ebx
409303:	83 3f 05             	cmpl   $0x5,(%edi)
409306:	0f 86 85 00 00 00    	jbe    0x409391
40930c:	68 00 20 00 00       	push   $0x2000
409311:	53                   	push   %ebx
409312:	8b cf                	mov    %edi,%ecx
409314:	e8 8e 92 ff ff       	call   0x4025a7
409319:	84 c0                	test   %al,%al
40931b:	74 74                	je     0x409391
40931d:	ff 15 50 31 43 00    	call   *0x433150
409323:	8b 4e 18             	mov    0x18(%esi),%ecx
409326:	89 44 24 0c          	mov    %eax,0xc(%esp)
40932a:	38 59 04             	cmp    %bl,0x4(%ecx)
40932d:	74 16                	je     0x409345
40932f:	8d 41 18             	lea    0x18(%ecx),%eax
409332:	39 18                	cmp    %ebx,(%eax)
409334:	75 11                	jne    0x409347
409336:	39 58 04             	cmp    %ebx,0x4(%eax)
409339:	75 0c                	jne    0x409347
40933b:	39 58 08             	cmp    %ebx,0x8(%eax)
40933e:	75 07                	jne    0x409347
409340:	39 58 0c             	cmp    %ebx,0xc(%eax)
409343:	75 02                	jne    0x409347
409345:	8b c3                	mov    %ebx,%eax
409347:	83 64 24 4c 00       	andl   $0x0,0x4c(%esp)
40934c:	8d 54 24 0c          	lea    0xc(%esp),%edx
409350:	83 64 24 34 00       	andl   $0x0,0x34(%esp)
409355:	83 64 24 3c 00       	andl   $0x0,0x3c(%esp)
40935a:	6a 04                	push   $0x4
40935c:	89 54 24 44          	mov    %edx,0x44(%esp)
409360:	8d 54 24 14          	lea    0x14(%esp),%edx
409364:	89 5c 24 48          	mov    %ebx,0x48(%esp)
409368:	5b                   	pop    %ebx
409369:	52                   	push   %edx
40936a:	53                   	push   %ebx
40936b:	50                   	push   %eax
40936c:	8d 41 08             	lea    0x8(%ecx),%eax
40936f:	89 5c 24 54          	mov    %ebx,0x54(%esp)
409373:	50                   	push   %eax
409374:	68 3b 1d 40 00       	push   $0x401d3b
409379:	57                   	push   %edi
40937a:	c7 44 24 48 a8 19 40 	movl   $0x4019a8,0x48(%esp)
409381:	00
409382:	c7 44 24 50 08 00 00 	movl   $0x8,0x50(%esp)
409389:	00
40938a:	e8 8c 91 ff ff       	call   0x40251b
40938f:	33 db                	xor    %ebx,%ebx
409391:	39 5e 10             	cmp    %ebx,0x10(%esi)
409394:	75 08                	jne    0x40939e
409396:	8d 4e 04             	lea    0x4(%esi),%ecx
409399:	e8 7e f5 ff ff       	call   0x40891c
40939e:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4093a2:	5f                   	pop    %edi
4093a3:	5e                   	pop    %esi
4093a4:	5b                   	pop    %ebx
4093a5:	33 cc                	xor    %esp,%ecx
4093a7:	e8 84 70 00 00       	call   0x410430
4093ac:	8b e5                	mov    %ebp,%esp
4093ae:	5d                   	pop    %ebp
4093af:	c3                   	ret
4093b0:	8b ff                	mov    %edi,%edi
4093b2:	56                   	push   %esi
4093b3:	8b f1                	mov    %ecx,%esi
4093b5:	8d 8e b8 00 00 00    	lea    0xb8(%esi),%ecx
4093bb:	e8 fe 5e 00 00       	call   0x40f2be
4093c0:	8d 4e 1c             	lea    0x1c(%esi),%ecx
4093c3:	e8 0f 00 00 00       	call   0x4093d7
4093c8:	8d 4e 04             	lea    0x4(%esi),%ecx
4093cb:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
4093cf:	5e                   	pop    %esi
4093d0:	0f 85 a1 f5 ff ff    	jne    0x408977
4093d6:	c3                   	ret
4093d7:	8b ff                	mov    %edi,%edi
4093d9:	56                   	push   %esi
4093da:	8b f1                	mov    %ecx,%esi
4093dc:	8d 8e 90 00 00 00    	lea    0x90(%esi),%ecx
4093e2:	e8 cb e7 ff ff       	call   0x407bb2
4093e7:	8d 4e 28             	lea    0x28(%esi),%ecx
4093ea:	e8 90 f7 ff ff       	call   0x408b7f
4093ef:	8b ce                	mov    %esi,%ecx
4093f1:	5e                   	pop    %esi
4093f2:	e9 14 5a 00 00       	jmp    0x40ee0b
4093f7:	8b ff                	mov    %edi,%edi
4093f9:	55                   	push   %ebp
4093fa:	8b ec                	mov    %esp,%ebp
4093fc:	81 ec dc 00 00 00    	sub    $0xdc,%esp
409402:	a1 64 10 41 00       	mov    0x411064,%eax
409407:	33 c5                	xor    %ebp,%eax
409409:	89 45 fc             	mov    %eax,-0x4(%ebp)
40940c:	53                   	push   %ebx
40940d:	56                   	push   %esi
40940e:	8b 75 08             	mov    0x8(%ebp),%esi
409411:	33 db                	xor    %ebx,%ebx
409413:	57                   	push   %edi
409414:	53                   	push   %ebx
409415:	53                   	push   %ebx
409416:	6a 01                	push   $0x1
409418:	53                   	push   %ebx
409419:	8b fb                	mov    %ebx,%edi
40941b:	ff 15 3c 31 43 00    	call   *0x43313c
409421:	53                   	push   %ebx
409422:	68 5c 15 40 00       	push   $0x40155c
409427:	ff 15 cc 30 43 00    	call   *0x4330cc
40942d:	85 c0                	test   %eax,%eax
40942f:	0f 88 d7 01 00 00    	js     0x40960c
409435:	8b ce                	mov    %esi,%ecx
409437:	e8 e3 01 00 00       	call   0x40961f
40943c:	85 c0                	test   %eax,%eax
40943e:	0f 84 c8 01 00 00    	je     0x40960c
409444:	53                   	push   %ebx
409445:	ff 15 0c 34 43 00    	call   *0x43340c
40944b:	85 c0                	test   %eax,%eax
40944d:	0f 88 b9 01 00 00    	js     0x40960c
409453:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
409459:	e8 3e 64 00 00       	call   0x40f89c
40945e:	68 30 17 40 00       	push   $0x401730
409463:	ff 15 d0 30 43 00    	call   *0x4330d0
409469:	a3 84 26 43 00       	mov    %eax,0x432684
40946e:	85 c0                	test   %eax,%eax
409470:	0f 84 1f 01 00 00    	je     0x409595
409476:	53                   	push   %ebx
409477:	68 50 26 43 00       	push   $0x432650
40947c:	53                   	push   %ebx
40947d:	68 3f 00 0f 00       	push   $0xf003f
409482:	53                   	push   %ebx
409483:	53                   	push   %ebx
409484:	53                   	push   %ebx
409485:	68 f4 12 41 00       	push   $0x4112f4
40948a:	68 01 00 00 80       	push   $0x80000001
40948f:	ff 15 20 30 43 00    	call   *0x433020
409495:	85 c0                	test   %eax,%eax
409497:	0f 88 f8 00 00 00    	js     0x409595
40949d:	ff 15 30 30 43 00    	call   *0x433030
4094a3:	68 40 26 43 00       	push   $0x432640
4094a8:	68 94 19 40 00       	push   $0x401994
4094ad:	6a 01                	push   $0x1
4094af:	53                   	push   %ebx
4094b0:	68 84 19 40 00       	push   $0x401984
4094b5:	ff 15 30 33 43 00    	call   *0x433330
4094bb:	85 c0                	test   %eax,%eax
4094bd:	0f 88 d2 00 00 00    	js     0x409595
4094c3:	39 1d 40 26 43 00    	cmp    %ebx,0x432640
4094c9:	0f 84 e0 00 00 00    	je     0x4095af
4094cf:	53                   	push   %ebx
4094d0:	68 20 9f 40 00       	push   $0x409f20
4094d5:	53                   	push   %ebx
4094d6:	6a 65                	push   $0x65
4094d8:	56                   	push   %esi
4094d9:	89 35 0c 19 41 00    	mov    %esi,0x41190c
4094df:	ff 15 6c 32 43 00    	call   *0x43326c
4094e5:	a3 10 19 43 00       	mov    %eax,0x431910
4094ea:	85 c0                	test   %eax,%eax
4094ec:	0f 84 a3 00 00 00    	je     0x409595
4094f2:	8b 4d 14             	mov    0x14(%ebp),%ecx
4094f5:	e8 9a 02 00 00       	call   0x409794
4094fa:	85 c0                	test   %eax,%eax
4094fc:	0f 84 93 00 00 00    	je     0x409595
409502:	68 4c 26 43 00       	push   $0x43264c
409507:	68 74 19 40 00       	push   $0x401974
40950c:	6a 03                	push   $0x3
40950e:	53                   	push   %ebx
40950f:	68 c4 19 40 00       	push   $0x4019c4
409514:	ff 15 30 33 43 00    	call   *0x433330
40951a:	85 c0                	test   %eax,%eax
40951c:	79 3d                	jns    0x40955b
40951e:	50                   	push   %eax
40951f:	51                   	push   %ecx
409520:	8b 4d 04             	mov    0x4(%ebp),%ecx
409523:	e8 04 ee ff ff       	call   0x40832c
409528:	eb 31                	jmp    0x40955b
40952a:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409530:	50                   	push   %eax
409531:	ff 35 10 19 43 00    	push   0x431910
409537:	ff 15 68 32 43 00    	call   *0x433268
40953d:	85 c0                	test   %eax,%eax
40953f:	75 1a                	jne    0x40955b
409541:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409547:	50                   	push   %eax
409548:	ff 15 5c 32 43 00    	call   *0x43325c
40954e:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409554:	50                   	push   %eax
409555:	ff 15 60 32 43 00    	call   *0x433260
40955b:	53                   	push   %ebx
40955c:	53                   	push   %ebx
40955d:	53                   	push   %ebx
40955e:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409564:	50                   	push   %eax
409565:	ff 15 64 32 43 00    	call   *0x433264
40956b:	85 c0                	test   %eax,%eax
40956d:	75 bb                	jne    0x40952a
40956f:	8b 0d 4c 26 43 00    	mov    0x43264c,%ecx
409575:	85 c9                	test   %ecx,%ecx
409577:	74 16                	je     0x40958f
409579:	8b 01                	mov    (%ecx),%eax
40957b:	51                   	push   %ecx
40957c:	8b 70 08             	mov    0x8(%eax),%esi
40957f:	8b ce                	mov    %esi,%ecx
409581:	ff 15 18 34 43 00    	call   *0x433418
409587:	ff d6                	call   *%esi
409589:	89 1d 4c 26 43 00    	mov    %ebx,0x43264c
40958f:	8b bd 2c ff ff ff    	mov    -0xd4(%ebp),%edi
409595:	8b 0d 40 26 43 00    	mov    0x432640,%ecx
40959b:	85 c9                	test   %ecx,%ecx
40959d:	74 10                	je     0x4095af
40959f:	8b 01                	mov    (%ecx),%eax
4095a1:	51                   	push   %ecx
4095a2:	8b 70 08             	mov    0x8(%eax),%esi
4095a5:	8b ce                	mov    %esi,%ecx
4095a7:	ff 15 18 34 43 00    	call   *0x433418
4095ad:	ff d6                	call   *%esi
4095af:	ff 15 10 34 43 00    	call   *0x433410
4095b5:	a1 1c 19 43 00       	mov    0x43191c,%eax
4095ba:	85 c0                	test   %eax,%eax
4095bc:	74 07                	je     0x4095c5
4095be:	50                   	push   %eax
4095bf:	ff 15 b4 30 43 00    	call   *0x4330b4
4095c5:	a1 84 26 43 00       	mov    0x432684,%eax
4095ca:	85 c0                	test   %eax,%eax
4095cc:	74 0d                	je     0x4095db
4095ce:	50                   	push   %eax
4095cf:	ff 15 40 31 43 00    	call   *0x433140
4095d5:	89 1d 84 26 43 00    	mov    %ebx,0x432684
4095db:	a1 50 26 43 00       	mov    0x432650,%eax
4095e0:	85 c0                	test   %eax,%eax
4095e2:	74 0d                	je     0x4095f1
4095e4:	50                   	push   %eax
4095e5:	ff 15 00 30 43 00    	call   *0x433000
4095eb:	89 1d 50 26 43 00    	mov    %ebx,0x432650
4095f1:	51                   	push   %ecx
4095f2:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
4095f8:	e8 c9 5a 00 00       	call   0x40f0c6
4095fd:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
409603:	e8 f3 fb ff ff       	call   0x4091fb
409608:	8b c7                	mov    %edi,%eax
40960a:	eb 02                	jmp    0x40960e
40960c:	33 c0                	xor    %eax,%eax
40960e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409611:	5f                   	pop    %edi
409612:	5e                   	pop    %esi
409613:	33 cd                	xor    %ebp,%ecx
409615:	5b                   	pop    %ebx
409616:	e8 15 6e 00 00       	call   0x410430
40961b:	c9                   	leave
40961c:	c2 10 00             	ret    $0x10
40961f:	8b ff                	mov    %edi,%edi
409621:	55                   	push   %ebp
409622:	8b ec                	mov    %esp,%ebp
409624:	83 ec 28             	sub    $0x28,%esp
409627:	56                   	push   %esi
409628:	33 f6                	xor    %esi,%esi
40962a:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
409631:	68 00 7f 00 00       	push   $0x7f00
409636:	56                   	push   %esi
409637:	c7 45 dc 80 b2 40 00 	movl   $0x40b280,-0x24(%ebp)
40963e:	89 75 e0             	mov    %esi,-0x20(%ebp)
409641:	89 75 e4             	mov    %esi,-0x1c(%ebp)
409644:	89 4d e8             	mov    %ecx,-0x18(%ebp)
409647:	89 75 ec             	mov    %esi,-0x14(%ebp)
40964a:	ff 15 04 33 43 00    	call   *0x433304
409650:	89 45 f0             	mov    %eax,-0x10(%ebp)
409653:	8d 45 d8             	lea    -0x28(%ebp),%eax
409656:	50                   	push   %eax
409657:	c7 45 f4 06 00 00 00 	movl   $0x6,-0xc(%ebp)