40f045:	5e                   	pop    %esi
40f046:	c2 04 00             	ret    $0x4
40f049:	b8 42 36 48 00       	mov    $0x483642,%eax
40f04e:	e8 29 8c 00 00       	call   0x417c7c
40f053:	83 ec 0c             	sub    $0xc,%esp
40f056:	8b 01                	mov    (%ecx),%eax
40f058:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40f05c:	53                   	push   %ebx
40f05d:	56                   	push   %esi
40f05e:	57                   	push   %edi
40f05f:	89 65 f0             	mov    %esp,-0x10(%ebp)
40f062:	ff 75 08             	push   0x8(%ebp)
40f065:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40f068:	6a 08                	push   $0x8
40f06a:	68 fa fd ff ff       	push   $0xfffffdfa
40f06f:	ff 50 6c             	call   *0x6c(%eax)
40f072:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f075:	5f                   	pop    %edi
40f076:	5e                   	pop    %esi
40f077:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f07e:	5b                   	pop    %ebx
40f07f:	c9                   	leave
40f080:	c2 04 00             	ret    $0x4
40f083:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40f086:	89 65 f0             	mov    %esp,-0x10(%ebp)
40f089:	e8 8b 0e 03 00       	call   0x43ff19
40f08e:	ff 75 08             	push   0x8(%ebp)
40f091:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40f094:	8b 01                	mov    (%ecx),%eax
40f096:	6a 08                	push   $0x8
40f098:	68 fb fd ff ff       	push   $0xfffffdfb
40f09d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40f0a1:	ff 50 6c             	call   *0x6c(%eax)
40f0a4:	b8 72 f0 40 00       	mov    $0x40f072,%eax
40f0a9:	c3                   	ret
40f0aa:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40f0ad:	e8 67 0e 03 00       	call   0x43ff19
40f0b2:	b8 a4 f0 40 00       	mov    $0x40f0a4,%eax
40f0b7:	c3                   	ret
40f0b8:	8b 41 28             	mov    0x28(%ecx),%eax
40f0bb:	c3                   	ret
40f0bc:	8b 54 24 04          	mov    0x4(%esp),%edx
40f0c0:	8b 41 28             	mov    0x28(%ecx),%eax
40f0c3:	89 51 28             	mov    %edx,0x28(%ecx)
40f0c6:	c2 04 00             	ret    $0x4
40f0c9:	55                   	push   %ebp
40f0ca:	8b ec                	mov    %esp,%ebp
40f0cc:	83 ec 14             	sub    $0x14,%esp
40f0cf:	8b 45 14             	mov    0x14(%ebp),%eax
40f0d2:	53                   	push   %ebx
40f0d3:	56                   	push   %esi
40f0d4:	57                   	push   %edi
40f0d5:	8d 59 2c             	lea    0x2c(%ecx),%ebx
40f0d8:	8b f3                	mov    %ebx,%esi
40f0da:	8d 7d ec             	lea    -0x14(%ebp),%edi
40f0dd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f0de:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f0df:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f0e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f0e1:	8b 7d 0c             	mov    0xc(%ebp),%edi
40f0e4:	8b 35 1c 06 4b 00    	mov    0x4b061c,%esi
40f0ea:	03 c7                	add    %edi,%eax
40f0ec:	50                   	push   %eax
40f0ed:	8b 45 08             	mov    0x8(%ebp),%eax
40f0f0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f0f3:	8b 4d 10             	mov    0x10(%ebp),%ecx
40f0f6:	03 c8                	add    %eax,%ecx
40f0f8:	51                   	push   %ecx
40f0f9:	57                   	push   %edi
40f0fa:	50                   	push   %eax
40f0fb:	53                   	push   %ebx
40f0fc:	ff d6                	call   *%esi
40f0fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f101:	e8 ba f4 ff ff       	call   0x40e5c0
40f106:	85 c0                	test   %eax,%eax
40f108:	74 29                	je     0x40f133
40f10a:	8b 43 0c             	mov    0xc(%ebx),%eax
40f10d:	2b 43 04             	sub    0x4(%ebx),%eax
40f110:	03 c7                	add    %edi,%eax
40f112:	50                   	push   %eax
40f113:	8b 43 08             	mov    0x8(%ebx),%eax
40f116:	2b 03                	sub    (%ebx),%eax
40f118:	03 45 08             	add    0x8(%ebp),%eax
40f11b:	50                   	push   %eax
40f11c:	57                   	push   %edi
40f11d:	ff 75 08             	push   0x8(%ebp)
40f120:	53                   	push   %ebx
40f121:	ff d6                	call   *%esi
40f123:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f126:	8b 40 50             	mov    0x50(%eax),%eax
40f129:	8b 08                	mov    (%eax),%ecx
40f12b:	53                   	push   %ebx
40f12c:	53                   	push   %ebx
40f12d:	50                   	push   %eax
40f12e:	ff 51 1c             	call   *0x1c(%ecx)
40f131:	eb 09                	jmp    0x40f13c
40f133:	8d 75 ec             	lea    -0x14(%ebp),%esi
40f136:	8b fb                	mov    %ebx,%edi
40f138:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f139:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f13a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f13b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f13c:	5f                   	pop    %edi
40f13d:	5e                   	pop    %esi
40f13e:	5b                   	pop    %ebx
40f13f:	c9                   	leave
40f140:	c2 10 00             	ret    $0x10
40f143:	56                   	push   %esi
40f144:	57                   	push   %edi
40f145:	8b f1                	mov    %ecx,%esi
40f147:	ff 76 20             	push   0x20(%esi)
40f14a:	ff 15 a0 07 4b 00    	call   *0x4b07a0
40f150:	8b f8                	mov    %eax,%edi
40f152:	8b 44 24 0c          	mov    0xc(%esp),%eax
40f156:	85 c0                	test   %eax,%eax
40f158:	74 14                	je     0x40f16e
40f15a:	83 f8 01             	cmp    $0x1,%eax
40f15d:	74 0a                	je     0x40f169
40f15f:	83 f8 03             	cmp    $0x3,%eax
40f162:	7e 17                	jle    0x40f17b
40f164:	83 f8 05             	cmp    $0x5,%eax
40f167:	7f 12                	jg     0x40f17b
40f169:	83 c8 ff             	or     $0xffffffff,%eax
40f16c:	eb 03                	jmp    0x40f171
40f16e:	6a fd                	push   $0xfffffffd
40f170:	58                   	pop    %eax
40f171:	8b 16                	mov    (%esi),%edx
40f173:	6a 00                	push   $0x0
40f175:	50                   	push   %eax
40f176:	8b ce                	mov    %esi,%ecx
40f178:	ff 52 5c             	call   *0x5c(%edx)
40f17b:	8b c7                	mov    %edi,%eax
40f17d:	5f                   	pop    %edi
40f17e:	5e                   	pop    %esi
40f17f:	c2 04 00             	ret    $0x4
40f182:	b8 4c 36 48 00       	mov    $0x48364c,%eax
40f187:	e8 f0 8a 00 00       	call   0x417c7c
40f18c:	83 ec 0c             	sub    $0xc,%esp
40f18f:	8b 01                	mov    (%ecx),%eax
40f191:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40f195:	53                   	push   %ebx
40f196:	56                   	push   %esi
40f197:	57                   	push   %edi
40f198:	89 65 f0             	mov    %esp,-0x10(%ebp)
40f19b:	8d 55 ec             	lea    -0x14(%ebp),%edx
40f19e:	52                   	push   %edx
40f19f:	6a 0b                	push   $0xb
40f1a1:	68 fe fd ff ff       	push   $0xfffffdfe
40f1a6:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
40f1ad:	ff 50 6c             	call   *0x6c(%eax)
40f1b0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f1b3:	8b 45 ec             	mov    -0x14(%ebp),%eax
40f1b6:	5f                   	pop    %edi
40f1b7:	5e                   	pop    %esi
40f1b8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f1bf:	5b                   	pop    %ebx
40f1c0:	c9                   	leave
40f1c1:	c3                   	ret
40f1c2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40f1c5:	e8 4f 0d 03 00       	call   0x43ff19
40f1ca:	b8 b0 f1 40 00       	mov    $0x40f1b0,%eax
40f1cf:	c3                   	ret
40f1d0:	b8 56 36 48 00       	mov    $0x483656,%eax
40f1d5:	e8 a2 8a 00 00       	call   0x417c7c
40f1da:	83 ec 0c             	sub    $0xc,%esp
40f1dd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40f1e1:	53                   	push   %ebx
40f1e2:	56                   	push   %esi
40f1e3:	57                   	push   %edi
40f1e4:	8b f1                	mov    %ecx,%esi
40f1e6:	8b 06                	mov    (%esi),%eax
40f1e8:	89 65 f0             	mov    %esp,-0x10(%ebp)
40f1eb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40f1ee:	51                   	push   %ecx
40f1ef:	6a 0b                	push   $0xb
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