55b388:	75 38                	jne    0x55b3c2
55b38a:	66 83 7e 10 03       	cmpw   $0x3,0x10(%esi)
55b38f:	74 31                	je     0x55b3c2
55b391:	33 d2                	xor    %edx,%edx
55b393:	8b c6                	mov    %esi,%eax
55b395:	e8 4e a9 01 00       	call   0x575ce8
55b39a:	85 c0                	test   %eax,%eax
55b39c:	75 24                	jne    0x55b3c2
55b39e:	ba 01 00 00 00       	mov    $0x1,%edx
55b3a3:	8b c6                	mov    %esi,%eax
55b3a5:	e8 3e a9 01 00       	call   0x575ce8
55b3aa:	48                   	dec    %eax
55b3ab:	75 15                	jne    0x55b3c2
55b3ad:	ba 02 00 00 00       	mov    $0x2,%edx
55b3b2:	8b c6                	mov    %esi,%eax
55b3b4:	e8 2f a9 01 00       	call   0x575ce8
55b3b9:	83 f8 02             	cmp    $0x2,%eax
55b3bc:	0f 84 b1 00 00 00    	je     0x55b473
55b3c2:	8b 4e 18             	mov    0x18(%esi),%ecx
55b3c5:	49                   	dec    %ecx
55b3c6:	75 18                	jne    0x55b3e0
55b3c8:	66 83 7e 10 01       	cmpw   $0x1,0x10(%esi)
55b3cd:	75 11                	jne    0x55b3e0
55b3cf:	33 d2                	xor    %edx,%edx
55b3d1:	8b c6                	mov    %esi,%eax
55b3d3:	e8 10 a9 01 00       	call   0x575ce8
55b3d8:	85 c0                	test   %eax,%eax
55b3da:	0f 84 93 00 00 00    	je     0x55b473
55b3e0:	b8 66 65 64 63       	mov    $0x63646566,%eax
55b3e5:	e8 da 85 01 00       	call   0x5739c4
55b3ea:	8b d8                	mov    %eax,%ebx
55b3ec:	85 c0                	test   %eax,%eax
55b3ee:	0f 84 51 01 00 00    	je     0x55b545
55b3f4:	8d 53 10             	lea    0x10(%ebx),%edx
55b3f7:	89 54 24 10          	mov    %edx,0x10(%esp)
55b3fb:	66 8b 6e 10          	mov    0x10(%esi),%bp
55b3ff:	0f b7 c5             	movzwl %bp,%eax
55b402:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55b406:	03 c0                	add    %eax,%eax
55b408:	66 89 29             	mov    %bp,(%ecx)
55b40b:	8d 04 40             	lea    (%eax,%eax,2),%eax
55b40e:	e8 69 cf 01 00       	call   0x57837c
55b413:	8b 54 24 10          	mov    0x10(%esp),%edx
55b417:	33 ed                	xor    %ebp,%ebp
55b419:	89 42 04             	mov    %eax,0x4(%edx)
55b41c:	eb 46                	jmp    0x55b464
55b41e:	8b cd                	mov    %ebp,%ecx
55b420:	8b 44 24 10          	mov    0x10(%esp),%eax
55b424:	03 c9                	add    %ecx,%ecx
55b426:	8b 50 04             	mov    0x4(%eax),%edx
55b429:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
55b42c:	03 d1                	add    %ecx,%edx
55b42e:	89 54 24 0c          	mov    %edx,0xc(%esp)
55b432:	8b 44 24 0c          	mov    0xc(%esp),%eax
55b436:	66 89 28             	mov    %bp,(%eax)
55b439:	8b 56 14             	mov    0x14(%esi),%edx
55b43c:	8b 46 18             	mov    0x18(%esi),%eax
55b43f:	8b 0c aa             	mov    (%edx,%ebp,4),%ecx
55b442:	8b 51 24             	mov    0x24(%ecx),%edx
55b445:	e8 22 01 00 00       	call   0x55b56c
55b44a:	8b c8                	mov    %eax,%ecx
55b44c:	8b 54 24 0c          	mov    0xc(%esp),%edx
55b450:	c1 e9 10             	shr    $0x10,%ecx
55b453:	66 89 4a 02          	mov    %cx,0x2(%edx)
55b457:	66 25 ff 7f          	and    $0x7fff,%ax
55b45b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
55b45f:	45                   	inc    %ebp
55b460:	66 89 41 04          	mov    %ax,0x4(%ecx)
55b464:	0f b7 46 10          	movzwl 0x10(%esi),%eax
55b468:	3b e8                	cmp    %eax,%ebp
55b46a:	7c b2                	jl     0x55b41e
55b46c:	8b c3                	mov    %ebx,%eax
55b46e:	e8 a1 85 01 00       	call   0x573a14
55b473:	8b c7                	mov    %edi,%eax
55b475:	e8 7e d7 01 00       	call   0x578bf8
55b47a:	8b e8                	mov    %eax,%ebp
55b47c:	8b c7                	mov    %edi,%eax
55b47e:	e8 d9 d6 01 00       	call   0x578b5c
55b483:	b8 68 32 70 6a       	mov    $0x6a703268,%eax
55b488:	e8 37 85 01 00       	call   0x5739c4
55b48d:	8b d8                	mov    %eax,%ebx
55b48f:	85 c0                	test   %eax,%eax
55b491:	0f 84 ae 00 00 00    	je     0x55b545
55b497:	8d 55 08             	lea    0x8(%ebp),%edx
55b49a:	8b c3                	mov    %ebx,%eax
55b49c:	89 53 0c             	mov    %edx,0xc(%ebx)
55b49f:	8b 14 24             	mov    (%esp),%edx
55b4a2:	e8 6d 8a 01 00       	call   0x573f14
55b4a7:	85 c0                	test   %eax,%eax
55b4a9:	0f 85 96 00 00 00    	jne    0x55b545
55b4af:	8b c3                	mov    %ebx,%eax
55b4b1:	e8 5e 85 01 00       	call   0x573a14
55b4b6:	33 db                	xor    %ebx,%ebx
55b4b8:	8b cd                	mov    %ebp,%ecx
55b4ba:	8b d7                	mov    %edi,%edx
55b4bc:	8b 04 24             	mov    (%esp),%eax
55b4bf:	e8 64 da 01 00       	call   0x578f28
55b4c4:	85 c0                	test   %eax,%eax
55b4c6:	75 7d                	jne    0x55b545
55b4c8:	8b c7                	mov    %edi,%eax
55b4ca:	e8 6d d2 01 00       	call   0x57873c
55b4cf:	33 ff                	xor    %edi,%edi
55b4d1:	b8 63 32 70 6a       	mov    $0x6a703263,%eax
55b4d6:	e8 e9 84 01 00       	call   0x5739c4
55b4db:	8b d8                	mov    %eax,%ebx
55b4dd:	85 c0                	test   %eax,%eax
55b4df:	74 64                	je     0x55b545
55b4e1:	33 d2                	xor    %edx,%edx
55b4e3:	8b c3                	mov    %ebx,%eax
55b4e5:	89 53 0c             	mov    %edx,0xc(%ebx)
55b4e8:	8b 14 24             	mov    (%esp),%edx
55b4eb:	e8 24 8a 01 00       	call   0x573f14
55b4f0:	85 c0                	test   %eax,%eax
55b4f2:	75 51                	jne    0x55b545
55b4f4:	8b c3                	mov    %ebx,%eax
55b4f6:	e8 19 85 01 00       	call   0x573a14
55b4fb:	33 db                	xor    %ebx,%ebx
55b4fd:	8b 04 24             	mov    (%esp),%eax
55b500:	8b 40 3c             	mov    0x3c(%eax),%eax
55b503:	50                   	push   %eax
55b504:	8b 54 24 08          	mov    0x8(%esp),%edx
55b508:	85 d2                	test   %edx,%edx
55b50a:	74 06                	je     0x55b512
55b50c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
55b510:	eb 05                	jmp    0x55b517
55b512:	b9 85 d6 69 00       	mov    $0x69d685,%ecx
55b517:	51                   	push   %ecx
55b518:	68 70 d6 69 00       	push   $0x69d670
55b51d:	8d 44 24 20          	lea    0x20(%esp),%eax
55b521:	50                   	push   %eax
55b522:	e8 8d eb 01 00       	call   0x57a0b4
55b527:	83 c4 10             	add    $0x10,%esp
55b52a:	8d 4c 24 14          	lea    0x14(%esp),%ecx
55b52e:	8b 14 24             	mov    (%esp),%edx
55b531:	8b c6                	mov    %esi,%eax
55b533:	e8 70 01 00 00       	call   0x55b6a8
55b538:	85 c0                	test   %eax,%eax
55b53a:	75 09                	jne    0x55b545
55b53c:	33 c0                	xor    %eax,%eax
55b53e:	eb 1e                	jmp    0x55b55e
55b540:	e8 03 f6 ff ff       	call   0x55ab48
55b545:	85 db                	test   %ebx,%ebx
55b547:	74 07                	je     0x55b550
55b549:	8b c3                	mov    %ebx,%eax
55b54b:	e8 c4 84 01 00       	call   0x573a14
55b550:	85 ff                	test   %edi,%edi
55b552:	74 07                	je     0x55b55b
55b554:	8b c7                	mov    %edi,%eax
55b556:	e8 e1 d1 01 00       	call   0x57873c
55b55b:	83 c8 ff             	or     $0xffffffff,%eax
55b55e:	81 c4 14 10 00 00    	add    $0x1014,%esp
55b564:	5d                   	pop    %ebp
55b565:	5f                   	pop    %edi
55b566:	5e                   	pop    %esi
55b567:	5b                   	pop    %ebx
55b568:	c3                   	ret
55b569:	90                   	nop
55b56a:	90                   	nop
55b56b:	90                   	nop
55b56c:	f6 c6 80             	test   $0x80,%dh
55b56f:	53                   	push   %ebx
55b570:	74 09                	je     0x55b57b
55b572:	b9 01 00 00 00       	mov    $0x1,%ecx
55b577:	33 db                	xor    %ebx,%ebx
55b579:	eb 76                	jmp    0x55b5f1
55b57b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
55b580:	bb ff ff 00 00       	mov    $0xffff,%ebx
55b585:	48                   	dec    %eax
55b586:	74 62                	je     0x55b5ea
55b588:	48                   	dec    %eax
55b589:	74 05                	je     0x55b590
55b58b:	48                   	dec    %eax
55b58c:	74 2f                	je     0x55b5bd
55b58e:	eb 61                	jmp    0x55b5f1
55b590:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
55b596:	83 ea 01             	sub    $0x1,%edx
55b599:	72 07                	jb     0x55b5a2
55b59b:	74 0e                	je     0x55b5ab
55b59d:	4a                   	dec    %edx
55b59e:	74 14                	je     0x55b5b4
55b5a0:	eb 4f                	jmp    0x55b5f1
55b5a2:	33 c9                	xor    %ecx,%ecx
55b5a4:	bb 01 00 00 00       	mov    $0x1,%ebx
55b5a9:	eb 46                	jmp    0x55b5f1
55b5ab:	33 c9                	xor    %ecx,%ecx
55b5ad:	bb 02 00 00 00       	mov    $0x2,%ebx
55b5b2:	eb 3d                	jmp    0x55b5f1
55b5b4:	33 c9                	xor    %ecx,%ecx
55b5b6:	bb 03 00 00 00       	mov    $0x3,%ebx
55b5bb:	eb 34                	jmp    0x55b5f1
55b5bd:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
55b5c3:	83 ea 01             	sub    $0x1,%edx
55b5c6:	72 07                	jb     0x55b5cf
55b5c8:	74 0e                	je     0x55b5d8
55b5ca:	4a                   	dec    %edx
55b5cb:	74 14                	je     0x55b5e1
55b5cd:	eb 22                	jmp    0x55b5f1
55b5cf:	33 c9                	xor    %ecx,%ecx
55b5d1:	bb 01 00 00 00       	mov    $0x1,%ebx
55b5d6:	eb 19                	jmp    0x55b5f1
55b5d8:	33 c9                	xor    %ecx,%ecx
55b5da:	bb 02 00 00 00       	mov    $0x2,%ebx
55b5df:	eb 10                	jmp    0x55b5f1
55b5e1:	33 c9                	xor    %ecx,%ecx
55b5e3:	bb 03 00 00 00       	mov    $0x3,%ebx
55b5e8:	eb 07                	jmp    0x55b5f1
55b5ea:	33 c9                	xor    %ecx,%ecx
55b5ec:	bb 01 00 00 00       	mov    $0x1,%ebx
55b5f1:	8b c1                	mov    %ecx,%eax
55b5f3:	c1 e0 10             	shl    $0x10,%eax
55b5f6:	0b c3                	or     %ebx,%eax
55b5f8:	5b                   	pop    %ebx
55b5f9:	c3                   	ret
55b5fa:	8b c0                	mov    %eax,%eax
55b5fc:	53                   	push   %ebx
55b5fd:	56                   	push   %esi
55b5fe:	57                   	push   %edi
55b5ff:	55                   	push   %ebp
55b600:	8b ea                	mov    %edx,%ebp
55b602:	8b d8                	mov    %eax,%ebx
55b604:	85 db                	test   %ebx,%ebx
55b606:	7d 05                	jge    0x55b60d
55b608:	e8 3b f5 ff ff       	call   0x55ab48
55b60d:	8b c3                	mov    %ebx,%eax
55b60f:	e8 50 df 01 00       	call   0x579564
55b614:	8b f0                	mov    %eax,%esi
55b616:	8b c3                	mov    %ebx,%eax
55b618:	83 c6 f3             	add    $0xfffffff3,%esi
55b61b:	e8 44 df 01 00       	call   0x579564
55b620:	50                   	push   %eax
55b621:	b8 0b 00 00 00       	mov    $0xb,%eax
55b626:	5a                   	pop    %edx
55b627:	2b c2                	sub    %edx,%eax
55b629:	85 c0                	test   %eax,%eax
55b62b:	7d 0a                	jge    0x55b637
55b62d:	8b c8                	mov    %eax,%ecx
55b62f:	8b d3                	mov    %ebx,%edx
55b631:	f7 d9                	neg    %ecx
55b633:	d3 fa                	sar    %cl,%edx
55b635:	eb 06                	jmp    0x55b63d
55b637:	8b c8                	mov    %eax,%ecx
55b639:	8b d3                	mov    %ebx,%edx
55b63b:	d3 e2                	shl    %cl,%edx
55b63d:	8b fd                	mov    %ebp,%edi
55b63f:	81 e2 ff 07 00 00    	and    $0x7ff,%edx
55b645:	2b fe                	sub    %esi,%edi
55b647:	3b f5                	cmp    %ebp,%esi
55b649:	8b da                	mov    %edx,%ebx
55b64b:	7e 05                	jle    0x55b652
55b64d:	e8 f6 f4 ff ff       	call   0x55ab48
55b652:	f7 c7 e0 ff ff ff    	test   $0xffffffe0,%edi
55b658:	74 17                	je     0x55b671
55b65a:	68 e4 00 00 00       	push   $0xe4
55b65f:	68 c4 d7 69 00       	push   $0x69d7c4
55b664:	68 b0 d7 69 00       	push   $0x69d7b0
55b669:	e8 d2 f4 ff ff       	call   0x55ab40
55b66e:	83 c4 0c             	add    $0xc,%esp
55b671:	83 e7 1f             	and    $0x1f,%edi
55b674:	c1 e7 0b             	shl    $0xb,%edi
55b677:	f7 c3 00 f8 ff ff    	test   $0xfffff800,%ebx
55b67d:	74 17                	je     0x55b696
55b67f:	68 e4 00 00 00       	push   $0xe4
55b684:	68 e3 d7 69 00       	push   $0x69d7e3
55b689:	68 ce d7 69 00       	push   $0x69d7ce
55b68e:	e8 ad f4 ff ff       	call   0x55ab40
55b693:	83 c4 0c             	add    $0xc,%esp
55b696:	81 e3 ff 07 00 00    	and    $0x7ff,%ebx
55b69c:	0b fb                	or     %ebx,%edi
55b69e:	8b c7                	mov    %edi,%eax
55b6a0:	5d                   	pop    %ebp
55b6a1:	5f                   	pop    %edi
55b6a2:	5e                   	pop    %esi
55b6a3:	5b                   	pop    %ebx
55b6a4:	c3                   	ret
55b6a5:	90                   	nop
55b6a6:	90                   	nop
55b6a7:	90                   	nop
55b6a8:	53                   	push   %ebx
55b6a9:	56                   	push   %esi
55b6aa:	57                   	push   %edi
55b6ab:	55                   	push   %ebp
55b6ac:	51                   	push   %ecx
55b6ad:	89 0c 24             	mov    %ecx,(%esp)
55b6b0:	8b ea                	mov    %edx,%ebp
55b6b2:	8b f8                	mov    %eax,%edi
55b6b4:	33 db                	xor    %ebx,%ebx
55b6b6:	e8 39 19 01 00       	call   0x56cff4
55b6bb:	8b d7                	mov    %edi,%edx
55b6bd:	8b 04 24             	mov    (%esp),%eax
55b6c0:	e8 c3 00 00 00       	call   0x55b788
55b6c5:	8b f0                	mov    %eax,%esi
55b6c7:	85 c0                	test   %eax,%eax
55b6c9:	75 17                	jne    0x55b6e2
55b6cb:	68 ef d8 69 00       	push   $0x69d8ef
55b6d0:	68 80 2e 6a 00       	push   $0x6a2e80
55b6d5:	e8 f2 e9 01 00       	call   0x57a0cc
55b6da:	83 c4 08             	add    $0x8,%esp
55b6dd:	e9 85 00 00 00       	jmp    0x55b767
55b6e2:	8b cf                	mov    %edi,%ecx
55b6e4:	8b d5                	mov    %ebp,%edx
55b6e6:	8b c6                	mov    %esi,%eax
55b6e8:	e8 a7 0d 00 00       	call   0x55c494
55b6ed:	8b d8                	mov    %eax,%ebx
55b6ef:	85 c0                	test   %eax,%eax
55b6f1:	74 74                	je     0x55b767
55b6f3:	33 f6                	xor    %esi,%esi
55b6f5:	8b c3                	mov    %ebx,%eax
55b6f7:	e8 80 0e 00 00       	call   0x55c57c
55b6fc:	85 c0                	test   %eax,%eax
55b6fe:	75 67                	jne    0x55b767
55b700:	8b c3                	mov    %ebx,%eax
55b702:	e8 a1 14 00 00       	call   0x55cba8
55b707:	85 c0                	test   %eax,%eax
55b709:	75 5c                	jne    0x55b767
55b70b:	b8 d9 ff 00 00       	mov    $0xffd9,%eax
55b710:	e8 cb a8 01 00       	call   0x575fe0
55b715:	8b f8                	mov    %eax,%edi
55b717:	89 7b 1c             	mov    %edi,0x1c(%ebx)
55b71a:	85 ff                	test   %edi,%edi
55b71c:	74 49                	je     0x55b767
55b71e:	8b cf                	mov    %edi,%ecx
55b720:	8b 53 10             	mov    0x10(%ebx),%edx
55b723:	8b 43 04             	mov    0x4(%ebx),%eax
55b726:	e8 bd a7 01 00       	call   0x575ee8
55b72b:	85 c0                	test   %eax,%eax
55b72d:	74 14                	je     0x55b743
55b72f:	68 0b d9 69 00       	push   $0x69d90b
55b734:	68 80 2e 6a 00       	push   $0x6a2e80
55b739:	e8 8e e9 01 00       	call   0x57a0cc
55b73e:	83 c4 08             	add    $0x8,%esp
55b741:	eb 24                	jmp    0x55b767
55b743:	8b 43 1c             	mov    0x1c(%ebx),%eax
55b746:	e8 dd a8 01 00       	call   0x576028
55b74b:	33 d2                	xor    %edx,%edx
55b74d:	89 53 1c             	mov    %edx,0x1c(%ebx)
55b750:	8b 43 04             	mov    0x4(%ebx),%eax
55b753:	e8 bc d5 01 00       	call   0x578d14
55b758:	85 c0                	test   %eax,%eax
55b75a:	75 0b                	jne    0x55b767
55b75c:	8b c3                	mov    %ebx,%eax
55b75e:	e8 95 0d 00 00       	call   0x55c4f8
55b763:	33 c0                	xor    %eax,%eax
55b765:	eb 19                	jmp    0x55b780
55b767:	85 f6                	test   %esi,%esi
55b769:	74 07                	je     0x55b772
55b76b:	8b c6                	mov    %esi,%eax
55b76d:	e8 76 0c 00 00       	call   0x55c3e8
55b772:	85 db                	test   %ebx,%ebx
55b774:	74 07                	je     0x55b77d
55b776:	8b c3                	mov    %ebx,%eax