40f1f1:	bf fe fd ff ff       	mov    $0xfffffdfe,%edi
40f1f6:	57                   	push   %edi
40f1f7:	8b ce                	mov    %esi,%ecx
40f1f9:	ff 50 6c             	call   *0x6c(%eax)
40f1fc:	ff 75 08             	push   0x8(%ebp)
40f1ff:	8b 06                	mov    (%esi),%eax
40f201:	6a 0b                	push   $0xb
40f203:	57                   	push   %edi
40f204:	56                   	push   %esi
40f205:	ff 50 70             	call   *0x70(%eax)
40f208:	83 c4 10             	add    $0x10,%esp
40f20b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f20e:	33 c0                	xor    %eax,%eax
40f210:	39 45 ec             	cmp    %eax,-0x14(%ebp)
40f213:	5f                   	pop    %edi
40f214:	5e                   	pop    %esi
40f215:	0f 94 c0             	sete   %al
40f218:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f21f:	5b                   	pop    %ebx
40f220:	c9                   	leave
40f221:	c2 04 00             	ret    $0x4
40f224:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40f227:	e8 ed 0c 03 00       	call   0x43ff19
40f22c:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
40f233:	b8 0b f2 40 00       	mov    $0x40f20b,%eax
40f238:	c3                   	ret
40f239:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
40f23e:	56                   	push   %esi
40f23f:	8b f1                	mov    %ecx,%esi
40f241:	74 07                	je     0x40f24a
40f243:	56                   	push   %esi
40f244:	e8 37 0e 03 00       	call   0x440080
40f249:	59                   	pop    %ecx
40f24a:	8b c6                	mov    %esi,%eax
40f24c:	5e                   	pop    %esi
40f24d:	c2 04 00             	ret    $0x4
40f250:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f254:	81 c1 3c ff ff ff    	add    $0xffffff3c,%ecx
40f25a:	e8 e0 4c 06 00       	call   0x473f3f
40f25f:	c2 04 00             	ret    $0x4
40f262:	ff 74 24 0c          	push   0xc(%esp)
40f266:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40f26a:	ff 74 24 0c          	push   0xc(%esp)
40f26e:	81 c1 3c ff ff ff    	add    $0xffffff3c,%ecx
40f274:	e8 83 4e 06 00       	call   0x4740fc
40f279:	c2 0c 00             	ret    $0xc
40f27c:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f281:	c2 04 00             	ret    $0x4
40f284:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f289:	c2 10 00             	ret    $0x10
40f28c:	ff 74 24 08          	push   0x8(%esp)
40f290:	8b 44 24 08          	mov    0x8(%esp),%eax
40f294:	8b 88 58 ff ff ff    	mov    -0xa8(%eax),%ecx
40f29a:	68 bc 4c 49 00       	push   $0x494cbc
40f29f:	e8 58 4e 06 00       	call   0x4740fc
40f2a4:	c2 08 00             	ret    $0x8
40f2a7:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f2ab:	81 c1 3c ff ff ff    	add    $0xffffff3c,%ecx
40f2b1:	e8 29 f9 ff ff       	call   0x40ebdf
40f2b6:	33 c0                	xor    %eax,%eax
40f2b8:	c2 04 00             	ret    $0x4
40f2bb:	33 c0                	xor    %eax,%eax
40f2bd:	c2 08 00             	ret    $0x8
40f2c0:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f2c5:	c2 04 00             	ret    $0x4
40f2c8:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f2cc:	81 c1 38 ff ff ff    	add    $0xffffff38,%ecx
40f2d2:	e8 68 4c 06 00       	call   0x473f3f
40f2d7:	c2 04 00             	ret    $0x4
40f2da:	ff 74 24 0c          	push   0xc(%esp)
40f2de:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40f2e2:	ff 74 24 0c          	push   0xc(%esp)
40f2e6:	81 c1 38 ff ff ff    	add    $0xffffff38,%ecx
40f2ec:	e8 0b 4e 06 00       	call   0x4740fc
40f2f1:	c2 0c 00             	ret    $0xc
40f2f4:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f2f9:	c2 08 00             	ret    $0x8
40f2fc:	33 c0                	xor    %eax,%eax
40f2fe:	c2 04 00             	ret    $0x4
40f301:	33 c0                	xor    %eax,%eax
40f303:	c2 04 00             	ret    $0x4
40f306:	8b 44 24 04          	mov    0x4(%esp),%eax
40f30a:	8b 88 54 ff ff ff    	mov    -0xac(%eax),%ecx
40f310:	8b 11                	mov    (%ecx),%edx
40f312:	05 38 ff ff ff       	add    $0xffffff38,%eax
40f317:	50                   	push   %eax
40f318:	ff 52 60             	call   *0x60(%edx)
40f31b:	33 c0                	xor    %eax,%eax
40f31d:	c2 04 00             	ret    $0x4
40f320:	33 c0                	xor    %eax,%eax
40f322:	40                   	inc    %eax
40f323:	c2 0c 00             	ret    $0xc
40f326:	8b 44 24 04          	mov    0x4(%esp),%eax
40f32a:	8b 88 54 ff ff ff    	mov    -0xac(%eax),%ecx
40f330:	8b 11                	mov    (%ecx),%edx
40f332:	05 38 ff ff ff       	add    $0xffffff38,%eax
40f337:	50                   	push   %eax
40f338:	ff 52 64             	call   *0x64(%edx)
40f33b:	33 c0                	xor    %eax,%eax
40f33d:	c2 08 00             	ret    $0x8
40f340:	56                   	push   %esi
40f341:	8b 74 24 08          	mov    0x8(%esp),%esi
40f345:	81 c6 38 ff ff ff    	add    $0xffffff38,%esi
40f34b:	8b ce                	mov    %esi,%ecx
40f34d:	e8 ca f8 ff ff       	call   0x40ec1c
40f352:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
40f356:	74 1b                	je     0x40f373
40f358:	8b 46 58             	mov    0x58(%esi),%eax
40f35b:	85 c0                	test   %eax,%eax
40f35d:	74 0a                	je     0x40f369
40f35f:	8b 08                	mov    (%eax),%ecx
40f361:	50                   	push   %eax
40f362:	ff 51 08             	call   *0x8(%ecx)
40f365:	83 66 58 00          	andl   $0x0,0x58(%esi)
40f369:	8b 46 1c             	mov    0x1c(%esi),%eax
40f36c:	ff 48 70             	decl   0x70(%eax)
40f36f:	83 66 70 00          	andl   $0x0,0x70(%esi)
40f373:	33 c0                	xor    %eax,%eax
40f375:	5e                   	pop    %esi
40f376:	c2 04 00             	ret    $0x4
40f379:	33 c0                	xor    %eax,%eax
40f37b:	c2 04 00             	ret    $0x4
40f37e:	8b 44 24 04          	mov    0x4(%esp),%eax
40f382:	8b 40 88             	mov    -0x78(%eax),%eax
40f385:	8b 08                	mov    (%eax),%ecx
40f387:	50                   	push   %eax
40f388:	ff 51 18             	call   *0x18(%ecx)
40f38b:	33 c0                	xor    %eax,%eax
40f38d:	c2 04 00             	ret    $0x4
40f390:	f6 44 24 0c 01       	testb  $0x1,0xc(%esp)
40f395:	56                   	push   %esi
40f396:	8b 74 24 08          	mov    0x8(%esp),%esi
40f39a:	74 21                	je     0x40f3bd
40f39c:	8b 46 84             	mov    -0x7c(%esi),%eax
40f39f:	8b 08                	mov    (%eax),%ecx
40f3a1:	8d 56 90             	lea    -0x70(%esi),%edx
40f3a4:	52                   	push   %edx
40f3a5:	68 9c 63 49 00       	push   $0x49639c
40f3aa:	50                   	push   %eax
40f3ab:	ff 11                	call   *(%ecx)
40f3ad:	c7 46 a8 01 00 00 00 	movl   $0x1,-0x58(%esi)
40f3b4:	8b b6 54 ff ff ff    	mov    -0xac(%esi),%esi
40f3ba:	ff 46 70             	incl   0x70(%esi)
40f3bd:	8b 44 24 0c          	mov    0xc(%esp),%eax
40f3c1:	85 c0                	test   %eax,%eax
40f3c3:	5e                   	pop    %esi
40f3c4:	74 03                	je     0x40f3c9
40f3c6:	83 20 00             	andl   $0x0,(%eax)
40f3c9:	33 c0                	xor    %eax,%eax
40f3cb:	c2 0c 00             	ret    $0xc
40f3ce:	8b 44 24 04          	mov    0x4(%esp),%eax
40f3d2:	8b 08                	mov    (%eax),%ecx
40f3d4:	50                   	push   %eax
40f3d5:	ff 51 2c             	call   *0x2c(%ecx)
40f3d8:	c2 08 00             	ret    $0x8
40f3db:	33 c0                	xor    %eax,%eax
40f3dd:	c2 04 00             	ret    $0x4
40f3e0:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f3e5:	c2 08 00             	ret    $0x8
40f3e8:	33 c0                	xor    %eax,%eax
40f3ea:	c2 04 00             	ret    $0x4
40f3ed:	8b 44 24 04          	mov    0x4(%esp),%eax
40f3f1:	8b 88 54 ff ff ff    	mov    -0xac(%eax),%ecx
40f3f7:	05 38 ff ff ff       	add    $0xffffff38,%eax
40f3fc:	33 d2                	xor    %edx,%edx
40f3fe:	39 41 68             	cmp    %eax,0x68(%ecx)
40f401:	0f 95 c2             	setne  %dl
40f404:	8b c2                	mov    %edx,%eax
40f406:	c2 04 00             	ret    $0x4
40f409:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f40e:	c2 04 00             	ret    $0x4
40f411:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f416:	c2 14 00             	ret    $0x14
40f419:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f41e:	c2 14 00             	ret    $0x14
40f421:	8b 44 24 04          	mov    0x4(%esp),%eax
40f425:	05 38 ff ff ff       	add    $0xffffff38,%eax
40f42a:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
40f42f:	74 13                	je     0x40f444
40f431:	8b 48 1c             	mov    0x1c(%eax),%ecx
40f434:	89 41 6c             	mov    %eax,0x6c(%ecx)
40f437:	8b 40 1c             	mov    0x1c(%eax),%eax
40f43a:	8b 48 1c             	mov    0x1c(%eax),%ecx
40f43d:	e8 86 19 03 00       	call   0x440dc8
40f442:	eb 07                	jmp    0x40f44b
40f444:	8b 40 1c             	mov    0x1c(%eax),%eax
40f447:	83 60 6c 00          	andl   $0x0,0x6c(%eax)
40f44b:	33 c0                	xor    %eax,%eax
40f44d:	c2 08 00             	ret    $0x8
40f450:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f454:	81 c1 34 ff ff ff    	add    $0xffffff34,%ecx
40f45a:	e8 e0 4a 06 00       	call   0x473f3f
40f45f:	c2 04 00             	ret    $0x4
40f462:	ff 74 24 0c          	push   0xc(%esp)
40f466:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40f46a:	ff 74 24 0c          	push   0xc(%esp)
40f46e:	81 c1 34 ff ff ff    	add    $0xffffff34,%ecx
40f474:	e8 83 4c 06 00       	call   0x4740fc
40f479:	c2 0c 00             	ret    $0xc
40f47c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f480:	81 c1 34 ff ff ff    	add    $0xffffff34,%ecx
40f486:	e8 e5 f5 ff ff       	call   0x40ea70
40f48b:	33 c0                	xor    %eax,%eax
40f48d:	c2 04 00             	ret    $0x4
40f490:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f495:	c2 08 00             	ret    $0x8
40f498:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f49d:	c2 08 00             	ret    $0x8
40f4a0:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f4a5:	c2 0c 00             	ret    $0xc
40f4a8:	33 c0                	xor    %eax,%eax
40f4aa:	c2 08 00             	ret    $0x8
40f4ad:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f4b2:	c2 04 00             	ret    $0x4
40f4b5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40f4b9:	81 c1 30 ff ff ff    	add    $0xffffff30,%ecx
40f4bf:	e8 7b 4a 06 00       	call   0x473f3f
40f4c4:	c2 04 00             	ret    $0x4
40f4c7:	ff 74 24 0c          	push   0xc(%esp)
40f4cb:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40f4cf:	ff 74 24 0c          	push   0xc(%esp)
40f4d3:	81 c1 30 ff ff ff    	add    $0xffffff30,%ecx
40f4d9:	e8 1e 4c 06 00       	call   0x4740fc
40f4de:	c2 0c 00             	ret    $0xc
40f4e1:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f4e6:	c2 08 00             	ret    $0x8
40f4e9:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f4ee:	c2 10 00             	ret    $0x10
40f4f1:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f4f6:	c2 18 00             	ret    $0x18
40f4f9:	8b 44 24 04          	mov    0x4(%esp),%eax
40f4fd:	ff 74 24 1c          	push   0x1c(%esp)
40f501:	8b 88 4c ff ff ff    	mov    -0xb4(%eax),%ecx
40f507:	ff 74 24 0c          	push   0xc(%esp)
40f50b:	8b 49 1c             	mov    0x1c(%ecx),%ecx
40f50e:	8b 11                	mov    (%ecx),%edx
40f510:	05 30 ff ff ff       	add    $0xffffff30,%eax
40f515:	50                   	push   %eax
40f516:	ff 92 04 01 00 00    	call   *0x104(%edx)
40f51c:	f7 d8                	neg    %eax
40f51e:	1b c0                	sbb    %eax,%eax
40f520:	25 fd ff fd 7f       	and    $0x7ffdfffd,%eax
40f525:	05 03 00 02 80       	add    $0x80020003,%eax
40f52a:	c2 24 00             	ret    $0x24
40f52d:	68 1c 5d 49 00       	push   $0x495d1c
40f532:	ff 74 24 0c          	push   0xc(%esp)
40f536:	e8 7c 80 ff ff       	call   0x4075b7
40f53b:	85 c0                	test   %eax,%eax
40f53d:	59                   	pop    %ecx
40f53e:	59                   	pop    %ecx
40f53f:	75 1b                	jne    0x40f55c
40f541:	68 4c 64 49 00       	push   $0x49644c
40f546:	ff 74 24 0c          	push   0xc(%esp)
40f54a:	e8 68 80 ff ff       	call   0x4075b7
40f54f:	85 c0                	test   %eax,%eax
40f551:	59                   	pop    %ecx
40f552:	59                   	pop    %ecx
40f553:	75 07                	jne    0x40f55c
40f555:	b8 02 40 00 80       	mov    $0x80004002,%eax
40f55a:	eb 12                	jmp    0x40f56e
40f55c:	8b 44 24 04          	mov    0x4(%esp),%eax
40f560:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40f564:	89 01                	mov    %eax,(%ecx)
40f566:	8b 08                	mov    (%eax),%ecx
40f568:	50                   	push   %eax
40f569:	ff 51 04             	call   *0x4(%ecx)
40f56c:	33 c0                	xor    %eax,%eax
40f56e:	c2 0c 00             	ret    $0xc
40f571:	33 c0                	xor    %eax,%eax
40f573:	40                   	inc    %eax
40f574:	c2 04 00             	ret    $0x4
40f577:	33 c0                	xor    %eax,%eax
40f579:	c2 04 00             	ret    $0x4
40f57c:	33 c0                	xor    %eax,%eax
40f57e:	40                   	inc    %eax
40f57f:	c2 04 00             	ret    $0x4
40f582:	33 c0                	xor    %eax,%eax
40f584:	c2 04 00             	ret    $0x4
40f587:	55                   	push   %ebp
40f588:	8b ec                	mov    %esp,%ebp
40f58a:	56                   	push   %esi
40f58b:	68 1c 5d 49 00       	push   $0x495d1c
40f590:	ff 75 0c             	push   0xc(%ebp)
40f593:	e8 1f 80 ff ff       	call   0x4075b7
40f598:	85 c0                	test   %eax,%eax
40f59a:	8b 75 08             	mov    0x8(%ebp),%esi
40f59d:	59                   	pop    %ecx
40f59e:	59                   	pop    %ecx
40f59f:	75 2f                	jne    0x40f5d0
40f5a1:	68 0c 4e 49 00       	push   $0x494e0c
40f5a6:	ff 75 0c             	push   0xc(%ebp)
40f5a9:	e8 09 80 ff ff       	call   0x4075b7
40f5ae:	85 c0                	test   %eax,%eax
40f5b0:	59                   	pop    %ecx
40f5b1:	59                   	pop    %ecx
40f5b2:	75 1c                	jne    0x40f5d0
40f5b4:	8d 86 64 ff ff ff    	lea    -0x9c(%esi),%eax
40f5ba:	50                   	push   %eax
40f5bb:	ff 75 0c             	push   0xc(%ebp)
40f5be:	e8 f4 7f ff ff       	call   0x4075b7
40f5c3:	85 c0                	test   %eax,%eax
40f5c5:	59                   	pop    %ecx
40f5c6:	59                   	pop    %ecx
40f5c7:	75 07                	jne    0x40f5d0
40f5c9:	b8 02 40 00 80       	mov    $0x80004002,%eax
40f5ce:	eb 0d                	jmp    0x40f5dd
40f5d0:	8b 45 10             	mov    0x10(%ebp),%eax
40f5d3:	89 30                	mov    %esi,(%eax)
40f5d5:	8b 06                	mov    (%esi),%eax
40f5d7:	56                   	push   %esi
40f5d8:	ff 50 04             	call   *0x4(%eax)
40f5db:	33 c0                	xor    %eax,%eax
40f5dd:	5e                   	pop    %esi
40f5de:	5d                   	pop    %ebp
40f5df:	c2 0c 00             	ret    $0xc
40f5e2:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f5e7:	c2 08 00             	ret    $0x8
40f5ea:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f5ef:	c2 10 00             	ret    $0x10
40f5f2:	b8 01 40 00 80       	mov    $0x80004001,%eax
40f5f7:	c2 18 00             	ret    $0x18
40f5fa:	8b 44 24 04          	mov    0x4(%esp),%eax
40f5fe:	56                   	push   %esi
40f5ff:	8b f1                	mov    %ecx,%esi
40f601:	57                   	push   %edi
40f602:	33 ff                	xor    %edi,%edi
40f604:	6a 0a                	push   $0xa
40f606:	8d 4e 18             	lea    0x18(%esi),%ecx
40f609:	c7 06 9c c5 48 00    	movl   $0x48c59c,(%esi)
40f60f:	89 46 04             	mov    %eax,0x4(%esi)
40f612:	89 7e 08             	mov    %edi,0x8(%esi)
40f615:	89 7e 0c             	mov    %edi,0xc(%esi)
40f618:	89 7e 10             	mov    %edi,0x10(%esi)
40f61b:	89 7e 14             	mov    %edi,0x14(%esi)
40f61e:	e8 60 d0 02 00       	call   0x43c683
40f623:	89 7e 34             	mov    %edi,0x34(%esi)
40f626:	89 7e 38             	mov    %edi,0x38(%esi)
40f629:	89 7e 3c             	mov    %edi,0x3c(%esi)
40f62c:	89 7e 40             	mov    %edi,0x40(%esi)
40f62f:	89 7e 44             	mov    %edi,0x44(%esi)
40f632:	89 7e 48             	mov    %edi,0x48(%esi)
40f635:	89 7e 4c             	mov    %edi,0x4c(%esi)
40f638:	89 7e 50             	mov    %edi,0x50(%esi)
40f63b:	89 7e 54             	mov    %edi,0x54(%esi)
40f63e:	89 7e 58             	mov    %edi,0x58(%esi)
40f641:	5f                   	pop    %edi
40f642:	8b c6                	mov    %esi,%eax
40f644:	5e                   	pop    %esi
40f645:	c2 04 00             	ret    $0x4
40f648:	55                   	push   %ebp