45f39d:	66 3b c8             	cmp    %ax,%cx
45f3a0:	74 0c                	je     0x45f3ae
45f3a2:	6a 41                	push   $0x41
45f3a4:	58                   	pop    %eax
45f3a5:	66 3b c8             	cmp    %ax,%cx
45f3a8:	74 04                	je     0x45f3ae
45f3aa:	32 c0                	xor    %al,%al
45f3ac:	eb 02                	jmp    0x45f3b0
45f3ae:	b0 01                	mov    $0x1,%al
45f3b0:	84 c0                	test   %al,%al
45f3b2:	0f 94 c0             	sete   %al
45f3b5:	fe c8                	dec    %al
45f3b7:	24 e0                	and    $0xe0,%al
45f3b9:	04 78                	add    $0x78,%al
45f3bb:	66 98                	cbtw
45f3bd:	66 89 44 5d f6       	mov    %ax,-0xa(%ebp,%ebx,2)
45f3c2:	83 c3 02             	add    $0x2,%ebx
45f3c5:	8b 7e 24             	mov    0x24(%esi),%edi
45f3c8:	2b 7e 38             	sub    0x38(%esi),%edi
45f3cb:	2b fb                	sub    %ebx,%edi
45f3cd:	f6 c2 0c             	test   $0xc,%dl
45f3d0:	75 16                	jne    0x45f3e8
45f3d2:	8d 46 18             	lea    0x18(%esi),%eax
45f3d5:	50                   	push   %eax
45f3d6:	57                   	push   %edi
45f3d7:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f3dd:	6a 20                	push   $0x20
45f3df:	50                   	push   %eax
45f3e0:	e8 45 9c ff ff       	call   0x45902a
45f3e5:	83 c4 10             	add    $0x10,%esp
45f3e8:	8d 46 0c             	lea    0xc(%esi),%eax
45f3eb:	50                   	push   %eax
45f3ec:	8d 4e 18             	lea    0x18(%esi),%ecx
45f3ef:	51                   	push   %ecx
45f3f0:	53                   	push   %ebx
45f3f1:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f3f4:	50                   	push   %eax
45f3f5:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45f3fb:	e8 c6 64 00 00       	call   0x4658c6
45f400:	8b 4e 20             	mov    0x20(%esi),%ecx
45f403:	8d 5e 18             	lea    0x18(%esi),%ebx
45f406:	8b c1                	mov    %ecx,%eax
45f408:	c1 e8 03             	shr    $0x3,%eax
45f40b:	a8 01                	test   $0x1,%al
45f40d:	74 1b                	je     0x45f42a
45f40f:	c1 e9 02             	shr    $0x2,%ecx
45f412:	f6 c1 01             	test   $0x1,%cl
45f415:	75 13                	jne    0x45f42a
45f417:	53                   	push   %ebx
45f418:	57                   	push   %edi
45f419:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f41f:	6a 30                	push   $0x30
45f421:	50                   	push   %eax
45f422:	e8 03 9c ff ff       	call   0x45902a
45f427:	83 c4 10             	add    $0x10,%esp
45f42a:	6a 00                	push   $0x0
45f42c:	8b ce                	mov    %esi,%ecx
45f42e:	e8 19 61 00 00       	call   0x46554c
45f433:	83 3b 00             	cmpl   $0x0,(%ebx)
45f436:	7c 1d                	jl     0x45f455
45f438:	8b 46 20             	mov    0x20(%esi),%eax
45f43b:	c1 e8 02             	shr    $0x2,%eax
45f43e:	a8 01                	test   $0x1,%al
45f440:	74 13                	je     0x45f455
45f442:	53                   	push   %ebx
45f443:	57                   	push   %edi
45f444:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f44a:	6a 20                	push   $0x20
45f44c:	50                   	push   %eax
45f44d:	e8 d8 9b ff ff       	call   0x45902a
45f452:	83 c4 10             	add    $0x10,%esp
45f455:	5f                   	pop    %edi
45f456:	b0 01                	mov    $0x1,%al
45f458:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45f45b:	5e                   	pop    %esi
45f45c:	33 cd                	xor    %ebp,%ecx
45f45e:	5b                   	pop    %ebx
45f45f:	e8 9e 05 fe ff       	call   0x43fa02
45f464:	8b e5                	mov    %ebp,%esp
45f466:	5d                   	pop    %ebp
45f467:	c3                   	ret
45f468:	8b ff                	mov    %edi,%edi
45f46a:	55                   	push   %ebp
45f46b:	8b ec                	mov    %esp,%ebp
45f46d:	83 ec 0c             	sub    $0xc,%esp
45f470:	a1 94 80 4b 00       	mov    0x4b8094,%eax
45f475:	33 c5                	xor    %ebp,%eax
45f477:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f47a:	53                   	push   %ebx
45f47b:	56                   	push   %esi
45f47c:	8b f1                	mov    %ecx,%esi
45f47e:	33 db                	xor    %ebx,%ebx
45f480:	6a 41                	push   $0x41
45f482:	5a                   	pop    %edx
45f483:	6a 58                	push   $0x58
45f485:	0f b7 46 32          	movzwl 0x32(%esi),%eax
45f489:	59                   	pop    %ecx
45f48a:	83 f8 64             	cmp    $0x64,%eax
45f48d:	7f 6b                	jg     0x45f4fa
45f48f:	0f 84 92 00 00 00    	je     0x45f527
45f495:	3b c1                	cmp    %ecx,%eax
45f497:	7f 3e                	jg     0x45f4d7
45f499:	74 36                	je     0x45f4d1
45f49b:	3b c2                	cmp    %edx,%eax
45f49d:	0f 84 94 00 00 00    	je     0x45f537
45f4a3:	83 f8 43             	cmp    $0x43,%eax
45f4a6:	74 3f                	je     0x45f4e7
45f4a8:	83 f8 44             	cmp    $0x44,%eax
45f4ab:	7e 1d                	jle    0x45f4ca
45f4ad:	83 f8 47             	cmp    $0x47,%eax
45f4b0:	0f 8e 81 00 00 00    	jle    0x45f537
45f4b6:	83 f8 53             	cmp    $0x53,%eax
45f4b9:	75 0f                	jne    0x45f4ca
45f4bb:	8b ce                	mov    %esi,%ecx
45f4bd:	e8 ab 44 00 00       	call   0x46396d
45f4c2:	84 c0                	test   %al,%al
45f4c4:	0f 85 a0 00 00 00    	jne    0x45f56a
45f4ca:	32 c0                	xor    %al,%al
45f4cc:	e9 f4 01 00 00       	jmp    0x45f6c5
45f4d1:	6a 01                	push   $0x1
45f4d3:	6a 10                	push   $0x10
45f4d5:	eb 57                	jmp    0x45f52e
45f4d7:	83 e8 5a             	sub    $0x5a,%eax
45f4da:	74 15                	je     0x45f4f1
45f4dc:	83 e8 07             	sub    $0x7,%eax
45f4df:	74 56                	je     0x45f537
45f4e1:	48                   	dec    %eax
45f4e2:	83 e8 01             	sub    $0x1,%eax
45f4e5:	75 e3                	jne    0x45f4ca
45f4e7:	53                   	push   %ebx
45f4e8:	8b ce                	mov    %esi,%ecx
45f4ea:	e8 c9 24 00 00       	call   0x4619b8
45f4ef:	eb d1                	jmp    0x45f4c2
45f4f1:	8b ce                	mov    %esi,%ecx
45f4f3:	e8 03 0c 00 00       	call   0x4600fb
45f4f8:	eb c8                	jmp    0x45f4c2
45f4fa:	83 f8 70             	cmp    $0x70,%eax
45f4fd:	7f 4d                	jg     0x45f54c
45f4ff:	74 3f                	je     0x45f540
45f501:	83 f8 67             	cmp    $0x67,%eax
45f504:	7e 31                	jle    0x45f537
45f506:	83 f8 69             	cmp    $0x69,%eax
45f509:	74 1c                	je     0x45f527
45f50b:	83 f8 6e             	cmp    $0x6e,%eax
45f50e:	74 0e                	je     0x45f51e
45f510:	83 f8 6f             	cmp    $0x6f,%eax
45f513:	75 b5                	jne    0x45f4ca
45f515:	8b ce                	mov    %esi,%ecx
45f517:	e8 55 3e 00 00       	call   0x463371
45f51c:	eb a4                	jmp    0x45f4c2
45f51e:	8b ce                	mov    %esi,%ecx
45f520:	e8 09 3c 00 00       	call   0x46312e
45f525:	eb 9b                	jmp    0x45f4c2
45f527:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45f52b:	53                   	push   %ebx
45f52c:	6a 0a                	push   $0xa
45f52e:	8b ce                	mov    %esi,%ecx
45f530:	e8 2a 34 00 00       	call   0x46295f
45f535:	eb 8b                	jmp    0x45f4c2
45f537:	8b ce                	mov    %esi,%ecx
45f539:	e8 e0 1a 00 00       	call   0x46101e
45f53e:	eb 82                	jmp    0x45f4c2
45f540:	8b ce                	mov    %esi,%ecx
45f542:	e8 58 3f 00 00       	call   0x46349f
45f547:	e9 76 ff ff ff       	jmp    0x45f4c2
45f54c:	83 e8 73             	sub    $0x73,%eax
45f54f:	0f 84 66 ff ff ff    	je     0x45f4bb
45f555:	48                   	dec    %eax
45f556:	83 e8 01             	sub    $0x1,%eax
45f559:	74 d0                	je     0x45f52b
45f55b:	83 e8 03             	sub    $0x3,%eax
45f55e:	0f 85 66 ff ff ff    	jne    0x45f4ca
45f564:	53                   	push   %ebx
45f565:	e9 69 ff ff ff       	jmp    0x45f4d3
45f56a:	8b ce                	mov    %esi,%ecx
45f56c:	e8 65 ca ff ff       	call   0x45bfd6
45f571:	84 c0                	test   %al,%al
45f573:	0f 85 4a 01 00 00    	jne    0x45f6c3
45f579:	38 5e 30             	cmp    %bl,0x30(%esi)
45f57c:	0f 85 41 01 00 00    	jne    0x45f6c3
45f582:	8b 56 20             	mov    0x20(%esi),%edx
45f585:	33 c9                	xor    %ecx,%ecx
45f587:	57                   	push   %edi
45f588:	8b c2                	mov    %edx,%eax
45f58a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45f58d:	c1 e8 04             	shr    $0x4,%eax
45f590:	41                   	inc    %ecx
45f591:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
45f595:	6a 20                	push   $0x20
45f597:	5f                   	pop    %edi
45f598:	84 c1                	test   %al,%cl
45f59a:	74 28                	je     0x45f5c4
45f59c:	8b c2                	mov    %edx,%eax
45f59e:	c1 e8 06             	shr    $0x6,%eax
45f5a1:	84 c1                	test   %al,%cl
45f5a3:	74 09                	je     0x45f5ae
45f5a5:	6a 2d                	push   $0x2d
45f5a7:	58                   	pop    %eax
45f5a8:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
45f5ac:	eb 14                	jmp    0x45f5c2
45f5ae:	84 d1                	test   %dl,%cl
45f5b0:	74 04                	je     0x45f5b6
45f5b2:	6a 2b                	push   $0x2b
45f5b4:	eb f1                	jmp    0x45f5a7
45f5b6:	8b c2                	mov    %edx,%eax
45f5b8:	d1 e8                	shr    $1,%eax
45f5ba:	84 c1                	test   %al,%cl
45f5bc:	74 06                	je     0x45f5c4
45f5be:	66 89 7d f4          	mov    %di,-0xc(%ebp)
45f5c2:	8b d9                	mov    %ecx,%ebx
45f5c4:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
45f5c8:	83 f9 78             	cmp    $0x78,%ecx
45f5cb:	74 08                	je     0x45f5d5
45f5cd:	6a 58                	push   $0x58
45f5cf:	58                   	pop    %eax
45f5d0:	66 3b c8             	cmp    %ax,%cx
45f5d3:	75 0d                	jne    0x45f5e2
45f5d5:	8b c2                	mov    %edx,%eax
45f5d7:	c1 e8 05             	shr    $0x5,%eax
45f5da:	a8 01                	test   $0x1,%al
45f5dc:	74 04                	je     0x45f5e2
45f5de:	b4 01                	mov    $0x1,%ah
45f5e0:	eb 02                	jmp    0x45f5e4
45f5e2:	32 e4                	xor    %ah,%ah
45f5e4:	83 f9 61             	cmp    $0x61,%ecx
45f5e7:	74 0c                	je     0x45f5f5
45f5e9:	6a 41                	push   $0x41
45f5eb:	5f                   	pop    %edi
45f5ec:	66 3b cf             	cmp    %di,%cx
45f5ef:	74 04                	je     0x45f5f5
45f5f1:	32 c0                	xor    %al,%al
45f5f3:	eb 02                	jmp    0x45f5f7
45f5f5:	b0 01                	mov    $0x1,%al
45f5f7:	6a 30                	push   $0x30
45f5f9:	5f                   	pop    %edi
45f5fa:	84 e4                	test   %ah,%ah
45f5fc:	75 04                	jne    0x45f602
45f5fe:	84 c0                	test   %al,%al
45f600:	74 30                	je     0x45f632
45f602:	6a 58                	push   $0x58
45f604:	58                   	pop    %eax
45f605:	66 89 7c 5d f4       	mov    %di,-0xc(%ebp,%ebx,2)
45f60a:	66 3b c8             	cmp    %ax,%cx
45f60d:	74 0c                	je     0x45f61b
45f60f:	6a 41                	push   $0x41
45f611:	58                   	pop    %eax
45f612:	66 3b c8             	cmp    %ax,%cx
45f615:	74 04                	je     0x45f61b
45f617:	32 c0                	xor    %al,%al
45f619:	eb 02                	jmp    0x45f61d
45f61b:	b0 01                	mov    $0x1,%al
45f61d:	84 c0                	test   %al,%al
45f61f:	0f 94 c0             	sete   %al
45f622:	fe c8                	dec    %al
45f624:	24 e0                	and    $0xe0,%al
45f626:	04 78                	add    $0x78,%al
45f628:	66 98                	cbtw
45f62a:	66 89 44 5d f6       	mov    %ax,-0xa(%ebp,%ebx,2)
45f62f:	83 c3 02             	add    $0x2,%ebx
45f632:	8b 7e 24             	mov    0x24(%esi),%edi
45f635:	2b 7e 38             	sub    0x38(%esi),%edi
45f638:	2b fb                	sub    %ebx,%edi
45f63a:	f6 c2 0c             	test   $0xc,%dl
45f63d:	75 16                	jne    0x45f655
45f63f:	8d 46 18             	lea    0x18(%esi),%eax
45f642:	50                   	push   %eax
45f643:	57                   	push   %edi
45f644:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f64a:	6a 20                	push   $0x20
45f64c:	50                   	push   %eax
45f64d:	e8 d8 99 ff ff       	call   0x45902a
45f652:	83 c4 10             	add    $0x10,%esp
45f655:	8d 46 0c             	lea    0xc(%esi),%eax
45f658:	50                   	push   %eax
45f659:	8d 4e 18             	lea    0x18(%esi),%ecx
45f65c:	51                   	push   %ecx
45f65d:	53                   	push   %ebx
45f65e:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f661:	50                   	push   %eax
45f662:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45f668:	e8 59 62 00 00       	call   0x4658c6
45f66d:	8b 4e 20             	mov    0x20(%esi),%ecx
45f670:	8d 5e 18             	lea    0x18(%esi),%ebx
45f673:	8b c1                	mov    %ecx,%eax
45f675:	c1 e8 03             	shr    $0x3,%eax
45f678:	a8 01                	test   $0x1,%al
45f67a:	74 1b                	je     0x45f697
45f67c:	c1 e9 02             	shr    $0x2,%ecx
45f67f:	f6 c1 01             	test   $0x1,%cl
45f682:	75 13                	jne    0x45f697
45f684:	53                   	push   %ebx
45f685:	57                   	push   %edi
45f686:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f68c:	6a 30                	push   $0x30
45f68e:	50                   	push   %eax
45f68f:	e8 96 99 ff ff       	call   0x45902a
45f694:	83 c4 10             	add    $0x10,%esp
45f697:	6a 00                	push   $0x0
45f699:	8b ce                	mov    %esi,%ecx
45f69b:	e8 38 5f 00 00       	call   0x4655d8
45f6a0:	83 3b 00             	cmpl   $0x0,(%ebx)
45f6a3:	7c 1d                	jl     0x45f6c2
45f6a5:	8b 46 20             	mov    0x20(%esi),%eax
45f6a8:	c1 e8 02             	shr    $0x2,%eax
45f6ab:	a8 01                	test   $0x1,%al
45f6ad:	74 13                	je     0x45f6c2
45f6af:	53                   	push   %ebx
45f6b0:	57                   	push   %edi
45f6b1:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f6b7:	6a 20                	push   $0x20
45f6b9:	50                   	push   %eax
45f6ba:	e8 6b 99 ff ff       	call   0x45902a
45f6bf:	83 c4 10             	add    $0x10,%esp
45f6c2:	5f                   	pop    %edi
45f6c3:	b0 01                	mov    $0x1,%al
45f6c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45f6c8:	5e                   	pop    %esi
45f6c9:	33 cd                	xor    %ebp,%ecx
45f6cb:	5b                   	pop    %ebx
45f6cc:	e8 31 03 fe ff       	call   0x43fa02
45f6d1:	8b e5                	mov    %ebp,%esp
45f6d3:	5d                   	pop    %ebp
45f6d4:	c3                   	ret
45f6d5:	8b ff                	mov    %edi,%edi
45f6d7:	55                   	push   %ebp
45f6d8:	8b ec                	mov    %esp,%ebp
45f6da:	83 ec 0c             	sub    $0xc,%esp
45f6dd:	a1 94 80 4b 00       	mov    0x4b8094,%eax
45f6e2:	33 c5                	xor    %ebp,%eax
45f6e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f6e7:	53                   	push   %ebx
45f6e8:	56                   	push   %esi
45f6e9:	8b f1                	mov    %ecx,%esi
45f6eb:	33 db                	xor    %ebx,%ebx
45f6ed:	6a 41                	push   $0x41
45f6ef:	5a                   	pop    %edx
45f6f0:	6a 58                	push   $0x58
45f6f2:	0f b7 46 32          	movzwl 0x32(%esi),%eax
45f6f6:	59                   	pop    %ecx
45f6f7:	83 f8 64             	cmp    $0x64,%eax
45f6fa:	7f 6b                	jg     0x45f767
45f6fc:	0f 84 92 00 00 00    	je     0x45f794
45f702:	3b c1                	cmp    %ecx,%eax
45f704:	7f 3e                	jg     0x45f744
45f706:	74 36                	je     0x45f73e
45f708:	3b c2                	cmp    %edx,%eax
45f70a:	0f 84 94 00 00 00    	je     0x45f7a4
45f710:	83 f8 43             	cmp    $0x43,%eax
45f713:	74 3f                	je     0x45f754
45f715:	83 f8 44             	cmp    $0x44,%eax