54b585:	89 46 14             	mov    %eax,0x14(%esi)
54b588:	8b 46 14             	mov    0x14(%esi),%eax
54b58b:	85 c0                	test   %eax,%eax
54b58d:	75 36                	jne    0x54b5c5
54b58f:	b8 00 24 00 00       	mov    $0x2400,%eax
54b594:	66 85 46 08          	test   %ax,0x8(%esi)
54b598:	74 0b                	je     0x54b5a5
54b59a:	56                   	push   %esi
54b59b:	e8 b0 f8 00 00       	call   0x55ae50
54b5a0:	83 c4 04             	add    $0x4,%esp
54b5a3:	eb 09                	jmp    0x54b5ae
54b5a5:	b8 01 00 00 00       	mov    $0x1,%eax
54b5aa:	66 89 46 08          	mov    %ax,0x8(%esi)
54b5ae:	5f                   	pop    %edi
54b5af:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
54b5b6:	b8 07 00 00 00       	mov    $0x7,%eax
54b5bb:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
54b5c2:	5e                   	pop    %esi
54b5c3:	5d                   	pop    %ebp
54b5c4:	c3                   	ret
54b5c5:	8b 4e 20             	mov    0x20(%esi),%ecx
54b5c8:	85 c9                	test   %ecx,%ecx
54b5ca:	74 28                	je     0x54b5f4
54b5cc:	3b 81 4c 01 00 00    	cmp    0x14c(%ecx),%eax
54b5d2:	73 20                	jae    0x54b5f4
54b5d4:	3b 81 44 01 00 00    	cmp    0x144(%ecx),%eax
54b5da:	72 07                	jb     0x54b5e3
54b5dc:	b8 80 00 00 00       	mov    $0x80,%eax
54b5e1:	eb 1b                	jmp    0x54b5fe
54b5e3:	3b 81 48 01 00 00    	cmp    0x148(%ecx),%eax
54b5e9:	72 09                	jb     0x54b5f4
54b5eb:	0f b7 81 1e 01 00 00 	movzwl 0x11e(%ecx),%eax
54b5f2:	eb 0a                	jmp    0x54b5fe
54b5f4:	50                   	push   %eax
54b5f5:	ff 15 3c 18 72 00    	call   *0x72183c
54b5fb:	83 c4 04             	add    $0x4,%esp
54b5fe:	89 46 18             	mov    %eax,0x18(%esi)
54b601:	85 ff                	test   %edi,%edi
54b603:	74 16                	je     0x54b61b
54b605:	8b 46 10             	mov    0x10(%esi),%eax
54b608:	85 c0                	test   %eax,%eax
54b60a:	74 0f                	je     0x54b61b
54b60c:	ff 76 0c             	push   0xc(%esi)
54b60f:	50                   	push   %eax
54b610:	ff 76 14             	push   0x14(%esi)
54b613:	e8 e8 78 09 00       	call   0x5e2f00
54b618:	83 c4 0c             	add    $0xc,%esp
54b61b:	b8 00 04 00 00       	mov    $0x400,%eax
54b620:	66 85 46 08          	test   %ax,0x8(%esi)
54b624:	74 0b                	je     0x54b631
54b626:	ff 76 10             	push   0x10(%esi)
54b629:	8b 46 24             	mov    0x24(%esi),%eax
54b62c:	ff d0                	call   *%eax
54b62e:	83 c4 04             	add    $0x4,%esp
54b631:	8b 46 14             	mov    0x14(%esi),%eax
54b634:	89 46 10             	mov    %eax,0x10(%esi)
54b637:	b8 ff e3 00 00       	mov    $0xe3ff,%eax
54b63c:	66 21 46 08          	and    %ax,0x8(%esi)
54b640:	33 c0                	xor    %eax,%eax
54b642:	5f                   	pop    %edi
54b643:	5e                   	pop    %esi
54b644:	5d                   	pop    %ebp
54b645:	c3                   	ret
54b646:	cc                   	int3
54b647:	cc                   	int3
54b648:	cc                   	int3
54b649:	cc                   	int3
54b64a:	cc                   	int3
54b64b:	cc                   	int3
54b64c:	cc                   	int3
54b64d:	cc                   	int3
54b64e:	cc                   	int3
54b64f:	cc                   	int3
54b650:	55                   	push   %ebp
54b651:	8b ec                	mov    %esp,%ebp
54b653:	56                   	push   %esi
54b654:	8b 75 08             	mov    0x8(%ebp),%esi
54b657:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
54b65b:	7e 76                	jle    0x54b6d3
54b65d:	8b 46 10             	mov    0x10(%esi),%eax
54b660:	53                   	push   %ebx
54b661:	8a 08                	mov    (%eax),%cl
54b663:	8a 40 01             	mov    0x1(%eax),%al
54b666:	80 f9 fe             	cmp    $0xfe,%cl
54b669:	75 08                	jne    0x54b673
54b66b:	3c ff                	cmp    $0xff,%al
54b66d:	75 5e                	jne    0x54b6cd
54b66f:	b3 03                	mov    $0x3,%bl
54b671:	eb 0b                	jmp    0x54b67e
54b673:	80 f9 ff             	cmp    $0xff,%cl
54b676:	75 55                	jne    0x54b6cd
54b678:	3c fe                	cmp    $0xfe,%al
54b67a:	75 51                	jne    0x54b6cd
54b67c:	b3 02                	mov    $0x2,%bl
54b67e:	57                   	push   %edi
54b67f:	56                   	push   %esi
54b680:	e8 db 00 00 00       	call   0x54b760
54b685:	8b f8                	mov    %eax,%edi
54b687:	83 c4 04             	add    $0x4,%esp
54b68a:	85 ff                	test   %edi,%edi
54b68c:	75 3a                	jne    0x54b6c8
54b68e:	8b 56 10             	mov    0x10(%esi),%edx
54b691:	83 46 0c fe          	addl   $0xfffffffe,0xc(%esi)
54b695:	ff 76 0c             	push   0xc(%esi)
54b698:	8d 4a 02             	lea    0x2(%edx),%ecx
54b69b:	51                   	push   %ecx
54b69c:	52                   	push   %edx
54b69d:	e8 de 7d 09 00       	call   0x5e3480
54b6a2:	8b 4e 10             	mov    0x10(%esi),%ecx
54b6a5:	83 c4 0c             	add    $0xc,%esp
54b6a8:	8b 46 0c             	mov    0xc(%esi),%eax
54b6ab:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
54b6af:	8b 46 0c             	mov    0xc(%esi),%eax
54b6b2:	8b 4e 10             	mov    0x10(%esi),%ecx
54b6b5:	c6 44 01 01 00       	movb   $0x0,0x1(%ecx,%eax,1)
54b6ba:	b8 00 02 00 00       	mov    $0x200,%eax
54b6bf:	66 09 46 08          	or     %ax,0x8(%esi)
54b6c3:	8b c7                	mov    %edi,%eax
54b6c5:	88 5e 0a             	mov    %bl,0xa(%esi)
54b6c8:	5f                   	pop    %edi
54b6c9:	5b                   	pop    %ebx
54b6ca:	5e                   	pop    %esi
54b6cb:	5d                   	pop    %ebp
54b6cc:	c3                   	ret
54b6cd:	5b                   	pop    %ebx
54b6ce:	33 c0                	xor    %eax,%eax
54b6d0:	5e                   	pop    %esi
54b6d1:	5d                   	pop    %ebp
54b6d2:	c3                   	ret
54b6d3:	33 c0                	xor    %eax,%eax
54b6d5:	5e                   	pop    %esi
54b6d6:	5d                   	pop    %ebp
54b6d7:	c3                   	ret
54b6d8:	cc                   	int3
54b6d9:	cc                   	int3
54b6da:	cc                   	int3
54b6db:	cc                   	int3
54b6dc:	cc                   	int3
54b6dd:	cc                   	int3
54b6de:	cc                   	int3
54b6df:	cc                   	int3
54b6e0:	55                   	push   %ebp
54b6e1:	8b ec                	mov    %esp,%ebp
54b6e3:	83 ec 08             	sub    $0x8,%esp
54b6e6:	56                   	push   %esi
54b6e7:	8b 75 08             	mov    0x8(%ebp),%esi
54b6ea:	0f b7 46 08          	movzwl 0x8(%esi),%eax
54b6ee:	a8 24                	test   $0x24,%al
54b6f0:	74 07                	je     0x54b6f9
54b6f2:	8b 06                	mov    (%esi),%eax
54b6f4:	8b 56 04             	mov    0x4(%esi),%edx
54b6f7:	eb 3d                	jmp    0x54b736
54b6f9:	a8 08                	test   $0x8,%al
54b6fb:	74 16                	je     0x54b713
54b6fd:	f2 0f 10 06          	movsd  (%esi),%xmm0
54b701:	83 ec 08             	sub    $0x8,%esp
54b704:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
54b709:	e8 72 2d fb ff       	call   0x4fe480
54b70e:	83 c4 08             	add    $0x8,%esp
54b711:	eb 23                	jmp    0x54b736
54b713:	a8 12                	test   $0x12,%al
54b715:	74 11                	je     0x54b728
54b717:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
54b71b:	74 0b                	je     0x54b728
54b71d:	56                   	push   %esi
54b71e:	e8 ad dd fb ff       	call   0x5094d0
54b723:	83 c4 04             	add    $0x4,%esp
54b726:	eb 0e                	jmp    0x54b736
54b728:	0f 57 c0             	xorps  %xmm0,%xmm0
54b72b:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
54b730:	8b 55 fc             	mov    -0x4(%ebp),%edx
54b733:	8b 45 f8             	mov    -0x8(%ebp),%eax
54b736:	89 06                	mov    %eax,(%esi)
54b738:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
54b73d:	66 8b 46 08          	mov    0x8(%esi),%ax
54b741:	66 23 c1             	and    %cx,%ax
54b744:	89 56 04             	mov    %edx,0x4(%esi)
54b747:	66 83 c8 04          	or     $0x4,%ax
54b74b:	66 89 46 08          	mov    %ax,0x8(%esi)
54b74f:	33 c0                	xor    %eax,%eax
54b751:	5e                   	pop    %esi
54b752:	8b e5                	mov    %ebp,%esp
54b754:	5d                   	pop    %ebp
54b755:	c3                   	ret
54b756:	cc                   	int3
54b757:	cc                   	int3
54b758:	cc                   	int3
54b759:	cc                   	int3
54b75a:	cc                   	int3
54b75b:	cc                   	int3
54b75c:	cc                   	int3
54b75d:	cc                   	int3
54b75e:	cc                   	int3
54b75f:	cc                   	int3
54b760:	55                   	push   %ebp
54b761:	8b ec                	mov    %esp,%ebp
54b763:	56                   	push   %esi
54b764:	8b 75 08             	mov    0x8(%ebp),%esi
54b767:	0f b7 46 08          	movzwl 0x8(%esi),%eax
54b76b:	a8 12                	test   $0x12,%al
54b76d:	74 37                	je     0x54b7a6
54b76f:	a9 00 40 00 00       	test   $0x4000,%eax
54b774:	74 15                	je     0x54b78b
54b776:	56                   	push   %esi
54b777:	e8 04 fc ff ff       	call   0x54b380
54b77c:	83 c4 04             	add    $0x4,%esp
54b77f:	85 c0                	test   %eax,%eax
54b781:	74 08                	je     0x54b78b
54b783:	b8 07 00 00 00       	mov    $0x7,%eax
54b788:	5e                   	pop    %esi
54b789:	5d                   	pop    %ebp
54b78a:	c3                   	ret
54b78b:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
54b78f:	74 08                	je     0x54b799
54b791:	8b 46 10             	mov    0x10(%esi),%eax
54b794:	3b 46 14             	cmp    0x14(%esi),%eax
54b797:	74 0d                	je     0x54b7a6
54b799:	56                   	push   %esi
54b79a:	e8 11 f6 00 00       	call   0x55adb0
54b79f:	83 c4 04             	add    $0x4,%esp
54b7a2:	85 c0                	test   %eax,%eax
54b7a4:	75 0b                	jne    0x54b7b1
54b7a6:	b8 ff ef 00 00       	mov    $0xefff,%eax
54b7ab:	66 21 46 08          	and    %ax,0x8(%esi)
54b7af:	33 c0                	xor    %eax,%eax
54b7b1:	5e                   	pop    %esi
54b7b2:	5d                   	pop    %ebp
54b7b3:	c3                   	ret
54b7b4:	cc                   	int3
54b7b5:	cc                   	int3
54b7b6:	cc                   	int3
54b7b7:	cc                   	int3
54b7b8:	cc                   	int3
54b7b9:	cc                   	int3
54b7ba:	cc                   	int3
54b7bb:	cc                   	int3
54b7bc:	cc                   	int3
54b7bd:	cc                   	int3
54b7be:	cc                   	int3
54b7bf:	cc                   	int3
54b7c0:	55                   	push   %ebp
54b7c1:	8b ec                	mov    %esp,%ebp
54b7c3:	56                   	push   %esi
54b7c4:	8b 75 08             	mov    0x8(%ebp),%esi
54b7c7:	b8 00 24 00 00       	mov    $0x2400,%eax
54b7cc:	66 85 46 08          	test   %ax,0x8(%esi)
54b7d0:	75 06                	jne    0x54b7d8
54b7d2:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
54b7d6:	74 09                	je     0x54b7e1
54b7d8:	56                   	push   %esi
54b7d9:	e8 32 f6 00 00       	call   0x55ae10
54b7de:	83 c4 04             	add    $0x4,%esp
54b7e1:	8b 45 0c             	mov    0xc(%ebp),%eax
54b7e4:	b9 01 00 00 00       	mov    $0x1,%ecx
54b7e9:	0f 10 00             	movups (%eax),%xmm0
54b7ec:	0f 11 06             	movups %xmm0,(%esi)
54b7ef:	0f 10 40 10          	movups 0x10(%eax),%xmm0
54b7f3:	0f 11 46 10          	movups %xmm0,0x10(%esi)
54b7f7:	f3 0f 7e 40 20       	movq   0x20(%eax),%xmm0
54b7fc:	66 0f d6 46 20       	movq   %xmm0,0x20(%esi)
54b801:	66 89 48 08          	mov    %cx,0x8(%eax)
54b805:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
54b80c:	5e                   	pop    %esi
54b80d:	5d                   	pop    %ebp
54b80e:	c3                   	ret
54b80f:	cc                   	int3
54b810:	55                   	push   %ebp
54b811:	8b ec                	mov    %esp,%ebp
54b813:	8b 4d 08             	mov    0x8(%ebp),%ecx
54b816:	ba 02 02 00 00       	mov    $0x202,%edx
54b81b:	66 8b 41 08          	mov    0x8(%ecx),%ax
54b81f:	66 23 c2             	and    %dx,%ax
54b822:	66 83 f8 02          	cmp    $0x2,%ax
54b826:	74 04                	je     0x54b82c
54b828:	33 c0                	xor    %eax,%eax
54b82a:	5d                   	pop    %ebp
54b82b:	c3                   	ret
54b82c:	89 4d 08             	mov    %ecx,0x8(%ebp)
54b82f:	5d                   	pop    %ebp
54b830:	e9 7b f5 00 00       	jmp    0x55adb0
54b835:	cc                   	int3
54b836:	cc                   	int3
54b837:	cc                   	int3
54b838:	cc                   	int3
54b839:	cc                   	int3
54b83a:	cc                   	int3
54b83b:	cc                   	int3
54b83c:	cc                   	int3
54b83d:	cc                   	int3
54b83e:	cc                   	int3
54b83f:	cc                   	int3
54b840:	55                   	push   %ebp
54b841:	8b ec                	mov    %esp,%ebp
54b843:	83 ec 08             	sub    $0x8,%esp
54b846:	56                   	push   %esi
54b847:	8b 75 08             	mov    0x8(%ebp),%esi
54b84a:	f6 46 08 2d          	testb  $0x2d,0x8(%esi)
54b84e:	0f 85 95 00 00 00    	jne    0x54b8e9
54b854:	0f b6 46 0a          	movzbl 0xa(%esi),%eax
54b858:	53                   	push   %ebx
54b859:	57                   	push   %edi
54b85a:	50                   	push   %eax
54b85b:	ff 76 0c             	push   0xc(%esi)
54b85e:	56                   	push   %esi
54b85f:	ff 76 10             	push   0x10(%esi)
54b862:	e8 f9 d7 fc ff       	call   0x519060
54b867:	83 c4 10             	add    $0x10,%esp
54b86a:	85 c0                	test   %eax,%eax
54b86c:	74 05                	je     0x54b873
54b86e:	83 f8 01             	cmp    $0x1,%eax
54b871:	75 1c                	jne    0x54b88f
54b873:	0f b6 46 0a          	movzbl 0xa(%esi),%eax
54b877:	50                   	push   %eax
54b878:	ff 76 0c             	push   0xc(%esi)
54b87b:	8d 45 f8             	lea    -0x8(%ebp),%eax
54b87e:	50                   	push   %eax
54b87f:	ff 76 10             	push   0x10(%esi)
54b882:	e8 b9 dc fc ff       	call   0x519540
54b887:	83 c4 10             	add    $0x10,%esp
54b88a:	83 f8 01             	cmp    $0x1,%eax
54b88d:	7e 39                	jle    0x54b8c8
54b88f:	f2 0f 10 06          	movsd  (%esi),%xmm0
54b893:	e8 f3 5e 09 00       	call   0x5e178b
54b898:	f2 0f 10 06          	movsd  (%esi),%xmm0
54b89c:	8b da                	mov    %edx,%ebx
54b89e:	8b f8                	mov    %eax,%edi
54b8a0:	53                   	push   %ebx
54b8a1:	57                   	push   %edi
54b8a2:	83 ec 08             	sub    $0x8,%esp
54b8a5:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
54b8aa:	e8 31 bc fe ff       	call   0x5374e0
54b8af:	83 c4 10             	add    $0x10,%esp
54b8b2:	85 c0                	test   %eax,%eax
54b8b4:	75 18                	jne    0x54b8ce
54b8b6:	66 8b 46 08          	mov    0x8(%esi),%ax
54b8ba:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
54b8bf:	66 23 c1             	and    %cx,%ax
54b8c2:	66 83 c8 08          	or     $0x8,%ax
54b8c6:	eb 1b                	jmp    0x54b8e3
54b8c8:	8b 5d fc             	mov    -0x4(%ebp),%ebx
54b8cb:	8b 7d f8             	mov    -0x8(%ebp),%edi
54b8ce:	66 8b 46 08          	mov    0x8(%esi),%ax
54b8d2:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
54b8d7:	66 23 c1             	and    %cx,%ax
54b8da:	89 3e                	mov    %edi,(%esi)
54b8dc:	89 5e 04             	mov    %ebx,0x4(%esi)
54b8df:	66 83 c8 04          	or     $0x4,%ax
54b8e3:	5f                   	pop    %edi
54b8e4:	66 89 46 08          	mov    %ax,0x8(%esi)
54b8e8:	5b                   	pop    %ebx