46f211:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f214:	50                   	push   %eax
46f215:	e8 21 fa ff ff       	call   0x46ec3b
46f21a:	eb 0b                	jmp    0x46f227
46f21c:	8b 45 e8             	mov    -0x18(%ebp),%eax
46f21f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46f222:	8b 00                	mov    (%eax),%eax
46f224:	89 45 f4             	mov    %eax,-0xc(%ebp)
46f227:	8b f7                	mov    %edi,%esi
46f229:	89 7d c0             	mov    %edi,-0x40(%ebp)
46f22c:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f22f:	39 75 a0             	cmp    %esi,-0x60(%ebp)
46f232:	74 39                	je     0x46f26d
46f234:	8d 45 90             	lea    -0x70(%ebp),%eax
46f237:	57                   	push   %edi
46f238:	50                   	push   %eax
46f239:	e8 f8 3c 00 00       	call   0x472f36
46f23e:	50                   	push   %eax
46f23f:	8d 45 9c             	lea    -0x64(%ebp),%eax
46f242:	6a 20                	push   $0x20
46f244:	50                   	push   %eax
46f245:	e8 c4 f8 ff ff       	call   0x46eb0e
46f24a:	83 c4 14             	add    $0x14,%esp
46f24d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f250:	50                   	push   %eax
46f251:	e8 e5 f9 ff ff       	call   0x46ec3b
46f256:	f7 05 94 83 4c 00 00 	testl  $0x1000,0x4c8394
46f25d:	10 00 00
46f260:	74 3e                	je     0x46f2a0
46f262:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46f265:	8b 7d f0             	mov    -0x10(%ebp),%edi
46f268:	e9 5d 08 00 00       	jmp    0x46faca
46f26d:	6a 08                	push   $0x8
46f26f:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46f274:	e8 ba 2b 00 00       	call   0x471e33
46f279:	89 45 c0             	mov    %eax,-0x40(%ebp)
46f27c:	85 c0                	test   %eax,%eax
46f27e:	74 07                	je     0x46f287
46f280:	89 38                	mov    %edi,(%eax)
46f282:	89 78 04             	mov    %edi,0x4(%eax)
46f285:	eb 05                	jmp    0x46f28c
46f287:	8b c7                	mov    %edi,%eax
46f289:	89 7d c0             	mov    %edi,-0x40(%ebp)
46f28c:	50                   	push   %eax
46f28d:	8d 45 90             	lea    -0x70(%ebp),%eax
46f290:	50                   	push   %eax
46f291:	e8 a0 3c 00 00       	call   0x472f36
46f296:	59                   	pop    %ecx
46f297:	59                   	pop    %ecx
46f298:	8b 70 04             	mov    0x4(%eax),%esi
46f29b:	8b 38                	mov    (%eax),%edi
46f29d:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f2a0:	8b 45 88             	mov    -0x78(%ebp),%eax
46f2a3:	b9 00 08 00 00       	mov    $0x800,%ecx
46f2a8:	3b d9                	cmp    %ecx,%ebx
46f2aa:	74 03                	je     0x46f2af
46f2ac:	8b 45 b8             	mov    -0x48(%ebp),%eax
46f2af:	85 c0                	test   %eax,%eax
46f2b1:	0f 84 1c 01 00 00    	je     0x46f3d3
46f2b7:	3b d9                	cmp    %ecx,%ebx
46f2b9:	0f 85 c8 00 00 00    	jne    0x46f387
46f2bf:	8b 45 98             	mov    -0x68(%ebp),%eax
46f2c2:	3d 00 06 00 00       	cmp    $0x600,%eax
46f2c7:	75 72                	jne    0x46f33b
46f2c9:	8d 45 9c             	lea    -0x64(%ebp),%eax
46f2cc:	c7 45 9c 28 13 4a 00 	movl   $0x4a1328,-0x64(%ebp)
46f2d3:	50                   	push   %eax
46f2d4:	8d 4d 90             	lea    -0x70(%ebp),%ecx
46f2d7:	c7 45 a0 0c 00 00 00 	movl   $0xc,-0x60(%ebp)
46f2de:	e8 03 f5 ff ff       	call   0x46e7e6
46f2e3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
46f2e6:	51                   	push   %ecx
46f2e7:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46f2ea:	51                   	push   %ecx
46f2eb:	8b c8                	mov    %eax,%ecx
46f2ed:	e8 8b f8 ff ff       	call   0x46eb7d
46f2f2:	6a 2c                	push   $0x2c
46f2f4:	8d 45 84             	lea    -0x7c(%ebp),%eax
46f2f7:	50                   	push   %eax
46f2f8:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46f2fb:	e8 9f f8 ff ff       	call   0x46eb9f
46f300:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f303:	51                   	push   %ecx
46f304:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
46f307:	51                   	push   %ecx
46f308:	8b c8                	mov    %eax,%ecx
46f30a:	e8 6e f8 ff ff       	call   0x46eb7d
46f30f:	6a 2c                	push   $0x2c
46f311:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
46f317:	51                   	push   %ecx
46f318:	8b c8                	mov    %eax,%ecx
46f31a:	e8 80 f8 ff ff       	call   0x46eb9f
46f31f:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
46f322:	51                   	push   %ecx
46f323:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
46f329:	51                   	push   %ecx
46f32a:	8b c8                	mov    %eax,%ecx
46f32c:	e8 4c f8 ff ff       	call   0x46eb7d
46f331:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f334:	6a 2c                	push   $0x2c
46f336:	51                   	push   %ecx
46f337:	8b c8                	mov    %eax,%ecx
46f339:	eb 3c                	jmp    0x46f377
46f33b:	3d 00 05 00 00       	cmp    $0x500,%eax
46f340:	75 45                	jne    0x46f387
46f342:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f345:	c7 45 f8 38 13 4a 00 	movl   $0x4a1338,-0x8(%ebp)
46f34c:	50                   	push   %eax
46f34d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f350:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
46f357:	e8 8a f4 ff ff       	call   0x46e7e6
46f35c:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
46f35f:	51                   	push   %ecx
46f360:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f363:	51                   	push   %ecx
46f364:	8b c8                	mov    %eax,%ecx
46f366:	e8 12 f8 ff ff       	call   0x46eb7d
46f36b:	6a 2c                	push   $0x2c
46f36d:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
46f373:	50                   	push   %eax
46f374:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f377:	e8 23 f8 ff ff       	call   0x46eb9f
46f37c:	50                   	push   %eax
46f37d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f380:	e8 b6 f8 ff ff       	call   0x46ec3b
46f385:	eb 1a                	jmp    0x46f3a1
46f387:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f38a:	c7 45 f8 44 13 4a 00 	movl   $0x4a1344,-0x8(%ebp)
46f391:	50                   	push   %eax
46f392:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f395:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
46f39c:	e8 42 f8 ff ff       	call   0x46ebe3
46f3a1:	8b 45 8c             	mov    -0x74(%ebp),%eax
46f3a4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f3a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f3aa:	8b 45 e0             	mov    -0x20(%ebp),%eax
46f3ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f3b0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46f3b3:	50                   	push   %eax
46f3b4:	c7 45 c4 20 13 4a 00 	movl   $0x4a1320,-0x3c(%ebp)
46f3bb:	c7 45 c8 03 00 00 00 	movl   $0x3,-0x38(%ebp)
46f3c2:	e8 1c f8 ff ff       	call   0x46ebe3
46f3c7:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f3ca:	50                   	push   %eax
46f3cb:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f3ce:	e8 68 f8 ff ff       	call   0x46ec3b
46f3d3:	83 3d a4 83 4c 00 01 	cmpl   $0x1,0x4c83a4
46f3da:	75 11                	jne    0x46f3ed
46f3dc:	83 3d a0 83 4c 00 00 	cmpl   $0x0,0x4c83a0
46f3e3:	75 08                	jne    0x46f3ed
46f3e5:	8b 45 cc             	mov    -0x34(%ebp),%eax
46f3e8:	a3 a0 83 4c 00       	mov    %eax,0x4c83a0
46f3ed:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f3f0:	50                   	push   %eax
46f3f1:	e8 eb 08 00 00       	call   0x46fce1
46f3f6:	50                   	push   %eax
46f3f7:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
46f3fd:	6a 28                	push   $0x28
46f3ff:	50                   	push   %eax
46f400:	e8 09 f7 ff ff       	call   0x46eb0e
46f405:	83 c4 10             	add    $0x10,%esp
46f408:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
46f40e:	6a 29                	push   $0x29
46f410:	51                   	push   %ecx
46f411:	8b c8                	mov    %eax,%ecx
46f413:	e8 87 f7 ff ff       	call   0x46eb9f
46f418:	50                   	push   %eax
46f419:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f41c:	e8 1a f8 ff ff       	call   0x46ec3b
46f421:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f427:	75 15                	jne    0x46f43e
46f429:	81 7d 98 00 02 00 00 	cmpl   $0x200,-0x68(%ebp)
46f430:	74 0c                	je     0x46f43e
46f432:	8d 45 ac             	lea    -0x54(%ebp),%eax
46f435:	50                   	push   %eax
46f436:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f439:	e8 fd f7 ff ff       	call   0x46ec3b
46f43e:	a1 94 83 4c 00       	mov    0x4c8394,%eax
46f443:	c1 e8 13             	shr    $0x13,%eax
46f446:	f7 d0                	not    %eax
46f448:	a8 01                	test   $0x1,%al
46f44a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f44d:	50                   	push   %eax
46f44e:	74 11                	je     0x46f461
46f450:	e8 bc 39 00 00       	call   0x472e11
46f455:	59                   	pop    %ecx
46f456:	50                   	push   %eax
46f457:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f45a:	e8 dc f7 ff ff       	call   0x46ec3b
46f45f:	eb 0f                	jmp    0x46f470
46f461:	e8 ab 39 00 00       	call   0x472e11
46f466:	59                   	pop    %ecx
46f467:	50                   	push   %eax
46f468:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f46b:	e8 f7 f8 ff ff       	call   0x46ed67
46f470:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f473:	50                   	push   %eax
46f474:	e8 44 2a 00 00       	call   0x471ebd
46f479:	59                   	pop    %ecx
46f47a:	50                   	push   %eax
46f47b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f47e:	e8 b8 f7 ff ff       	call   0x46ec3b
46f483:	a1 94 83 4c 00       	mov    0x4c8394,%eax
46f488:	c1 e8 08             	shr    $0x8,%eax
46f48b:	f7 d0                	not    %eax
46f48d:	a8 01                	test   $0x1,%al
46f48f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f492:	50                   	push   %eax
46f493:	74 11                	je     0x46f4a6
46f495:	e8 d3 4a 00 00       	call   0x473f6d
46f49a:	59                   	pop    %ecx
46f49b:	50                   	push   %eax
46f49c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f49f:	e8 97 f7 ff ff       	call   0x46ec3b
46f4a4:	eb 0f                	jmp    0x46f4b5
46f4a6:	e8 c2 4a 00 00       	call   0x473f6d
46f4ab:	59                   	pop    %ecx
46f4ac:	50                   	push   %eax
46f4ad:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f4b0:	e8 b2 f8 ff ff       	call   0x46ed67
46f4b5:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f4b8:	50                   	push   %eax
46f4b9:	e8 be 1e 00 00       	call   0x47137c
46f4be:	59                   	pop    %ecx
46f4bf:	50                   	push   %eax
46f4c0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f4c3:	e8 9f f8 ff ff       	call   0x46ed67
46f4c8:	a1 94 83 4c 00       	mov    0x4c8394,%eax
46f4cd:	c1 e8 02             	shr    $0x2,%eax
46f4d0:	f7 d0                	not    %eax
46f4d2:	a8 01                	test   $0x1,%al
46f4d4:	74 1a                	je     0x46f4f0
46f4d6:	8b 4d c0             	mov    -0x40(%ebp),%ecx
46f4d9:	85 c9                	test   %ecx,%ecx
46f4db:	74 13                	je     0x46f4f0
46f4dd:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f4e0:	89 01                	mov    %eax,(%ecx)
46f4e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
46f4e5:	89 41 04             	mov    %eax,0x4(%ecx)
46f4e8:	89 7d f0             	mov    %edi,-0x10(%ebp)
46f4eb:	89 75 f4             	mov    %esi,-0xc(%ebp)
46f4ee:	eb 09                	jmp    0x46f4f9
46f4f0:	8b 75 f4             	mov    -0xc(%ebp),%esi
46f4f3:	8b 7d f0             	mov    -0x10(%ebp),%edi
46f4f6:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f4f9:	8b 55 d0             	mov    -0x30(%ebp),%edx
46f4fc:	e9 7c 02 00 00       	jmp    0x46f77d
46f501:	8b 45 0c             	mov    0xc(%ebp),%eax
46f504:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f507:	50                   	push   %eax
46f508:	e8 2e f7 ff ff       	call   0x46ec3b
46f50d:	8b 55 ec             	mov    -0x14(%ebp),%edx
46f510:	b9 00 7c 00 00       	mov    $0x7c00,%ecx
46f515:	8b c2                	mov    %edx,%eax
46f517:	23 c1                	and    %ecx,%eax
46f519:	89 45 cc             	mov    %eax,-0x34(%ebp)
46f51c:	85 f6                	test   %esi,%esi
46f51e:	75 7b                	jne    0x46f59b
46f520:	3d 00 68 00 00       	cmp    $0x6800,%eax
46f525:	74 61                	je     0x46f588
46f527:	3d 00 70 00 00       	cmp    $0x7000,%eax
46f52c:	74 5a                	je     0x46f588
46f52e:	3d 00 60 00 00       	cmp    $0x6000,%eax
46f533:	75 66                	jne    0x46f59b
46f535:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f538:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f53b:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f53e:	8b 45 f4             	mov    -0xc(%ebp),%eax
46f541:	6a 7b                	push   $0x7b
46f543:	c7 45 c4 24 13 4a 00 	movl   $0x4a1324,-0x3c(%ebp)
46f54a:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
46f551:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f554:	e8 39 f7 ff ff       	call   0x46ec92
46f559:	8d 45 ac             	lea    -0x54(%ebp),%eax
46f55c:	57                   	push   %edi
46f55d:	50                   	push   %eax
46f55e:	e8 0b 1d 00 00       	call   0x47126e
46f563:	59                   	pop    %ecx
46f564:	59                   	pop    %ecx
46f565:	8d 45 ac             	lea    -0x54(%ebp),%eax
46f568:	50                   	push   %eax
46f569:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f56c:	50                   	push   %eax
46f56d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f570:	e8 08 f6 ff ff       	call   0x46eb7d
46f575:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
46f578:	51                   	push   %ecx
46f579:	ff 75 08             	push   0x8(%ebp)
46f57c:	8b c8                	mov    %eax,%ecx
46f57e:	e8 d8 f5 ff ff       	call   0x46eb5b
46f583:	e9 ba f8 ff ff       	jmp    0x46ee42
46f588:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f58b:	50                   	push   %eax
46f58c:	ff 75 08             	push   0x8(%ebp)
46f58f:	e8 27 51 00 00       	call   0x4746bb
46f594:	59                   	pop    %ecx
46f595:	59                   	pop    %ecx
46f596:	e9 a7 f8 ff ff       	jmp    0x46ee42
46f59b:	8b c2                	mov    %edx,%eax
46f59d:	25 00 fc 00 00       	and    $0xfc00,%eax
46f5a2:	3b c1                	cmp    %ecx,%eax
46f5a4:	75 0e                	jne    0x46f5b4
46f5a6:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f5a9:	50                   	push   %eax
46f5aa:	ff 75 08             	push   0x8(%ebp)
46f5ad:	e8 a8 50 00 00       	call   0x47465a
46f5b2:	eb e0                	jmp    0x46f594
46f5b4:	8b fa                	mov    %edx,%edi
46f5b6:	8b da                	mov    %edx,%ebx
46f5b8:	81 e7 00 60 00 00    	and    $0x6000,%edi
46f5be:	81 e3 00 18 00 00    	and    $0x1800,%ebx
46f5c4:	33 c0                	xor    %eax,%eax
46f5c6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
46f5c9:	85 f6                	test   %esi,%esi
46f5cb:	74 08                	je     0x46f5d5
46f5cd:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f5d3:	eb 02                	jmp    0x46f5d7
46f5d5:	85 ff                	test   %edi,%edi
46f5d7:	0f 94 c0             	sete   %al
46f5da:	8b ca                	mov    %edx,%ecx
46f5dc:	81 e1 00 10 00 00    	and    $0x1000,%ecx
46f5e2:	89 4d b8             	mov    %ecx,-0x48(%ebp)
46f5e5:	8b ca                	mov    %edx,%ecx
46f5e7:	81 e1 00 04 00 00    	and    $0x400,%ecx
46f5ed:	85 c0                	test   %eax,%eax
46f5ef:	89 4d c0             	mov    %ecx,-0x40(%ebp)
46f5f2:	8b c1                	mov    %ecx,%eax
46f5f4:	75 03                	jne    0x46f5f9
46f5f6:	8b 45 b8             	mov    -0x48(%ebp),%eax
46f5f9:	85 c0                	test   %eax,%eax
46f5fb:	74 31                	je     0x46f62e
46f5fd:	8b c2                	mov    %edx,%eax
46f5ff:	8b ce                	mov    %esi,%ecx
46f601:	25 00 1b 00 00       	and    $0x1b00,%eax
46f606:	2d 00 10 00 00       	sub    $0x1000,%eax
46f60b:	f7 d8                	neg    %eax
46f60d:	1b c0                	sbb    %eax,%eax
46f60f:	40                   	inc    %eax
46f610:	f7 d9                	neg    %ecx
46f612:	1b c9                	sbb    %ecx,%ecx
46f614:	85 c8                	test   %ecx,%eax
46f616:	74 13                	je     0x46f62b
46f618:	c7 45 f8 50 13 4a 00 	movl   $0x4a1350,-0x8(%ebp)
46f61f:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
46f626:	e9 9e 00 00 00       	jmp    0x46f6c9
46f62b:	8b 4d c0             	mov    -0x40(%ebp),%ecx
46f62e:	33 c0                	xor    %eax,%eax
46f630:	85 f6                	test   %esi,%esi
46f632:	74 08                	je     0x46f63c
46f634:	81 fb 00 08 00 00    	cmp    $0x800,%ebx