409186:	ff 70 10             	push   0x10(%eax)
409189:	6a 18                	push   $0x18
40918b:	59                   	pop    %ecx
40918c:	e8 1f e2 ff ff       	call   0x4073b0
409191:	be 03 80 1b 80       	mov    $0x801b8003,%esi
409196:	e9 ea 03 00 00       	jmp    0x409585
40919b:	8b cf                	mov    %edi,%ecx
40919d:	c7 06 04 00 00 00    	movl   $0x4,(%esi)
4091a3:	e8 4d 15 00 00       	call   0x40a6f5
4091a8:	8b f0                	mov    %eax,%esi
4091aa:	85 f6                	test   %esi,%esi
4091ac:	79 33                	jns    0x4091e1
4091ae:	a1 00 b0 42 00       	mov    0x42b000,%eax
4091b3:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4091b8:	0f 84 89 03 00 00    	je     0x409547
4091be:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4091c2:	0f 84 7f 03 00 00    	je     0x409547
4091c8:	56                   	push   %esi
4091c9:	ff 70 14             	push   0x14(%eax)
4091cc:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4091d1:	ff 70 10             	push   0x10(%eax)
4091d4:	6a 19                	push   $0x19
4091d6:	59                   	pop    %ecx
4091d7:	e8 f2 e1 ff ff       	call   0x4073ce
4091dc:	e9 66 03 00 00       	jmp    0x409547
4091e1:	e8 f4 ac 00 00       	call   0x413eda
4091e6:	89 85 54 f7 ff ff    	mov    %eax,-0x8ac(%ebp)
4091ec:	85 c0                	test   %eax,%eax
4091ee:	74 0f                	je     0x4091ff
4091f0:	8b 8f 8c 01 00 00    	mov    0x18c(%edi),%ecx
4091f6:	ff 71 28             	push   0x28(%ecx)
4091f9:	ff 15 6c c4 42 00    	call   *0x42c46c
4091ff:	8d 85 40 f7 ff ff    	lea    -0x8c0(%ebp),%eax
409205:	8b cf                	mov    %edi,%ecx
409207:	50                   	push   %eax
409208:	8d 85 48 f7 ff ff    	lea    -0x8b8(%ebp),%eax
40920e:	50                   	push   %eax
40920f:	e8 8b 17 00 00       	call   0x40a99f
409214:	8d 8f 74 01 00 00    	lea    0x174(%edi),%ecx
40921a:	e8 6b 37 00 00       	call   0x40c98a
40921f:	85 c0                	test   %eax,%eax
409221:	74 07                	je     0x40922a
409223:	8b cf                	mov    %edi,%ecx
409225:	e8 66 2b 00 00       	call   0x40bd90
40922a:	8b 9d 48 f7 ff ff    	mov    -0x8b8(%ebp),%ebx
409230:	8d 8d 34 f7 ff ff    	lea    -0x8cc(%ebp),%ecx
409236:	68 00 00 40 00       	push   $0x400000
40923b:	68 62 1b 00 00       	push   $0x1b62
409240:	83 cb 10             	or     $0x10,%ebx
409243:	e8 84 34 00 00       	call   0x40c6cc
409248:	be 00 b0 42 00       	mov    $0x42b000,%esi
40924d:	85 c0                	test   %eax,%eax
40924f:	79 24                	jns    0x409275
409251:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
409257:	3b d6                	cmp    %esi,%edx
409259:	74 20                	je     0x40927b
40925b:	f6 42 1c 01          	testb  $0x1,0x1c(%edx)
40925f:	74 1a                	je     0x40927b
409261:	50                   	push   %eax
409262:	ff 72 14             	push   0x14(%edx)
409265:	ff 72 10             	push   0x10(%edx)
409268:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40926d:	6a 1a                	push   $0x1a
40926f:	59                   	pop    %ecx
409270:	e8 59 e1 ff ff       	call   0x4073ce
409275:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
40927b:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
409281:	8b cf                	mov    %edi,%ecx
409283:	c7 85 58 f7 ff ff 94 	movl   $0x894,-0x8a8(%ebp)
40928a:	08 00 00
40928d:	8b 40 28             	mov    0x28(%eax),%eax
409290:	89 85 5c f7 ff ff    	mov    %eax,-0x8a4(%ebp)
409296:	e8 ef 36 00 00       	call   0x40c98a
40929b:	85 c0                	test   %eax,%eax
40929d:	74 18                	je     0x4092b7
40929f:	ff 37                	push   (%edi)
4092a1:	ba 80 00 00 00       	mov    $0x80,%edx
4092a6:	8d 8d e0 f8 ff ff    	lea    -0x720(%ebp),%ecx
4092ac:	e8 84 f7 ff ff       	call   0x408a35
4092b1:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
4092b7:	8d 8f 5c 01 00 00    	lea    0x15c(%edi),%ecx
4092bd:	e8 c8 36 00 00       	call   0x40c98a
4092c2:	85 c0                	test   %eax,%eax
4092c4:	74 18                	je     0x4092de
4092c6:	ff 31                	push   (%ecx)
4092c8:	ba 04 01 00 00       	mov    $0x104,%edx
4092cd:	8d 8d e0 f9 ff ff    	lea    -0x620(%ebp),%ecx
4092d3:	e8 5d f7 ff ff       	call   0x408a35
4092d8:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
4092de:	83 bd 34 f7 ff ff 00 	cmpl   $0x0,-0x8cc(%ebp)
4092e5:	74 25                	je     0x40930c
4092e7:	83 bd 3c f7 ff ff 00 	cmpl   $0x0,-0x8c4(%ebp)
4092ee:	76 1c                	jbe    0x40930c
4092f0:	ff b5 34 f7 ff ff    	push   -0x8cc(%ebp)
4092f6:	ba 80 00 00 00       	mov    $0x80,%edx
4092fb:	8d 8d e0 f7 ff ff    	lea    -0x820(%ebp),%ecx
409301:	e8 2f f7 ff ff       	call   0x408a35
409306:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
40930c:	8b 87 88 01 00 00    	mov    0x188(%edi),%eax
409312:	83 f8 01             	cmp    $0x1,%eax
409315:	0f 85 8a 00 00 00    	jne    0x4093a5
40931b:	8d 85 50 f7 ff ff    	lea    -0x8b0(%ebp),%eax
409321:	50                   	push   %eax
409322:	8d 85 58 f7 ff ff    	lea    -0x8a8(%ebp),%eax
409328:	50                   	push   %eax
409329:	6a 01                	push   $0x1
40932b:	ff 77 48             	push   0x48(%edi)
40932e:	ff 15 b0 c4 42 00    	call   *0x42c4b0
409334:	8b f0                	mov    %eax,%esi
409336:	85 f6                	test   %esi,%esi
409338:	79 33                	jns    0x40936d
40933a:	a1 00 b0 42 00       	mov    0x42b000,%eax
40933f:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409344:	0f 84 f7 01 00 00    	je     0x409541
40934a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40934e:	0f 84 ed 01 00 00    	je     0x409541
409354:	56                   	push   %esi
409355:	ff 70 14             	push   0x14(%eax)
409358:	ff 70 10             	push   0x10(%eax)
40935b:	6a 1b                	push   $0x1b
40935d:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409362:	59                   	pop    %ecx
409363:	e8 66 e0 ff ff       	call   0x4073ce
409368:	e9 d4 01 00 00       	jmp    0x409541
40936d:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
409373:	8b cf                	mov    %edi,%ecx
409375:	e8 26 27 00 00       	call   0x40baa0
40937a:	8b f0                	mov    %eax,%esi
40937c:	85 f6                	test   %esi,%esi
40937e:	79 70                	jns    0x4093f0
409380:	a1 00 b0 42 00       	mov    0x42b000,%eax
409385:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40938a:	0f 84 b1 01 00 00    	je     0x409541
409390:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
409394:	0f 84 a7 01 00 00    	je     0x409541
40939a:	56                   	push   %esi
40939b:	ff 70 14             	push   0x14(%eax)
40939e:	ff 70 10             	push   0x10(%eax)
4093a1:	6a 1c                	push   $0x1c
4093a3:	eb b8                	jmp    0x40935d
4093a5:	85 c0                	test   %eax,%eax
4093a7:	0f 85 71 01 00 00    	jne    0x40951e
4093ad:	8d 85 50 f7 ff ff    	lea    -0x8b0(%ebp),%eax
4093b3:	8b cf                	mov    %edi,%ecx
4093b5:	50                   	push   %eax
4093b6:	8d 85 58 f7 ff ff    	lea    -0x8a8(%ebp),%eax
4093bc:	50                   	push   %eax
4093bd:	e8 2d 18 00 00       	call   0x40abef
4093c2:	8b f0                	mov    %eax,%esi
4093c4:	85 f6                	test   %esi,%esi
4093c6:	79 28                	jns    0x4093f0
4093c8:	a1 00 b0 42 00       	mov    0x42b000,%eax
4093cd:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4093d2:	0f 84 69 01 00 00    	je     0x409541
4093d8:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4093dc:	0f 84 5f 01 00 00    	je     0x409541
4093e2:	56                   	push   %esi
4093e3:	ff 70 14             	push   0x14(%eax)
4093e6:	ff 70 10             	push   0x10(%eax)
4093e9:	6a 1d                	push   $0x1d
4093eb:	e9 6d ff ff ff       	jmp    0x40935d
4093f0:	8d 85 44 f7 ff ff    	lea    -0x8bc(%ebp),%eax
4093f6:	50                   	push   %eax
4093f7:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
4093fd:	ff 15 a4 c4 42 00    	call   *0x42c4a4
409403:	85 c0                	test   %eax,%eax
409405:	79 2a                	jns    0x409431
409407:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40940d:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
409413:	74 22                	je     0x409437
409415:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
409419:	74 1c                	je     0x409437
40941b:	50                   	push   %eax
40941c:	ff 71 14             	push   0x14(%ecx)
40941f:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409424:	ff 71 10             	push   0x10(%ecx)
409427:	6a 1f                	push   $0x1f
409429:	59                   	pop    %ecx
40942a:	e8 9f df ff ff       	call   0x4073ce
40942f:	eb 06                	jmp    0x409437
409431:	0b 9d 44 f7 ff ff    	or     -0x8bc(%ebp),%ebx
409437:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
40943d:	8b cf                	mov    %edi,%ecx
40943f:	e8 78 24 00 00       	call   0x40b8bc
409444:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
40944a:	8b cf                	mov    %edi,%ecx
40944c:	e8 f9 24 00 00       	call   0x40b94a
409451:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
409457:	8b cf                	mov    %edi,%ecx
409459:	e8 af 15 00 00       	call   0x40aa0d
40945e:	57                   	push   %edi
40945f:	68 c0 b3 40 00       	push   $0x40b3c0
409464:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
40946a:	ff 15 a0 c4 42 00    	call   *0x42c4a0
409470:	8b f0                	mov    %eax,%esi
409472:	85 f6                	test   %esi,%esi
409474:	79 28                	jns    0x40949e
409476:	a1 00 b0 42 00       	mov    0x42b000,%eax
40947b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409480:	0f 84 bb 00 00 00    	je     0x409541
409486:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40948a:	0f 84 b1 00 00 00    	je     0x409541
409490:	56                   	push   %esi
409491:	ff 70 14             	push   0x14(%eax)
409494:	ff 70 10             	push   0x10(%eax)
409497:	6a 20                	push   $0x20
409499:	e9 bf fe ff ff       	jmp    0x40935d
40949e:	ff b5 4c f7 ff ff    	push   -0x8b4(%ebp)
4094a4:	53                   	push   %ebx
4094a5:	ff b5 40 f7 ff ff    	push   -0x8c0(%ebp)
4094ab:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
4094b1:	ff 15 ac c4 42 00    	call   *0x42c4ac
4094b7:	8b f0                	mov    %eax,%esi
4094b9:	85 f6                	test   %esi,%esi
4094bb:	79 28                	jns    0x4094e5
4094bd:	33 c9                	xor    %ecx,%ecx
4094bf:	41                   	inc    %ecx
4094c0:	89 8f a0 01 00 00    	mov    %ecx,0x1a0(%edi)
4094c6:	a1 00 b0 42 00       	mov    0x42b000,%eax
4094cb:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4094d0:	74 6f                	je     0x409541
4094d2:	84 48 1c             	test   %cl,0x1c(%eax)
4094d5:	74 6a                	je     0x409541
4094d7:	56                   	push   %esi
4094d8:	ff 70 14             	push   0x14(%eax)
4094db:	ff 70 10             	push   0x10(%eax)
4094de:	6a 21                	push   $0x21
4094e0:	e9 78 fe ff ff       	jmp    0x40935d
4094e5:	83 a7 a0 01 00 00 00 	andl   $0x0,0x1a0(%edi)
4094ec:	a1 00 b0 42 00       	mov    0x42b000,%eax
4094f1:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4094f6:	74 22                	je     0x40951a
4094f8:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4094fc:	74 1c                	je     0x40951a
4094fe:	8b 8d 4c f7 ff ff    	mov    -0x8b4(%ebp),%ecx
409504:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409509:	ff 31                	push   (%ecx)
40950b:	56                   	push   %esi
40950c:	ff 70 14             	push   0x14(%eax)
40950f:	ff 70 10             	push   0x10(%eax)
409512:	6a 22                	push   $0x22
409514:	59                   	pop    %ecx
409515:	e8 50 f5 ff ff       	call   0x408a6a
40951a:	33 f6                	xor    %esi,%esi
40951c:	eb 23                	jmp    0x409541
40951e:	3b d6                	cmp    %esi,%edx
409520:	74 1a                	je     0x40953c
409522:	f6 42 1c 01          	testb  $0x1,0x1c(%edx)
409526:	74 14                	je     0x40953c
409528:	50                   	push   %eax
409529:	ff 72 14             	push   0x14(%edx)
40952c:	ff 72 10             	push   0x10(%edx)
40952f:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409534:	6a 1e                	push   $0x1e
409536:	59                   	pop    %ecx
409537:	e8 92 de ff ff       	call   0x4073ce
40953c:	be 03 80 1b 80       	mov    $0x801b8003,%esi
409541:	8b 9d 54 f7 ff ff    	mov    -0x8ac(%ebp),%ebx
409547:	8b 85 4c f7 ff ff    	mov    -0x8b4(%ebp),%eax
40954d:	8b cf                	mov    %edi,%ecx
40954f:	ff 30                	push   (%eax)
409551:	e8 29 fa ff ff       	call   0x408f7f
409556:	83 bd 50 f7 ff ff 00 	cmpl   $0x0,-0x8b0(%ebp)
40955d:	74 13                	je     0x409572
40955f:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
409565:	ff 15 a8 c4 42 00    	call   *0x42c4a8
40956b:	83 a5 50 f7 ff ff 00 	andl   $0x0,-0x8b0(%ebp)
409572:	85 db                	test   %ebx,%ebx
409574:	74 0f                	je     0x409585
409576:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
40957c:	ff 70 28             	push   0x28(%eax)
40957f:	ff 15 70 c4 42 00    	call   *0x42c470
409585:	6a 01                	push   $0x1
409587:	8d 8d 34 f7 ff ff    	lea    -0x8cc(%ebp),%ecx
40958d:	e8 93 36 00 00       	call   0x40cc25
409592:	8b c6                	mov    %esi,%eax
409594:	e8 b1 ea 01 00       	call   0x42804a
409599:	c2 04 00             	ret    $0x4
40959c:	8b ff                	mov    %edi,%edi
40959e:	56                   	push   %esi
40959f:	8b f1                	mov    %ecx,%esi
4095a1:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
4095a7:	85 c0                	test   %eax,%eax
4095a9:	75 27                	jne    0x4095d2
4095ab:	a1 00 b0 42 00       	mov    0x42b000,%eax
4095b0:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4095b5:	74 33                	je     0x4095ea
4095b7:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4095bb:	74 2d                	je     0x4095ea
4095bd:	ff 70 14             	push   0x14(%eax)
4095c0:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4095c5:	ff 70 10             	push   0x10(%eax)
4095c8:	6a 23                	push   $0x23
4095ca:	59                   	pop    %ecx
4095cb:	e8 e0 dd ff ff       	call   0x4073b0
4095d0:	5e                   	pop    %esi
4095d1:	c3                   	ret
4095d2:	ff 70 18             	push   0x18(%eax)
4095d5:	ff 15 b0 c2 42 00    	call   *0x42c2b0
4095db:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
4095e1:	ff 70 20             	push   0x20(%eax)
4095e4:	ff 15 b0 c2 42 00    	call   *0x42c2b0
4095ea:	5e                   	pop    %esi
4095eb:	c3                   	ret
4095ec:	8b ff                	mov    %edi,%edi
4095ee:	55                   	push   %ebp
4095ef:	8b ec                	mov    %esp,%ebp
4095f1:	51                   	push   %ecx
4095f2:	8b 81 8c 01 00 00    	mov    0x18c(%ecx),%eax
4095f8:	85 c0                	test   %eax,%eax
4095fa:	75 2c                	jne    0x409628
4095fc:	a1 00 b0 42 00       	mov    0x42b000,%eax
409601:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409606:	74 19                	je     0x409621
409608:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40960c:	74 13                	je     0x409621
40960e:	ff 70 14             	push   0x14(%eax)
409611:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409616:	ff 70 10             	push   0x10(%eax)
409619:	6a 24                	push   $0x24
40961b:	59                   	pop    %ecx
40961c:	e8 8f dd ff ff       	call   0x4073b0
409621:	b8 57 00 07 80       	mov    $0x80070057,%eax
409626:	eb 5d                	jmp    0x409685
409628:	8b 55 08             	mov    0x8(%ebp),%edx
40962b:	89 90 84 9a 00 00    	mov    %edx,0x9a84(%eax)
409631:	8b 81 98 01 00 00    	mov    0x198(%ecx),%eax
409637:	83 e8 00             	sub    $0x0,%eax
40963a:	74 47                	je     0x409683
40963c:	83 e8 01             	sub    $0x1,%eax
40963f:	74 39                	je     0x40967a
409641:	83 e8 01             	sub    $0x1,%eax
409644:	74 2c                	je     0x409672
409646:	a1 00 b0 42 00       	mov    0x42b000,%eax
40964b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409650:	74 19                	je     0x40966b
409652:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
409656:	74 13                	je     0x40966b
409658:	ff 70 14             	push   0x14(%eax)
40965b:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409660:	ff 70 10             	push   0x10(%eax)
409663:	6a 25                	push   $0x25
409665:	59                   	pop    %ecx
409666:	e8 45 dd ff ff       	call   0x4073b0
40966b:	b8 05 40 00 80       	mov    $0x80004005,%eax
409670:	eb 13                	jmp    0x409685
409672:	8b 81 94 01 00 00    	mov    0x194(%ecx),%eax
409678:	eb 06                	jmp    0x409680
40967a:	8b 81 90 01 00 00    	mov    0x190(%ecx),%eax
409680:	89 50 2c             	mov    %edx,0x2c(%eax)