40f146:	5e                   	pop    %esi
40f147:	5b                   	pop    %ebx
40f148:	8b e5                	mov    %ebp,%esp
40f14a:	5d                   	pop    %ebp
40f14b:	c3                   	ret
40f14c:	cc                   	int3
40f14d:	cc                   	int3
40f14e:	cc                   	int3
40f14f:	cc                   	int3
40f150:	8b ff                	mov    %edi,%edi
40f152:	55                   	push   %ebp
40f153:	8b ec                	mov    %esp,%ebp
40f155:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f158:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40f15d:	66 39 01             	cmp    %ax,(%ecx)
40f160:	75 1f                	jne    0x40f181
40f162:	8b 41 3c             	mov    0x3c(%ecx),%eax
40f165:	03 c1                	add    %ecx,%eax
40f167:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
40f16d:	75 12                	jne    0x40f181
40f16f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
40f174:	66 39 48 18          	cmp    %cx,0x18(%eax)
40f178:	75 07                	jne    0x40f181
40f17a:	b8 01 00 00 00       	mov    $0x1,%eax
40f17f:	5d                   	pop    %ebp
40f180:	c3                   	ret
40f181:	33 c0                	xor    %eax,%eax
40f183:	5d                   	pop    %ebp
40f184:	c3                   	ret
40f185:	8b ff                	mov    %edi,%edi
40f187:	55                   	push   %ebp
40f188:	8b ec                	mov    %esp,%ebp
40f18a:	83 ec 14             	sub    $0x14,%esp
40f18d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40f191:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40f195:	a1 44 10 41 00       	mov    0x411044,%eax
40f19a:	56                   	push   %esi
40f19b:	57                   	push   %edi
40f19c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
40f1a1:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40f1a6:	3b c7                	cmp    %edi,%eax
40f1a8:	74 04                	je     0x40f1ae
40f1aa:	85 c6                	test   %eax,%esi
40f1ac:	75 64                	jne    0x40f212
40f1ae:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f1b1:	50                   	push   %eax
40f1b2:	ff 15 e4 20 41 00    	call   *0x4120e4
40f1b8:	8b 45 f8             	mov    -0x8(%ebp),%eax
40f1bb:	33 45 f4             	xor    -0xc(%ebp),%eax
40f1be:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f1c1:	ff 15 d8 20 41 00    	call   *0x4120d8
40f1c7:	31 45 fc             	xor    %eax,-0x4(%ebp)
40f1ca:	ff 15 50 20 41 00    	call   *0x412050
40f1d0:	31 45 fc             	xor    %eax,-0x4(%ebp)
40f1d3:	ff 15 fc 20 41 00    	call   *0x4120fc
40f1d9:	33 45 fc             	xor    -0x4(%ebp),%eax
40f1dc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40f1df:	33 c1                	xor    %ecx,%eax
40f1e1:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f1e4:	8d 45 ec             	lea    -0x14(%ebp),%eax
40f1e7:	50                   	push   %eax
40f1e8:	ff 15 6c 20 41 00    	call   *0x41206c
40f1ee:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f1f1:	33 45 ec             	xor    -0x14(%ebp),%eax
40f1f4:	33 45 fc             	xor    -0x4(%ebp),%eax
40f1f7:	8b c8                	mov    %eax,%ecx
40f1f9:	3b c7                	cmp    %edi,%eax
40f1fb:	74 08                	je     0x40f205
40f1fd:	85 35 44 10 41 00    	test   %esi,0x411044
40f203:	75 07                	jne    0x40f20c
40f205:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
40f20a:	8b c8                	mov    %eax,%ecx
40f20c:	89 0d 44 10 41 00    	mov    %ecx,0x411044
40f212:	f7 d0                	not    %eax
40f214:	5f                   	pop    %edi
40f215:	a3 48 10 41 00       	mov    %eax,0x411048
40f21a:	5e                   	pop    %esi
40f21b:	c9                   	leave
40f21c:	c3                   	ret
40f21d:	68 00 00 03 00       	push   $0x30000
40f222:	68 00 00 01 00       	push   $0x10000
40f227:	ff 15 78 22 41 00    	call   *0x412278
40f22d:	59                   	pop    %ecx
40f22e:	59                   	pop    %ecx
40f22f:	c3                   	ret
40f230:	ff 25 84 22 41 00    	jmp    *0x412284
40f236:	cc                   	int3
40f237:	cc                   	int3
40f238:	68 a0 f2 40 00       	push   $0x40f2a0
40f23d:	64 ff 35 00 00 00 00 	push   %fs:0x0
40f244:	8b 44 24 10          	mov    0x10(%esp),%eax
40f248:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40f24c:	8d 6c 24 10          	lea    0x10(%esp),%ebp
40f250:	2b e0                	sub    %eax,%esp
40f252:	53                   	push   %ebx
40f253:	56                   	push   %esi
40f254:	57                   	push   %edi
40f255:	a1 44 10 41 00       	mov    0x411044,%eax
40f25a:	31 45 fc             	xor    %eax,-0x4(%ebp)
40f25d:	33 c5                	xor    %ebp,%eax
40f25f:	50                   	push   %eax
40f260:	89 65 e8             	mov    %esp,-0x18(%ebp)
40f263:	ff 75 f8             	push   -0x8(%ebp)
40f266:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f269:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40f270:	89 45 f8             	mov    %eax,-0x8(%ebp)
40f273:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f276:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f27c:	c3                   	ret
40f27d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f280:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f287:	59                   	pop    %ecx
40f288:	5f                   	pop    %edi
40f289:	5f                   	pop    %edi
40f28a:	5e                   	pop    %esi
40f28b:	5b                   	pop    %ebx
40f28c:	8b e5                	mov    %ebp,%esp
40f28e:	5d                   	pop    %ebp
40f28f:	51                   	push   %ecx
40f290:	c3                   	ret
40f291:	cc                   	int3
40f292:	cc                   	int3
40f293:	cc                   	int3
40f294:	cc                   	int3
40f295:	cc                   	int3
40f296:	cc                   	int3
40f297:	cc                   	int3
40f298:	cc                   	int3
40f299:	cc                   	int3
40f29a:	cc                   	int3
40f29b:	cc                   	int3
40f29c:	cc                   	int3
40f29d:	cc                   	int3
40f29e:	cc                   	int3
40f29f:	cc                   	int3
40f2a0:	8b ff                	mov    %edi,%edi
40f2a2:	55                   	push   %ebp
40f2a3:	8b ec                	mov    %esp,%ebp
40f2a5:	ff 75 14             	push   0x14(%ebp)
40f2a8:	ff 75 10             	push   0x10(%ebp)
40f2ab:	ff 75 0c             	push   0xc(%ebp)
40f2ae:	ff 75 08             	push   0x8(%ebp)
40f2b1:	68 d0 ec 40 00       	push   $0x40ecd0
40f2b6:	68 44 10 41 00       	push   $0x411044
40f2bb:	e8 13 00 00 00       	call   0x40f2d3
40f2c0:	83 c4 18             	add    $0x18,%esp
40f2c3:	5d                   	pop    %ebp
40f2c4:	c3                   	ret
40f2c5:	cc                   	int3
40f2c6:	cc                   	int3
40f2c7:	cc                   	int3
40f2c8:	cc                   	int3
40f2c9:	cc                   	int3
40f2ca:	cc                   	int3
40f2cb:	cc                   	int3
40f2cc:	cc                   	int3
40f2cd:	cc                   	int3
40f2ce:	cc                   	int3
40f2cf:	cc                   	int3
40f2d0:	c2 00 00             	ret    $0x0
40f2d3:	ff 25 74 22 41 00    	jmp    *0x412274
40f2d9:	8b ff                	mov    %edi,%edi
40f2db:	55                   	push   %ebp
40f2dc:	8b ec                	mov    %esp,%ebp
40f2de:	e8 0a 00 00 00       	call   0x40f2ed
40f2e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f2e6:	c1 e1 05             	shl    $0x5,%ecx
40f2e9:	03 c1                	add    %ecx,%eax
40f2eb:	5d                   	pop    %ebp
40f2ec:	c3                   	ret
40f2ed:	ff 25 d0 22 41 00    	jmp    *0x4122d0
40f2f3:	ff 25 50 22 41 00    	jmp    *0x412250
40f2f9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f2fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f303:	59                   	pop    %ecx
40f304:	5f                   	pop    %edi
40f305:	5f                   	pop    %edi
40f306:	5e                   	pop    %esi
40f307:	5b                   	pop    %ebx
40f308:	8b e5                	mov    %ebp,%esp
40f30a:	5d                   	pop    %ebp
40f30b:	51                   	push   %ecx
40f30c:	c3                   	ret
40f30d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40f310:	33 cd                	xor    %ebp,%ecx
40f312:	e8 b9 f9 ff ff       	call   0x40ecd0
40f317:	e9 dd ff ff ff       	jmp    0x40f2f9
40f31c:	50                   	push   %eax
40f31d:	64 ff 35 00 00 00 00 	push   %fs:0x0
40f324:	8d 44 24 0c          	lea    0xc(%esp),%eax
40f328:	2b 64 24 0c          	sub    0xc(%esp),%esp
40f32c:	53                   	push   %ebx
40f32d:	56                   	push   %esi
40f32e:	57                   	push   %edi
40f32f:	89 28                	mov    %ebp,(%eax)
40f331:	8b e8                	mov    %eax,%ebp
40f333:	a1 44 10 41 00       	mov    0x411044,%eax
40f338:	33 c5                	xor    %ebp,%eax
40f33a:	50                   	push   %eax
40f33b:	ff 75 fc             	push   -0x4(%ebp)
40f33e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40f345:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f348:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f34e:	c3                   	ret
40f34f:	50                   	push   %eax
40f350:	64 ff 35 00 00 00 00 	push   %fs:0x0
40f357:	8d 44 24 0c          	lea    0xc(%esp),%eax
40f35b:	2b 64 24 0c          	sub    0xc(%esp),%esp
40f35f:	53                   	push   %ebx
40f360:	56                   	push   %esi
40f361:	57                   	push   %edi
40f362:	89 28                	mov    %ebp,(%eax)
40f364:	8b e8                	mov    %eax,%ebp
40f366:	a1 44 10 41 00       	mov    0x411044,%eax
40f36b:	33 c5                	xor    %ebp,%eax
40f36d:	50                   	push   %eax
40f36e:	89 65 f0             	mov    %esp,-0x10(%ebp)
40f371:	ff 75 fc             	push   -0x4(%ebp)
40f374:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40f37b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f37e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f384:	c3                   	ret
40f385:	50                   	push   %eax
40f386:	64 ff 35 00 00 00 00 	push   %fs:0x0
40f38d:	8d 44 24 0c          	lea    0xc(%esp),%eax
40f391:	2b 64 24 0c          	sub    0xc(%esp),%esp
40f395:	53                   	push   %ebx
40f396:	56                   	push   %esi
40f397:	57                   	push   %edi
40f398:	89 28                	mov    %ebp,(%eax)
40f39a:	8b e8                	mov    %eax,%ebp
40f39c:	a1 44 10 41 00       	mov    0x411044,%eax
40f3a1:	33 c5                	xor    %ebp,%eax
40f3a3:	50                   	push   %eax
40f3a4:	89 45 ec             	mov    %eax,-0x14(%ebp)
40f3a7:	89 65 f0             	mov    %esp,-0x10(%ebp)
40f3aa:	ff 75 fc             	push   -0x4(%ebp)
40f3ad:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40f3b4:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f3b7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f3bd:	c3                   	ret
40f3be:	ff 25 4c 22 41 00    	jmp    *0x41224c
40f3c4:	ff 25 ec 22 41 00    	jmp    *0x4122ec
40f3ca:	cc                   	int3
40f3cb:	cc                   	int3
40f3cc:	cc                   	int3
40f3cd:	cc                   	int3
40f3ce:	cc                   	int3
40f3cf:	cc                   	int3
40f3d0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f3d3:	83 c1 28             	add    $0x28,%ecx
40f3d6:	ff 25 30 22 41 00    	jmp    *0x412230
40f3dc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f3df:	83 c1 2c             	add    $0x2c,%ecx
40f3e2:	ff 25 30 22 41 00    	jmp    *0x412230
40f3e8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f3eb:	83 c1 30             	add    $0x30,%ecx
40f3ee:	ff 25 30 22 41 00    	jmp    *0x412230
40f3f4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f3f7:	83 c1 34             	add    $0x34,%ecx
40f3fa:	ff 25 30 22 41 00    	jmp    *0x412230
40f400:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f403:	83 c1 60             	add    $0x60,%ecx
40f406:	ff 25 30 22 41 00    	jmp    *0x412230
40f40c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f40f:	83 c1 68             	add    $0x68,%ecx
40f412:	ff 25 30 22 41 00    	jmp    *0x412230
40f418:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f41b:	83 c1 6c             	add    $0x6c,%ecx
40f41e:	ff 25 30 22 41 00    	jmp    *0x412230
40f424:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f427:	83 c1 78             	add    $0x78,%ecx
40f42a:	ff 25 30 22 41 00    	jmp    *0x412230
40f430:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f433:	83 c1 7c             	add    $0x7c,%ecx
40f436:	ff 25 30 22 41 00    	jmp    *0x412230
40f43c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f43f:	81 c1 88 00 00 00    	add    $0x88,%ecx
40f445:	ff 25 30 22 41 00    	jmp    *0x412230
40f44b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f44e:	81 c1 8c 00 00 00    	add    $0x8c,%ecx
40f454:	ff 25 30 22 41 00    	jmp    *0x412230
40f45a:	8b 54 24 08          	mov    0x8(%esp),%edx
40f45e:	8d 42 0c             	lea    0xc(%edx),%eax
40f461:	8b 4a ec             	mov    -0x14(%edx),%ecx
40f464:	33 c8                	xor    %eax,%ecx
40f466:	e8 65 f8 ff ff       	call   0x40ecd0
40f46b:	b8 80 fc 40 00       	mov    $0x40fc80,%eax
40f470:	e9 55 f8 ff ff       	jmp    0x40ecca
40f475:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f478:	83 c1 28             	add    $0x28,%ecx
40f47b:	ff 25 30 22 41 00    	jmp    *0x412230
40f481:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f484:	83 c1 2c             	add    $0x2c,%ecx
40f487:	ff 25 30 22 41 00    	jmp    *0x412230
40f48d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f490:	83 c1 30             	add    $0x30,%ecx
40f493:	ff 25 30 22 41 00    	jmp    *0x412230
40f499:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f49c:	83 c1 34             	add    $0x34,%ecx
40f49f:	ff 25 30 22 41 00    	jmp    *0x412230
40f4a5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f4a8:	83 c1 60             	add    $0x60,%ecx
40f4ab:	ff 25 30 22 41 00    	jmp    *0x412230
40f4b1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f4b4:	83 c1 68             	add    $0x68,%ecx
40f4b7:	ff 25 30 22 41 00    	jmp    *0x412230
40f4bd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f4c0:	83 c1 6c             	add    $0x6c,%ecx
40f4c3:	ff 25 30 22 41 00    	jmp    *0x412230
40f4c9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f4cc:	83 c1 78             	add    $0x78,%ecx
40f4cf:	ff 25 30 22 41 00    	jmp    *0x412230
40f4d5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f4d8:	83 c1 7c             	add    $0x7c,%ecx
40f4db:	ff 25 30 22 41 00    	jmp    *0x412230
40f4e1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f4e4:	81 c1 88 00 00 00    	add    $0x88,%ecx
40f4ea:	ff 25 30 22 41 00    	jmp    *0x412230
40f4f0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f4f3:	81 c1 8c 00 00 00    	add    $0x8c,%ecx
40f4f9:	ff 25 30 22 41 00    	jmp    *0x412230
40f4ff:	8b 54 24 08          	mov    0x8(%esp),%edx
40f503:	8d 42 0c             	lea    0xc(%edx),%eax
40f506:	8b 4a ec             	mov    -0x14(%edx),%ecx
40f509:	33 c8                	xor    %eax,%ecx
40f50b:	e8 c0 f7 ff ff       	call   0x40ecd0
40f510:	b8 00 fd 40 00       	mov    $0x40fd00,%eax
40f515:	e9 b0 f7 ff ff       	jmp    0x40ecca
40f51a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40f51d:	ff 25 30 22 41 00    	jmp    *0x412230
40f523:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40f526:	ff 25 30 22 41 00    	jmp    *0x412230
40f52c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40f52f:	ff 25 30 22 41 00    	jmp    *0x412230
40f535:	8b 54 24 08          	mov    0x8(%esp),%edx
40f539:	8d 42 0c             	lea    0xc(%edx),%eax
40f53c:	8b 4a a0             	mov    -0x60(%edx),%ecx
40f53f:	33 c8                	xor    %eax,%ecx
40f541:	e8 8a f7 ff ff       	call   0x40ecd0
40f546:	b8 80 fd 40 00       	mov    $0x40fd80,%eax
40f54b:	e9 7a f7 ff ff       	jmp    0x40ecca
40f550:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
40f556:	ff 25 30 22 41 00    	jmp    *0x412230
40f55c:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
40f562:	83 e0 01             	and    $0x1,%eax
40f565:	0f 84 13 00 00 00    	je     0x40f57e
40f56b:	83 a5 54 ff ff ff fe 	andl   $0xfffffffe,-0xac(%ebp)
40f572:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40f578:	ff 25 30 22 41 00    	jmp    *0x412230