55bd80:	83 f9 7f             	cmp    $0x7f,%ecx
55bd83:	77 0d                	ja     0x55bd92
55bd85:	80 e1 7f             	and    $0x7f,%cl
55bd88:	b8 01 00 00 00       	mov    $0x1,%eax
55bd8d:	88 4d f0             	mov    %cl,-0x10(%ebp)
55bd90:	eb 37                	jmp    0x55bdc9
55bd92:	85 d2                	test   %edx,%edx
55bd94:	77 25                	ja     0x55bdbb
55bd96:	72 08                	jb     0x55bda0
55bd98:	81 f9 ff 3f 00 00    	cmp    $0x3fff,%ecx
55bd9e:	77 1b                	ja     0x55bdbb
55bda0:	8b c1                	mov    %ecx,%eax
55bda2:	0f ac d0 07          	shrd   $0x7,%edx,%eax
55bda6:	0c 80                	or     $0x80,%al
55bda8:	c1 ea 07             	shr    $0x7,%edx
55bdab:	80 e1 7f             	and    $0x7f,%cl
55bdae:	88 45 f0             	mov    %al,-0x10(%ebp)
55bdb1:	88 4d f1             	mov    %cl,-0xf(%ebp)
55bdb4:	b8 02 00 00 00       	mov    $0x2,%eax
55bdb9:	eb 0e                	jmp    0x55bdc9
55bdbb:	52                   	push   %edx
55bdbc:	51                   	push   %ecx
55bdbd:	8d 45 f0             	lea    -0x10(%ebp),%eax
55bdc0:	50                   	push   %eax
55bdc1:	e8 7a 54 fb ff       	call   0x511240
55bdc6:	83 c4 0c             	add    $0xc,%esp
55bdc9:	50                   	push   %eax
55bdca:	8d 45 f0             	lea    -0x10(%ebp),%eax
55bdcd:	50                   	push   %eax
55bdce:	56                   	push   %esi
55bdcf:	e8 cc fe ff ff       	call   0x55bca0
55bdd4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55bdd7:	83 c4 0c             	add    $0xc,%esp
55bdda:	33 cd                	xor    %ebp,%ecx
55bddc:	5e                   	pop    %esi
55bddd:	e8 f8 56 08 00       	call   0x5e14da
55bde2:	8b e5                	mov    %ebp,%esp
55bde4:	5d                   	pop    %ebp
55bde5:	c3                   	ret
55bde6:	cc                   	int3
55bde7:	cc                   	int3
55bde8:	cc                   	int3
55bde9:	cc                   	int3
55bdea:	cc                   	int3
55bdeb:	cc                   	int3
55bdec:	cc                   	int3
55bded:	cc                   	int3
55bdee:	cc                   	int3
55bdef:	cc                   	int3
55bdf0:	55                   	push   %ebp
55bdf1:	8b ec                	mov    %esp,%ebp
55bdf3:	53                   	push   %ebx
55bdf4:	8b 5d 08             	mov    0x8(%ebp),%ebx
55bdf7:	83 3b 00             	cmpl   $0x0,(%ebx)
55bdfa:	75 40                	jne    0x55be3c
55bdfc:	8b 43 04             	mov    0x4(%ebx),%eax
55bdff:	85 c0                	test   %eax,%eax
55be01:	74 39                	je     0x55be3c
55be03:	8b 4b 0c             	mov    0xc(%ebx),%ecx
55be06:	56                   	push   %esi
55be07:	8b 73 10             	mov    0x10(%ebx),%esi
55be0a:	3b f1                	cmp    %ecx,%esi
55be0c:	7e 2d                	jle    0x55be3b
55be0e:	57                   	push   %edi
55be0f:	8b c1                	mov    %ecx,%eax
55be11:	99                   	cltd
55be12:	8b f8                	mov    %eax,%edi
55be14:	8b 43 20             	mov    0x20(%ebx),%eax
55be17:	03 7b 18             	add    0x18(%ebx),%edi
55be1a:	13 53 1c             	adc    0x1c(%ebx),%edx
55be1d:	2b f1                	sub    %ecx,%esi
55be1f:	52                   	push   %edx
55be20:	89 75 08             	mov    %esi,0x8(%ebp)
55be23:	8b 73 04             	mov    0x4(%ebx),%esi
55be26:	57                   	push   %edi
55be27:	ff 75 08             	push   0x8(%ebp)
55be2a:	03 f1                	add    %ecx,%esi
55be2c:	8b 08                	mov    (%eax),%ecx
55be2e:	56                   	push   %esi
55be2f:	50                   	push   %eax
55be30:	8b 41 0c             	mov    0xc(%ecx),%eax
55be33:	ff d0                	call   *%eax
55be35:	83 c4 14             	add    $0x14,%esp
55be38:	89 03                	mov    %eax,(%ebx)
55be3a:	5f                   	pop    %edi
55be3b:	5e                   	pop    %esi
55be3c:	8b 43 10             	mov    0x10(%ebx),%eax
55be3f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
55be42:	99                   	cltd
55be43:	03 43 18             	add    0x18(%ebx),%eax
55be46:	13 53 1c             	adc    0x1c(%ebx),%edx
55be49:	89 01                	mov    %eax,(%ecx)
55be4b:	89 51 04             	mov    %edx,0x4(%ecx)
55be4e:	ff 73 04             	push   0x4(%ebx)
55be51:	e8 3a ef f8 ff       	call   0x4ead90
55be56:	8b 03                	mov    (%ebx),%eax
55be58:	0f 57 c0             	xorps  %xmm0,%xmm0
55be5b:	83 c4 04             	add    $0x4,%esp
55be5e:	0f 11 03             	movups %xmm0,(%ebx)
55be61:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
55be65:	66 0f d6 43 20       	movq   %xmm0,0x20(%ebx)
55be6a:	5b                   	pop    %ebx
55be6b:	5d                   	pop    %ebp
55be6c:	c3                   	ret
55be6d:	cc                   	int3
55be6e:	cc                   	int3
55be6f:	cc                   	int3
55be70:	55                   	push   %ebp
55be71:	8b ec                	mov    %esp,%ebp
55be73:	8b 45 10             	mov    0x10(%ebp),%eax
55be76:	0f 57 c0             	xorps  %xmm0,%xmm0
55be79:	53                   	push   %ebx
55be7a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55be7d:	56                   	push   %esi
55be7e:	99                   	cltd
55be7f:	57                   	push   %edi
55be80:	8b f2                	mov    %edx,%esi
55be82:	8b f8                	mov    %eax,%edi
55be84:	0f 11 03             	movups %xmm0,(%ebx)
55be87:	56                   	push   %esi
55be88:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
55be8c:	57                   	push   %edi
55be8d:	66 0f d6 43 20       	movq   %xmm0,0x20(%ebx)
55be92:	e8 c9 50 fd ff       	call   0x530f60
55be97:	83 c4 08             	add    $0x8,%esp
55be9a:	89 43 04             	mov    %eax,0x4(%ebx)
55be9d:	85 c0                	test   %eax,%eax
55be9f:	75 0b                	jne    0x55beac
55bea1:	5f                   	pop    %edi
55bea2:	5e                   	pop    %esi
55bea3:	c7 03 07 00 00 00    	movl   $0x7,(%ebx)
55bea9:	5b                   	pop    %ebx
55beaa:	5d                   	pop    %ebp
55beab:	c3                   	ret
55beac:	56                   	push   %esi
55bead:	8b 75 14             	mov    0x14(%ebp),%esi
55beb0:	57                   	push   %edi
55beb1:	8b 7d 18             	mov    0x18(%ebp),%edi
55beb4:	57                   	push   %edi
55beb5:	56                   	push   %esi
55beb6:	e8 15 63 08 00       	call   0x5e21d0
55bebb:	89 43 0c             	mov    %eax,0xc(%ebx)
55bebe:	89 43 10             	mov    %eax,0x10(%ebx)
55bec1:	99                   	cltd
55bec2:	2b f0                	sub    %eax,%esi
55bec4:	8b 45 10             	mov    0x10(%ebp),%eax
55bec7:	89 73 18             	mov    %esi,0x18(%ebx)
55beca:	1b fa                	sbb    %edx,%edi
55becc:	89 43 08             	mov    %eax,0x8(%ebx)
55becf:	8b 45 08             	mov    0x8(%ebp),%eax
55bed2:	89 7b 1c             	mov    %edi,0x1c(%ebx)
55bed5:	5f                   	pop    %edi
55bed6:	5e                   	pop    %esi
55bed7:	89 43 20             	mov    %eax,0x20(%ebx)
55beda:	5b                   	pop    %ebx
55bedb:	5d                   	pop    %ebp
55bedc:	c3                   	ret
55bedd:	cc                   	int3
55bede:	cc                   	int3
55bedf:	cc                   	int3
55bee0:	55                   	push   %ebp
55bee1:	8b ec                	mov    %esp,%ebp
55bee3:	8b 55 0c             	mov    0xc(%ebp),%edx
55bee6:	83 ec 08             	sub    $0x8,%esp
55bee9:	0f b6 42 01          	movzbl 0x1(%edx),%eax
55beed:	53                   	push   %ebx
55beee:	56                   	push   %esi
55beef:	57                   	push   %edi
55bef0:	0f b6 3a             	movzbl (%edx),%edi
55bef3:	83 e7 3f             	and    $0x3f,%edi
55bef6:	03 fa                	add    %edx,%edi
55bef8:	83 f8 09             	cmp    $0x9,%eax
55befb:	0f 87 c5 01 00 00    	ja     0x55c0c6
55bf01:	ff 24 85 e0 c0 55 00 	jmp    *0x55c0e0(,%eax,4)
55bf08:	0f be 07             	movsbl (%edi),%eax
55bf0b:	99                   	cltd
55bf0c:	8b da                	mov    %edx,%ebx
55bf0e:	8b f0                	mov    %eax,%esi
55bf10:	8b 55 0c             	mov    0xc(%ebp),%edx
55bf13:	e9 4d 01 00 00       	jmp    0x55c065
55bf18:	0f be 07             	movsbl (%edi),%eax
55bf1b:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
55bf1f:	c1 e0 08             	shl    $0x8,%eax
55bf22:	0b c1                	or     %ecx,%eax
55bf24:	99                   	cltd
55bf25:	8b da                	mov    %edx,%ebx
55bf27:	8b f0                	mov    %eax,%esi
55bf29:	8b 55 0c             	mov    0xc(%ebp),%edx
55bf2c:	e9 34 01 00 00       	jmp    0x55c065
55bf31:	0f b6 47 01          	movzbl 0x1(%edi),%eax
55bf35:	0f be 0f             	movsbl (%edi),%ecx
55bf38:	c1 e0 08             	shl    $0x8,%eax
55bf3b:	c1 e1 10             	shl    $0x10,%ecx
55bf3e:	0b c1                	or     %ecx,%eax
55bf40:	0f b6 4f 02          	movzbl 0x2(%edi),%ecx
55bf44:	0b c1                	or     %ecx,%eax
55bf46:	99                   	cltd
55bf47:	8b da                	mov    %edx,%ebx
55bf49:	8b f0                	mov    %eax,%esi
55bf4b:	8b 55 0c             	mov    0xc(%ebp),%edx
55bf4e:	e9 12 01 00 00       	jmp    0x55c065
55bf53:	0f b6 07             	movzbl (%edi),%eax
55bf56:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
55bf5a:	c1 e0 08             	shl    $0x8,%eax
55bf5d:	0b c1                	or     %ecx,%eax
55bf5f:	0f b6 4f 02          	movzbl 0x2(%edi),%ecx
55bf63:	c1 e0 08             	shl    $0x8,%eax
55bf66:	0b c1                	or     %ecx,%eax
55bf68:	0f b6 4f 03          	movzbl 0x3(%edi),%ecx
55bf6c:	c1 e0 08             	shl    $0x8,%eax
55bf6f:	0b c1                	or     %ecx,%eax
55bf71:	99                   	cltd
55bf72:	8b da                	mov    %edx,%ebx
55bf74:	8b f0                	mov    %eax,%esi
55bf76:	8b 55 0c             	mov    0xc(%ebp),%edx
55bf79:	e9 e7 00 00 00       	jmp    0x55c065
55bf7e:	0f b6 47 02          	movzbl 0x2(%edi),%eax
55bf82:	99                   	cltd
55bf83:	8b f0                	mov    %eax,%esi
55bf85:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
55bf89:	0f b6 47 03          	movzbl 0x3(%edi),%eax
55bf8d:	8b da                	mov    %edx,%ebx
55bf8f:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55bf93:	99                   	cltd
55bf94:	c1 e6 08             	shl    $0x8,%esi
55bf97:	0b da                	or     %edx,%ebx
55bf99:	0b f0                	or     %eax,%esi
55bf9b:	0f b6 47 04          	movzbl 0x4(%edi),%eax
55bf9f:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55bfa3:	99                   	cltd
55bfa4:	c1 e6 08             	shl    $0x8,%esi
55bfa7:	0b da                	or     %edx,%ebx
55bfa9:	0b f0                	or     %eax,%esi
55bfab:	0f b6 47 05          	movzbl 0x5(%edi),%eax
55bfaf:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55bfb3:	99                   	cltd
55bfb4:	c1 e6 08             	shl    $0x8,%esi
55bfb7:	0b da                	or     %edx,%ebx
55bfb9:	0b f0                	or     %eax,%esi
55bfbb:	0f be 07             	movsbl (%edi),%eax
55bfbe:	c1 e0 08             	shl    $0x8,%eax
55bfc1:	0b c1                	or     %ecx,%eax
55bfc3:	83 c6 00             	add    $0x0,%esi
55bfc6:	99                   	cltd
55bfc7:	8b 55 0c             	mov    0xc(%ebp),%edx
55bfca:	13 d8                	adc    %eax,%ebx
55bfcc:	e9 94 00 00 00       	jmp    0x55c065
55bfd1:	0f b6 07             	movzbl (%edi),%eax
55bfd4:	99                   	cltd
55bfd5:	8b f0                	mov    %eax,%esi
55bfd7:	8b da                	mov    %edx,%ebx
55bfd9:	0f b6 47 01          	movzbl 0x1(%edi),%eax
55bfdd:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55bfe1:	99                   	cltd
55bfe2:	c1 e6 08             	shl    $0x8,%esi
55bfe5:	0b da                	or     %edx,%ebx
55bfe7:	0b f0                	or     %eax,%esi
55bfe9:	0f b6 47 02          	movzbl 0x2(%edi),%eax
55bfed:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55bff1:	99                   	cltd
55bff2:	c1 e6 08             	shl    $0x8,%esi
55bff5:	0b da                	or     %edx,%ebx
55bff7:	0b f0                	or     %eax,%esi
55bff9:	0f b6 47 03          	movzbl 0x3(%edi),%eax
55bffd:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55c001:	99                   	cltd
55c002:	c1 e6 08             	shl    $0x8,%esi
55c005:	0b da                	or     %edx,%ebx
55c007:	0b f0                	or     %eax,%esi
55c009:	0f b6 47 04          	movzbl 0x4(%edi),%eax
55c00d:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55c011:	99                   	cltd
55c012:	c1 e6 08             	shl    $0x8,%esi
55c015:	0b da                	or     %edx,%ebx
55c017:	0b f0                	or     %eax,%esi
55c019:	0f b6 47 05          	movzbl 0x5(%edi),%eax
55c01d:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55c021:	99                   	cltd
55c022:	c1 e6 08             	shl    $0x8,%esi
55c025:	0b da                	or     %edx,%ebx
55c027:	0b f0                	or     %eax,%esi
55c029:	0f b6 47 06          	movzbl 0x6(%edi),%eax
55c02d:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55c031:	99                   	cltd
55c032:	c1 e6 08             	shl    $0x8,%esi
55c035:	0b da                	or     %edx,%ebx
55c037:	0b f0                	or     %eax,%esi
55c039:	0f b6 47 07          	movzbl 0x7(%edi),%eax
55c03d:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
55c041:	99                   	cltd
55c042:	c1 e6 08             	shl    $0x8,%esi
55c045:	0b f0                	or     %eax,%esi
55c047:	0b da                	or     %edx,%ebx
55c049:	8b 55 0c             	mov    0xc(%ebp),%edx
55c04c:	eb 17                	jmp    0x55c065
55c04e:	0f 57 c0             	xorps  %xmm0,%xmm0
55c051:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
55c056:	8b 5d fc             	mov    -0x4(%ebp),%ebx
55c059:	8b 75 f8             	mov    -0x8(%ebp),%esi
55c05c:	eb 07                	jmp    0x55c065
55c05e:	be 01 00 00 00       	mov    $0x1,%esi
55c063:	33 db                	xor    %ebx,%ebx
55c065:	8b 4d 10             	mov    0x10(%ebp),%ecx
55c068:	8b 41 04             	mov    0x4(%ecx),%eax
55c06b:	8b 38                	mov    (%eax),%edi
55c06d:	8b 40 04             	mov    0x4(%eax),%eax
55c070:	3b c3                	cmp    %ebx,%eax
55c072:	7c 1b                	jl     0x55c08f
55c074:	7f 04                	jg     0x55c07a
55c076:	3b fe                	cmp    %esi,%edi
55c078:	76 0b                	jbe    0x55c085
55c07a:	0f be 41 0c          	movsbl 0xc(%ecx),%eax
55c07e:	5f                   	pop    %edi
55c07f:	5e                   	pop    %esi
55c080:	5b                   	pop    %ebx
55c081:	8b e5                	mov    %ebp,%esp
55c083:	5d                   	pop    %ebp
55c084:	c3                   	ret
55c085:	3b c3                	cmp    %ebx,%eax
55c087:	7f 11                	jg     0x55c09a
55c089:	7c 04                	jl     0x55c08f
55c08b:	3b fe                	cmp    %esi,%edi
55c08d:	73 0b                	jae    0x55c09a
55c08f:	0f be 41 0d          	movsbl 0xd(%ecx),%eax
55c093:	5f                   	pop    %edi
55c094:	5e                   	pop    %esi
55c095:	5b                   	pop    %ebx
55c096:	8b e5                	mov    %ebp,%esp
55c098:	5d                   	pop    %ebp
55c099:	c3                   	ret
55c09a:	66 83 79 08 01       	cmpw   $0x1,0x8(%ecx)
55c09f:	76 16                	jbe    0x55c0b7
55c0a1:	6a 01                	push   $0x1
55c0a3:	51                   	push   %ecx
55c0a4:	52                   	push   %edx
55c0a5:	ff 75 08             	push   0x8(%ebp)
55c0a8:	e8 93 04 ff ff       	call   0x54c540
55c0ad:	83 c4 10             	add    $0x10,%esp
55c0b0:	5f                   	pop    %edi
55c0b1:	5e                   	pop    %esi
55c0b2:	5b                   	pop    %ebx
55c0b3:	8b e5                	mov    %ebp,%esp
55c0b5:	5d                   	pop    %ebp
55c0b6:	c3                   	ret
55c0b7:	0f be 41 0a          	movsbl 0xa(%ecx),%eax
55c0bb:	5f                   	pop    %edi
55c0bc:	5e                   	pop    %esi
55c0bd:	c6 41 0e 01          	movb   $0x1,0xe(%ecx)
55c0c1:	5b                   	pop    %ebx
55c0c2:	8b e5                	mov    %ebp,%esp