548d12:	88 0e                	mov    %cl,(%esi)
548d14:	eb 55                	jmp    0x548d6b
548d16:	8a 45 d5             	mov    -0x2b(%ebp),%al
548d19:	84 c0                	test   %al,%al
548d1b:	75 07                	jne    0x548d24
548d1d:	8a 57 08             	mov    0x8(%edi),%dl
548d20:	88 16                	mov    %dl,(%esi)
548d22:	eb 47                	jmp    0x548d6b
548d24:	33 c9                	xor    %ecx,%ecx
548d26:	33 d2                	xor    %edx,%edx
548d28:	8a 0b                	mov    (%ebx),%cl
548d2a:	8a 55 d5             	mov    -0x2b(%ebp),%dl
548d2d:	0f b7 c1             	movzwl %cx,%eax
548d30:	0f b7 ca             	movzwl %dx,%ecx
548d33:	f7 e9                	imul   %ecx
548d35:	66 b9 ff 00          	mov    $0xff,%cx
548d39:	33 d2                	xor    %edx,%edx
548d3b:	8a 55 d5             	mov    -0x2b(%ebp),%dl
548d3e:	66 2b ca             	sub    %dx,%cx
548d41:	0f b7 d1             	movzwl %cx,%edx
548d44:	8b 4d 24             	mov    0x24(%ebp),%ecx
548d47:	0f b7 49 08          	movzwl 0x8(%ecx),%ecx
548d4b:	0f af d1             	imul   %ecx,%edx
548d4e:	66 03 c2             	add    %dx,%ax
548d51:	66 05 80 00          	add    $0x80,%ax
548d55:	66 89 45 d2          	mov    %ax,-0x2e(%ebp)
548d59:	0f b7 55 d2          	movzwl -0x2e(%ebp),%edx
548d5d:	0f b7 45 d2          	movzwl -0x2e(%ebp),%eax
548d61:	c1 fa 08             	sar    $0x8,%edx
548d64:	03 c2                	add    %edx,%eax
548d66:	c1 f8 08             	sar    $0x8,%eax
548d69:	88 06                	mov    %al,(%esi)
548d6b:	ff 45 f4             	incl   -0xc(%ebp)
548d6e:	83 c3 02             	add    $0x2,%ebx
548d71:	46                   	inc    %esi
548d72:	8b 45 f4             	mov    -0xc(%ebp),%eax
548d75:	8b 55 f0             	mov    -0x10(%ebp),%edx
548d78:	3b c2                	cmp    %edx,%eax
548d7a:	72 86                	jb     0x548d02
548d7c:	e9 e1 09 00 00       	jmp    0x549762
548d81:	8b 4d 14             	mov    0x14(%ebp),%ecx
548d84:	85 c9                	test   %ecx,%ecx
548d86:	0f 84 4b 01 00 00    	je     0x548ed7
548d8c:	8b 45 10             	mov    0x10(%ebp),%eax
548d8f:	85 c0                	test   %eax,%eax
548d91:	0f 84 40 01 00 00    	je     0x548ed7
548d97:	8b 55 0c             	mov    0xc(%ebp),%edx
548d9a:	85 d2                	test   %edx,%edx
548d9c:	0f 84 35 01 00 00    	je     0x548ed7
548da2:	33 c0                	xor    %eax,%eax
548da4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548da7:	8b 75 f8             	mov    -0x8(%ebp),%esi
548daa:	89 45 f4             	mov    %eax,-0xc(%ebp)
548dad:	8b 55 f4             	mov    -0xc(%ebp),%edx
548db0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548db3:	3b d1                	cmp    %ecx,%edx
548db5:	0f 83 a7 09 00 00    	jae    0x549762
548dbb:	33 c0                	xor    %eax,%eax
548dbd:	33 d2                	xor    %edx,%edx
548dbf:	8a 43 02             	mov    0x2(%ebx),%al
548dc2:	8a 53 03             	mov    0x3(%ebx),%dl
548dc5:	c1 e0 08             	shl    $0x8,%eax
548dc8:	66 03 c2             	add    %dx,%ax
548dcb:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
548dcf:	66 81 7d d0 ff ff    	cmpw   $0xffff,-0x30(%ebp)
548dd5:	75 35                	jne    0x548e0c
548dd7:	33 c0                	xor    %eax,%eax
548dd9:	8b 4d 08             	mov    0x8(%ebp),%ecx
548ddc:	8a 43 01             	mov    0x1(%ebx),%al
548ddf:	8b 55 14             	mov    0x14(%ebp),%edx
548de2:	d3 f8                	sar    %cl,%eax
548de4:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
548de7:	33 c0                	xor    %eax,%eax
548de9:	8a 03                	mov    (%ebx),%al
548deb:	66 8b 14 41          	mov    (%ecx,%eax,2),%dx
548def:	66 89 55 ce          	mov    %dx,-0x32(%ebp)
548df3:	0f b7 4d ce          	movzwl -0x32(%ebp),%ecx
548df7:	c1 f9 08             	sar    $0x8,%ecx
548dfa:	80 e1 ff             	and    $0xff,%cl
548dfd:	88 0e                	mov    %cl,(%esi)
548dff:	8a 45 ce             	mov    -0x32(%ebp),%al
548e02:	24 ff                	and    $0xff,%al
548e04:	88 46 01             	mov    %al,0x1(%esi)
548e07:	e9 af 00 00 00       	jmp    0x548ebb
548e0c:	66 83 7d d0 00       	cmpw   $0x0,-0x30(%ebp)
548e11:	75 1a                	jne    0x548e2d
548e13:	0f b7 57 08          	movzwl 0x8(%edi),%edx
548e17:	c1 fa 08             	sar    $0x8,%edx
548e1a:	80 e2 ff             	and    $0xff,%dl
548e1d:	88 16                	mov    %dl,(%esi)
548e1f:	8a 4f 08             	mov    0x8(%edi),%cl
548e22:	80 e1 ff             	and    $0xff,%cl
548e25:	88 4e 01             	mov    %cl,0x1(%esi)
548e28:	e9 8e 00 00 00       	jmp    0x548ebb
548e2d:	33 c0                	xor    %eax,%eax
548e2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
548e32:	8a 43 01             	mov    0x1(%ebx),%al
548e35:	8b 55 0c             	mov    0xc(%ebp),%edx
548e38:	d3 f8                	sar    %cl,%eax
548e3a:	8b 04 82             	mov    (%edx,%eax,4),%eax
548e3d:	33 d2                	xor    %edx,%edx
548e3f:	8a 13                	mov    (%ebx),%dl
548e41:	66 8b 0c 50          	mov    (%eax,%edx,2),%cx
548e45:	66 89 4d cc          	mov    %cx,-0x34(%ebp)
548e49:	0f b7 45 cc          	movzwl -0x34(%ebp),%eax
548e4d:	0f b7 55 d0          	movzwl -0x30(%ebp),%edx
548e51:	f7 ea                	imul   %edx
548e53:	0f b7 4d d0          	movzwl -0x30(%ebp),%ecx
548e57:	ba ff ff 00 00       	mov    $0xffff,%edx
548e5c:	2b d1                	sub    %ecx,%edx
548e5e:	8b 4d 24             	mov    0x24(%ebp),%ecx
548e61:	0f b7 49 08          	movzwl 0x8(%ecx),%ecx
548e65:	0f af d1             	imul   %ecx,%edx
548e68:	03 c2                	add    %edx,%eax
548e6a:	05 00 80 00 00       	add    $0x8000,%eax
548e6f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
548e72:	8b 45 c4             	mov    -0x3c(%ebp),%eax
548e75:	c1 e8 10             	shr    $0x10,%eax
548e78:	8b 55 c4             	mov    -0x3c(%ebp),%edx
548e7b:	03 c2                	add    %edx,%eax
548e7d:	c1 e8 10             	shr    $0x10,%eax
548e80:	66 89 45 ca          	mov    %ax,-0x36(%ebp)
548e84:	0f b7 45 ca          	movzwl -0x36(%ebp),%eax
548e88:	8b 4d 08             	mov    0x8(%ebp),%ecx
548e8b:	25 ff 00 00 00       	and    $0xff,%eax
548e90:	d3 f8                	sar    %cl,%eax
548e92:	8b 55 10             	mov    0x10(%ebp),%edx
548e95:	8b 04 82             	mov    (%edx,%eax,4),%eax
548e98:	0f b7 55 ca          	movzwl -0x36(%ebp),%edx
548e9c:	c1 fa 08             	sar    $0x8,%edx
548e9f:	66 8b 0c 50          	mov    (%eax,%edx,2),%cx
548ea3:	66 89 4d c8          	mov    %cx,-0x38(%ebp)
548ea7:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
548eab:	c1 f8 08             	sar    $0x8,%eax
548eae:	24 ff                	and    $0xff,%al
548eb0:	88 06                	mov    %al,(%esi)
548eb2:	8a 55 c8             	mov    -0x38(%ebp),%dl
548eb5:	80 e2 ff             	and    $0xff,%dl
548eb8:	88 56 01             	mov    %dl,0x1(%esi)
548ebb:	ff 45 f4             	incl   -0xc(%ebp)
548ebe:	83 c3 04             	add    $0x4,%ebx
548ec1:	83 c6 02             	add    $0x2,%esi
548ec4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
548ec7:	8b 45 f0             	mov    -0x10(%ebp),%eax
548eca:	3b c8                	cmp    %eax,%ecx
548ecc:	0f 82 e9 fe ff ff    	jb     0x548dbb
548ed2:	e9 8b 08 00 00       	jmp    0x549762
548ed7:	33 c0                	xor    %eax,%eax
548ed9:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548edc:	8b 75 f8             	mov    -0x8(%ebp),%esi
548edf:	89 45 f4             	mov    %eax,-0xc(%ebp)
548ee2:	8b 55 f4             	mov    -0xc(%ebp),%edx
548ee5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548ee8:	3b d1                	cmp    %ecx,%edx
548eea:	0f 83 72 08 00 00    	jae    0x549762
548ef0:	33 c0                	xor    %eax,%eax
548ef2:	33 d2                	xor    %edx,%edx
548ef4:	8a 43 02             	mov    0x2(%ebx),%al
548ef7:	8a 53 03             	mov    0x3(%ebx),%dl
548efa:	c1 e0 08             	shl    $0x8,%eax
548efd:	66 03 c2             	add    %dx,%ax
548f00:	66 89 45 c2          	mov    %ax,-0x3e(%ebp)
548f04:	66 81 7d c2 ff ff    	cmpw   $0xffff,-0x3e(%ebp)
548f0a:	75 0e                	jne    0x548f1a
548f0c:	6a 02                	push   $0x2
548f0e:	53                   	push   %ebx
548f0f:	56                   	push   %esi
548f10:	e8 cb d4 fd ff       	call   0x5263e0
548f15:	83 c4 0c             	add    $0xc,%esp
548f18:	eb 70                	jmp    0x548f8a
548f1a:	66 83 7d c2 00       	cmpw   $0x0,-0x3e(%ebp)
548f1f:	75 16                	jne    0x548f37
548f21:	0f b7 4f 08          	movzwl 0x8(%edi),%ecx
548f25:	c1 f9 08             	sar    $0x8,%ecx
548f28:	80 e1 ff             	and    $0xff,%cl
548f2b:	88 0e                	mov    %cl,(%esi)
548f2d:	8a 47 08             	mov    0x8(%edi),%al
548f30:	24 ff                	and    $0xff,%al
548f32:	88 46 01             	mov    %al,0x1(%esi)
548f35:	eb 53                	jmp    0x548f8a
548f37:	33 d2                	xor    %edx,%edx
548f39:	33 c9                	xor    %ecx,%ecx
548f3b:	8a 13                	mov    (%ebx),%dl
548f3d:	8a 4b 01             	mov    0x1(%ebx),%cl
548f40:	c1 e2 08             	shl    $0x8,%edx
548f43:	66 03 d1             	add    %cx,%dx
548f46:	66 89 55 c0          	mov    %dx,-0x40(%ebp)
548f4a:	0f b7 45 c0          	movzwl -0x40(%ebp),%eax
548f4e:	0f b7 55 c2          	movzwl -0x3e(%ebp),%edx
548f52:	f7 ea                	imul   %edx
548f54:	0f b7 4d c2          	movzwl -0x3e(%ebp),%ecx
548f58:	ba ff ff 00 00       	mov    $0xffff,%edx
548f5d:	2b d1                	sub    %ecx,%edx
548f5f:	8b 4d 24             	mov    0x24(%ebp),%ecx
548f62:	0f b7 49 08          	movzwl 0x8(%ecx),%ecx
548f66:	0f af d1             	imul   %ecx,%edx
548f69:	03 c2                	add    %edx,%eax
548f6b:	05 00 80 00 00       	add    $0x8000,%eax
548f70:	8b d0                	mov    %eax,%edx
548f72:	c1 ea 10             	shr    $0x10,%edx
548f75:	03 c2                	add    %edx,%eax
548f77:	c1 e8 10             	shr    $0x10,%eax
548f7a:	0f b7 d0             	movzwl %ax,%edx
548f7d:	c1 fa 08             	sar    $0x8,%edx
548f80:	80 e2 ff             	and    $0xff,%dl
548f83:	24 ff                	and    $0xff,%al
548f85:	88 16                	mov    %dl,(%esi)
548f87:	88 46 01             	mov    %al,0x1(%esi)
548f8a:	ff 45 f4             	incl   -0xc(%ebp)
548f8d:	83 c3 04             	add    $0x4,%ebx
548f90:	83 c6 02             	add    $0x2,%esi
548f93:	8b 45 f4             	mov    -0xc(%ebp),%eax
548f96:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548f99:	3b c1                	cmp    %ecx,%eax
548f9b:	0f 82 4f ff ff ff    	jb     0x548ef0
548fa1:	e9 bc 07 00 00       	jmp    0x549762
548fa6:	8b 45 fc             	mov    -0x4(%ebp),%eax
548fa9:	8a 50 09             	mov    0x9(%eax),%dl
548fac:	80 fa 08             	cmp    $0x8,%dl
548faf:	0f 85 2c 03 00 00    	jne    0x5492e1
548fb5:	8b 4d 18             	mov    0x18(%ebp),%ecx
548fb8:	85 c9                	test   %ecx,%ecx
548fba:	0f 84 d6 01 00 00    	je     0x549196
548fc0:	8b 45 1c             	mov    0x1c(%ebp),%eax
548fc3:	85 c0                	test   %eax,%eax
548fc5:	0f 84 cb 01 00 00    	je     0x549196
548fcb:	8b 55 20             	mov    0x20(%ebp),%edx
548fce:	85 d2                	test   %edx,%edx
548fd0:	0f 84 c0 01 00 00    	je     0x549196
548fd6:	33 c0                	xor    %eax,%eax
548fd8:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548fdb:	8b 75 f8             	mov    -0x8(%ebp),%esi
548fde:	89 45 f4             	mov    %eax,-0xc(%ebp)
548fe1:	8b 55 f4             	mov    -0xc(%ebp),%edx
548fe4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548fe7:	3b d1                	cmp    %ecx,%edx
548fe9:	0f 83 73 07 00 00    	jae    0x549762
548fef:	8a 43 03             	mov    0x3(%ebx),%al
548ff2:	88 45 bf             	mov    %al,-0x41(%ebp)
548ff5:	8a 55 bf             	mov    -0x41(%ebp),%dl
548ff8:	80 fa ff             	cmp    $0xff,%dl
548ffb:	75 2d                	jne    0x54902a
548ffd:	33 c9                	xor    %ecx,%ecx
548fff:	8a 0b                	mov    (%ebx),%cl
549001:	8b 45 20             	mov    0x20(%ebp),%eax
549004:	8a 14 08             	mov    (%eax,%ecx,1),%dl
549007:	88 16                	mov    %dl,(%esi)
549009:	33 c9                	xor    %ecx,%ecx
54900b:	8a 4b 01             	mov    0x1(%ebx),%cl
54900e:	8b 45 20             	mov    0x20(%ebp),%eax
549011:	8a 14 08             	mov    (%eax,%ecx,1),%dl
549014:	88 56 01             	mov    %dl,0x1(%esi)
549017:	33 c9                	xor    %ecx,%ecx
549019:	8a 4b 02             	mov    0x2(%ebx),%cl
54901c:	8b 45 20             	mov    0x20(%ebp),%eax
54901f:	8a 14 08             	mov    (%eax,%ecx,1),%dl
549022:	88 56 02             	mov    %dl,0x2(%esi)
549025:	e9 50 01 00 00       	jmp    0x54917a
54902a:	8a 4d bf             	mov    -0x41(%ebp),%cl
54902d:	84 c9                	test   %cl,%cl
54902f:	75 16                	jne    0x549047
549031:	8a 47 02             	mov    0x2(%edi),%al
549034:	88 06                	mov    %al,(%esi)
549036:	8a 57 04             	mov    0x4(%edi),%dl
549039:	88 56 01             	mov    %dl,0x1(%esi)
54903c:	8a 4f 06             	mov    0x6(%edi),%cl
54903f:	88 4e 02             	mov    %cl,0x2(%esi)
549042:	e9 33 01 00 00       	jmp    0x54917a
549047:	33 c0                	xor    %eax,%eax
549049:	8a 03                	mov    (%ebx),%al
54904b:	8b 55 18             	mov    0x18(%ebp),%edx
54904e:	8a 0c 02             	mov    (%edx,%eax,1),%cl
549051:	88 4d be             	mov    %cl,-0x42(%ebp)
549054:	33 c0                	xor    %eax,%eax
549056:	33 c9                	xor    %ecx,%ecx
549058:	8a 45 be             	mov    -0x42(%ebp),%al
54905b:	8a 4d bf             	mov    -0x41(%ebp),%cl
54905e:	0f b7 d0             	movzwl %ax,%edx
549061:	0f b7 c1             	movzwl %cx,%eax
549064:	0f af d0             	imul   %eax,%edx
549067:	66 b8 ff 00          	mov    $0xff,%ax
54906b:	33 c9                	xor    %ecx,%ecx
54906d:	8a 4d bf             	mov    -0x41(%ebp),%cl
549070:	66 2b c1             	sub    %cx,%ax
549073:	0f b7 c8             	movzwl %ax,%ecx
549076:	8b 45 24             	mov    0x24(%ebp),%eax
549079:	0f b7 40 02          	movzwl 0x2(%eax),%eax
54907d:	0f af c8             	imul   %eax,%ecx
549080:	66 03 d1             	add    %cx,%dx
549083:	66 81 c2 80 00       	add    $0x80,%dx
549088:	66 89 55 ba          	mov    %dx,-0x46(%ebp)
54908c:	0f b7 4d ba          	movzwl -0x46(%ebp),%ecx
549090:	0f b7 55 ba          	movzwl -0x46(%ebp),%edx
549094:	c1 f9 08             	sar    $0x8,%ecx
549097:	03 d1                	add    %ecx,%edx
549099:	c1 fa 08             	sar    $0x8,%edx
54909c:	88 55 bd             	mov    %dl,-0x43(%ebp)
54909f:	33 c0                	xor    %eax,%eax
5490a1:	8a 45 bd             	mov    -0x43(%ebp),%al
5490a4:	8b 55 1c             	mov    0x1c(%ebp),%edx
5490a7:	8a 0c 02             	mov    (%edx,%eax,1),%cl
5490aa:	88 0e                	mov    %cl,(%esi)
5490ac:	33 c0                	xor    %eax,%eax
5490ae:	8a 43 01             	mov    0x1(%ebx),%al
5490b1:	8b 55 18             	mov    0x18(%ebp),%edx
5490b4:	8a 0c 02             	mov    (%edx,%eax,1),%cl
5490b7:	88 4d be             	mov    %cl,-0x42(%ebp)
5490ba:	33 c0                	xor    %eax,%eax
5490bc:	33 c9                	xor    %ecx,%ecx
5490be:	8a 45 be             	mov    -0x42(%ebp),%al
5490c1:	8a 4d bf             	mov    -0x41(%ebp),%cl
5490c4:	0f b7 d0             	movzwl %ax,%edx
5490c7:	0f b7 c1             	movzwl %cx,%eax
5490ca:	0f af d0             	imul   %eax,%edx
5490cd:	66 b8 ff 00          	mov    $0xff,%ax
5490d1:	33 c9                	xor    %ecx,%ecx
5490d3:	8a 4d bf             	mov    -0x41(%ebp),%cl
5490d6:	66 2b c1             	sub    %cx,%ax
5490d9:	0f b7 c8             	movzwl %ax,%ecx
5490dc:	8b 45 24             	mov    0x24(%ebp),%eax
5490df:	0f b7 40 04          	movzwl 0x4(%eax),%eax
5490e3:	0f af c8             	imul   %eax,%ecx
5490e6:	66 03 d1             	add    %cx,%dx
5490e9:	66 81 c2 80 00       	add    $0x80,%dx
5490ee:	66 89 55 b8          	mov    %dx,-0x48(%ebp)
5490f2:	0f b7 4d b8          	movzwl -0x48(%ebp),%ecx
5490f6:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
5490fa:	c1 f9 08             	sar    $0x8,%ecx
5490fd:	03 d1                	add    %ecx,%edx
5490ff:	c1 fa 08             	sar    $0x8,%edx
549102:	88 55 bd             	mov    %dl,-0x43(%ebp)
549105:	33 c0                	xor    %eax,%eax
549107:	8a 45 bd             	mov    -0x43(%ebp),%al
54910a:	8b 55 1c             	mov    0x1c(%ebp),%edx
54910d:	8a 0c 02             	mov    (%edx,%eax,1),%cl
549110:	88 4e 01             	mov    %cl,0x1(%esi)
549113:	33 c0                	xor    %eax,%eax
549115:	8a 43 02             	mov    0x2(%ebx),%al
549118:	8b 55 18             	mov    0x18(%ebp),%edx
54911b:	8a 0c 02             	mov    (%edx,%eax,1),%cl
54911e:	88 4d be             	mov    %cl,-0x42(%ebp)
549121:	33 c0                	xor    %eax,%eax
549123:	33 c9                	xor    %ecx,%ecx
549125:	8a 45 be             	mov    -0x42(%ebp),%al
549128:	8a 4d bf             	mov    -0x41(%ebp),%cl
54912b:	0f b7 d0             	movzwl %ax,%edx
54912e:	0f b7 c1             	movzwl %cx,%eax
549131:	0f af d0             	imul   %eax,%edx
549134:	66 b8 ff 00          	mov    $0xff,%ax
549138:	33 c9                	xor    %ecx,%ecx