54c774:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
54c779:	ff 75 d8             	push   -0x28(%ebp)
54c77c:	ff 75 d4             	push   -0x2c(%ebp)
54c77f:	e8 4c 30 fe ff       	call   0x52f7d0
54c784:	83 c4 10             	add    $0x10,%esp
54c787:	8b c8                	mov    %eax,%ecx
54c789:	e9 ef 01 00 00       	jmp    0x54c97d
54c78e:	f6 c1 02             	test   $0x2,%cl
54c791:	0f 84 e3 00 00 00    	je     0x54c87a
54c797:	8a 0c 1e             	mov    (%esi,%ebx,1),%cl
54c79a:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
54c79d:	80 f9 80             	cmp    $0x80,%cl
54c7a0:	73 08                	jae    0x54c7aa
54c7a2:	0f b6 d9             	movzbl %cl,%ebx
54c7a5:	89 5d cc             	mov    %ebx,-0x34(%ebp)
54c7a8:	eb 13                	jmp    0x54c7bd
54c7aa:	8d 4d cc             	lea    -0x34(%ebp),%ecx
54c7ad:	51                   	push   %ecx
54c7ae:	50                   	push   %eax
54c7af:	e8 8c 10 fe ff       	call   0x52d840
54c7b4:	8b 5d cc             	mov    -0x34(%ebp),%ebx
54c7b7:	83 c4 08             	add    $0x8,%esp
54c7ba:	8b 55 c8             	mov    -0x38(%ebp),%edx
54c7bd:	83 fb 0c             	cmp    $0xc,%ebx
54c7c0:	0f 82 3d 02 00 00    	jb     0x54ca03
54c7c6:	f6 c3 01             	test   $0x1,%bl
54c7c9:	0f 84 11 ff ff ff    	je     0x54c6e0
54c7cf:	8d 7b f4             	lea    -0xc(%ebx),%edi
54c7d2:	d1 ef                	shr    $1,%edi
54c7d4:	89 7d e0             	mov    %edi,-0x20(%ebp)
54c7d7:	8d 04 17             	lea    (%edi,%edx,1),%eax
54c7da:	3b 45 08             	cmp    0x8(%ebp),%eax
54c7dd:	0f 87 28 02 00 00    	ja     0x54ca0b
54c7e3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
54c7e6:	8b 09                	mov    (%ecx),%ecx
54c7e8:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
54c7ec:	3b 45 bc             	cmp    -0x44(%ebp),%eax
54c7ef:	0f 8e 16 02 00 00    	jle    0x54ca0b
54c7f5:	8b 45 b8             	mov    -0x48(%ebp),%eax
54c7f8:	83 3c 08 00          	cmpl   $0x0,(%eax,%ecx,1)
54c7fc:	74 3f                	je     0x54c83d
54c7fe:	8a 41 04             	mov    0x4(%ecx),%al
54c801:	8b 7d d0             	mov    -0x30(%ebp),%edi
54c804:	88 45 de             	mov    %al,-0x22(%ebp)
54c807:	8b 41 0c             	mov    0xc(%ecx),%eax
54c80a:	89 45 f4             	mov    %eax,-0xc(%ebp)
54c80d:	b8 02 00 00 00       	mov    $0x2,%eax
54c812:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
54c816:	8d 04 16             	lea    (%esi,%edx,1),%eax
54c819:	89 45 e4             	mov    %eax,-0x1c(%ebp)
54c81c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
54c81f:	83 c0 0b             	add    $0xb,%eax
54c822:	50                   	push   %eax
54c823:	8b 45 b8             	mov    -0x48(%ebp),%eax
54c826:	ff 34 08             	push   (%eax,%ecx,1)
54c829:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54c82c:	57                   	push   %edi
54c82d:	50                   	push   %eax
54c82e:	e8 0d de 00 00       	call   0x55a640
54c833:	83 c4 10             	add    $0x10,%esp
54c836:	8b c8                	mov    %eax,%ecx
54c838:	e9 40 01 00 00       	jmp    0x54c97d
54c83d:	8b 55 d0             	mov    -0x30(%ebp),%edx
54c840:	8b 4d c8             	mov    -0x38(%ebp),%ecx
54c843:	8b 72 0c             	mov    0xc(%edx),%esi
54c846:	3b fe                	cmp    %esi,%edi
54c848:	8b 52 10             	mov    0x10(%edx),%edx
54c84b:	0f 4c f7             	cmovl  %edi,%esi
54c84e:	03 4d b0             	add    -0x50(%ebp),%ecx
54c851:	83 ee 04             	sub    $0x4,%esi
54c854:	0f 82 c8 00 00 00    	jb     0x54c922
54c85a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
54c860:	8b 01                	mov    (%ecx),%eax
54c862:	3b 02                	cmp    (%edx),%eax
54c864:	0f 85 bd 00 00 00    	jne    0x54c927
54c86a:	83 c1 04             	add    $0x4,%ecx
54c86d:	83 c2 04             	add    $0x4,%edx
54c870:	83 ee 04             	sub    $0x4,%esi
54c873:	73 eb                	jae    0x54c860
54c875:	e9 a8 00 00 00       	jmp    0x54c922
54c87a:	f6 c1 10             	test   $0x10,%cl
54c87d:	0f 84 ec 00 00 00    	je     0x54c96f
54c883:	8a 14 1e             	mov    (%esi,%ebx,1),%dl
54c886:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
54c889:	80 fa 80             	cmp    $0x80,%dl
54c88c:	73 08                	jae    0x54c896
54c88e:	0f b6 da             	movzbl %dl,%ebx
54c891:	89 5d cc             	mov    %ebx,-0x34(%ebp)
54c894:	eb 13                	jmp    0x54c8a9
54c896:	8d 4d cc             	lea    -0x34(%ebp),%ecx
54c899:	51                   	push   %ecx
54c89a:	50                   	push   %eax
54c89b:	e8 a0 0f fe ff       	call   0x52d840
54c8a0:	8b 5d cc             	mov    -0x34(%ebp),%ebx
54c8a3:	83 c4 08             	add    $0x8,%esp
54c8a6:	8b 4d ac             	mov    -0x54(%ebp),%ecx
54c8a9:	83 fb 0c             	cmp    $0xc,%ebx
54c8ac:	0f 82 51 01 00 00    	jb     0x54ca03
54c8b2:	f6 c3 01             	test   $0x1,%bl
54c8b5:	0f 85 48 01 00 00    	jne    0x54ca03
54c8bb:	8b 55 c8             	mov    -0x38(%ebp),%edx
54c8be:	8d 7b f4             	lea    -0xc(%ebx),%edi
54c8c1:	d1 ef                	shr    $1,%edi
54c8c3:	8d 04 17             	lea    (%edi,%edx,1),%eax
54c8c6:	3b 45 08             	cmp    0x8(%ebp),%eax
54c8c9:	0f 87 74 01 00 00    	ja     0x54ca43
54c8cf:	f7 c1 00 40 00 00    	test   $0x4000,%ecx
54c8d5:	74 21                	je     0x54c8f8
54c8d7:	8d 04 16             	lea    (%esi,%edx,1),%eax
54c8da:	57                   	push   %edi
54c8db:	50                   	push   %eax
54c8dc:	e8 3f ad fb ff       	call   0x507620
54c8e1:	83 c4 08             	add    $0x8,%esp
54c8e4:	85 c0                	test   %eax,%eax
54c8e6:	0f 84 f4 fd ff ff    	je     0x54c6e0
54c8ec:	8b cf                	mov    %edi,%ecx
54c8ee:	8b 7d d0             	mov    -0x30(%ebp),%edi
54c8f1:	2b 0f                	sub    (%edi),%ecx
54c8f3:	e9 85 00 00 00       	jmp    0x54c97d
54c8f8:	8b 55 d0             	mov    -0x30(%ebp),%edx
54c8fb:	8b 4d c8             	mov    -0x38(%ebp),%ecx
54c8fe:	8b 72 0c             	mov    0xc(%edx),%esi
54c901:	3b fe                	cmp    %esi,%edi
54c903:	8b 52 10             	mov    0x10(%edx),%edx
54c906:	0f 4c f7             	cmovl  %edi,%esi
54c909:	03 4d b0             	add    -0x50(%ebp),%ecx
54c90c:	83 ee 04             	sub    $0x4,%esi
54c90f:	72 11                	jb     0x54c922
54c911:	8b 01                	mov    (%ecx),%eax
54c913:	3b 02                	cmp    (%edx),%eax
54c915:	75 10                	jne    0x54c927
54c917:	83 c1 04             	add    $0x4,%ecx
54c91a:	83 c2 04             	add    $0x4,%edx
54c91d:	83 ee 04             	sub    $0x4,%esi
54c920:	73 ef                	jae    0x54c911
54c922:	83 fe fc             	cmp    $0xfffffffc,%esi
54c925:	74 34                	je     0x54c95b
54c927:	8a 01                	mov    (%ecx),%al
54c929:	3a 02                	cmp    (%edx),%al
54c92b:	75 27                	jne    0x54c954
54c92d:	83 fe fd             	cmp    $0xfffffffd,%esi
54c930:	74 29                	je     0x54c95b
54c932:	8a 41 01             	mov    0x1(%ecx),%al
54c935:	3a 42 01             	cmp    0x1(%edx),%al
54c938:	75 1a                	jne    0x54c954
54c93a:	83 fe fe             	cmp    $0xfffffffe,%esi
54c93d:	74 1c                	je     0x54c95b
54c93f:	8a 41 02             	mov    0x2(%ecx),%al
54c942:	3a 42 02             	cmp    0x2(%edx),%al
54c945:	75 0d                	jne    0x54c954
54c947:	83 fe ff             	cmp    $0xffffffff,%esi
54c94a:	74 0f                	je     0x54c95b
54c94c:	8a 41 03             	mov    0x3(%ecx),%al
54c94f:	3a 42 03             	cmp    0x3(%edx),%al
54c952:	74 07                	je     0x54c95b
54c954:	1b c9                	sbb    %ecx,%ecx
54c956:	83 c9 01             	or     $0x1,%ecx
54c959:	eb 02                	jmp    0x54c95d
54c95b:	33 c9                	xor    %ecx,%ecx
54c95d:	85 c9                	test   %ecx,%ecx
54c95f:	0f 85 80 fd ff ff    	jne    0x54c6e5
54c965:	8b cf                	mov    %edi,%ecx
54c967:	8b 7d d0             	mov    -0x30(%ebp),%edi
54c96a:	2b 4f 0c             	sub    0xc(%edi),%ecx
54c96d:	eb 0e                	jmp    0x54c97d
54c96f:	0f b6 1c 1e          	movzbl (%esi,%ebx,1),%ebx
54c973:	33 c9                	xor    %ecx,%ecx
54c975:	85 db                	test   %ebx,%ebx
54c977:	89 5d cc             	mov    %ebx,-0x34(%ebp)
54c97a:	0f 95 c1             	setne  %cl
54c97d:	85 c9                	test   %ecx,%ecx
54c97f:	0f 85 60 fd ff ff    	jne    0x54c6e5
54c985:	8b 75 c4             	mov    -0x3c(%ebp),%esi
54c988:	8b 4d bc             	mov    -0x44(%ebp),%ecx
54c98b:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
54c98f:	41                   	inc    %ecx
54c990:	89 4d bc             	mov    %ecx,-0x44(%ebp)
54c993:	0f b7 46 08          	movzwl 0x8(%esi),%eax
54c997:	3b c8                	cmp    %eax,%ecx
54c999:	0f 84 dc 00 00 00    	je     0x54ca7b
54c99f:	83 c7 28             	add    $0x28,%edi
54c9a2:	89 7d d0             	mov    %edi,-0x30(%ebp)
54c9a5:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
54c9ab:	72 07                	jb     0x54c9b4
54c9ad:	8d 43 f4             	lea    -0xc(%ebx),%eax
54c9b0:	d1 e8                	shr    $1,%eax
54c9b2:	eb 07                	jmp    0x54c9bb
54c9b4:	0f b6 83 d8 2f 6b 00 	movzbl 0x6b2fd8(%ebx),%eax
54c9bb:	01 45 c8             	add    %eax,-0x38(%ebp)
54c9be:	33 c9                	xor    %ecx,%ecx
54c9c0:	c1 eb 07             	shr    $0x7,%ebx
54c9c3:	ba 01 00 00 00       	mov    $0x1,%edx
54c9c8:	8b c3                	mov    %ebx,%eax
54c9ca:	0b c1                	or     %ecx,%eax
54c9cc:	74 10                	je     0x54c9de
54c9ce:	66 90                	xchg   %ax,%ax
54c9d0:	0f ac cb 07          	shrd   $0x7,%ecx,%ebx
54c9d4:	42                   	inc    %edx
54c9d5:	c1 e9 07             	shr    $0x7,%ecx
54c9d8:	8b c3                	mov    %ebx,%eax
54c9da:	0b c1                	or     %ecx,%eax
54c9dc:	75 f2                	jne    0x54c9d0
54c9de:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
54c9e1:	03 da                	add    %edx,%ebx
54c9e3:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
54c9e6:	3b 5d c0             	cmp    -0x40(%ebp),%ebx
54c9e9:	0f 83 8c 00 00 00    	jae    0x54ca7b
54c9ef:	8b 55 c8             	mov    -0x38(%ebp),%edx
54c9f2:	3b 55 08             	cmp    0x8(%ebp),%edx
54c9f5:	0f 87 80 00 00 00    	ja     0x54ca7b
54c9fb:	8b 75 b0             	mov    -0x50(%ebp),%esi
54c9fe:	e9 4d fc ff ff       	jmp    0x54c650
54ca03:	83 c9 ff             	or     $0xffffffff,%ecx
54ca06:	e9 da fc ff ff       	jmp    0x54c6e5
54ca0b:	68 fc c4 6b 00       	push   $0x6bc4fc
54ca10:	68 bd 3f 01 00       	push   $0x13fbd
54ca15:	68 94 c4 6b 00       	push   $0x6bc494
54ca1a:	68 78 c4 6b 00       	push   $0x6bc478
54ca1f:	6a 0b                	push   $0xb
54ca21:	e8 ba 35 f9 ff       	call   0x4dffe0
54ca26:	8b 45 c4             	mov    -0x3c(%ebp),%eax
54ca29:	83 c4 14             	add    $0x14,%esp
54ca2c:	5f                   	pop    %edi
54ca2d:	5e                   	pop    %esi
54ca2e:	c6 40 0b 0b          	movb   $0xb,0xb(%eax)
54ca32:	33 c0                	xor    %eax,%eax
54ca34:	5b                   	pop    %ebx
54ca35:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54ca38:	33 cd                	xor    %ebp,%ecx
54ca3a:	e8 9b 4a 09 00       	call   0x5e14da
54ca3f:	8b e5                	mov    %ebp,%esp
54ca41:	5d                   	pop    %ebp
54ca42:	c3                   	ret
54ca43:	68 fc c4 6b 00       	push   $0x6bc4fc
54ca48:	68 db 3f 01 00       	push   $0x13fdb
54ca4d:	68 94 c4 6b 00       	push   $0x6bc494
54ca52:	68 78 c4 6b 00       	push   $0x6bc478
54ca57:	6a 0b                	push   $0xb
54ca59:	e8 82 35 f9 ff       	call   0x4dffe0
54ca5e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
54ca61:	83 c4 14             	add    $0x14,%esp
54ca64:	5f                   	pop    %edi
54ca65:	5e                   	pop    %esi
54ca66:	c6 40 0b 0b          	movb   $0xb,0xb(%eax)
54ca6a:	33 c0                	xor    %eax,%eax
54ca6c:	5b                   	pop    %ebx
54ca6d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54ca70:	33 cd                	xor    %ebp,%ecx
54ca72:	e8 63 4a 09 00       	call   0x5e14da
54ca77:	8b e5                	mov    %ebp,%esp
54ca79:	5d                   	pop    %ebp
54ca7a:	c3                   	ret
54ca7b:	0f be 46 0a          	movsbl 0xa(%esi),%eax
54ca7f:	5f                   	pop    %edi
54ca80:	c6 46 0e 01          	movb   $0x1,0xe(%esi)
54ca84:	5e                   	pop    %esi
54ca85:	5b                   	pop    %ebx
54ca86:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54ca89:	33 cd                	xor    %ebp,%ecx
54ca8b:	e8 4a 4a 09 00       	call   0x5e14da
54ca90:	8b e5                	mov    %ebp,%esp
54ca92:	5d                   	pop    %ebp
54ca93:	c3                   	ret
54ca94:	ba 01 00 00 00       	mov    $0x1,%edx
54ca99:	83 e0 01             	and    $0x1,%eax
54ca9c:	3b c2                	cmp    %edx,%eax
54ca9e:	74 02                	je     0x54caa2
54caa0:	f7 d9                	neg    %ecx
54caa2:	8b c1                	mov    %ecx,%eax
54caa4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54caa7:	5f                   	pop    %edi
54caa8:	5e                   	pop    %esi
54caa9:	33 cd                	xor    %ebp,%ecx
54caab:	5b                   	pop    %ebx
54caac:	e8 29 4a 09 00       	call   0x5e14da
54cab1:	8b e5                	mov    %ebp,%esp
54cab3:	5d                   	pop    %ebp
54cab4:	c3                   	ret
54cab5:	cc                   	int3
54cab6:	cc                   	int3
54cab7:	cc                   	int3
54cab8:	cc                   	int3
54cab9:	cc                   	int3
54caba:	cc                   	int3
54cabb:	cc                   	int3
54cabc:	cc                   	int3
54cabd:	cc                   	int3
54cabe:	cc                   	int3
54cabf:	cc                   	int3
54cac0:	55                   	push   %ebp
54cac1:	8b ec                	mov    %esp,%ebp
54cac3:	8b 45 14             	mov    0x14(%ebp),%eax
54cac6:	83 ec 14             	sub    $0x14,%esp
54cac9:	8b 55 10             	mov    0x10(%ebp),%edx
54cacc:	53                   	push   %ebx
54cacd:	c6 40 0a 00          	movb   $0x0,0xa(%eax)
54cad1:	8a 0a                	mov    (%edx),%cl
54cad3:	56                   	push   %esi
54cad4:	8b 70 04             	mov    0x4(%eax),%esi
54cad7:	57                   	push   %edi
54cad8:	80 f9 80             	cmp    $0x80,%cl
54cadb:	73 0a                	jae    0x54cae7
54cadd:	0f b6 f9             	movzbl %cl,%edi
54cae0:	b9 01 00 00 00       	mov    $0x1,%ecx
54cae5:	eb 19                	jmp    0x54cb00
54cae7:	8d 45 f4             	lea    -0xc(%ebp),%eax
54caea:	50                   	push   %eax
54caeb:	52                   	push   %edx
54caec:	e8 4f 0d fe ff       	call   0x52d840
54caf1:	8b 7d f4             	mov    -0xc(%ebp),%edi
54caf4:	83 c4 08             	add    $0x8,%esp
54caf7:	8b 55 10             	mov    0x10(%ebp),%edx
54cafa:	0f b6 c8             	movzbl %al,%ecx
54cafd:	8b 45 14             	mov    0x14(%ebp),%eax
54cb00:	0f b6 d9             	movzbl %cl,%ebx
54cb03:	8b cf                	mov    %edi,%ecx
54cb05:	89 7d f8             	mov    %edi,-0x8(%ebp)
54cb08:	33 ff                	xor    %edi,%edi
54cb0a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
54cb0d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54cb10:	3b d9                	cmp    %ecx,%ebx
54cb12:	0f 83 d5 00 00 00    	jae    0x54cbed
54cb18:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
54cb1f:	00
54cb20:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
54cb23:	0f 87 c9 00 00 00    	ja     0x54cbf2
54cb29:	8a 04 1a             	mov    (%edx,%ebx,1),%al
54cb2c:	03 d3                	add    %ebx,%edx
54cb2e:	3c 80                	cmp    $0x80,%al
54cb30:	73 0a                	jae    0x54cb3c
54cb32:	0f b6 c0             	movzbl %al,%eax
54cb35:	b9 01 00 00 00       	mov    $0x1,%ecx
54cb3a:	eb 5a                	jmp    0x54cb96
54cb3c:	0f b6 5a 01          	movzbl 0x1(%edx),%ebx
54cb40:	0f b6 02             	movzbl (%edx),%eax
54cb43:	84 db                	test   %bl,%bl
54cb45:	78 0c                	js     0x54cb53
54cb47:	83 e0 7f             	and    $0x7f,%eax
54cb4a:	b1 02                	mov    $0x2,%cl
54cb4c:	c1 e0 07             	shl    $0x7,%eax
54cb4f:	0b c3                	or     %ebx,%eax
54cb51:	eb 3d                	jmp    0x54cb90
54cb53:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
54cb57:	c1 e0 0e             	shl    $0xe,%eax
54cb5a:	0b c8                	or     %eax,%ecx
54cb5c:	84 c9                	test   %cl,%cl
54cb5e:	78 14                	js     0x54cb74
54cb60:	8b c3                	mov    %ebx,%eax
54cb62:	81 e1 7f c0 1f 00    	and    $0x1fc07f,%ecx
54cb68:	83 e0 7f             	and    $0x7f,%eax