54c458:	53                   	push   %ebx
54c459:	8b d8                	mov    %eax,%ebx
54c45b:	56                   	push   %esi
54c45c:	57                   	push   %edi
54c45d:	81 c4 f0 fe ff ff    	add    $0xfffffef0,%esp
54c463:	8b fa                	mov    %edx,%edi
54c465:	f6 43 28 01          	testb  $0x1,0x28(%ebx)
54c469:	8b f1                	mov    %ecx,%esi
54c46b:	75 0e                	jne    0x54c47b
54c46d:	ba a7 b5 69 00       	mov    $0x69b5a7,%edx
54c472:	8b c3                	mov    %ebx,%eax
54c474:	e8 47 ea ff ff       	call   0x54aec0
54c479:	eb 44                	jmp    0x54c4bf
54c47b:	f6 43 28 04          	testb  $0x4,0x28(%ebx)
54c47f:	74 1a                	je     0x54c49b
54c481:	ba c0 b5 69 00       	mov    $0x69b5c0,%edx
54c486:	8b c3                	mov    %ebx,%eax
54c488:	e8 cf ea ff ff       	call   0x54af5c
54c48d:	8b d6                	mov    %esi,%edx
54c48f:	8b c3                	mov    %ebx,%eax
54c491:	e8 ae ec ff ff       	call   0x54b144
54c496:	e9 9d 01 00 00       	jmp    0x54c638
54c49b:	85 ff                	test   %edi,%edi
54c49d:	74 20                	je     0x54c4bf
54c49f:	f6 47 08 10          	testb  $0x10,0x8(%edi)
54c4a3:	74 1a                	je     0x54c4bf
54c4a5:	ba d8 b5 69 00       	mov    $0x69b5d8,%edx
54c4aa:	8b c3                	mov    %ebx,%eax
54c4ac:	e8 ab ea ff ff       	call   0x54af5c
54c4b1:	8b d6                	mov    %esi,%edx
54c4b3:	8b c3                	mov    %ebx,%eax
54c4b5:	e8 8a ec ff ff       	call   0x54b144
54c4ba:	e9 79 01 00 00       	jmp    0x54c638
54c4bf:	8a 8b e6 00 00 00    	mov    0xe6(%ebx),%cl
54c4c5:	80 f9 03             	cmp    $0x3,%cl
54c4c8:	75 70                	jne    0x54c53a
54c4ca:	f6 43 28 02          	testb  $0x2,0x28(%ebx)
54c4ce:	75 0e                	jne    0x54c4de
54c4d0:	ba ed b5 69 00       	mov    $0x69b5ed,%edx
54c4d5:	8b c3                	mov    %ebx,%eax
54c4d7:	e8 80 ea ff ff       	call   0x54af5c
54c4dc:	eb 25                	jmp    0x54c503
54c4de:	0f b7 8b d8 00 00 00 	movzwl 0xd8(%ebx),%ecx
54c4e5:	3b f1                	cmp    %ecx,%esi
54c4e7:	76 1a                	jbe    0x54c503
54c4e9:	ba 06 b6 69 00       	mov    $0x69b606,%edx
54c4ee:	8b c3                	mov    %ebx,%eax
54c4f0:	e8 67 ea ff ff       	call   0x54af5c
54c4f5:	8b d6                	mov    %esi,%edx
54c4f7:	8b c3                	mov    %ebx,%eax
54c4f9:	e8 46 ec ff ff       	call   0x54b144
54c4fe:	e9 35 01 00 00       	jmp    0x54c638
54c503:	85 f6                	test   %esi,%esi
54c505:	75 1a                	jne    0x54c521
54c507:	ba 22 b6 69 00       	mov    $0x69b622,%edx
54c50c:	8b c3                	mov    %ebx,%eax
54c50e:	e8 49 ea ff ff       	call   0x54af5c
54c513:	8b d6                	mov    %esi,%edx
54c515:	8b c3                	mov    %ebx,%eax
54c517:	e8 28 ec ff ff       	call   0x54b144
54c51c:	e9 17 01 00 00       	jmp    0x54c638
54c521:	8d 54 24 10          	lea    0x10(%esp),%edx
54c525:	8b ce                	mov    %esi,%ecx
54c527:	8b c3                	mov    %ebx,%eax
54c529:	e8 f2 eb ff ff       	call   0x54b120
54c52e:	66 89 b3 da 00 00 00 	mov    %si,0xda(%ebx)
54c535:	e9 d5 00 00 00       	jmp    0x54c60f
54c53a:	8a 83 e6 00 00 00    	mov    0xe6(%ebx),%al
54c540:	3c 02                	cmp    $0x2,%al
54c542:	75 63                	jne    0x54c5a7
54c544:	83 fe 06             	cmp    $0x6,%esi
54c547:	74 1a                	je     0x54c563
54c549:	ba 39 b6 69 00       	mov    $0x69b639,%edx
54c54e:	8b c3                	mov    %ebx,%eax
54c550:	e8 07 ea ff ff       	call   0x54af5c
54c555:	8b d6                	mov    %esi,%edx
54c557:	8b c3                	mov    %ebx,%eax
54c559:	e8 e6 eb ff ff       	call   0x54b144
54c55e:	e9 d5 00 00 00       	jmp    0x54c638
54c563:	8b d4                	mov    %esp,%edx
54c565:	8b ce                	mov    %esi,%ecx
54c567:	8b c3                	mov    %ebx,%eax
54c569:	e8 b2 eb ff ff       	call   0x54b120
54c56e:	66 c7 83 da 00 00 00 	movw   $0x1,0xda(%ebx)
54c575:	01 00
54c577:	8b c4                	mov    %esp,%eax
54c579:	e8 8e eb ff ff       	call   0x54b10c
54c57e:	66 89 83 4e 01 00 00 	mov    %ax,0x14e(%ebx)
54c585:	8d 44 24 02          	lea    0x2(%esp),%eax
54c589:	e8 7e eb ff ff       	call   0x54b10c
54c58e:	66 89 83 50 01 00 00 	mov    %ax,0x150(%ebx)
54c595:	8d 44 24 04          	lea    0x4(%esp),%eax
54c599:	e8 6e eb ff ff       	call   0x54b10c
54c59e:	66 89 83 52 01 00 00 	mov    %ax,0x152(%ebx)
54c5a5:	eb 68                	jmp    0x54c60f
54c5a7:	8a 93 e6 00 00 00    	mov    0xe6(%ebx),%dl
54c5ad:	84 d2                	test   %dl,%dl
54c5af:	75 47                	jne    0x54c5f8
54c5b1:	83 fe 02             	cmp    $0x2,%esi
54c5b4:	74 17                	je     0x54c5cd
54c5b6:	ba 55 b6 69 00       	mov    $0x69b655,%edx
54c5bb:	8b c3                	mov    %ebx,%eax
54c5bd:	e8 9a e9 ff ff       	call   0x54af5c
54c5c2:	8b d6                	mov    %esi,%edx
54c5c4:	8b c3                	mov    %ebx,%eax
54c5c6:	e8 79 eb ff ff       	call   0x54b144
54c5cb:	eb 6b                	jmp    0x54c638
54c5cd:	8d 54 24 08          	lea    0x8(%esp),%edx
54c5d1:	b9 02 00 00 00       	mov    $0x2,%ecx
54c5d6:	8b c3                	mov    %ebx,%eax
54c5d8:	e8 43 eb ff ff       	call   0x54b120
54c5dd:	66 c7 83 da 00 00 00 	movw   $0x1,0xda(%ebx)
54c5e4:	01 00
54c5e6:	8d 44 24 08          	lea    0x8(%esp),%eax
54c5ea:	e8 1d eb ff ff       	call   0x54b10c
54c5ef:	66 89 83 54 01 00 00 	mov    %ax,0x154(%ebx)
54c5f6:	eb 17                	jmp    0x54c60f
54c5f8:	ba 71 b6 69 00       	mov    $0x69b671,%edx
54c5fd:	8b c3                	mov    %ebx,%eax
54c5ff:	e8 58 e9 ff ff       	call   0x54af5c
54c604:	8b d6                	mov    %esi,%edx
54c606:	8b c3                	mov    %ebx,%eax
54c608:	e8 37 eb ff ff       	call   0x54b144
54c60d:	eb 29                	jmp    0x54c638
54c60f:	33 d2                	xor    %edx,%edx
54c611:	8b c3                	mov    %ebx,%eax
54c613:	e8 2c eb ff ff       	call   0x54b144
54c618:	85 c0                	test   %eax,%eax
54c61a:	75 1c                	jne    0x54c638
54c61c:	0f b7 93 da 00 00 00 	movzwl 0xda(%ebx),%edx
54c623:	52                   	push   %edx
54c624:	8d 8b 4c 01 00 00    	lea    0x14c(%ebx),%ecx
54c62a:	51                   	push   %ecx
54c62b:	8d 4c 24 18          	lea    0x18(%esp),%ecx
54c62f:	8b d7                	mov    %edi,%edx
54c631:	8b c3                	mov    %ebx,%eax
54c633:	e8 2c 80 ff ff       	call   0x544664
54c638:	81 c4 10 01 00 00    	add    $0x110,%esp
54c63e:	5f                   	pop    %edi
54c63f:	5e                   	pop    %esi
54c640:	5b                   	pop    %ebx
54c641:	c3                   	ret
54c642:	90                   	nop
54c643:	90                   	nop
54c644:	53                   	push   %ebx
54c645:	8b d8                	mov    %eax,%ebx
54c647:	56                   	push   %esi
54c648:	57                   	push   %edi
54c649:	83 c4 f8             	add    $0xfffffff8,%esp
54c64c:	8b f9                	mov    %ecx,%edi
54c64e:	f6 43 28 01          	testb  $0x1,0x28(%ebx)
54c652:	8b f2                	mov    %edx,%esi
54c654:	75 0e                	jne    0x54c664
54c656:	ba 9b b6 69 00       	mov    $0x69b69b,%edx
54c65b:	8b c3                	mov    %ebx,%eax
54c65d:	e8 5e e8 ff ff       	call   0x54aec0
54c662:	eb 6f                	jmp    0x54c6d3
54c664:	f6 43 28 04          	testb  $0x4,0x28(%ebx)
54c668:	74 1a                	je     0x54c684
54c66a:	ba b4 b6 69 00       	mov    $0x69b6b4,%edx
54c66f:	8b c3                	mov    %ebx,%eax
54c671:	e8 e6 e8 ff ff       	call   0x54af5c
54c676:	8b d7                	mov    %edi,%edx
54c678:	8b c3                	mov    %ebx,%eax
54c67a:	e8 c5 ea ff ff       	call   0x54b144
54c67f:	e9 a9 01 00 00       	jmp    0x54c82d
54c684:	8a 8b e6 00 00 00    	mov    0xe6(%ebx),%cl
54c68a:	80 f9 03             	cmp    $0x3,%cl
54c68d:	75 20                	jne    0x54c6af
54c68f:	f6 43 28 02          	testb  $0x2,0x28(%ebx)
54c693:	75 1a                	jne    0x54c6af
54c695:	ba cc b6 69 00       	mov    $0x69b6cc,%edx
54c69a:	8b c3                	mov    %ebx,%eax
54c69c:	e8 bb e8 ff ff       	call   0x54af5c
54c6a1:	8b d7                	mov    %edi,%edx
54c6a3:	8b c3                	mov    %ebx,%eax
54c6a5:	e8 9a ea ff ff       	call   0x54b144
54c6aa:	e9 7e 01 00 00       	jmp    0x54c82d
54c6af:	85 f6                	test   %esi,%esi
54c6b1:	74 20                	je     0x54c6d3
54c6b3:	f6 46 08 20          	testb  $0x20,0x8(%esi)
54c6b7:	74 1a                	je     0x54c6d3
54c6b9:	ba e5 b6 69 00       	mov    $0x69b6e5,%edx
54c6be:	8b c3                	mov    %ebx,%eax
54c6c0:	e8 97 e8 ff ff       	call   0x54af5c
54c6c5:	8b d7                	mov    %edi,%edx
54c6c7:	8b c3                	mov    %ebx,%eax
54c6c9:	e8 76 ea ff ff       	call   0x54b144
54c6ce:	e9 5a 01 00 00       	jmp    0x54c82d
54c6d3:	8a 83 e6 00 00 00    	mov    0xe6(%ebx),%al
54c6d9:	3c 03                	cmp    $0x3,%al
54c6db:	75 07                	jne    0x54c6e4
54c6dd:	b8 01 00 00 00       	mov    $0x1,%eax
54c6e2:	eb 10                	jmp    0x54c6f4
54c6e4:	a8 02                	test   $0x2,%al
54c6e6:	74 07                	je     0x54c6ef
54c6e8:	b8 06 00 00 00       	mov    $0x6,%eax
54c6ed:	eb 05                	jmp    0x54c6f4
54c6ef:	b8 02 00 00 00       	mov    $0x2,%eax
54c6f4:	3b c7                	cmp    %edi,%eax
54c6f6:	74 1a                	je     0x54c712
54c6f8:	ba fa b6 69 00       	mov    $0x69b6fa,%edx
54c6fd:	8b c3                	mov    %ebx,%eax
54c6ff:	e8 58 e8 ff ff       	call   0x54af5c
54c704:	8b d7                	mov    %edi,%edx
54c706:	8b c3                	mov    %ebx,%eax
54c708:	e8 37 ea ff ff       	call   0x54b144
54c70d:	e9 1b 01 00 00       	jmp    0x54c82d
54c712:	8b d4                	mov    %esp,%edx
54c714:	8b c8                	mov    %eax,%ecx
54c716:	8b c3                	mov    %ebx,%eax
54c718:	e8 03 ea ff ff       	call   0x54b120
54c71d:	33 d2                	xor    %edx,%edx
54c71f:	8b c3                	mov    %ebx,%eax
54c721:	e8 1e ea ff ff       	call   0x54b144
54c726:	85 c0                	test   %eax,%eax
54c728:	0f 85 ff 00 00 00    	jne    0x54c82d
54c72e:	8a 93 e6 00 00 00    	mov    0xe6(%ebx),%dl
54c734:	80 fa 03             	cmp    $0x3,%dl
54c737:	0f 85 85 00 00 00    	jne    0x54c7c2
54c73d:	8a 0c 24             	mov    (%esp),%cl
54c740:	88 8b f8 00 00 00    	mov    %cl,0xf8(%ebx)
54c746:	66 8b 46 14          	mov    0x14(%esi),%ax
54c74a:	66 85 c0             	test   %ax,%ax
54c74d:	0f 84 cb 00 00 00    	je     0x54c81e
54c753:	33 d2                	xor    %edx,%edx
54c755:	8a 14 24             	mov    (%esp),%dl
54c758:	0f b7 c8             	movzwl %ax,%ecx
54c75b:	3b d1                	cmp    %ecx,%edx
54c75d:	7e 11                	jle    0x54c770
54c75f:	ba 16 b7 69 00       	mov    $0x69b716,%edx
54c764:	8b c3                	mov    %ebx,%eax
54c766:	e8 f1 e7 ff ff       	call   0x54af5c
54c76b:	e9 bd 00 00 00       	jmp    0x54c82d
54c770:	33 c9                	xor    %ecx,%ecx
54c772:	8a 0c 24             	mov    (%esp),%cl
54c775:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
54c778:	8b 93 d4 00 00 00    	mov    0xd4(%ebx),%edx
54c77e:	33 c9                	xor    %ecx,%ecx
54c780:	8a 0c 02             	mov    (%edx,%eax,1),%cl
54c783:	66 89 8b fa 00 00 00 	mov    %cx,0xfa(%ebx)
54c78a:	33 c0                	xor    %eax,%eax
54c78c:	8a 04 24             	mov    (%esp),%al
54c78f:	8d 14 40             	lea    (%eax,%eax,2),%edx
54c792:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
54c798:	33 c0                	xor    %eax,%eax
54c79a:	8a 44 11 01          	mov    0x1(%ecx,%edx,1),%al
54c79e:	66 89 83 fc 00 00 00 	mov    %ax,0xfc(%ebx)
54c7a5:	33 d2                	xor    %edx,%edx
54c7a7:	8a 14 24             	mov    (%esp),%dl
54c7aa:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
54c7ad:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
54c7b3:	33 d2                	xor    %edx,%edx
54c7b5:	8a 54 08 02          	mov    0x2(%eax,%ecx,1),%dl
54c7b9:	66 89 93 fe 00 00 00 	mov    %dx,0xfe(%ebx)
54c7c0:	eb 5c                	jmp    0x54c81e
54c7c2:	f6 83 e6 00 00 00 02 	testb  $0x2,0xe6(%ebx)
54c7c9:	75 25                	jne    0x54c7f0
54c7cb:	8b c4                	mov    %esp,%eax
54c7cd:	e8 3a e9 ff ff       	call   0x54b10c
54c7d2:	66 89 83 00 01 00 00 	mov    %ax,0x100(%ebx)
54c7d9:	66 89 83 fe 00 00 00 	mov    %ax,0xfe(%ebx)
54c7e0:	66 89 83 fc 00 00 00 	mov    %ax,0xfc(%ebx)
54c7e7:	66 89 83 fa 00 00 00 	mov    %ax,0xfa(%ebx)
54c7ee:	eb 2e                	jmp    0x54c81e
54c7f0:	8b c4                	mov    %esp,%eax
54c7f2:	e8 15 e9 ff ff       	call   0x54b10c
54c7f7:	66 89 83 fa 00 00 00 	mov    %ax,0xfa(%ebx)
54c7fe:	8d 44 24 02          	lea    0x2(%esp),%eax
54c802:	e8 05 e9 ff ff       	call   0x54b10c
54c807:	66 89 83 fc 00 00 00 	mov    %ax,0xfc(%ebx)
54c80e:	8d 44 24 04          	lea    0x4(%esp),%eax
54c812:	e8 f5 e8 ff ff       	call   0x54b10c
54c817:	66 89 83 fe 00 00 00 	mov    %ax,0xfe(%ebx)
54c81e:	8d 8b f8 00 00 00    	lea    0xf8(%ebx),%ecx
54c824:	8b d6                	mov    %esi,%edx
54c826:	8b c3                	mov    %ebx,%eax
54c828:	e8 93 6e ff ff       	call   0x5436c0
54c82d:	59                   	pop    %ecx
54c82e:	5a                   	pop    %edx
54c82f:	5f                   	pop    %edi
54c830:	5e                   	pop    %esi
54c831:	5b                   	pop    %ebx
54c832:	c3                   	ret
54c833:	90                   	nop
54c834:	53                   	push   %ebx
54c835:	56                   	push   %esi
54c836:	57                   	push   %edi
54c837:	55                   	push   %ebp
54c838:	81 c4 f8 fd ff ff    	add    $0xfffffdf8,%esp
54c83e:	8b d8                	mov    %eax,%ebx
54c840:	8b f1                	mov    %ecx,%esi
54c842:	89 14 24             	mov    %edx,(%esp)
54c845:	f6 43 28 01          	testb  $0x1,0x28(%ebx)
54c849:	75 0e                	jne    0x54c859
54c84b:	ba 37 b7 69 00       	mov    $0x69b737,%edx
54c850:	8b c3                	mov    %ebx,%eax
54c852:	e8 69 e6 ff ff       	call   0x54aec0
54c857:	eb 67                	jmp    0x54c8c0
54c859:	f6 43 28 04          	testb  $0x4,0x28(%ebx)
54c85d:	74 1a                	je     0x54c879
54c85f:	ba 50 b7 69 00       	mov    $0x69b750,%edx
54c864:	8b c3                	mov    %ebx,%eax
54c866:	e8 f1 e6 ff ff       	call   0x54af5c
54c86b:	8b d6                	mov    %esi,%edx
54c86d:	8b c3                	mov    %ebx,%eax
54c86f:	e8 d0 e8 ff ff       	call   0x54b144
54c874:	e9 bb 00 00 00       	jmp    0x54c934
54c879:	f6 43 28 02          	testb  $0x2,0x28(%ebx)
54c87d:	75 1a                	jne    0x54c899
54c87f:	ba 68 b7 69 00       	mov    $0x69b768,%edx
54c884:	8b c3                	mov    %ebx,%eax
54c886:	e8 d1 e6 ff ff       	call   0x54af5c
54c88b:	8b d6                	mov    %esi,%edx
54c88d:	8b c3                	mov    %ebx,%eax
54c88f:	e8 b0 e8 ff ff       	call   0x54b144
54c894:	e9 9b 00 00 00       	jmp    0x54c934
54c899:	8b 0c 24             	mov    (%esp),%ecx
54c89c:	85 c9                	test   %ecx,%ecx
54c89e:	74 20                	je     0x54c8c0
54c8a0:	8b 04 24             	mov    (%esp),%eax
54c8a3:	f6 40 08 40          	testb  $0x40,0x8(%eax)
54c8a7:	74 17                	je     0x54c8c0
54c8a9:	ba 81 b7 69 00       	mov    $0x69b781,%edx
54c8ae:	8b c3                	mov    %ebx,%eax
54c8b0:	e8 a7 e6 ff ff       	call   0x54af5c
54c8b5:	8b d6                	mov    %esi,%edx
54c8b7:	8b c3                	mov    %ebx,%eax
54c8b9:	e8 86 e8 ff ff       	call   0x54b144
54c8be:	eb 74                	jmp    0x54c934
54c8c0:	8b ee                	mov    %esi,%ebp
54c8c2:	d1 fd                	sar    $1,%ebp
54c8c4:	79 03                	jns    0x54c8c9
54c8c6:	83 d5 00             	adc    $0x0,%ebp
54c8c9:	0f b7 83 d8 00 00 00 	movzwl 0xd8(%ebx),%eax
54c8d0:	3b e8                	cmp    %eax,%ebp
54c8d2:	74 17                	je     0x54c8eb
54c8d4:	ba 96 b7 69 00       	mov    $0x69b796,%edx
54c8d9:	8b c3                	mov    %ebx,%eax
54c8db:	e8 7c e6 ff ff       	call   0x54af5c
54c8e0:	8b d6                	mov    %esi,%edx
54c8e2:	8b c3                	mov    %ebx,%eax
54c8e4:	e8 5b e8 ff ff       	call   0x54b144
54c8e9:	eb 49                	jmp    0x54c934
54c8eb:	33 ff                	xor    %edi,%edi
54c8ed:	8d 74 24 08          	lea    0x8(%esp),%esi
54c8f1:	3b ef                	cmp    %edi,%ebp
54c8f3:	7e 24                	jle    0x54c919
54c8f5:	8d 54 24 04          	lea    0x4(%esp),%edx
54c8f9:	b9 02 00 00 00       	mov    $0x2,%ecx