40d262:	58                   	pop    %eax
40d263:	3b fe                	cmp    %esi,%edi
40d265:	0f 82 e8 fe ff ff    	jb     0x40d153
40d26b:	eb 2a                	jmp    0x40d297
40d26d:	a1 00 b0 42 00       	mov    0x42b000,%eax
40d272:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40d277:	74 19                	je     0x40d292
40d279:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40d27d:	74 13                	je     0x40d292
40d27f:	ff 70 14             	push   0x14(%eax)
40d282:	ba cc 22 40 00       	mov    $0x4022cc,%edx
40d287:	ff 70 10             	push   0x10(%eax)
40d28a:	6a 12                	push   $0x12
40d28c:	59                   	pop    %ecx
40d28d:	e8 1e a1 ff ff       	call   0x4073b0
40d292:	e8 a3 90 01 00       	call   0x42633a
40d297:	5f                   	pop    %edi
40d298:	5e                   	pop    %esi
40d299:	5b                   	pop    %ebx
40d29a:	8b e5                	mov    %ebp,%esp
40d29c:	5d                   	pop    %ebp
40d29d:	c2 08 00             	ret    $0x8
40d2a0:	8b ff                	mov    %edi,%edi
40d2a2:	55                   	push   %ebp
40d2a3:	8b ec                	mov    %esp,%ebp
40d2a5:	8b 55 0c             	mov    0xc(%ebp),%edx
40d2a8:	8d 45 14             	lea    0x14(%ebp),%eax
40d2ab:	56                   	push   %esi
40d2ac:	8b 75 08             	mov    0x8(%ebp),%esi
40d2af:	2b d6                	sub    %esi,%edx
40d2b1:	50                   	push   %eax
40d2b2:	ff 75 10             	push   0x10(%ebp)
40d2b5:	d1 fa                	sar    $1,%edx
40d2b7:	8b ce                	mov    %esi,%ecx
40d2b9:	e8 e4 f9 ff ff       	call   0x40cca2
40d2be:	39 75 0c             	cmp    %esi,0xc(%ebp)
40d2c1:	74 17                	je     0x40d2da
40d2c3:	8b ce                	mov    %esi,%ecx
40d2c5:	8d 51 02             	lea    0x2(%ecx),%edx
40d2c8:	66 8b 01             	mov    (%ecx),%ax
40d2cb:	83 c1 02             	add    $0x2,%ecx
40d2ce:	66 85 c0             	test   %ax,%ax
40d2d1:	75 f5                	jne    0x40d2c8
40d2d3:	2b ca                	sub    %edx,%ecx
40d2d5:	d1 f9                	sar    $1,%ecx
40d2d7:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
40d2da:	8b c6                	mov    %esi,%eax
40d2dc:	5e                   	pop    %esi
40d2dd:	5d                   	pop    %ebp
40d2de:	c3                   	ret
40d2df:	8b ff                	mov    %edi,%edi
40d2e1:	55                   	push   %ebp
40d2e2:	8b ec                	mov    %esp,%ebp
40d2e4:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
40d2ea:	a1 74 b6 42 00       	mov    0x42b674,%eax
40d2ef:	33 c5                	xor    %ebp,%eax
40d2f1:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d2f4:	53                   	push   %ebx
40d2f5:	8b d9                	mov    %ecx,%ebx
40d2f7:	8b c2                	mov    %edx,%eax
40d2f9:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
40d2ff:	56                   	push   %esi
40d300:	8b 75 08             	mov    0x8(%ebp),%esi
40d303:	85 db                	test   %ebx,%ebx
40d305:	0f 84 c2 01 00 00    	je     0x40d4cd
40d30b:	57                   	push   %edi
40d30c:	8b 3d 60 bb 42 00    	mov    0x42bb60,%edi
40d312:	33 c9                	xor    %ecx,%ecx
40d314:	66 89 0b             	mov    %cx,(%ebx)
40d317:	85 ff                	test   %edi,%edi
40d319:	74 20                	je     0x40d33b
40d31b:	38 0d 50 bb 42 00    	cmp    %cl,0x42bb50
40d321:	74 18                	je     0x40d33b
40d323:	50                   	push   %eax
40d324:	53                   	push   %ebx
40d325:	56                   	push   %esi
40d326:	8b cf                	mov    %edi,%ecx
40d328:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d32e:	ff d7                	call   *%edi
40d330:	33 c9                	xor    %ecx,%ecx
40d332:	66 39 0b             	cmp    %cx,(%ebx)
40d335:	0f 85 91 01 00 00    	jne    0x40d4cc
40d33b:	8b 06                	mov    (%esi),%eax
40d33d:	c7 85 f8 fd ff ff 24 	movl   $0x402824,-0x208(%ebp)
40d344:	28 40 00
40d347:	2b c1                	sub    %ecx,%eax
40d349:	74 33                	je     0x40d37e
40d34b:	83 e8 01             	sub    $0x1,%eax
40d34e:	74 22                	je     0x40d372
40d350:	83 e8 01             	sub    $0x1,%eax
40d353:	74 11                	je     0x40d366
40d355:	83 e8 01             	sub    $0x1,%eax
40d358:	75 2e                	jne    0x40d388
40d35a:	c7 85 f8 fd ff ff fc 	movl   $0x4022fc,-0x208(%ebp)
40d361:	22 40 00
40d364:	eb 22                	jmp    0x40d388
40d366:	c7 85 f8 fd ff ff f4 	movl   $0x4022f4,-0x208(%ebp)
40d36d:	22 40 00
40d370:	eb 16                	jmp    0x40d388
40d372:	c7 85 f8 fd ff ff e8 	movl   $0x4022e8,-0x208(%ebp)
40d379:	22 40 00
40d37c:	eb 0a                	jmp    0x40d388
40d37e:	c7 85 f8 fd ff ff dc 	movl   $0x4022dc,-0x208(%ebp)
40d385:	22 40 00
40d388:	51                   	push   %ecx
40d389:	33 c0                	xor    %eax,%eax
40d38b:	68 00 01 00 00       	push   $0x100
40d390:	66 89 85 fc fd ff ff 	mov    %ax,-0x204(%ebp)
40d397:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40d39d:	50                   	push   %eax
40d39e:	68 00 04 00 00       	push   $0x400
40d3a3:	ff 76 04             	push   0x4(%esi)
40d3a6:	51                   	push   %ecx
40d3a7:	68 00 12 00 00       	push   $0x1200
40d3ac:	ff 15 78 c1 42 00    	call   *0x42c178
40d3b2:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
40d3b6:	8b 85 f4 fd ff ff    	mov    -0x20c(%ebp),%eax
40d3bc:	ff 76 48             	push   0x48(%esi)
40d3bf:	ff 76 44             	push   0x44(%esi)
40d3c2:	8d 3c 43             	lea    (%ebx,%eax,2),%edi
40d3c5:	74 17                	je     0x40d3de
40d3c7:	ff 76 20             	push   0x20(%esi)
40d3ca:	ff 76 1c             	push   0x1c(%esi)
40d3cd:	68 08 23 40 00       	push   $0x402308
40d3d2:	57                   	push   %edi
40d3d3:	53                   	push   %ebx
40d3d4:	e8 c7 fe ff ff       	call   0x40d2a0
40d3d9:	83 c4 1c             	add    $0x1c,%esp
40d3dc:	eb 0f                	jmp    0x40d3ed
40d3de:	68 2c 23 40 00       	push   $0x40232c
40d3e3:	57                   	push   %edi
40d3e4:	53                   	push   %ebx
40d3e5:	e8 b6 fe ff ff       	call   0x40d2a0
40d3ea:	83 c4 14             	add    $0x14,%esp
40d3ed:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
40d3f1:	8b d8                	mov    %eax,%ebx
40d3f3:	74 14                	je     0x40d409
40d3f5:	ff 76 4c             	push   0x4c(%esi)
40d3f8:	68 40 23 40 00       	push   $0x402340
40d3fd:	57                   	push   %edi
40d3fe:	53                   	push   %ebx
40d3ff:	e8 9c fe ff ff       	call   0x40d2a0
40d404:	83 c4 10             	add    $0x10,%esp
40d407:	8b d8                	mov    %eax,%ebx
40d409:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40d40f:	50                   	push   %eax
40d410:	ff 76 04             	push   0x4(%esi)
40d413:	ff 15 74 c2 42 00    	call   *0x42c274
40d419:	50                   	push   %eax
40d41a:	ff 76 24             	push   0x24(%esi)
40d41d:	ff b5 f8 fd ff ff    	push   -0x208(%ebp)
40d423:	68 5c 23 40 00       	push   $0x40235c
40d428:	57                   	push   %edi
40d429:	53                   	push   %ebx
40d42a:	e8 71 fe ff ff       	call   0x40d2a0
40d42f:	33 c9                	xor    %ecx,%ecx
40d431:	83 c4 20             	add    $0x20,%esp
40d434:	39 4e 0c             	cmp    %ecx,0xc(%esi)
40d437:	75 0e                	jne    0x40d447
40d439:	39 4e 28             	cmp    %ecx,0x28(%esi)
40d43c:	75 09                	jne    0x40d447
40d43e:	39 4e 18             	cmp    %ecx,0x18(%esi)
40d441:	0f 84 85 00 00 00    	je     0x40d4cc
40d447:	68 90 23 40 00       	push   $0x402390
40d44c:	57                   	push   %edi
40d44d:	50                   	push   %eax
40d44e:	e8 4d fe ff ff       	call   0x40d2a0
40d453:	83 c4 0c             	add    $0xc,%esp
40d456:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
40d45a:	74 12                	je     0x40d46e
40d45c:	ff 76 0c             	push   0xc(%esi)
40d45f:	68 9c 23 40 00       	push   $0x40239c
40d464:	57                   	push   %edi
40d465:	50                   	push   %eax
40d466:	e8 35 fe ff ff       	call   0x40d2a0
40d46b:	83 c4 10             	add    $0x10,%esp
40d46e:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40d472:	74 12                	je     0x40d486
40d474:	ff 76 28             	push   0x28(%esi)
40d477:	68 b4 23 40 00       	push   $0x4023b4
40d47c:	57                   	push   %edi
40d47d:	50                   	push   %eax
40d47e:	e8 1d fe ff ff       	call   0x40d2a0
40d483:	83 c4 10             	add    $0x10,%esp
40d486:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40d48a:	74 17                	je     0x40d4a3
40d48c:	ff 76 14             	push   0x14(%esi)
40d48f:	ff 76 18             	push   0x18(%esi)
40d492:	68 dc 23 40 00       	push   $0x4023dc
40d497:	57                   	push   %edi
40d498:	50                   	push   %eax
40d499:	e8 02 fe ff ff       	call   0x40d2a0
40d49e:	83 c4 14             	add    $0x14,%esp
40d4a1:	eb 29                	jmp    0x40d4cc
40d4a3:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40d4a7:	74 14                	je     0x40d4bd
40d4a9:	ff 76 18             	push   0x18(%esi)
40d4ac:	68 f4 23 40 00       	push   $0x4023f4
40d4b1:	57                   	push   %edi
40d4b2:	50                   	push   %eax
40d4b3:	e8 e8 fd ff ff       	call   0x40d2a0
40d4b8:	83 c4 10             	add    $0x10,%esp
40d4bb:	eb 0f                	jmp    0x40d4cc
40d4bd:	68 04 24 40 00       	push   $0x402404
40d4c2:	57                   	push   %edi
40d4c3:	50                   	push   %eax
40d4c4:	e8 d7 fd ff ff       	call   0x40d2a0
40d4c9:	83 c4 0c             	add    $0xc,%esp
40d4cc:	5f                   	pop    %edi
40d4cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d4d0:	33 c0                	xor    %eax,%eax
40d4d2:	5e                   	pop    %esi
40d4d3:	33 cd                	xor    %ebp,%ecx
40d4d5:	5b                   	pop    %ebx
40d4d6:	e8 05 a6 01 00       	call   0x427ae0
40d4db:	c9                   	leave
40d4dc:	c2 04 00             	ret    $0x4
40d4df:	8b ff                	mov    %edi,%edi
40d4e1:	57                   	push   %edi
40d4e2:	52                   	push   %edx
40d4e3:	51                   	push   %ecx
40d4e4:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d4ea:	50                   	push   %eax
40d4eb:	ff 15 9c c1 42 00    	call   *0x42c19c
40d4f1:	83 3d 18 bb 42 00 00 	cmpl   $0x0,0x42bb18
40d4f8:	8b f8                	mov    %eax,%edi
40d4fa:	74 1a                	je     0x40d516
40d4fc:	56                   	push   %esi
40d4fd:	57                   	push   %edi
40d4fe:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d504:	8b 35 18 bb 42 00    	mov    0x42bb18,%esi
40d50a:	8b ce                	mov    %esi,%ecx
40d50c:	50                   	push   %eax
40d50d:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d513:	ff d6                	call   *%esi
40d515:	5e                   	pop    %esi
40d516:	8b c7                	mov    %edi,%eax
40d518:	5f                   	pop    %edi
40d519:	c3                   	ret
40d51a:	8b ff                	mov    %edi,%edi
40d51c:	55                   	push   %ebp
40d51d:	8b ec                	mov    %esp,%ebp
40d51f:	8b 45 08             	mov    0x8(%ebp),%eax
40d522:	53                   	push   %ebx
40d523:	56                   	push   %esi
40d524:	8b f1                	mov    %ecx,%esi
40d526:	57                   	push   %edi
40d527:	83 26 00             	andl   $0x0,(%esi)
40d52a:	83 66 04 00          	andl   $0x0,0x4(%esi)
40d52e:	8b 58 04             	mov    0x4(%eax),%ebx
40d531:	8b 38                	mov    (%eax),%edi
40d533:	e8 15 00 00 00       	call   0x40d54d
40d538:	85 ff                	test   %edi,%edi
40d53a:	74 08                	je     0x40d544
40d53c:	89 3e                	mov    %edi,(%esi)
40d53e:	89 5e 04             	mov    %ebx,0x4(%esi)
40d541:	f0 ff 07             	lock incl (%edi)
40d544:	5f                   	pop    %edi
40d545:	8b c6                	mov    %esi,%eax
40d547:	5e                   	pop    %esi
40d548:	5b                   	pop    %ebx
40d549:	5d                   	pop    %ebp
40d54a:	c2 04 00             	ret    $0x4
40d54d:	8b ff                	mov    %edi,%edi
40d54f:	56                   	push   %esi
40d550:	8b f1                	mov    %ecx,%esi
40d552:	8b 0e                	mov    (%esi),%ecx
40d554:	85 c9                	test   %ecx,%ecx
40d556:	74 21                	je     0x40d579
40d558:	83 c8 ff             	or     $0xffffffff,%eax
40d55b:	f0 0f c1 01          	lock xadd %eax,(%ecx)
40d55f:	75 11                	jne    0x40d572
40d561:	ff 36                	push   (%esi)
40d563:	6a 00                	push   $0x0
40d565:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d56b:	50                   	push   %eax
40d56c:	ff 15 a4 c1 42 00    	call   *0x42c1a4
40d572:	83 26 00             	andl   $0x0,(%esi)
40d575:	83 66 04 00          	andl   $0x0,0x4(%esi)
40d579:	5e                   	pop    %esi
40d57a:	c3                   	ret
40d57b:	8b ff                	mov    %edi,%edi
40d57d:	55                   	push   %ebp
40d57e:	8b ec                	mov    %esp,%ebp
40d580:	53                   	push   %ebx
40d581:	56                   	push   %esi
40d582:	8b 75 0c             	mov    0xc(%ebp),%esi
40d585:	8b d9                	mov    %ecx,%ebx
40d587:	85 f6                	test   %esi,%esi
40d589:	75 09                	jne    0x40d594
40d58b:	e8 bd ff ff ff       	call   0x40d54d
40d590:	b0 01                	mov    $0x1,%al
40d592:	eb 4b                	jmp    0x40d5df
40d594:	57                   	push   %edi
40d595:	8d 46 04             	lea    0x4(%esi),%eax
40d598:	50                   	push   %eax
40d599:	6a 00                	push   $0x0
40d59b:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d5a1:	50                   	push   %eax
40d5a2:	ff 15 9c c1 42 00    	call   *0x42c19c
40d5a8:	8b f8                	mov    %eax,%edi
40d5aa:	85 ff                	test   %edi,%edi
40d5ac:	75 04                	jne    0x40d5b2
40d5ae:	32 c0                	xor    %al,%al
40d5b0:	eb 2c                	jmp    0x40d5de
40d5b2:	83 27 00             	andl   $0x0,(%edi)
40d5b5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40d5b9:	74 12                	je     0x40d5cd
40d5bb:	56                   	push   %esi
40d5bc:	ff 75 08             	push   0x8(%ebp)
40d5bf:	8d 47 04             	lea    0x4(%edi),%eax
40d5c2:	56                   	push   %esi
40d5c3:	50                   	push   %eax
40d5c4:	ff 15 60 c3 42 00    	call   *0x42c360
40d5ca:	83 c4 10             	add    $0x10,%esp
40d5cd:	8b cb                	mov    %ebx,%ecx
40d5cf:	e8 79 ff ff ff       	call   0x40d54d
40d5d4:	89 3b                	mov    %edi,(%ebx)
40d5d6:	89 73 04             	mov    %esi,0x4(%ebx)
40d5d9:	f0 ff 07             	lock incl (%edi)
40d5dc:	b0 01                	mov    $0x1,%al
40d5de:	5f                   	pop    %edi
40d5df:	5e                   	pop    %esi
40d5e0:	5b                   	pop    %ebx
40d5e1:	5d                   	pop    %ebp
40d5e2:	c2 08 00             	ret    $0x8
40d5e5:	33 c0                	xor    %eax,%eax
40d5e7:	89 0d 14 bb 42 00    	mov    %ecx,0x42bb14
40d5ed:	40                   	inc    %eax
40d5ee:	f0 0f c1 05 10 bb 42 	lock xadd %eax,0x42bb10
40d5f5:	00
40d5f6:	40                   	inc    %eax
40d5f7:	c3                   	ret
40d5f8:	33 c0                	xor    %eax,%eax
40d5fa:	89 0d 0c bb 42 00    	mov    %ecx,0x42bb0c
40d600:	40                   	inc    %eax
40d601:	f0 0f c1 05 08 bb 42 	lock xadd %eax,0x42bb08
40d608:	00
40d609:	40                   	inc    %eax
40d60a:	c3                   	ret
40d60b:	33 c0                	xor    %eax,%eax
40d60d:	89 0d 04 bb 42 00    	mov    %ecx,0x42bb04
40d613:	40                   	inc    %eax
40d614:	f0 0f c1 05 00 bb 42 	lock xadd %eax,0x42bb00
40d61b:	00
40d61c:	40                   	inc    %eax
40d61d:	c3                   	ret
40d61e:	cc                   	int3
40d61f:	cc                   	int3
40d620:	8b ff                	mov    %edi,%edi