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
46f63a:	eb 02                	jmp    0x46f63e
46f63c:	85 ff                	test   %edi,%edi
46f63e:	0f 94 c0             	sete   %al
46f641:	85 c0                	test   %eax,%eax
46f643:	75 03                	jne    0x46f648
46f645:	8b 4d b8             	mov    -0x48(%ebp),%ecx
46f648:	85 c9                	test   %ecx,%ecx
46f64a:	74 2b                	je     0x46f677
46f64c:	8b c2                	mov    %edx,%eax
46f64e:	8b ce                	mov    %esi,%ecx
46f650:	25 00 1b 00 00       	and    $0x1b00,%eax
46f655:	2d 00 11 00 00       	sub    $0x1100,%eax
46f65a:	f7 d8                	neg    %eax
46f65c:	1b c0                	sbb    %eax,%eax
46f65e:	40                   	inc    %eax
46f65f:	f7 d9                	neg    %ecx
46f661:	1b c9                	sbb    %ecx,%ecx
46f663:	85 c8                	test   %ecx,%eax
46f665:	74 10                	je     0x46f677
46f667:	c7 45 f8 74 13 4a 00 	movl   $0x4a1374,-0x8(%ebp)
46f66e:	c7 45 fc 30 00 00 00 	movl   $0x30,-0x4(%ebp)
46f675:	eb 52                	jmp    0x46f6c9
46f677:	33 c0                	xor    %eax,%eax
46f679:	85 f6                	test   %esi,%esi
46f67b:	74 08                	je     0x46f685
46f67d:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f683:	eb 02                	jmp    0x46f687
46f685:	85 ff                	test   %edi,%edi
46f687:	0f 94 c0             	sete   %al
46f68a:	85 c0                	test   %eax,%eax
46f68c:	8b 45 c0             	mov    -0x40(%ebp),%eax
46f68f:	75 03                	jne    0x46f694
46f691:	8b 45 b8             	mov    -0x48(%ebp),%eax
46f694:	85 c0                	test   %eax,%eax
46f696:	0f 84 a0 00 00 00    	je     0x46f73c
46f69c:	8b c2                	mov    %edx,%eax
46f69e:	8b ce                	mov    %esi,%ecx
46f6a0:	25 00 1b 00 00       	and    $0x1b00,%eax
46f6a5:	2d 00 12 00 00       	sub    $0x1200,%eax
46f6aa:	f7 d8                	neg    %eax
46f6ac:	1b c0                	sbb    %eax,%eax
46f6ae:	40                   	inc    %eax
46f6af:	f7 d9                	neg    %ecx
46f6b1:	1b c9                	sbb    %ecx,%ecx
46f6b3:	85 c8                	test   %ecx,%eax
46f6b5:	0f 84 81 00 00 00    	je     0x46f73c
46f6bb:	c7 45 f8 a8 13 4a 00 	movl   $0x4a13a8,-0x8(%ebp)
46f6c2:	c7 45 fc 2f 00 00 00 	movl   $0x2f,-0x4(%ebp)
46f6c9:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f6cc:	50                   	push   %eax
46f6cd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f6d0:	e8 0e f5 ff ff       	call   0x46ebe3
46f6d5:	8b 55 ec             	mov    -0x14(%ebp),%edx
46f6d8:	85 f6                	test   %esi,%esi
46f6da:	74 71                	je     0x46f74d
46f6dc:	33 c0                	xor    %eax,%eax
46f6de:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f6e4:	0f 94 c0             	sete   %al
46f6e7:	85 c0                	test   %eax,%eax
46f6e9:	8b 45 c0             	mov    -0x40(%ebp),%eax
46f6ec:	75 03                	jne    0x46f6f1
46f6ee:	8b 45 b8             	mov    -0x48(%ebp),%eax
46f6f1:	85 c0                	test   %eax,%eax
46f6f3:	74 5e                	je     0x46f753
46f6f5:	81 e2 00 1b 00 00    	and    $0x1b00,%edx
46f6fb:	33 c0                	xor    %eax,%eax
46f6fd:	81 fa 00 11 00 00    	cmp    $0x1100,%edx
46f703:	8b ce                	mov    %esi,%ecx
46f705:	0f 94 c0             	sete   %al
46f708:	f7 d9                	neg    %ecx
46f70a:	1b c9                	sbb    %ecx,%ecx
46f70c:	85 c8                	test   %ecx,%eax
46f70e:	75 15                	jne    0x46f725
46f710:	33 c0                	xor    %eax,%eax
46f712:	8b ce                	mov    %esi,%ecx
46f714:	81 fa 00 12 00 00    	cmp    $0x1200,%edx
46f71a:	0f 94 c0             	sete   %al
46f71d:	f7 d9                	neg    %ecx
46f71f:	1b c9                	sbb    %ecx,%ecx
46f721:	85 c8                	test   %ecx,%eax
46f723:	74 2e                	je     0x46f753
46f725:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f728:	50                   	push   %eax
46f729:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f72c:	6a 20                	push   $0x20
46f72e:	50                   	push   %eax
46f72f:	e8 da f3 ff ff       	call   0x46eb0e
46f734:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46f737:	83 c4 0c             	add    $0xc,%esp
46f73a:	eb 2c                	jmp    0x46f768
46f73c:	85 f6                	test   %esi,%esi
46f73e:	75 9c                	jne    0x46f6dc
46f740:	81 7d cc 00 78 00 00 	cmpl   $0x7800,-0x34(%ebp)
46f747:	0f 84 15 fb ff ff    	je     0x46f262
46f74d:	33 c0                	xor    %eax,%eax
46f74f:	85 ff                	test   %edi,%edi
46f751:	eb 91                	jmp    0x46f6e4
46f753:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f756:	50                   	push   %eax
46f757:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f75a:	50                   	push   %eax
46f75b:	e8 c0 20 00 00       	call   0x471820
46f760:	59                   	pop    %ecx
46f761:	59                   	pop    %ecx
46f762:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46f765:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46f768:	8b 70 04             	mov    0x4(%eax),%esi
46f76b:	8b 55 d0             	mov    -0x30(%ebp),%edx
46f76e:	8b 38                	mov    (%eax),%edi
46f770:	89 75 f4             	mov    %esi,-0xc(%ebp)
46f773:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f776:	89 7d f0             	mov    %edi,-0x10(%ebp)
46f779:	85 d2                	test   %edx,%edx
46f77b:	74 0d                	je     0x46f78a
46f77d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46f780:	33 c0                	xor    %eax,%eax
46f782:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f788:	eb 04                	jmp    0x46f78e
46f78a:	33 c0                	xor    %eax,%eax
46f78c:	85 c9                	test   %ecx,%ecx
46f78e:	0f 94 c0             	sete   %al
46f791:	85 c0                	test   %eax,%eax
46f793:	0f 84 8c 02 00 00    	je     0x46fa25
46f799:	a1 94 83 4c 00       	mov    0x4c8394,%eax
46f79e:	c1 e8 09             	shr    $0x9,%eax
46f7a1:	f7 d0                	not    %eax
46f7a3:	a8 01                	test   $0x1,%al
46f7a5:	0f 84 68 01 00 00    	je     0x46f913
46f7ab:	33 c0                	xor    %eax,%eax
46f7ad:	85 d2                	test   %edx,%edx
46f7af:	74 08                	je     0x46f7b9
46f7b1:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f7b7:	eb 02                	jmp    0x46f7bb
46f7b9:	85 c9                	test   %ecx,%ecx
46f7bb:	0f 94 c0             	sete   %al
46f7be:	85 c0                	test   %eax,%eax
46f7c0:	74 50                	je     0x46f812
46f7c2:	85 d2                	test   %edx,%edx
46f7c4:	74 11                	je     0x46f7d7
46f7c6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f7c9:	8b c1                	mov    %ecx,%eax
46f7cb:	25 00 07 00 00       	and    $0x700,%eax
46f7d0:	3d 00 02 00 00       	cmp    $0x200,%eax
46f7d5:	75 42                	jne    0x46f819
46f7d7:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f7da:	c7 45 f8 d8 13 4a 00 	movl   $0x4a13d8,-0x8(%ebp)
46f7e1:	50                   	push   %eax
46f7e2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f7e5:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
46f7ec:	e8 f5 ef ff ff       	call   0x46e7e6
46f7f1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f7f4:	51                   	push   %ecx
46f7f5:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f7f8:	51                   	push   %ecx
46f7f9:	8b c8                	mov    %eax,%ecx
46f7fb:	e8 7d f3 ff ff       	call   0x46eb7d
46f800:	8b 75 fc             	mov    -0x4(%ebp),%esi
46f803:	8b 7d f8             	mov    -0x8(%ebp),%edi
46f806:	8b 55 d0             	mov    -0x30(%ebp),%edx
46f809:	89 7d f0             	mov    %edi,-0x10(%ebp)
46f80c:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f80f:	89 75 f4             	mov    %esi,-0xc(%ebp)
46f812:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f815:	85 d2                	test   %edx,%edx
46f817:	74 21                	je     0x46f83a
46f819:	8b f1                	mov    %ecx,%esi
46f81b:	81 e6 00 07 00 00    	and    $0x700,%esi
46f821:	81 fe 00 01 00 00    	cmp    $0x100,%esi
46f827:	0f 84 ae 00 00 00    	je     0x46f8db
46f82d:	33 c0                	xor    %eax,%eax
46f82f:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f835:	0f 94 c0             	sete   %al
46f838:	eb 10                	jmp    0x46f84a
46f83a:	33 c0                	xor    %eax,%eax
46f83c:	8b f1                	mov    %ecx,%esi