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
54b8e9:	b8 ed bf 00 00       	mov    $0xbfed,%eax
54b8ee:	66 21 46 08          	and    %ax,0x8(%esi)
54b8f2:	33 c0                	xor    %eax,%eax
54b8f4:	5e                   	pop    %esi
54b8f5:	8b e5                	mov    %ebp,%esp
54b8f7:	5d                   	pop    %ebp
54b8f8:	c3                   	ret
54b8f9:	cc                   	int3
54b8fa:	cc                   	int3
54b8fb:	cc                   	int3
54b8fc:	cc                   	int3
54b8fd:	cc                   	int3
54b8fe:	cc                   	int3
54b8ff:	cc                   	int3
54b900:	55                   	push   %ebp
54b901:	8b ec                	mov    %esp,%ebp
54b903:	83 ec 08             	sub    $0x8,%esp
54b906:	56                   	push   %esi
54b907:	8b 75 08             	mov    0x8(%ebp),%esi
54b90a:	0f b7 46 08          	movzwl 0x8(%esi),%eax
54b90e:	a8 08                	test   $0x8,%al
54b910:	74 06                	je     0x54b918
54b912:	f2 0f 10 06          	movsd  (%esi),%xmm0
54b916:	eb 2a                	jmp    0x54b942
54b918:	a8 24                	test   $0x24,%al
54b91a:	74 0c                	je     0x54b928
54b91c:	8b 56 04             	mov    0x4(%esi),%edx
54b91f:	8b 0e                	mov    (%esi),%ecx
54b921:	e8 7a 5f 09 00       	call   0x5e18a0
54b926:	eb 1a                	jmp    0x54b942
54b928:	a8 12                	test   $0x12,%al
54b92a:	74 13                	je     0x54b93f
54b92c:	56                   	push   %esi
54b92d:	e8 de db fb ff       	call   0x509510
54b932:	dd 5d f8             	fstpl  -0x8(%ebp)
54b935:	f2 0f 10 45 f8       	movsd  -0x8(%ebp),%xmm0
54b93a:	83 c4 04             	add    $0x4,%esp
54b93d:	eb 03                	jmp    0x54b942
54b93f:	0f 57 c0             	xorps  %xmm0,%xmm0
54b942:	66 8b 46 08          	mov    0x8(%esi),%ax
54b946:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
54b94b:	66 23 c1             	and    %cx,%ax
54b94e:	f2 0f 11 06          	movsd  %xmm0,(%esi)
54b952:	66 83 c8 08          	or     $0x8,%ax
54b956:	66 89 46 08          	mov    %ax,0x8(%esi)
54b95a:	33 c0                	xor    %eax,%eax
54b95c:	5e                   	pop    %esi
54b95d:	8b e5                	mov    %ebp,%esp
54b95f:	5d                   	pop    %ebp
54b960:	c3                   	ret
54b961:	cc                   	int3
54b962:	cc                   	int3
54b963:	cc                   	int3
54b964:	cc                   	int3
54b965:	cc                   	int3
54b966:	cc                   	int3
54b967:	cc                   	int3
54b968:	cc                   	int3
54b969:	cc                   	int3
54b96a:	cc                   	int3
54b96b:	cc                   	int3
54b96c:	cc                   	int3
54b96d:	cc                   	int3
54b96e:	cc                   	int3
54b96f:	cc                   	int3
54b970:	55                   	push   %ebp
54b971:	8b ec                	mov    %esp,%ebp
54b973:	8b 45 08             	mov    0x8(%ebp),%eax
54b976:	b9 00 24 00 00       	mov    $0x2400,%ecx
54b97b:	66 85 48 08          	test   %cx,0x8(%eax)
54b97f:	75 06                	jne    0x54b987
54b981:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
54b985:	74 09                	je     0x54b990
54b987:	89 45 08             	mov    %eax,0x8(%ebp)
54b98a:	5d                   	pop    %ebp
54b98b:	e9 80 f4 00 00       	jmp    0x55ae10
54b990:	5d                   	pop    %ebp
54b991:	c3                   	ret
54b992:	cc                   	int3
54b993:	cc                   	int3
54b994:	cc                   	int3
54b995:	cc                   	int3
54b996:	cc                   	int3
54b997:	cc                   	int3
54b998:	cc                   	int3
54b999:	cc                   	int3
54b99a:	cc                   	int3
54b99b:	cc                   	int3
54b99c:	cc                   	int3
54b99d:	cc                   	int3
54b99e:	cc                   	int3
54b99f:	cc                   	int3
54b9a0:	55                   	push   %ebp
54b9a1:	8b ec                	mov    %esp,%ebp
54b9a3:	56                   	push   %esi
54b9a4:	8b 75 08             	mov    0x8(%ebp),%esi
54b9a7:	b8 00 24 00 00       	mov    $0x2400,%eax
54b9ac:	66 85 46 08          	test   %ax,0x8(%esi)
54b9b0:	74 0b                	je     0x54b9bd
54b9b2:	56                   	push   %esi
54b9b3:	e8 98 f4 00 00       	call   0x55ae50
54b9b8:	83 c4 04             	add    $0x4,%esp
54b9bb:	eb 09                	jmp    0x54b9c6
54b9bd:	b8 01 00 00 00       	mov    $0x1,%eax
54b9c2:	66 89 46 08          	mov    %ax,0x8(%esi)
54b9c6:	f2 0f 10 45 0c       	movsd  0xc(%ebp),%xmm0
54b9cb:	f2 0f 11 45 0c       	movsd  %xmm0,0xc(%ebp)
54b9d0:	8b 4d 10             	mov    0x10(%ebp),%ecx
54b9d3:	8b c1                	mov    %ecx,%eax
54b9d5:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
54b9da:	33 d2                	xor    %edx,%edx
54b9dc:	75 14                	jne    0x54b9f2
54b9de:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
54b9e3:	75 0d                	jne    0x54b9f2
54b9e5:	8b 45 0c             	mov    0xc(%ebp),%eax
54b9e8:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
54b9ee:	0b c1                	or     %ecx,%eax
54b9f0:	75 0d                	jne    0x54b9ff
54b9f2:	b8 08 00 00 00       	mov    $0x8,%eax
54b9f7:	f2 0f 11 06          	movsd  %xmm0,(%esi)
54b9fb:	66 89 46 08          	mov    %ax,0x8(%esi)
54b9ff:	5e                   	pop    %esi
54ba00:	5d                   	pop    %ebp
54ba01:	c3                   	ret
54ba02:	cc                   	int3
54ba03:	cc                   	int3
54ba04:	cc                   	int3
54ba05:	cc                   	int3
54ba06:	cc                   	int3
54ba07:	cc                   	int3
54ba08:	cc                   	int3
54ba09:	cc                   	int3
54ba0a:	cc                   	int3
54ba0b:	cc                   	int3
54ba0c:	cc                   	int3
54ba0d:	cc                   	int3
54ba0e:	cc                   	int3
54ba0f:	cc                   	int3
54ba10:	55                   	push   %ebp
54ba11:	8b ec                	mov    %esp,%ebp
54ba13:	8b 4d 08             	mov    0x8(%ebp),%ecx
54ba16:	b8 00 24 00 00       	mov    $0x2400,%eax
54ba1b:	66 85 41 08          	test   %ax,0x8(%ecx)
54ba1f:	74 11                	je     0x54ba32
54ba21:	ff 75 10             	push   0x10(%ebp)
54ba24:	ff 75 0c             	push   0xc(%ebp)
54ba27:	51                   	push   %ecx
54ba28:	e8 c3 09 01 00       	call   0x55c3f0
54ba2d:	83 c4 0c             	add    $0xc,%esp
54ba30:	5d                   	pop    %ebp
54ba31:	c3                   	ret
54ba32:	8b 45 0c             	mov    0xc(%ebp),%eax
54ba35:	89 01                	mov    %eax,(%ecx)
54ba37:	8b 45 10             	mov    0x10(%ebp),%eax
54ba3a:	89 41 04             	mov    %eax,0x4(%ecx)
54ba3d:	b8 04 00 00 00       	mov    $0x4,%eax
54ba42:	66 89 41 08          	mov    %ax,0x8(%ecx)
54ba46:	5d                   	pop    %ebp
54ba47:	c3                   	ret
54ba48:	cc                   	int3
54ba49:	cc                   	int3
54ba4a:	cc                   	int3
54ba4b:	cc                   	int3
54ba4c:	cc                   	int3
54ba4d:	cc                   	int3
54ba4e:	cc                   	int3
54ba4f:	cc                   	int3
54ba50:	55                   	push   %ebp
54ba51:	8b ec                	mov    %esp,%ebp
54ba53:	8b 45 08             	mov    0x8(%ebp),%eax
54ba56:	b9 00 24 00 00       	mov    $0x2400,%ecx
54ba5b:	66 85 48 08          	test   %cx,0x8(%eax)
54ba5f:	74 09                	je     0x54ba6a
54ba61:	89 45 08             	mov    %eax,0x8(%ebp)
54ba64:	5d                   	pop    %ebp